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;
59 const TfToken &nodeName)
const = 0;
61 virtual VtValue GetNodeParameterValue(
63 const TfToken ¶mName)
const = 0;
66 const TfToken &nodeName)
const = 0;
68 struct InputConnection
77 const TfToken &inputName)
const = 0;
79 virtual void DeleteNode(
const TfToken &nodeName) = 0;
81 virtual void SetNodeType(
85 virtual void SetNodeParameterValue(
90 virtual void DeleteNodeParameter(
94 virtual void SetNodeInputConnection(
99 virtual void DeleteNodeInputConnection(
107 using InputConnectionResult = std::pair<bool, InputConnection>;
108 virtual InputConnectionResult GetTerminalConnection(
109 const TfToken &terminalName)
const = 0;
111 virtual void DeleteTerminal(
112 const TfToken &terminalName) = 0;
114 virtual void SetTerminalConnection(
116 const InputConnection &connection) = 0;
120 PXR_NAMESPACE_CLOSE_SCOPE
122 #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 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...