28 #ifndef PXR_IMAGING_HD_PRIMVAR_SCHEMA_H 29 #define PXR_IMAGING_HD_PRIMVAR_SCHEMA_H 31 #include "pxr/imaging/hd/api.h" 33 #include "pxr/imaging/hd/schema.h" 35 PXR_NAMESPACE_OPEN_SCOPE
39 #define HDPRIMVAR_SCHEMA_TOKENS \ 41 (indexedPrimvarValue) \ 62 HDPRIMVAR_SCHEMA_TOKENS);
66 class HdPrimvarSchema :
public HdSchema 69 HdPrimvarSchema(HdContainerDataSourceHandle container)
80 HdSampledDataSourceHandle GetPrimvarValue();
82 HdSampledDataSourceHandle GetIndexedPrimvarValue();
84 HdIntArrayDataSourceHandle GetIndices();
86 HdTokenDataSourceHandle GetInterpolation();
88 HdTokenDataSourceHandle GetRole();
98 static HdContainerDataSourceHandle
100 const HdSampledDataSourceHandle &primvarValue,
101 const HdSampledDataSourceHandle &indexedPrimvarValue,
102 const HdIntArrayDataSourceHandle &indices,
103 const HdTokenDataSourceHandle &interpolation,
104 const HdTokenDataSourceHandle &role
118 const HdSampledDataSourceHandle &primvarValue);
120 Builder &SetIndexedPrimvarValue(
121 const HdSampledDataSourceHandle &indexedPrimvarValue);
124 const HdIntArrayDataSourceHandle &indices);
127 const HdTokenDataSourceHandle &interpolation);
130 const HdTokenDataSourceHandle &role);
134 HdContainerDataSourceHandle
Build();
137 HdSampledDataSourceHandle _primvarValue;
138 HdSampledDataSourceHandle _indexedPrimvarValue;
139 HdIntArrayDataSourceHandle _indices;
140 HdTokenDataSourceHandle _interpolation;
141 HdTokenDataSourceHandle _role;
159 static HdTokenDataSourceHandle BuildInterpolationDataSource(
173 static HdTokenDataSourceHandle BuildRoleDataSource(
178 PXR_NAMESPACE_CLOSE_SCOPE
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...
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
HD_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
Schema classes represent a structured view of the inherently unstructured container data source passe...