HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_PrimNURBSCurveMesh Class Reference

A mesh of polygons. More...

#include <GT_PrimNURBSCurveMesh.h>

+ Inheritance diagram for GT_PrimNURBSCurveMesh:

Public Types

typedef UT_Array
< GT_GEOPrimitive::GEOPrimitivePair
PrimitiveArrayType
 

Public Member Functions

 GT_PrimNURBSCurveMesh ()
 Default constructor. More...
 
 GT_PrimNURBSCurveMesh (const GT_PrimNURBSCurveMesh &src)
 
 GT_PrimNURBSCurveMesh (const GU_ConstDetailHandle &gdh, const PrimitiveArrayType &curves, const GT_AttributeListHandle &uniform, const GT_AttributeListHandle &detail, bool wrap, bool cubic_bezier=false)
 Useful constructor. More...
 
 GT_PrimNURBSCurveMesh (const GU_ConstDetailHandle &gdh, const GT_GEOOffsetList &offsets, const GT_AttributeListHandle &uniform, const GT_AttributeListHandle &detail, bool wrap, bool cubic_bezier=false)
 Useful constructor. More...
 
 ~GT_PrimNURBSCurveMesh () override
 Destructor. More...
 
const char * className () const override
 
void init (const PrimitiveArrayType &curvePrims, const GT_GEODetailList &geo)
 Initialize the mesh. More...
 
void setHullVertices (const GT_DataArrayHandle &counts, const GT_AttributeListHandle &vertex)
 Set the vertex attributes for the hull. More...
 
const GT_ViewportRefineOptionsviewportRefineOptions () const override
 Viewport refinement options. More...
 
GT_PrimitiveHandle refineToMesh (const GT_RefineParms *parms) const
 
GT_PrimitiveHandle refineToHull (const GT_RefineParms *parms) const
 Refine to the hull mesh. More...
 
GT_PrimitiveHandle refineToMesh (const GT_RefineParms *parms, GT_PrimitiveHandle *outlines) const
 
GT_DataArrayHandle getBreakPointIndices (const GT_RefineParms *parms, GT_CountArray *curvecounts=NULL) const
 
bool refineToCurveMesh (GT_Refine &refiner, const GT_RefineParms *parms) const
 
bool updateGeoPrim (const GU_ConstDetailHandle &dtl, const GT_RefineParms &refine) override
 Update the primitive pointers. More...
 
int getPrimitiveType () const override
 
void enlargeBounds (UT_BoundingBox boxes[], int nseg) const override
 
int getMotionSegments () const override
 
int64 getMemoryUsage () const override
 
bool refine (GT_Refine &refiner, const GT_RefineParms *parms) const override
 
GT_PrimitiveHandle doSoftCopy () const override
 
GT_Size getCurveCount () const
 
bool getWrap () const
 
bool isOpenCubicBezier () const
 
const GEO_CurvegetCurve (exint i) const
 
const GT_AttributeListHandlegetUniform () const
 
const GT_AttributeListHandlegetConstant () const
 
const GT_AttributeListHandlegetVertexAttributes () const override
 
const GT_AttributeListHandlegetUniformAttributes () const override
 
const GT_AttributeListHandlegetDetailAttributes () const override
 
- Public Member Functions inherited from GT_Primitive
 GT_Primitive ()
 
 GT_Primitive (const GT_Primitive &src)
 
virtual ~GT_Primitive ()
 
virtual bool getUniqueID (int64 &id) const
 
virtual void enlargeRenderBounds (UT_BoundingBox boxes[], int nsegments) const
 
virtual void getVelocityRange (UT_Vector3 &min, UT_Vector3 &max, const UT_StringRef &attribute_name=GA_Names::v) const
 
const GT_TransformHandlegetPrimitiveTransform () const
 
void setPrimitiveTransform (const GT_TransformHandle &x)
 Set the transform for a the primitive. More...
 
GT_PrimitiveHandle clone () const
 
virtual bool hasDataArray (const UT_StringRef &name, GT_Owner owner_scope[], int num_owners, GT_Storage *storage=NULL, GT_Size *tuple_size=NULL) const
 
void setStaticGeometry (bool static_geo)
 Return true if the primitive represents geometry at frame 'fr'. More...
 
bool isStaticGeometry () const
 
bool isFrameInfoAvailable () const
 
bool getDataIdHash (int64 &hash, int segment=0, bool cache_data_id=false) const
 
virtual bool getTopologyVersion (int64 &version) const
 Returns the topology version for the primitive. More...
 
GT_DataArrayHandle findAttribute (const UT_StringRef &name, GT_Owner &owner, int segment) const
 
void dumpAttributeLists (const char *label, bool data_too) const
 print out all attribute lists More...
 
void dumpPrimitive () const
 
bool saveAttributeLists (UT_JSONWriter &w) const
 
virtual bool save (UT_JSONWriter &w) const
 
GT_PrimitiveHandle harden () const
 
GT_PrimitiveHandle copyTransformed (const GT_TransformHandle &x, bool force=false) const
 
void refineCopyTransformFrom (const GT_Primitive &src)
 
GT_PrimitiveHandle attributeMerge (const GT_Primitive &src, const UT_StringMMPattern *vertex_pattern, const UT_StringMMPattern *point_pattern, const UT_StringMMPattern *uniform_pattern, const UT_StringMMPattern *detail_pattern) const
 
virtual GT_PrimitiveHandle doHarden () const
 
virtual GT_PrimitiveHandle doAttributeMerge (const GT_Primitive &src, const UT_StringMMPattern *vertex, const UT_StringMMPattern *point, const UT_StringMMPattern *uniform, const UT_StringMMPattern *detail) const
 The virtual implementation of attribute merging. More...
 
bool enlargeWidth (UT_BoundingBox boxes[], int nsegments, fpreal defwidth=-1) const
 
virtual const
GT_AttributeListHandle
getPointAttributes () const
 
const GT_AttributeListHandlegetAttributeList (GT_Owner owner) const
 
virtual const GT_DataArrayHandlegetVertexList () const
 
virtual GT_DataArrayHandle createPointNormals (int segment=0, const UT_StringRef &P=GA_Names::P, bool normalize=true, const fpreal32 *pntdata=NULL, GT_Storage store=GT_STORE_REAL32) const
 
virtual fpreal computePerimeter (int seg=0) const
 
virtual fpreal computeSurfaceArea (int seg=0) const
 
virtual fpreal computeVolume (const UT_Vector3 &ref_P, int seg=0) const
 
- Public Member Functions inherited from UT_IntrusiveRefCounter< GT_Primitive >
SYS_FORCE_INLINE UT_IntrusiveRefCounter () noexcept
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &) noexcept
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const noexcept
 Return current counter. More...
 
SYS_FORCE_INLINE bool conditionalAddRef () noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from GT_Primitive
static int createPrimitiveTypeId ()
 
static GT_AttributeListHandle mergeAttributeLists (bool &changed, const GT_AttributeListHandle &src, const GT_AttributeListHandle &merge, const UT_StringMMPattern *pattern, const UT_StringMMPattern *alternate=NULL)
 
static bool computeVelocityRange (UT_Vector3 &vmin, UT_Vector3 &vmax, const GT_DataArrayHandle &v)
 
static GT_PrimitiveHandle refineDetail (const GU_ConstDetailHandle &detail, const GT_RefineParms *parms)
 
static GT_PrimitiveHandle refinePrimitive (const GT_PrimitiveHandle &primh, const GT_RefineParms *parms)
 
static voidoperator new (size_t size)
 
static voidoperator new (size_t size, void *p)
 
static void operator delete (void *p, size_t size)
 
- Protected Member Functions inherited from GT_Primitive
void enlargeP (UT_BoundingBox &box, const GT_AttributeListHandle &list, int segment) const
 
void enlargeP (UT_BoundingBox &B, const GT_DataArrayHandle &P) const
 Convenience method to enlarge a bounding box given a position attribute. More...
 
void enlargePw (UT_BoundingBox &B, const GT_DataArrayHandle &P) const
 
- Protected Member Functions inherited from UT_IntrusiveRefCounter< GT_Primitive >
SYS_FORCE_INLINE ~UT_IntrusiveRefCounter ()
 Destructor: Only derived classes can destruct this. More...
 

Detailed Description

A mesh of polygons.

Definition at line 29 of file GT_PrimNURBSCurveMesh.h.

Member Typedef Documentation

Constructor & Destructor Documentation

GT_PrimNURBSCurveMesh::GT_PrimNURBSCurveMesh ( )

Default constructor.

GT_PrimNURBSCurveMesh::GT_PrimNURBSCurveMesh ( const GT_PrimNURBSCurveMesh src)
inline

Definition at line 36 of file GT_PrimNURBSCurveMesh.h.

GT_PrimNURBSCurveMesh::GT_PrimNURBSCurveMesh ( const GU_ConstDetailHandle gdh,
const PrimitiveArrayType curves,
const GT_AttributeListHandle uniform,
const GT_AttributeListHandle detail,
bool  wrap,
bool  cubic_bezier = false 
)
inline

Useful constructor.

Definition at line 50 of file GT_PrimNURBSCurveMesh.h.

GT_PrimNURBSCurveMesh::GT_PrimNURBSCurveMesh ( const GU_ConstDetailHandle gdh,
const GT_GEOOffsetList offsets,
const GT_AttributeListHandle uniform,
const GT_AttributeListHandle detail,
bool  wrap,
bool  cubic_bezier = false 
)
inline

Useful constructor.

Definition at line 66 of file GT_PrimNURBSCurveMesh.h.

GT_PrimNURBSCurveMesh::~GT_PrimNURBSCurveMesh ( )
override

Destructor.

Member Function Documentation

const char* GT_PrimNURBSCurveMesh::className ( ) const
inlineoverridevirtual

Implements GT_Primitive.

Definition at line 85 of file GT_PrimNURBSCurveMesh.h.

GT_PrimitiveHandle GT_PrimNURBSCurveMesh::doSoftCopy ( ) const
inlineoverridevirtual

Methods defined on GT_Primitive

Implements GT_Primitive.

Definition at line 113 of file GT_PrimNURBSCurveMesh.h.

void GT_PrimNURBSCurveMesh::enlargeBounds ( UT_BoundingBox  boxes[],
int  nseg 
) const
overridevirtual

Methods defined on GT_Primitive

Implements GT_Primitive.

GT_DataArrayHandle GT_PrimNURBSCurveMesh::getBreakPointIndices ( const GT_RefineParms parms,
GT_CountArray curvecounts = NULL 
) const

Fill the break points for all curves. You must pass in an array of the number of vertices for each curve. For example, this could be the vertex count array of the polygon mesh created by the refine process.

const GT_AttributeListHandle& GT_PrimNURBSCurveMesh::getConstant ( ) const
inline

Accessor

Definition at line 151 of file GT_PrimNURBSCurveMesh.h.

const GEO_Curve* GT_PrimNURBSCurveMesh::getCurve ( exint  i) const

Accessor

GT_Size GT_PrimNURBSCurveMesh::getCurveCount ( ) const
inline

Accessor

Definition at line 145 of file GT_PrimNURBSCurveMesh.h.

const GT_AttributeListHandle& GT_PrimNURBSCurveMesh::getDetailAttributes ( ) const
inlineoverridevirtual

Access attributes

Reimplemented from GT_Primitive.

Definition at line 161 of file GT_PrimNURBSCurveMesh.h.

int64 GT_PrimNURBSCurveMesh::getMemoryUsage ( ) const
overridevirtual

Methods defined on GT_Primitive

Implements GT_Primitive.

int GT_PrimNURBSCurveMesh::getMotionSegments ( ) const
overridevirtual

Methods defined on GT_Primitive

Implements GT_Primitive.

int GT_PrimNURBSCurveMesh::getPrimitiveType ( ) const
overridevirtual

Methods defined on GT_Primitive

Reimplemented from GT_Primitive.

const GT_AttributeListHandle& GT_PrimNURBSCurveMesh::getUniform ( ) const
inline

Accessor

Definition at line 149 of file GT_PrimNURBSCurveMesh.h.

const GT_AttributeListHandle& GT_PrimNURBSCurveMesh::getUniformAttributes ( ) const
inlineoverridevirtual

Access attributes

Reimplemented from GT_Primitive.

Definition at line 159 of file GT_PrimNURBSCurveMesh.h.

const GT_AttributeListHandle& GT_PrimNURBSCurveMesh::getVertexAttributes ( ) const
inlineoverridevirtual

Access attributes

Reimplemented from GT_Primitive.

Definition at line 157 of file GT_PrimNURBSCurveMesh.h.

bool GT_PrimNURBSCurveMesh::getWrap ( ) const
inline

Accessor

Definition at line 146 of file GT_PrimNURBSCurveMesh.h.

void GT_PrimNURBSCurveMesh::init ( const PrimitiveArrayType curvePrims,
const GT_GEODetailList geo 
)

Initialize the mesh.

bool GT_PrimNURBSCurveMesh::isOpenCubicBezier ( ) const
inline

Accessor

Definition at line 147 of file GT_PrimNURBSCurveMesh.h.

bool GT_PrimNURBSCurveMesh::refine ( GT_Refine refiner,
const GT_RefineParms parms 
) const
overridevirtual

Refine into eithe a GT_PrimCurveMesh or a GT_PrimPolygonMesh depending on getWrap()

Reimplemented from GT_Primitive.

bool GT_PrimNURBSCurveMesh::refineToCurveMesh ( GT_Refine refiner,
const GT_RefineParms parms 
) const
GT_PrimitiveHandle GT_PrimNURBSCurveMesh::refineToHull ( const GT_RefineParms parms) const

Refine to the hull mesh.

GT_PrimitiveHandle GT_PrimNURBSCurveMesh::refineToMesh ( const GT_RefineParms parms) const
inline

Refine to either a GT_PrimPolygonMesh or a GT_PrimCurveMesh depending on the state of myWrap.

May return an empty pointer when there are no curves.

Definition at line 124 of file GT_PrimNURBSCurveMesh.h.

GT_PrimitiveHandle GT_PrimNURBSCurveMesh::refineToMesh ( const GT_RefineParms parms,
GT_PrimitiveHandle outlines 
) const

Refine to a GT_PrimCurveMesh or a GT_PrimPolygonMesh dependeing on getWrap(). When refining to GT_PrimPolygonMesh, the outline primitive will be set to a GT_PrimCurveMesh containing the outlines of all the faces.

void GT_PrimNURBSCurveMesh::setHullVertices ( const GT_DataArrayHandle counts,
const GT_AttributeListHandle vertex 
)
inline

Set the vertex attributes for the hull.

Definition at line 93 of file GT_PrimNURBSCurveMesh.h.

bool GT_PrimNURBSCurveMesh::updateGeoPrim ( const GU_ConstDetailHandle dtl,
const GT_RefineParms refine 
)
overridevirtual

Update the primitive pointers.

Reimplemented from GT_Primitive.

const GT_ViewportRefineOptions& GT_PrimNURBSCurveMesh::viewportRefineOptions ( ) const
overridevirtual

Viewport refinement options.

Reimplemented from GT_Primitive.


The documentation for this class was generated from the following file: