Loading...
Searching...
No Matches
HdPrmanRileyPrimvarListSchema Class Reference

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 &params)
 

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ HdPrmanRileyPrimvarListSchema()

HdPrmanRileyPrimvarListSchema ( HdContainerDataSourceHandle  container)
inline

Definition at line 81 of file rileyPrimvarListSchema.h.

Member Function Documentation

◆ BuildRetained()

static HDPRMAN_API HdContainerDataSourceHandle BuildRetained ( const HdSizetDataSourceHandle &  numUniform,
const HdSizetDataSourceHandle &  numVertex,
const HdSizetDataSourceHandle &  numVarying,
const HdSizetDataSourceHandle &  numFaceVarying,
const HdContainerDataSourceHandle &  params 
)
static
Deprecated:
Use Builder instead.

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.


The documentation for this class was generated from the following file: