28 #ifndef PXR_IMAGING_HD_EXT_COMPUTATION_PRIMVAR_SCHEMA_H 29 #define PXR_IMAGING_HD_EXT_COMPUTATION_PRIMVAR_SCHEMA_H 31 #include "pxr/imaging/hd/api.h" 33 #include "pxr/imaging/hd/primvarSchema.h" 36 PXR_NAMESPACE_OPEN_SCOPE
40 #define HDEXTCOMPUTATIONPRIMVAR_SCHEMA_TOKENS \ 44 (sourceComputationOutputName) \ 48 HDEXTCOMPUTATIONPRIMVAR_SCHEMA_TOKENS);
52 class HdExtComputationPrimvarSchema :
public HdSchema 55 HdExtComputationPrimvarSchema(HdContainerDataSourceHandle container)
61 HdTokenDataSourceHandle GetInterpolation();
63 HdTokenDataSourceHandle GetRole();
65 HdPathDataSourceHandle GetSourceComputation();
67 HdTokenDataSourceHandle GetSourceComputationOutputName();
69 HdTupleTypeDataSourceHandle GetValueType();
79 static HdContainerDataSourceHandle
81 const HdTokenDataSourceHandle &interpolation,
82 const HdTokenDataSourceHandle &role,
83 const HdPathDataSourceHandle &sourceComputation,
84 const HdTokenDataSourceHandle &sourceComputationOutputName,
85 const HdTupleTypeDataSourceHandle &valueType
99 const HdTokenDataSourceHandle &interpolation);
102 const HdTokenDataSourceHandle &role);
105 const HdPathDataSourceHandle &sourceComputation);
107 Builder &SetSourceComputationOutputName(
108 const HdTokenDataSourceHandle &sourceComputationOutputName);
111 const HdTupleTypeDataSourceHandle &valueType);
115 HdContainerDataSourceHandle
Build();
118 HdTokenDataSourceHandle _interpolation;
119 HdTokenDataSourceHandle _role;
120 HdPathDataSourceHandle _sourceComputation;
121 HdTokenDataSourceHandle _sourceComputationOutputName;
122 HdTupleTypeDataSourceHandle _valueType;
126 static HdTokenDataSourceHandle BuildInterpolationDataSource(
128 return HdPrimvarSchema::BuildInterpolationDataSource(interpolation);
131 static HdTokenDataSourceHandle BuildRoleDataSource(
TfToken role) {
132 return HdPrimvarSchema::BuildRoleDataSource(role);
138 PXR_NAMESPACE_CLOSE_SCOPE
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.
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Schema classes represent a structured view of the inherently unstructured container data source passe...