25 #ifndef SDR_REGISTRY_H
26 #define SDR_REGISTRY_H
31 #include "pxr/usd/sdr/api.h"
32 #include "pxr/usd/ndr/registry.h"
33 #include "pxr/usd/sdr/declare.h"
34 #include "pxr/usd/sdr/shaderNode.h"
36 PXR_NAMESPACE_OPEN_SCOPE
54 const NdrTokenVec& typePriority = NdrTokenVec());
67 const std::string& name,
68 const NdrTokenVec& typePriority = NdrTokenVec(),
75 const std::string& name,
84 const NdrTokenMap &metadata=NdrTokenMap());
90 const std::string &sourceCode,
92 const NdrTokenMap &metadata=NdrTokenMap());
108 const std::string& name,
126 PXR_NAMESPACE_CLOSE_SCOPE
128 #endif // SDR_REGISTRY_H
SDR_API SdrShaderNodeConstPtr GetShaderNodeFromAsset(const SdfAssetPath &shaderAsset, const NdrTokenMap &metadata=NdrTokenMap())
Wrapper method for NdrRegistry::GetNodeFromAsset().
SDR_API SdrShaderNodePtrVec GetShaderNodesByFamily(const TfToken &family=TfToken(), NdrVersionFilter filter=NdrVersionFilterDefaultOnly)
Exactly like NdrRegistry::GetNodesByFamily(), but returns a vector of SdrShaderNode pointers instead ...
Manage a single instance of an object (see.
SDR_API SdrShaderNodeConstPtr GetShaderNodeFromSourceCode(const std::string &sourceCode, const TfToken &sourceType, const NdrTokenMap &metadata=NdrTokenMap())
Wrapper method for NdrRegistry::GetNodeFromSourceCode().
SDR_API SdrShaderNodeConstPtr GetShaderNodeByURI(const std::string &uri)
Exactly like NdrRegistry::GetNodeByURI(), but returns a SdrShaderNode pointer instead of a NdrNode po...
Token for efficient comparison, assignment, and hashing of known strings.
SDR_API SdrShaderNodePtrVec GetShaderNodesByIdentifier(const NdrIdentifier &identifier)
Exactly like NdrRegistry::GetNodesByIdentifier(), but returns a vector of SdrShaderNode pointers inst...
static SDR_API SdrRegistry & GetInstance()
Get the single SdrRegistry instance.
SDR_API SdrShaderNodePtrVec GetShaderNodesByName(const std::string &name, NdrVersionFilter filter=NdrVersionFilterDefaultOnly)
Exactly like NdrRegistry::GetNodesByName(), but returns a vector of SdrShaderNode pointers instead of...
NdrVersionFilter
Enumeration used to select nodes by version.
The registry provides access to node information.
SDR_API SdrShaderNodeConstPtr GetShaderNodeByNameAndType(const std::string &name, const TfToken &nodeType, NdrVersionFilter filter=NdrVersionFilterDefaultOnly)
Exactly like NdrRegistry::GetNodeByNameAndType(), but returns a SdrShaderNode pointer instead of a Nd...
SDR_API SdrShaderNodeConstPtr GetShaderNodeByIdentifier(const NdrIdentifier &identifier, const NdrTokenVec &typePriority=NdrTokenVec())
Exactly like NdrRegistry::GetNodeByIdentifier(), but returns a SdrShaderNode pointer instead of a Ndr...
The shading-specialized version of NdrRegistry.
Contains an asset path and an optional resolved path.
SDR_API SdrShaderNodeConstPtr GetShaderNodeByIdentifierAndType(const NdrIdentifier &identifier, const TfToken &nodeType)
Exactly like NdrRegistry::GetNodeByIdentifierAndType(), but returns a SdrShaderNode pointer instead o...
SDR_API SdrShaderNodeConstPtr GetShaderNodeByName(const std::string &name, const NdrTokenVec &typePriority=NdrTokenVec(), NdrVersionFilter filter=NdrVersionFilterDefaultOnly)
Exactly like NdrRegistry::GetNodeByName(), but returns a SdrShaderNode pointer instead of a NdrNode p...