18#ifndef PXR_USD_IMAGING_USD_IMAGING_MATERIAL_BINDING_SCHEMA_H
19#define PXR_USD_IMAGING_USD_IMAGING_MATERIAL_BINDING_SCHEMA_H
23#include "pxr/usdImaging/usdImaging/api.h"
26#include "pxr/imaging/hd/schema.h"
29#include "pxr/imaging/hd/vectorSchema.h"
32PXR_NAMESPACE_OPEN_SCOPE
39#define USD_IMAGING_MATERIAL_BINDING_SCHEMA_TOKENS \
40 (usdMaterialBinding) \
41 (directMaterialBinding) \
42 (collectionMaterialBindings) \
45 USD_IMAGING_MATERIAL_BINDING_SCHEMA_TOKENS);
56class UsdImagingMaterialBindingSchema :
public HdSchema
62 UsdImagingMaterialBindingSchema(HdContainerDataSourceHandle container)
71 static UsdImagingMaterialBindingSchema GetFromParent(
72 const HdContainerDataSourceHandle &fromParentContainer);
83 UsdImagingDirectMaterialBindingSchema GetDirectMaterialBinding()
const;
96 static const TfToken &GetSchemaToken();
116 static HdContainerDataSourceHandle
118 const HdContainerDataSourceHandle &directMaterialBinding,
119 const HdVectorDataSourceHandle &collectionMaterialBindings
132 Builder &SetDirectMaterialBinding(
133 const HdContainerDataSourceHandle &directMaterialBinding);
135 Builder &SetCollectionMaterialBindings(
136 const HdVectorDataSourceHandle &collectionMaterialBindings);
140 HdContainerDataSourceHandle
Build();
143 HdContainerDataSourceHandle _directMaterialBinding;
144 HdVectorDataSourceHandle _collectionMaterialBindings;
151PXR_NAMESPACE_CLOSE_SCOPE
Represents an object that can identify the location of a data source.
Template class wrapping a vector data source whose children are container data source conforming to a...
Schema classes represent a structured view of the inherently unstructured container data source passe...
Token for efficient comparison, assignment, and hashing of known strings.
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
USDIMAGING_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.