HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdMaterialInterfaceParameterSchema Class Reference

#include <materialInterfaceParameterSchema.h>

+ Inheritance diagram for HdMaterialInterfaceParameterSchema:

Classes

class  Builder
 

Public Member Functions

Schema retrieval
 HdMaterialInterfaceParameterSchema (HdContainerDataSourceHandle container)
 
Member accessor
HD_API HdTokenDataSourceHandle GetDisplayGroup () const
 Optional displayGroup. Intended for GUI organization. More...
 
HD_API HdTokenDataSourceHandle GetDisplayName () const
 Optional displayName. Intended for GUI organization. More...
 
HD_API
HdMaterialInterfaceMappingVectorSchema 
GetMappings () const
 
- Public Member Functions inherited from HdSchema
 HdSchema (HdContainerDataSourceHandle container)
 
HD_API HdContainerDataSourceHandle GetContainer () const
 Returns the container data source that this schema is interpreting. More...
 
HD_API bool IsDefined () const
 
 operator bool () const
 

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
 
- 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

static HD_API HdContainerDataSourceHandle HdMaterialInterfaceParameterSchema::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.

HD_API HdTokenDataSourceHandle HdMaterialInterfaceParameterSchema::GetDisplayGroup ( ) const

Optional displayGroup. Intended for GUI organization.

HD_API HdTokenDataSourceHandle HdMaterialInterfaceParameterSchema::GetDisplayName ( ) const

Optional displayName. Intended for GUI organization.

HD_API HdMaterialInterfaceMappingVectorSchema HdMaterialInterfaceParameterSchema::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: