24 #ifndef HD_MATERIAL_NETWORK_2_INTERFACE_H 25 #define HD_MATERIAL_NETWORK_2_INTERFACE_H 28 #include "pxr/imaging/hd/api.h" 29 #include "pxr/imaging/hd/material.h" 30 #include "pxr/imaging/hd/materialNetworkInterface.h" 32 PXR_NAMESPACE_OPEN_SCOPE
45 const SdfPath &materialPrimPath,
47 : _materialPrimPath(materialPrimPath)
48 , _materialNetwork(materialNetwork)
49 , _lastAccessedNode(
nullptr)
52 SdfPath GetMaterialPrimPath()
const override {
53 return _materialPrimPath;
71 const TfToken &nodeName)
const override;
76 const TfToken ¶mName)
const override;
80 const TfToken &nodeName)
const override;
85 const TfToken &inputName)
const override;
88 void DeleteNode(
const TfToken &nodeName)
override;
93 const TfToken &nodeType)
override;
96 void SetNodeParameterValue(
102 void DeleteNodeParameter(
104 const TfToken ¶mName)
override;
107 void SetNodeInputConnection(
113 void DeleteNodeInputConnection(
115 const TfToken &inputName)
override;
121 InputConnectionResult GetTerminalConnection(
122 const TfToken &terminalName)
const override;
125 void DeleteTerminal(
const TfToken &terminalName)
override;
128 void SetTerminalConnection(
130 const InputConnection &connection)
override;
135 mutable TfToken _lastAccessedNodeName;
145 PXR_NAMESPACE_CLOSE_SCOPE
147 #endif //HD_MATERIAL_NETWORK_2_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 ...
HD_API TfTokenVector GetTerminalNames() const override
Implements HdMaterialNetworkInterface interface backed by an HdMaterialNetwork2 – which is useful for...
Token for efficient comparison, assignment, and hashing of known strings.
Describes an instance of a node within a network A node contains a (shader) type identifier,...
HD_API TfTokenVector GetNodeTypeInfoKeys(const TfToken &nodeName) const override
Node type info is a collection of data related to the node type, often used to determine the node typ...
std::vector< TfToken > TfTokenVector
Convenience types.
A path value used to locate objects in layers or scenegraphs.
Container of nodes and top-level terminal connections.
Provides a container which may hold any type, and provides introspection and iteration over array typ...