HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Sdf_PathNode Class Reference

#include <pathNode.h>

+ Inheritance diagram for Sdf_PathNode:

Classes

struct  _EqualElement
 
struct  LessThan
 

Public Types

enum  NodeType : uint8_t {
  RootNode, PrimNode, PrimVariantSelectionNode, PrimPropertyNode,
  TargetNode, MapperNode, RelationalAttributeNode, MapperArgNode,
  ExpressionNode, NumNodeTypes
}
 
typedef std::pair< TfToken,
TfToken > 
VariantSelectionType
 

Public Member Functions

NodeType GetNodeType () const
 
Sdf_PathNode const * GetParentNode () const
 
size_t GetElementCount () const
 
bool IsAbsolutePath () const
 
bool IsAbsoluteRoot () const
 
bool ContainsTargetPath () const
 
bool IsNamespaced () const
 
bool ContainsPrimVariantSelection () const
 
const TfToken & GetName () const
 
const SdfPath & GetTargetPath () const
 
const VariantSelectionType & GetVariantSelection () const
 
TfToken GetElement () const
 
template<class Less >
bool Compare (const Sdf_PathNode &rhs) const
 
uint32_t GetCurrentRefCount () const
 

Static Public Member Functions

static Sdf_PathPrimNodeHandle FindOrCreatePrim (Sdf_PathNode const *parent, const TfToken &name, TfFunctionRef< bool()> isValid)
 
static Sdf_PathPropNodeHandle FindOrCreatePrimProperty (Sdf_PathNode const *parent, const TfToken &name, TfFunctionRef< bool()> isValid)
 
static Sdf_PathPrimNodeHandle FindOrCreatePrimVariantSelection (Sdf_PathNode const *parent, const TfToken &variantSet, const TfToken &variant, TfFunctionRef< bool()> isValid)
 
static Sdf_PathPropNodeHandle FindOrCreateTarget (Sdf_PathNode const *parent, SdfPath const &targetPath, TfFunctionRef< bool()> isValid)
 
static Sdf_PathPropNodeHandle FindOrCreateRelationalAttribute (Sdf_PathNode const *parent, const TfToken &name, TfFunctionRef< bool()> isValid)
 
static Sdf_PathPropNodeHandle FindOrCreateMapper (Sdf_PathNode const *parent, SdfPath const &targetPath, TfFunctionRef< bool()> isValid)
 
static Sdf_PathPropNodeHandle FindOrCreateMapperArg (Sdf_PathNode const *parent, const TfToken &name, TfFunctionRef< bool()> isValid)
 
static Sdf_PathPropNodeHandle FindOrCreateExpression (Sdf_PathNode const *parent, TfFunctionRef< bool()> isValid)
 
static Sdf_PathNode const * GetAbsoluteRootNode ()
 
static Sdf_PathNode const * GetRelativeRootNode ()
 
static std::pair< Sdf_PathNode
const *, Sdf_PathNode const * > 
RemoveCommonSuffix (Sdf_PathNode const *a, Sdf_PathNode const *b, bool stopAtRootPrim)
 
static SDF_API const TfToken & GetPathToken (Sdf_PathNode const *primPart, Sdf_PathNode const *propPart)
 
static SDF_API TfToken GetPathAsToken (Sdf_PathNode const *primPart, Sdf_PathNode const *propPart)
 
static char const * GetDebugText (Sdf_PathNode const *primPart, Sdf_PathNode const *propPart)
 

Static Public Attributes

static constexpr uint8_t IsAbsoluteFlag = 1 << 0
 
static constexpr uint8_t ContainsPrimVarSelFlag = 1 << 1
 
static constexpr uint8_t ContainsTargetPathFlag = 1 << 2
 
static constexpr uint32_t HasTokenBit = 1u << 31
 
static constexpr uint32_t RefCountMask = ~HasTokenBit
 

Protected Member Functions

 Sdf_PathNode (Sdf_PathNode const *parent, NodeType nodeType)
 
 Sdf_PathNode (bool isAbsolute)
 
 ~Sdf_PathNode ()
 
void _Destroy () const
 
TfToken _GetElementImpl () const
 
template<class Buffer >
void _WriteText (Buffer &out) const
 
SDF_API void _RemovePathTokenFromTable () const
 

Static Protected Member Functions

static TfToken _CreatePathToken (Sdf_PathNode const *primPart, Sdf_PathNode const *propPart)
 
template<class Buffer >
static void _WriteTextToBuffer (Sdf_PathNode const *primPart, Sdf_PathNode const *propPart, Buffer &out)
 
template<class Buffer >
static void _WriteTextToBuffer (SdfPath const &path, Buffer &out)
 

Friends

struct Sdf_PathNodePrivateAccess
 
void TfDelegatedCountIncrement (const Sdf_PathNode *) noexcept
 
void TfDelegatedCountDecrement (const Sdf_PathNode *) noexcept
 

Detailed Description

Definition at line 41 of file pathNode.h.

Member Typedef Documentation

Definition at line 191 of file pathNode.h.

Member Enumeration Documentation

enum Sdf_PathNode::NodeType : uint8_t
Enumerator
RootNode 
PrimNode 
PrimVariantSelectionNode 
PrimPropertyNode 
TargetNode 
MapperNode 
RelationalAttributeNode 
MapperArgNode 
ExpressionNode 
NumNodeTypes 

Internal sentinel value.

Definition at line 56 of file pathNode.h.

Constructor & Destructor Documentation

Sdf_PathNode::Sdf_PathNode ( Sdf_PathNode const *  parent,
NodeType  nodeType 
)
inlineprotected

Definition at line 229 of file pathNode.h.

Sdf_PathNode::Sdf_PathNode ( bool  isAbsolute)
explicitprotected
Sdf_PathNode::~Sdf_PathNode ( )
inlineprotected

Definition at line 242 of file pathNode.h.

Member Function Documentation

static TfToken Sdf_PathNode::_CreatePathToken ( Sdf_PathNode const *  primPart,
Sdf_PathNode const *  propPart 
)
staticprotected
void Sdf_PathNode::_Destroy ( ) const
inlineprotected

Definition at line 652 of file pathNode.h.

TfToken Sdf_PathNode::_GetElementImpl ( ) const
protected
SDF_API void Sdf_PathNode::_RemovePathTokenFromTable ( ) const
protected
template<class Buffer >
void Sdf_PathNode::_WriteText ( Buffer &  out) const
protected
template<class Buffer >
static void Sdf_PathNode::_WriteTextToBuffer ( Sdf_PathNode const *  primPart,
Sdf_PathNode const *  propPart,
Buffer &  out 
)
staticprotected
template<class Buffer >
static void Sdf_PathNode::_WriteTextToBuffer ( SdfPath const &  path,
Buffer &  out 
)
staticprotected
template<class Comp >
bool Sdf_PathNode::Compare ( const Sdf_PathNode &  rhs) const
inline

Definition at line 601 of file pathNode.h.

bool Sdf_PathNode::ContainsPrimVariantSelection ( ) const
inline

Definition at line 177 of file pathNode.h.

bool Sdf_PathNode::ContainsTargetPath ( ) const
inline

Definition at line 167 of file pathNode.h.

static Sdf_PathPropNodeHandle Sdf_PathNode::FindOrCreateExpression ( Sdf_PathNode const *  parent,
TfFunctionRef< bool()>  isValid 
)
static
static Sdf_PathPropNodeHandle Sdf_PathNode::FindOrCreateMapper ( Sdf_PathNode const *  parent,
SdfPath const &  targetPath,
TfFunctionRef< bool()>  isValid 
)
static
static Sdf_PathPropNodeHandle Sdf_PathNode::FindOrCreateMapperArg ( Sdf_PathNode const *  parent,
const TfToken &  name,
TfFunctionRef< bool()>  isValid 
)
static
static Sdf_PathPrimNodeHandle Sdf_PathNode::FindOrCreatePrim ( Sdf_PathNode const *  parent,
const TfToken &  name,
TfFunctionRef< bool()>  isValid 
)
static
static Sdf_PathPropNodeHandle Sdf_PathNode::FindOrCreatePrimProperty ( Sdf_PathNode const *  parent,
const TfToken &  name,
TfFunctionRef< bool()>  isValid 
)
static
static Sdf_PathPrimNodeHandle Sdf_PathNode::FindOrCreatePrimVariantSelection ( Sdf_PathNode const *  parent,
const TfToken &  variantSet,
const TfToken &  variant,
TfFunctionRef< bool()>  isValid 
)
static
static Sdf_PathPropNodeHandle Sdf_PathNode::FindOrCreateRelationalAttribute ( Sdf_PathNode const *  parent,
const TfToken &  name,
TfFunctionRef< bool()>  isValid 
)
static
static Sdf_PathPropNodeHandle Sdf_PathNode::FindOrCreateTarget ( Sdf_PathNode const *  parent,
SdfPath const &  targetPath,
TfFunctionRef< bool()>  isValid 
)
static
static Sdf_PathNode const* Sdf_PathNode::GetAbsoluteRootNode ( )
static
uint32_t Sdf_PathNode::GetCurrentRefCount ( ) const
inline

Definition at line 224 of file pathNode.h.

static char const* Sdf_PathNode::GetDebugText ( Sdf_PathNode const *  primPart,
Sdf_PathNode const *  propPart 
)
static
TfToken Sdf_PathNode::GetElement ( ) const
inline

Definition at line 726 of file pathNode.h.

size_t Sdf_PathNode::GetElementCount ( ) const
inline

Definition at line 164 of file pathNode.h.

const TfToken & Sdf_PathNode::GetName ( ) const
inline

Definition at line 680 of file pathNode.h.

NodeType Sdf_PathNode::GetNodeType ( ) const
inline

Definition at line 154 of file pathNode.h.

Sdf_PathNode const* Sdf_PathNode::GetParentNode ( ) const
inline

Definition at line 162 of file pathNode.h.

static SDF_API TfToken Sdf_PathNode::GetPathAsToken ( Sdf_PathNode const *  primPart,
Sdf_PathNode const *  propPart 
)
static
static SDF_API const TfToken& Sdf_PathNode::GetPathToken ( Sdf_PathNode const *  primPart,
Sdf_PathNode const *  propPart 
)
static
static Sdf_PathNode const* Sdf_PathNode::GetRelativeRootNode ( )
static
const SdfPath & Sdf_PathNode::GetTargetPath ( ) const
inline

Definition at line 704 of file pathNode.h.

const Sdf_PathNode::VariantSelectionType & Sdf_PathNode::GetVariantSelection ( ) const
inline

Definition at line 717 of file pathNode.h.

bool Sdf_PathNode::IsAbsolutePath ( ) const
inline

Definition at line 165 of file pathNode.h.

bool Sdf_PathNode::IsAbsoluteRoot ( ) const
inline

Definition at line 166 of file pathNode.h.

bool Sdf_PathNode::IsNamespaced ( ) const
inline

Definition at line 170 of file pathNode.h.

static std::pair<Sdf_PathNode const *, Sdf_PathNode const *> Sdf_PathNode::RemoveCommonSuffix ( Sdf_PathNode const *  a,
Sdf_PathNode const *  b,
bool  stopAtRootPrim 
)
static

Friends And Related Function Documentation

friend struct Sdf_PathNodePrivateAccess
friend

Definition at line 281 of file pathNode.h.

void TfDelegatedCountDecrement ( const Sdf_PathNode *  )
friend
void TfDelegatedCountIncrement ( const Sdf_PathNode *  )
friend

Member Data Documentation

constexpr uint8_t Sdf_PathNode::ContainsPrimVarSelFlag = 1 << 1
static

Definition at line 47 of file pathNode.h.

constexpr uint8_t Sdf_PathNode::ContainsTargetPathFlag = 1 << 2
static

Definition at line 48 of file pathNode.h.

constexpr uint32_t Sdf_PathNode::HasTokenBit = 1u << 31
static

Definition at line 50 of file pathNode.h.

constexpr uint8_t Sdf_PathNode::IsAbsoluteFlag = 1 << 0
static

Definition at line 46 of file pathNode.h.

constexpr uint32_t Sdf_PathNode::RefCountMask = ~HasTokenBit
static

Definition at line 51 of file pathNode.h.


The documentation for this class was generated from the following file: