24 #ifndef PXR_IMAGING_HD_BASIS_CURVES_TOPOLOGY_H 25 #define PXR_IMAGING_HD_BASIS_CURVES_TOPOLOGY_H 28 #include "pxr/imaging/hd/api.h" 29 #include "pxr/imaging/hd/version.h" 30 #include "pxr/imaging/hd/topology.h" 31 #include "pxr/imaging/hd/tokens.h" 34 #include "pxr/base/vt/value.h" 38 PXR_NAMESPACE_OPEN_SCOPE
88 const VtIntArray &curveVertexCounts,
89 const VtIntArray &curveIndices);
98 void SetInvisiblePoints(VtIntArray
const &invisiblePoints) {
99 _invisiblePoints = invisiblePoints;
103 VtIntArray
const & GetInvisiblePoints()
const {
104 return _invisiblePoints;
108 void SetInvisibleCurves(VtIntArray
const &invisibleCurves) {
109 _invisibleCurves = invisibleCurves;
113 VtIntArray
const & GetInvisibleCurves()
const {
114 return _invisibleCurves;
120 return _curveVertexCounts;
125 return _curveIndices;
130 return _curveVertexCounts.size();
141 TfToken GetCurveBasis()
const {
return _curveBasis; }
142 TfToken GetCurveWrap()
const {
return _curveWrap; }
169 VtIntArray _curveVertexCounts;
170 VtIntArray _curveIndices;
171 VtIntArray _invisiblePoints;
172 VtIntArray _invisibleCurves;
180 PXR_NAMESPACE_CLOSE_SCOPE
182 #endif // PXR_IMAGING_HD_BASIS_CURVES_TOPOLOGY_H virtual HD_API ID ComputeHash() const
Returns the hash value of this topology to be used for instancing.
HD_API size_t GetNumPoints() const
Returns the number of points implied by vertex counts and indices.
Token for efficient comparison, assignment, and hashing of known strings.
size_t GetNumCurves() const
Returns the number of curves.
VtIntArray const & GetCurveIndices() const
Returns indices.
Topology data for basisCurves.
TfToken GetCurveType() const
See class documentation for valid combination of values.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].
VtIntArray const & GetCurveVertexCounts() const
Returns segment vertex counts.
HD_API size_t CalculateNeededNumberOfVaryingControlPoints() const
Figure out how many control points with varying data this topology needs.
HD_API bool operator==(HdBasisCurvesTopology const &other) const
Equality check between two basisCurves topologies.
HD_API size_t CalculateNeededNumberOfControlPoints() const
Figure out how many vertices / control points this topology references.
bool HasIndices() const
Does the topology use an index buffer.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...