25 #ifndef PXR_IMAGING_HD_VECTOR_SCHEMA_H
26 #define PXR_IMAGING_HD_VECTOR_SCHEMA_H
46 static HdVectorDataSourceHandle
49 const HdDataSourceBaseHandle *
values);
59 explicit operator bool()
const {
return IsDefined(); }
85 ? DataSource::Cast(
_vector->GetElement(element))
94 template<
typename Schema>
104 ? HdContainerDataSource::Cast(
_vector->GetElement(element))
HD_API size_t GetNumElements() const
Number of elements in the vector.
Schema GetElement(const size_t element) const
HdVectorSchema(HdVectorDataSourceHandle const &vector)
DataSourceHandle GetElement(const size_t element) const
HD_API bool IsDefined() const
HD_API HdVectorDataSourceHandle GetVector()
Returns the vector data source that this schema is interpreting.
HdVectorDataSourceHandle _vector
HdSchemaBasedVectorSchema(HdVectorDataSourceHandle const &vector)
static HD_API HdVectorDataSourceHandle BuildRetained(size_t count, const HdDataSourceBaseHandle *values)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
HdTypedVectorSchema(HdVectorDataSourceHandle const &vector)
GLenum GLsizei GLsizei GLint * values
typename DataSource::Handle DataSourceHandle
#define PXR_NAMESPACE_CLOSE_SCOPE