Loading...
Searching...
No Matches
HdDataSourceMaterialNetworkInterface Class Reference

Implements HdMaterialNetworkInterface for reading from and overriding values within data sources. More...

#include <dataSourceMaterialNetworkInterface.h>

+ Inheritance diagram for HdDataSourceMaterialNetworkInterface:

Public Member Functions

 HdDataSourceMaterialNetworkInterface (const SdfPath &materialPrimPath, const HdContainerDataSourceHandle &networkContainer, const HdContainerDataSourceHandle &primContainer)
 
HD_API SdfPath GetMaterialPrimPath () const override
 
HD_API TfTokenVector GetMaterialConfigKeys () const override
 Material config is a collection of data related to the entire material, e.g.
 
HD_API VtValue GetMaterialConfigValue (const TfToken &key) const override
 
HD_API std::string GetModelAssetName () const override
 Returns the nearest enclosing model asset name, as described by the model schema, or empty string if none is available.
 
HD_API TfTokenVector GetNodeNames () const override
 
HD_API TfToken GetNodeType (const TfToken &nodeName) const override
 
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 type.
 
HD_API VtValue GetNodeTypeInfoValue (const TfToken &nodeName, const TfToken &value) const override
 
HD_API TfTokenVector GetAuthoredNodeParameterNames (const TfToken &nodeName) const override
 
HD_API VtValue GetNodeParameterValue (const TfToken &nodeName, const TfToken &paramName) const override
 
HD_API HdMaterialNetworkInterface::NodeParamData GetNodeParameterData (const TfToken &nodeName, const TfToken &paramName) const override
 
HD_API TfTokenVector GetNodeInputConnectionNames (const TfToken &nodeName) const override
 
HD_API InputConnectionVector GetNodeInputConnection (const TfToken &nodeName, const TfToken &inputName) const override
 
HD_API void DeleteNode (const TfToken &nodeName) override
 
HD_API void SetNodeType (const TfToken &nodeName, const TfToken &nodeType) override
 Set the nodeType for the shader node with the given nodeName.
 
HD_API void SetNodeTypeInfoValue (const TfToken &nodeName, const TfToken &key, const VtValue &value) override
 
HD_API void SetNodeParameterValue (const TfToken &nodeName, const TfToken &paramName, const VtValue &value) override
 
HD_API void SetNodeParameterData (const TfToken &nodeName, const TfToken &paramName, const NodeParamData &paramData) override
 
HD_API void DeleteNodeParameter (const TfToken &nodeName, const TfToken &paramName) override
 
HD_API void SetNodeInputConnection (const TfToken &nodeName, const TfToken &inputName, const InputConnectionVector &connections) override
 
HD_API void DeleteNodeInputConnection (const TfToken &nodeName, const TfToken &inputName) override
 
HD_API TfTokenVector GetTerminalNames () const override
 
HD_API InputConnectionResult GetTerminalConnection (const TfToken &terminalName) const override
 
HD_API void DeleteTerminal (const TfToken &terminalName) override
 
HD_API void SetTerminalConnection (const TfToken &terminalName, const InputConnection &connection) override
 
HD_API HdContainerDataSourceHandle Finish ()
 
- Public Member Functions inherited from HdMaterialNetworkInterface

Additional Inherited Members

- Public Types inherited from HdMaterialNetworkInterface
using InputConnectionVector = TfSmallVector<InputConnection, 4>
 
using InputConnectionResult = std::pair<bool, InputConnection>
 

Detailed Description

Implements HdMaterialNetworkInterface for reading from and overriding values within data sources.

Overrides are managed internally via an HdContainerDataSourceEditor. Calling Finish returns the resulting container data resource representing an individual material network. If nothing is overriden, the input data source is returned.

Definition at line 28 of file dataSourceMaterialNetworkInterface.h.

Constructor & Destructor Documentation

◆ HdDataSourceMaterialNetworkInterface()

HdDataSourceMaterialNetworkInterface ( const SdfPath & materialPrimPath,
const HdContainerDataSourceHandle & networkContainer,
const HdContainerDataSourceHandle & primContainer )
inline

Definition at line 33 of file dataSourceMaterialNetworkInterface.h.

Member Function Documentation

◆ DeleteNode()

HD_API void DeleteNode ( const TfToken & nodeName)
overridevirtual

◆ DeleteNodeInputConnection()

HD_API void DeleteNodeInputConnection ( const TfToken & nodeName,
const TfToken & inputName )
overridevirtual

◆ DeleteNodeParameter()

HD_API void DeleteNodeParameter ( const TfToken & nodeName,
const TfToken & paramName )
overridevirtual

◆ DeleteTerminal()

HD_API void DeleteTerminal ( const TfToken & terminalName)
overridevirtual

◆ GetAuthoredNodeParameterNames()

HD_API TfTokenVector GetAuthoredNodeParameterNames ( const TfToken & nodeName) const
overridevirtual

◆ GetMaterialConfigKeys()

HD_API TfTokenVector GetMaterialConfigKeys ( ) const
overridevirtual

Material config is a collection of data related to the entire material, e.g.

material definition version, etc.

Similarly to GetNodeTypeInfoXXX() below, only getters are provided, as we don't intend to mutate this config data.

Implements HdMaterialNetworkInterface.

◆ GetMaterialConfigValue()

HD_API VtValue GetMaterialConfigValue ( const TfToken & key) const
overridevirtual

◆ GetMaterialPrimPath()

HD_API SdfPath GetMaterialPrimPath ( ) const
inlineoverridevirtual

Implements HdMaterialNetworkInterface.

Definition at line 48 of file dataSourceMaterialNetworkInterface.h.

◆ GetModelAssetName()

HD_API std::string GetModelAssetName ( ) const
overridevirtual

Returns the nearest enclosing model asset name, as described by the model schema, or empty string if none is available.

Implements HdMaterialNetworkInterface.

◆ GetNodeInputConnection()

HD_API InputConnectionVector GetNodeInputConnection ( const TfToken & nodeName,
const TfToken & inputName ) const
overridevirtual

◆ GetNodeInputConnectionNames()

HD_API TfTokenVector GetNodeInputConnectionNames ( const TfToken & nodeName) const
overridevirtual

◆ GetNodeNames()

HD_API TfTokenVector GetNodeNames ( ) const
overridevirtual

◆ GetNodeParameterData()

HD_API HdMaterialNetworkInterface::NodeParamData GetNodeParameterData ( const TfToken & nodeName,
const TfToken & paramName ) const
overridevirtual

◆ GetNodeParameterValue()

HD_API VtValue GetNodeParameterValue ( const TfToken & nodeName,
const TfToken & paramName ) const
overridevirtual

◆ GetNodeType()

HD_API TfToken GetNodeType ( const TfToken & nodeName) const
overridevirtual

◆ GetNodeTypeInfoKeys()

HD_API TfTokenVector GetNodeTypeInfoKeys ( const TfToken & nodeName) const
overridevirtual

Node type info is a collection of data related to the node type, often used to determine the node type.

Implements HdMaterialNetworkInterface.

◆ GetNodeTypeInfoValue()

HD_API VtValue GetNodeTypeInfoValue ( const TfToken & nodeName,
const TfToken & value ) const
overridevirtual

◆ GetTerminalConnection()

HD_API InputConnectionResult GetTerminalConnection ( const TfToken & terminalName) const
overridevirtual

◆ GetTerminalNames()

HD_API TfTokenVector GetTerminalNames ( ) const
overridevirtual

Terminal query & mutation

Implements HdMaterialNetworkInterface.

◆ SetNodeInputConnection()

HD_API void SetNodeInputConnection ( const TfToken & nodeName,
const TfToken & inputName,
const InputConnectionVector & connections )
overridevirtual

◆ SetNodeParameterData()

HD_API void SetNodeParameterData ( const TfToken & nodeName,
const TfToken & paramName,
const NodeParamData & paramData )
overridevirtual

◆ SetNodeParameterValue()

HD_API void SetNodeParameterValue ( const TfToken & nodeName,
const TfToken & paramName,
const VtValue & value )
overridevirtual

◆ SetNodeType()

HD_API void SetNodeType ( const TfToken & nodeName,
const TfToken & nodeType )
overridevirtual

Set the nodeType for the shader node with the given nodeName.

If nodeType is empty then the nodeType attribute will be removed from the node's dataSource.

Implements HdMaterialNetworkInterface.

◆ SetNodeTypeInfoValue()

HD_API void SetNodeTypeInfoValue ( const TfToken & nodeName,
const TfToken & key,
const VtValue & value )
overridevirtual

◆ SetTerminalConnection()

HD_API void SetTerminalConnection ( const TfToken & terminalName,
const InputConnection & connection )
overridevirtual

The documentation for this class was generated from the following file: