35#ifndef PXR_IMAGING_HD_MESH_TOPOLOGY_SCHEMA_H
36#define PXR_IMAGING_HD_MESH_TOPOLOGY_SCHEMA_H
40#include "pxr/imaging/hd/api.h"
43#include "pxr/imaging/hd/schema.h"
48PXR_NAMESPACE_OPEN_SCOPE
53#define HD_MESH_TOPOLOGY_SCHEMA_TOKENS \
63 HD_MESH_TOPOLOGY_SCHEMA_TOKENS);
68class HdMeshTopologySchema :
public HdSchema
74 HdMeshTopologySchema(HdContainerDataSourceHandle container)
83 static HdMeshTopologySchema GetFromParent(
84 const HdContainerDataSourceHandle &fromParentContainer);
95 HdIntArrayDataSourceHandle GetFaceVertexCounts()
const;
98 HdIntArrayDataSourceHandle GetFaceVertexIndices()
const;
101 HdIntArrayDataSourceHandle GetHoleIndices()
const;
104 HdTokenDataSourceHandle GetOrientation()
const;
114 static const TfToken &GetSchemaToken();
134 static HdContainerDataSourceHandle
136 const HdIntArrayDataSourceHandle &faceVertexCounts,
137 const HdIntArrayDataSourceHandle &faceVertexIndices,
138 const HdIntArrayDataSourceHandle &holeIndices,
139 const HdTokenDataSourceHandle &orientation
153 const HdIntArrayDataSourceHandle &faceVertexCounts);
156 const HdIntArrayDataSourceHandle &faceVertexIndices);
159 const HdIntArrayDataSourceHandle &holeIndices);
162 const HdTokenDataSourceHandle &orientation);
166 HdContainerDataSourceHandle
Build();
169 HdIntArrayDataSourceHandle _faceVertexCounts;
170 HdIntArrayDataSourceHandle _faceVertexIndices;
171 HdIntArrayDataSourceHandle _holeIndices;
172 HdTokenDataSourceHandle _orientation;
183 static HdTokenDataSourceHandle BuildOrientationDataSource(
189PXR_NAMESPACE_CLOSE_SCOPE
Represents an object that can identify the location of a data source.
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.
Schema classes represent a structured view of the inherently unstructured container data source passe...
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.