25 #ifndef PXR_USD_NDR_NODE_H
26 #define PXR_USD_NDR_NODE_H
31 #include "pxr/usd/ndr/api.h"
34 #include "pxr/usd/ndr/nodeDiscoveryResult.h"
37 PXR_NAMESPACE_OPEN_SCOPE
54 const NdrVersion& version,
55 const std::string& name,
59 const std::string& definitionURI,
60 const std::string& implementationURI,
61 NdrPropertyUniquePtrVec&& properties,
62 const NdrTokenMap& metadata = NdrTokenMap(),
63 const std::string &sourceCode = std::string());
79 const std::string&
GetName()
const {
return _name; }
149 virtual bool IsValid()
const {
return _isValid; }
200 NdrNode& operator=(
const NdrNode&) =
delete;
209 std::string _definitionURI;
210 std::string _implementationURI;
211 NdrPropertyUniquePtrVec _properties;
212 NdrTokenMap _metadata;
213 std::string _sourceCode;
215 NdrPropertyPtrMap _inputs;
216 NdrTokenVec _inputNames;
217 NdrPropertyPtrMap _outputs;
218 NdrTokenVec _outputNames;
221 PXR_NAMESPACE_CLOSE_SCOPE
223 #endif // PXR_USD_NDR_NODE_H
const std::string & GetResolvedDefinitionURI() const
Gets the URI to the resource that provided this node's definition.
const TfToken & GetFamily() const
Gets the name of the family that the node belongs to.
virtual NDR_API std::string GetInfoString() const
Gets a string with basic information about this node.
const NdrIdentifier & GetIdentifier() const
Return the identifier of the node.
NDR_API NdrNode(const NdrIdentifier &identifier, const NdrVersion &version, const std::string &name, const TfToken &family, const TfToken &context, const TfToken &sourceType, const std::string &definitionURI, const std::string &implementationURI, NdrPropertyUniquePtrVec &&properties, const NdrTokenMap &metadata=NdrTokenMap(), const std::string &sourceCode=std::string())
Constructor.
NdrVersion GetVersion() const
Return the version of the node.
NDR_API NdrPropertyConstPtr GetInput(const TfToken &inputName) const
Get an input property by name.
Token for efficient comparison, assignment, and hashing of known strings.
const TfToken & GetSourceType() const
Gets the type of source that this node originated from.
Represents an abstract node.
const std::string & GetName() const
Gets the name of the node.
NDR_API const NdrTokenVec & GetOutputNames() const
Get an ordered list of all the output names on this node.
const std::string & GetResolvedImplementationURI() const
Gets the URI to the resource that provides this node's implementation.
NDR_API NdrPropertyConstPtr GetOutput(const TfToken &outputName) const
Get an output property by name.
const std::string & GetSourceCode() const
Returns the source code for this node.
const TfToken & GetContext() const
Gets the context of the node.
NDR_API const NdrTokenMap & GetMetadata() const
All metadata that came from the parse process.
NDR_API const NdrTokenVec & GetInputNames() const
Get an ordered list of all the input names on this node.
virtual NDR_API bool IsValid() const
Whether or not this node is valid.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
virtual NDR_API ~NdrNode()
Destructor.