HDK
|
A mesh of curves. More...
#include <GT_PrimCurveMesh.h>
GT_PrimCurveMesh::GT_PrimCurveMesh | ( | ) |
Default constructor.
|
inline |
Copy c-tor.
Definition at line 31 of file GT_PrimCurveMesh.h.
|
inline |
Definition at line 50 of file GT_PrimCurveMesh.h.
|
inline |
Definition at line 72 of file GT_PrimCurveMesh.h.
|
inline |
Useful constructor.
Definition at line 99 of file GT_PrimCurveMesh.h.
GT_PrimCurveMesh::GT_PrimCurveMesh | ( | const GT_PrimCurve & | curve | ) |
Construct a curve mesh from a single GT_PrimCurve.
|
override |
Destructor.
void GT_PrimCurveMesh::addFaceSet | ( | const char * | name, |
const GT_FaceSetPtr & | set | ||
) |
Access to the face sets (curve sets)
|
inlineoverridevirtual |
Implements GT_Primitive.
Reimplemented in GT_PrimSubdivisionCurves.
Definition at line 125 of file GT_PrimCurveMesh.h.
GEO/GU support to compute perimeter of curve.
Reimplemented from GT_Primitive.
|
overridevirtual |
The virtual implementation of attribute merging.
Reimplemented from GT_Primitive.
|
overridevirtual |
Harden all attributes so there are no dangling dependencies.
Reimplemented from GT_Primitive.
|
inlineoverridevirtual |
Create a copy of the primitive, referencing all the source data This can return a NULL pointer, but it would be better to implement it properly.
Implements GT_Primitive.
Definition at line 285 of file GT_PrimCurveMesh.h.
|
overridevirtual |
Methods defined on GT_Primitive
Implements GT_Primitive.
|
overridevirtual |
Methods defined on GT_Primitive
Reimplemented from GT_Primitive.
GT_PrimitiveHandle GT_PrimCurveMesh::expandUniformVarying | ( | ) | const |
In some systems (Alembic, Usd), curve data can have a "varying" storage specification. This stores data per curve span rather than per vertex. This method will convert any varying or uniform storage arrays to per-vertex data.
|
inline |
Access to the face sets (curve sets)
Definition at line 298 of file GT_PrimCurveMesh.h.
|
inline |
Accessors
Definition at line 241 of file GT_PrimCurveMesh.h.
|
inline |
Accessors
Definition at line 257 of file GT_PrimCurveMesh.h.
|
inline |
Accessors
Definition at line 253 of file GT_PrimCurveMesh.h.
GT_PrimitiveHandle GT_PrimCurveMesh::getCurve | ( | GT_Offset | i | ) | const |
Return a pointer to the individual face.
GT_Size GT_PrimCurveMesh::getCurveCount | ( | ) | const |
Return the number of faces in the mesh.
|
inline |
Accessors
Definition at line 243 of file GT_PrimCurveMesh.h.
const GT_DataArrayHandle GT_PrimCurveMesh::getCurveCounts | ( | GT_IndexingMode | mode = GT_INDEXING_QUICK | ) | const |
Return an array containing the face counts per-face
|
inline |
Accessors
Definition at line 249 of file GT_PrimCurveMesh.h.
|
inlineoverridevirtual |
Access attributes
Reimplemented from GT_Primitive.
Definition at line 311 of file GT_PrimCurveMesh.h.
|
overridevirtual |
Methods defined on GT_Primitive
Implements GT_Primitive.
|
overridevirtual |
Methods defined on GT_Primitive
Implements GT_Primitive.
Return the order for a given curve.
Definition at line 268 of file GT_PrimCurveMesh.h.
|
overridevirtual |
Methods defined on GT_Primitive
Reimplemented from GT_Primitive.
Reimplemented in GT_PrimSubdivisionCurves.
|
inline |
Accessors
Definition at line 247 of file GT_PrimCurveMesh.h.
|
inlineoverridevirtual |
Access attributes
Reimplemented from GT_Primitive.
Definition at line 309 of file GT_PrimCurveMesh.h.
|
inline |
Accessors
Definition at line 255 of file GT_PrimCurveMesh.h.
|
inline |
Accessors
Definition at line 245 of file GT_PrimCurveMesh.h.
|
inlineoverridevirtual |
Access attributes
Reimplemented from GT_Primitive.
Definition at line 307 of file GT_PrimCurveMesh.h.
Return the length of the vertex list for the given face.
Definition at line 319 of file GT_PrimCurveMesh.h.
Return the offset into the vertex list for the given face.
Definition at line 316 of file GT_PrimCurveMesh.h.
|
inline |
Accessors
Definition at line 251 of file GT_PrimCurveMesh.h.
void GT_PrimCurveMesh::init | ( | GT_Basis | basis, |
const GT_DataArrayHandle & | vtx_counts, | ||
const GT_AttributeListHandle & | vertex, | ||
const GT_AttributeListHandle & | uniform, | ||
const GT_AttributeListHandle & | detail, | ||
bool | wrap, | ||
GT_IndexingMode | indexing = GT_INDEXING_QUICK , |
||
bool | closed = false , |
||
bool | use_breakpoint_size = false , |
||
GT_Parameterization | breakpoint_parameterization = GT_PARAMETERIZATION_CHORD |
||
) |
Initialize the mesh
vtx_counts
vertex
uniform
vtx_counts
array.indexing
|
inline |
Check to see whether all curves have the same order.
Definition at line 274 of file GT_PrimCurveMesh.h.
Accessors
Definition at line 261 of file GT_PrimCurveMesh.h.
|
inline |
Accessors
Definition at line 260 of file GT_PrimCurveMesh.h.
GT_PrimitiveHandle GT_PrimCurveMesh::pinCurves | ( | ) | const |
|
overridevirtual |
Methods defined on GT_Primitive
Reimplemented from GT_Primitive.
Reimplemented in GT_PrimSubdivisionCurves.
GT_PrimitiveHandle GT_PrimCurveMesh::refineToLinear | ( | const GT_RefineParms * | parms = NULL , |
fpreal | lod_scale = -1 |
||
) | const |
Refine to linear curves.
GT_PrimitiveHandle GT_PrimCurveMesh::removeDegenerate | ( | ) | const |
Remove degenerate curves from the meseh.
|
overridevirtual |
Save the primitive to a JSON stream. The default method does nothing and returns false.
Reimplemented from GT_Primitive.
Set the basis & order for the curves Basis Type Min Order Max Order GT_BASIS_LINEAR 2 2 GT_BASIS_BEZIER 2 31 GT_BASIS_BSPLINE 2 arbitrary GT_BASIS_CATMULLROM 4 4 GT_BASIS_HERMITE 4 4 GT_BASIS_POWER 2 arbitrary
bool GT_PrimCurveMesh::setBasis | ( | GT_Basis | basis, |
const GT_DataArrayHandle & | order | ||
) |
Set the basis & order for the curves Basis Type Min Order Max Order GT_BASIS_LINEAR 2 2 GT_BASIS_BEZIER 2 31 GT_BASIS_BSPLINE 2 arbitrary GT_BASIS_CATMULLROM 4 4 GT_BASIS_HERMITE 4 4 GT_BASIS_POWER 2 arbitrary
|
inline |
Access to the face sets (curve sets)
Definition at line 299 of file GT_PrimCurveMesh.h.
bool GT_PrimCurveMesh::setKnots | ( | const GT_DataArrayHandle & | knots | ) |
Set knot vector. Some conditions must be met for this to work properly.
(order-1) vertices and adjust the knot vector so the knot spacing for the last order
knots matches the spacing for the first order
knots.The length of the knot vector must be
sum(getVertexCount(i)) + sum(getOrder(i))
That is, the length of the knot vector for each curve must be the number of vertices in the curve plus its order.
|
inline |
Set the curve order
Definition at line 198 of file GT_PrimCurveMesh.h.
|
inline |
Set the curve order
Definition at line 200 of file GT_PrimCurveMesh.h.
|
inline |
Return the order for all curves. If the curves have varying orders, the uniform order will be less than zero.
Definition at line 278 of file GT_PrimCurveMesh.h.
GT_PrimitiveHandle GT_PrimCurveMesh::unpinCurves | ( | ) | const |
Unpin curves. This method will fail if the curve mesh has an invalid basis or if any curves don't have enough vertices.
|
inline |
Return the varying orders (may be NULL)
Definition at line 281 of file GT_PrimCurveMesh.h.
|
overridevirtual |
Methods defined on GT_Primitive
Reimplemented from GT_Primitive.