18#ifndef PXR_IMAGING_HD_MATERIAL_INTERFACE_SCHEMA_H
19#define PXR_IMAGING_HD_MATERIAL_INTERFACE_SCHEMA_H
23#include "pxr/imaging/hd/api.h"
24#include "pxr/imaging/hd/schemaTypeDefs.h"
26#include "pxr/imaging/hd/schema.h"
30#include <unordered_map>
34PXR_NAMESPACE_OPEN_SCOPE
38using TfTokenMap = std::unordered_map<TfToken, TfToken, TfToken::HashFunctor>;
39using NestedTfTokenMap =
40 std::unordered_map<TfToken, TfTokenMap, TfToken::HashFunctor>;
44#define HD_MATERIAL_INTERFACE_SCHEMA_TOKENS \
49 HD_MATERIAL_INTERFACE_SCHEMA_TOKENS);
113 static HdContainerDataSourceHandle
115 const HdContainerDataSourceHandle ¶meters,
116 const HdTokenArrayDataSourceHandle ¶meterOrder
130 const HdContainerDataSourceHandle ¶meters);
133 const HdTokenArrayDataSourceHandle ¶meterOrder);
137 HdContainerDataSourceHandle
Build();
140 HdContainerDataSourceHandle _parameters;
141 HdTokenArrayDataSourceHandle _parameterOrder;
148PXR_NAMESPACE_CLOSE_SCOPE
Template class for a schema backed by a container whose children have arbitrary names but an expected...
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
HD_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
The MaterialInterface schema describes a material's interface parameters, also known as public UI par...
HD_API HdTokenArrayDataSourceHandle GetParameterOrder() const
Provides the intended order of the interface parameters for UI purposes.
HD_API NestedTfTokenMap GetReverseInterfaceMappings() const
Builds and returns a map of reversed interface mappings.
HD_API HdMaterialInterfaceParameterContainerSchema GetParameters() const
A container for all the material's interface parameters.
static HD_API HdContainerDataSourceHandle BuildRetained(const HdContainerDataSourceHandle ¶meters, const HdTokenArrayDataSourceHandle ¶meterOrder)
Schema classes represent a structured view of the inherently unstructured container data source passe...
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.