24#ifndef PXR_IMAGING_HD_MESH_TOPOLOGY_H
25#define PXR_IMAGING_HD_MESH_TOPOLOGY_H
28#include "pxr/imaging/hd/api.h"
29#include "pxr/imaging/hd/geomSubset.h"
30#include "pxr/imaging/hd/version.h"
31#include "pxr/imaging/hd/topology.h"
36#include "pxr/base/vt/value.h"
42PXR_NAMESPACE_OPEN_SCOPE
45using HdMeshTopologySharedPtr = std::shared_ptr<class HdMeshTopology>;
66 const VtIntArray &faceVertexCounts,
67 const VtIntArray &faceVertexIndices,
72 const VtIntArray &faceVertexCounts,
73 const VtIntArray &faceVertexIndices,
74 const VtIntArray &holeIndices,
151 return _topology.GetHoleIndices();
179 _geomSubsets = geomSubsets;
195 void SetInvisiblePoints(VtIntArray
const &invisiblePoints) {
196 _invisiblePoints = invisiblePoints;
200 VtIntArray
const & GetInvisiblePoints()
const {
201 return _invisiblePoints;
205 void SetInvisibleFaces(VtIntArray
const &invisibleFaces) {
206 _invisibleFaces = invisibleFaces;
210 VtIntArray
const & GetInvisibleFaces()
const {
211 return _invisibleFaces;
217 HdGeomSubsets _geomSubsets;
218 VtIntArray _invisiblePoints;
219 VtIntArray _invisibleFaces;
225PXR_NAMESPACE_CLOSE_SCOPE
Topology data for meshes.
TfToken const & GetOrientation() const
Returns orientation.
HD_API int GetNumFaces() const
Returns the num faces.
void SetHoleIndices(VtIntArray const &holeIndices)
Sets hole face indices.
static HD_API int ComputeNumPoints(VtIntArray const &verts)
Returns the num points by looking vert indices array.
VtIntArray const & GetHoleIndices() const
Returns the hole face indices.
HD_API int GetNumFaceVaryings() const
Returns the num facevarying primvars.
HD_API bool operator==(HdMeshTopology const &other) const
Equality check between two mesh topologies.
HD_API void SetGeomSubsets(HdGeomSubsets const &geomSubsets)
Sets geometry subsets.
void SetSubdivTags(PxOsdSubdivTags const &subdivTags)
Sets subdivision tags.
int GetRefineLevel() const
Returns the refinement level.
PxOsdSubdivTags const & GetSubdivTags() const
Returns subdivision tags.
HD_API HdGeomSubsets const & GetGeomSubsets() const
Returns geometry subsets.
virtual HD_API ID ComputeHash() const
Returns the hash value of this topology to be used for instancing.
TfToken const GetScheme() const
Returns the subdivision scheme.
static HD_API bool IsEnabledAdaptive()
Returns whether adaptive subdivision is enabled or not.
VtIntArray const & GetFaceVertexCounts() const
Returns face vertex counts.
HD_API int GetNumPoints() const
Returns the num points of the topology vert indices array.
VtIntArray const & GetFaceVertexIndices() const
Returns face vertex indics.
Topology data for meshes.
TfToken const & GetOrientation() const
Returns orientation.
PXOSD_API PxOsdMeshTopology WithHoleIndices(VtIntArray const &holeIndices) const
Return a copy of the topology, changing only the hole indices.
PXOSD_API PxOsdMeshTopology WithSubdivTags(PxOsdSubdivTags const &tags) const
Return a copy of the topology, changing only the subdiv tags.
PxOsdSubdivTags const & GetSubdivTags() const
Returns subdivision tags.
TfToken const GetScheme() const
Returns the subdivision scheme.
VtIntArray const & GetFaceVertexCounts() const
Returns face vertex counts.
VtIntArray const & GetFaceVertexIndices() const
Returns face vertex indices.
Token for efficient comparison, assignment, and hashing of known strings.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...