HdMaterialNetworkInterface Class Referenceabstract

Abstract interface for querying and mutating a material network. More...

+ Inheritance diagram for HdMaterialNetworkInterface:

Public Types

using InputConnectionVector = TfSmallVector< InputConnection, 4 >
 
using InputConnectionResult = std::pair< bool, InputConnection >
 

Public Member Functions

virtual SdfPath GetMaterialPrimPath () const =0
 
virtual TfTokenVector GetNodeNames () const =0
 
virtual TfToken GetNodeType (const TfToken &nodeName) const =0
 
virtual TfTokenVector GetAuthoredNodeParameterNames (const TfToken &nodeName) const =0
 
virtual VtValue GetNodeParameterValue (const TfToken &nodeName, const TfToken &paramName) const =0
 
virtual TfTokenVector GetNodeInputConnectionNames (const TfToken &nodeName) const =0
 
virtual InputConnectionVector GetNodeInputConnection (const TfToken &nodeName, const TfToken &inputName) const =0
 
virtual void DeleteNode (const TfToken &nodeName)=0
 
virtual void SetNodeType (const TfToken &nodeName, const TfToken &nodeType)=0
 
virtual void SetNodeParameterValue (const TfToken &nodeName, const TfToken &paramName, const VtValue &value)=0
 
virtual void DeleteNodeParameter (const TfToken &nodeName, const TfToken &paramName)=0
 
virtual void SetNodeInputConnection (const TfToken &nodeName, const TfToken &inputName, const InputConnectionVector &connections)=0
 
virtual void DeleteNodeInputConnection (const TfToken &nodeName, const TfToken &inputName)=0
 
virtual TfTokenVector GetTerminalNames () const =0
 
virtual InputConnectionResult GetTerminalConnection (const TfToken &terminalName) const =0
 
virtual void DeleteTerminal (const TfToken &terminalName)=0
 
virtual void SetTerminalConnection (const TfToken &terminalName, const InputConnection &connection)=0
 

Detailed Description

Abstract interface for querying and mutating a material network.

This is useful for implementing matfilt functions which can be reused by future scene index implementations.

NOTE: Subclasses make no guarantee of thread-safety even for the const accessors as they might make use of internal caching for optimization. Should you want to read from a material from multiple threads, create a thread-specific interface instance. The non-const methods should never be considered thread-safe from multiple interface instances backed from the same concrete data.

Definition at line 48 of file materialNetworkInterface.h.

Member Function Documentation

◆ GetTerminalNames()

virtual TfTokenVector GetTerminalNames ( ) const
pure virtual

Terminal query & mutation

Implemented in HdDataSourceMaterialNetworkInterface, and HdMaterialNetwork2Interface.


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