7#ifndef PXR_IMAGING_HD_BASIS_CURVES_TOPOLOGY_H
8#define PXR_IMAGING_HD_BASIS_CURVES_TOPOLOGY_H
11#include "pxr/imaging/hd/api.h"
12#include "pxr/imaging/hd/version.h"
13#include "pxr/imaging/hd/topology.h"
14#include "pxr/imaging/hd/tokens.h"
17#include "pxr/base/vt/value.h"
21PXR_NAMESPACE_OPEN_SCOPE
71 const VtIntArray &curveVertexCounts,
72 const VtIntArray &curveIndices);
81 void SetInvisiblePoints(VtIntArray
const &invisiblePoints) {
82 _invisiblePoints = invisiblePoints;
86 VtIntArray
const & GetInvisiblePoints()
const {
87 return _invisiblePoints;
91 void SetInvisibleCurves(VtIntArray
const &invisibleCurves) {
92 _invisibleCurves = invisibleCurves;
96 VtIntArray
const & GetInvisibleCurves()
const {
97 return _invisibleCurves;
103 return _curveVertexCounts;
108 return _curveIndices;
113 return _curveVertexCounts.size();
124 TfToken GetCurveBasis()
const {
return _curveBasis; }
125 TfToken GetCurveWrap()
const {
return _curveWrap; }
152 VtIntArray _curveVertexCounts;
153 VtIntArray _curveIndices;
154 VtIntArray _invisiblePoints;
155 VtIntArray _invisibleCurves;
163PXR_NAMESPACE_CLOSE_SCOPE
Topology data for basisCurves.
TfToken GetCurveType() const
See class documentation for valid combination of values.
size_t GetNumCurves() const
Returns the number of curves.
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.
VtIntArray const & GetCurveIndices() const
Returns indices.
VtIntArray const & GetCurveVertexCounts() const
Returns segment vertex counts.
virtual HD_API ID ComputeHash() const
Returns the hash value of this topology to be used for instancing.
HD_API size_t CalculateNeededNumberOfVaryingControlPoints() const
Figure out how many control points with varying data this topology needs.
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.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...