7 #ifndef PXR_IMAGING_PX_OSD_MESH_TOPOLOGY_H
8 #define PXR_IMAGING_PX_OSD_MESH_TOPOLOGY_H
17 #include "pxr/base/vt/array.h"
72 VtIntArray
const& faceVertexCounts,
73 VtIntArray
const& faceVertexIndices);
80 VtIntArray
const& faceVertexCounts,
81 VtIntArray
const& faceVertexIndices,
82 VtIntArray
const& holeIndices);
89 VtIntArray
const& faceVertexCounts,
90 VtIntArray
const& faceVertexIndices,
91 VtIntArray
const& holeIndices,
99 VtIntArray
const& faceVertexCounts,
100 VtIntArray
const& faceVertexIndices,
112 return _faceVertexCounts;
117 return _faceVertexIndices;
219 VtIntArray _faceVertexCounts;
220 VtIntArray _faceVertexIndices;
221 VtIntArray _holeIndices;
226 std::atomic<bool>
value;
228 _Validated() :
value(false) {}
229 _Validated(
const _Validated& other) :
value(other.
value.load()) {}
230 _Validated(_Validated&& other) :
value(other.
value.load()) {
233 _Validated&
operator=(
const _Validated& other) {
234 value.store(other.value.load());
237 _Validated&
operator=(_Validated&& other) {
238 value.store(other.value.load());
248 mutable _Validated _validated;
259 #endif // PXR_IMAGING_PX_OSD_MESH_TOPOLOGY_H
PXOSD_API PxOsdMeshTopology WithSubdivTags(PxOsdSubdivTags const &tags) const
Return a copy of the topology, changing only the subdiv tags.
PXOSD_API PxOsdMeshTopologyValidation Validate() const
TfToken const GetScheme() const
Returns the subdivision scheme.
GLsizei const GLfloat * value
VtIntArray const & GetFaceVertexCounts() const
Returns face vertex counts.
TfToken const & GetOrientation() const
Returns orientation.
PXOSD_API PxOsdMeshTopology WithOrientation(TfToken const &orient) const
Return a copy of the topology, changing only the orientation.
~PxOsdMeshTopology()=default
PXOSD_API std::ostream & operator<<(std::ostream &out, PxOsdMeshTopology const &)
PXOSD_API bool operator==(PxOsdMeshTopology const &other) const
Equality check between two mesh topologies.
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
VtIntArray const & GetFaceVertexIndices() const
Returns face vertex indices.
VtIntArray const & GetHoleIndices() const
GA_API const UT_StringHolder orient
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
PXOSD_API PxOsdMeshTopology WithHoleIndices(VtIntArray const &holeIndices) const
Return a copy of the topology, changing only the hole indices.
#define PXR_NAMESPACE_CLOSE_SCOPE
PXOSD_API PxOsdMeshTopology WithScheme(TfToken const &scheme) const
PxOsdMeshTopology & operator=(const PxOsdMeshTopology &)=default
PXOSD_API PxOsdMeshTopology()
PxOsdSubdivTags const & GetSubdivTags() const
Returns subdivision tags.
PXOSD_API ID ComputeHash() const
Returns the hash value of this topology to be used for instancing.