24 #ifndef PXR_IMAGING_HD_MATERIAL_NETWORK_INTERFACE_H 25 #define PXR_IMAGING_HD_MATERIAL_NETWORK_INTERFACE_H 28 #include "pxr/usd/sdf/path.h" 29 #include "pxr/base/vt/value.h" 33 PXR_NAMESPACE_OPEN_SCOPE
53 virtual SdfPath GetMaterialPrimPath()
const = 0;
66 GetNodeTypeInfoValue(
const TfToken& nodeName,
const TfToken& key)
const = 0;
69 const TfToken &nodeName)
const = 0;
71 virtual VtValue GetNodeParameterValue(
73 const TfToken ¶mName)
const = 0;
76 const TfToken &nodeName)
const = 0;
78 struct InputConnection
87 const TfToken &inputName)
const = 0;
89 virtual void DeleteNode(
const TfToken &nodeName) = 0;
91 virtual void SetNodeType(
95 virtual void SetNodeParameterValue(
100 virtual void DeleteNodeParameter(
104 virtual void SetNodeInputConnection(
109 virtual void DeleteNodeInputConnection(
117 using InputConnectionResult = std::pair<bool, InputConnection>;
118 virtual InputConnectionResult GetTerminalConnection(
119 const TfToken &terminalName)
const = 0;
121 virtual void DeleteTerminal(
122 const TfToken &terminalName) = 0;
124 virtual void SetTerminalConnection(
126 const InputConnection &connection) = 0;
130 PXR_NAMESPACE_CLOSE_SCOPE
132 #endif // PXR_IMAGING_HD_MATERIAL_NETWORK_INTERFACE_H Abstract interface for querying and mutating a material network.
This is a small-vector class with local storage optimization, the local storage can be specified via ...
Token for efficient comparison, assignment, and hashing of known strings.
std::vector< TfToken > TfTokenVector
Convenience types.
A path value used to locate objects in layers or scenegraphs.
virtual TfTokenVector GetNodeTypeInfoKeys(const TfToken &nodeName) const =0
Node type info is a collection of data related to the node type, often used to determine the node typ...
virtual TfTokenVector GetTerminalNames() const =0
Provides a container which may hold any type, and provides introspection and iteration over array typ...
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...