![]() |
|
Schema to describe RtPrimvarList. More...
#include <rileyPrimvarListSchema.h>
Inheritance diagram for HdPrmanRileyPrimvarListSchema:Classes | |
| class | Builder |
| Utility class for setting sparse sets of child data source fields to be filled as arguments into BuildRetained. More... | |
Public Member Functions | |
Schema retrieval | |
| HdPrmanRileyPrimvarListSchema (HdContainerDataSourceHandle container) | |
Member accessor | |
| HDPRMAN_API HdSizetDataSourceHandle | GetNumUniform () |
| HDPRMAN_API HdSizetDataSourceHandle | GetNumVertex () |
| HDPRMAN_API HdSizetDataSourceHandle | GetNumVarying () |
| HDPRMAN_API HdSizetDataSourceHandle | GetNumFaceVarying () |
| HDPRMAN_API HdPrmanRileyPrimvarContainerSchema | GetParams () |
Public Member Functions inherited from HdSchema | |
| HdSchema (HdContainerDataSourceHandle container) | |
| HD_API HdContainerDataSourceHandle | GetContainer () const |
| Returns the container data source that this schema is interpreting. | |
| HD_API bool | IsDefined () const |
| operator bool () const | |
Returns true if this schema is applied on top of a non-null container. | |
Static Public Member Functions | |
Schema construction | |
| static HDPRMAN_API HdContainerDataSourceHandle | BuildRetained (const HdSizetDataSourceHandle &numUniform, const HdSizetDataSourceHandle &numVertex, const HdSizetDataSourceHandle &numVarying, const HdSizetDataSourceHandle &numFaceVarying, const HdContainerDataSourceHandle ¶ms) |
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 |
| Returns a datasource of the requested type for the given name: schema implementations can use this to ask for child containers, sampled values, vectors, etc. | |
Protected Attributes inherited from HdSchema | |
| HdContainerDataSourceHandle | _container |
Schema to describe RtPrimvarList.
To obtain an RtPrimvarList we pass numUniform, numVertex, numVarying, numFaceVarying to the constructor, call RtPrimvarList::SetTimes if "P" (for points) is among the params and has samples and finally call the appropriate RtPrimvarList::SetFOO[Detail]( name, value[, detailType[, sampleTimeIndex]]).
The HdPrmanRileyPrimvarSchema determines what SetFOO[Detail] method is valled with what value, detailType or sampleTimeIndex.
For many data types or when detailType is constant, the behavior is the same as for the HdPrmanRileyParamSchema.
Otherweise, we call SetFooDetail using HdPrmanRileyParamSchema similar as we did for HdPrmanRileyParamSchema but consuming the detailType data source as well. The value data source is only sampled at time 0.
The "P" param is treated specially. It is the only param for which take time samples (from the sampled value data source) and always corresponds to a call to RtPrimvarList::SetPointDetail with detailType = vertex.
Definition at line 75 of file rileyPrimvarListSchema.h.
|
inline |
Definition at line 81 of file rileyPrimvarListSchema.h.
|
static |
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.