Loading...
Searching...
No Matches
HdMaterialInterfaceParameterSchema Class Reference

The MaterialInterfaceParameter schema describes a single interface parameter (public UI parameter). More...

#include <materialInterfaceParameterSchema.h>

+ Inheritance diagram for HdMaterialInterfaceParameterSchema:

Classes

class  Builder
 Utility class for setting sparse sets of child data source fields to be filled as arguments into BuildRetained. More...
 

Public Member Functions

Schema retrieval
 HdMaterialInterfaceParameterSchema (HdContainerDataSourceHandle container)
 
Member accessor
HD_API HdTokenDataSourceHandle GetDisplayGroup () const
 Optional displayGroup. Intended for GUI organization.
 
HD_API HdTokenDataSourceHandle GetDisplayName () const
 Optional displayName. Intended for GUI organization.
 
HD_API HdMaterialInterfaceMappingVectorSchema GetMappings () const
 Maps this singular interface parameter to a vector of target node parameters.
 
- Public Member Functions inherited from HdSchema
 HdSchema (HdContainerDataSourceHandle container)
 
HD_API HdContainerDataSourceHandle GetContainer () const
 Returns the container data source that this schema is interpreting.
 
HD_API bool IsDefined () const
 
 operator bool () const
 Returns true if this schema is applied on top of a non-null container.
 

Static Public Member Functions

Schema construction
static HD_API HdContainerDataSourceHandle BuildRetained (const HdTokenDataSourceHandle &displayGroup, const HdTokenDataSourceHandle &displayName, const HdVectorDataSourceHandle &mappings)
 

Additional Inherited Members

- Public Types inherited from HdSchema
using UnderlyingDataSource = HdContainerDataSource
 
- Protected Member Functions inherited from HdSchema
template<typename T >
T::Handle _GetTypedDataSource (TfToken name) const
 Returns a datasource of the requested type for the given name: schema implementations can use this to ask for child containers, sampled values, vectors, etc.
 
- Protected Attributes inherited from HdSchema
HdContainerDataSourceHandle _container
 

Detailed Description

The MaterialInterfaceParameter schema describes a single interface parameter (public UI parameter).

An interface parameter defines a vector of mappings to material node parameters. These mappings indicate which material node parameters should be overridden when a value is set on the interface parameter.

For example, the following data sources define a public UI "globalVal" that maps to two different node parameters:

ds at: material/<renderContext>/interface/parameters/globalVal/ mappings/[0]/nodePath = Color_Manipulate

ds at: material/<renderContext>/interface/parameters/globalVal/ mappings/[0]/inputName = adjustVal

ds at: material/<renderContext>/interface/parameters/globalVal/ mappings/[1]/nodePath = Color_RetargetLayer

ds at: material/<renderContext>/interface/parameters/globalVal/ mappings/[1]/inputName = valRemapAmount

The above means that the "globalVal" public UI name maps to the following parameter data sources at:

ds at: material/<renderContext>/nodes/Color_Manipulate/parameters/ adjustVal

ds at: material/<renderContext>/nodes/Color_RetargetLayer/ parameters/valRemapAmount

Definition at line 80 of file materialInterfaceParameterSchema.h.

Constructor & Destructor Documentation

◆ HdMaterialInterfaceParameterSchema()

HdMaterialInterfaceParameterSchema ( HdContainerDataSourceHandle  container)
inline

Definition at line 86 of file materialInterfaceParameterSchema.h.

Member Function Documentation

◆ BuildRetained()

static HD_API HdContainerDataSourceHandle BuildRetained ( const HdTokenDataSourceHandle &  displayGroup,
const HdTokenDataSourceHandle &  displayName,
const HdVectorDataSourceHandle &  mappings 
)
static
Deprecated:
Use Builder instead.

Builds a container data source which includes the provided child data sources. Parameters with nullptr values are excluded. This is a low-level interface. For cases in which it's desired to define the container with a sparse set of child fields, the Builder class is often more convenient and readable.

◆ GetDisplayGroup()

HD_API HdTokenDataSourceHandle GetDisplayGroup ( ) const

Optional displayGroup. Intended for GUI organization.

◆ GetDisplayName()

HD_API HdTokenDataSourceHandle GetDisplayName ( ) const

Optional displayName. Intended for GUI organization.

◆ GetMappings()

HD_API HdMaterialInterfaceMappingVectorSchema GetMappings ( ) const

Maps this singular interface parameter to a vector of target node parameters.

Each mapping target is defined by the InterfaceMappings schema.


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