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

A single linear or cubic patch. More...

#include <GT_PrimCurve.h>

+ Inheritance diagram for GT_PrimCurve:

Public Member Functions

 GT_PrimCurve ()
 
 GT_PrimCurve (GT_Basis basis, const GT_AttributeListHandle &vertex, const GT_AttributeListHandle &uniform, bool wrap)
 
virtual ~GT_PrimCurve ()
 
virtual const char * className () const
 
virtual bool save (UT_JSONWriter &w) const
 
bool init (GT_Basis basis, const GT_AttributeListHandle &vertex, const GT_AttributeListHandle &uniform, bool wrapped)
 
virtual GT_PrimitiveHandle doHarden () const
 Harden all attributes so there are no dangling dependencies. More...
 
virtual GT_PrimitiveHandle doSoftCopy () 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...
 
virtual void enlargeBounds (UT_BoundingBox boxes[], int nsegments) const
 
virtual void enlargeRenderBounds (UT_BoundingBox b[], int n) const
 
virtual int getPrimitiveType () const
 
virtual int getMotionSegments () const
 
virtual int64 getMemoryUsage () const
 
GT_Basis getBasis () const
 
bool getWrap () const
 
const GT_AttributeListHandlegetVertex () const
 
const GT_AttributeListHandlegetUniform () const
 
virtual const
GT_AttributeListHandle
getVertexAttributes () const
 
virtual const
GT_AttributeListHandle
getUniformAttributes () const
 
- 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 getVelocityRange (UT_Vector3 &min, UT_Vector3 &max, const char *attribute_name="v") const
 
virtual bool refine (GT_Refine &refiner, const GT_RefineParms *parms=NULL) 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 char *name, GT_Owner owner_scope[], int num_owners, GT_Storage *storage=NULL, GT_Size *tuple_size=NULL) const
 
virtual bool updateGeoPrim (const GU_ConstDetailHandle &dtl, const GT_RefineParms &parms)
 update any cached data for geometry and its attributes More...
 
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 char *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 const
GT_ViewportRefineOptions
viewportRefineOptions () 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
 
bool enlargeWidth (UT_BoundingBox boxes[], int nsegments, fpreal defwidth=-1) const
 
virtual const
GT_AttributeListHandle
getPointAttributes () const
 
virtual const
GT_AttributeListHandle
getDetailAttributes () const
 
const GT_AttributeListHandlegetAttributeList (GT_Owner owner) const
 
virtual const GT_DataArrayHandlegetVertexList () const
 
virtual GT_DataArrayHandle createPointNormals (int segment=0, const char *P="P", bool normalize=true, const fpreal32 *pntdata=NULL, GT_Storage store=GT_STORE_REAL32) 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 ()
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &)
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &)
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const
 Return current counter. More...
 
virtual fpreal computePerimeter (int seg) const
 
static fpreal curveLength (const GT_DataArray &P, GT_Size nvtx=-1, GT_Offset start=0, const UT_Matrix4D *xform=NULL)
 

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 single linear or cubic patch.

Definition at line 18 of file GT_PrimCurve.h.

Constructor & Destructor Documentation

GT_PrimCurve::GT_PrimCurve ( )
GT_PrimCurve::GT_PrimCurve ( GT_Basis  basis,
const GT_AttributeListHandle vertex,
const GT_AttributeListHandle uniform,
bool  wrap 
)
inline

Definition at line 21 of file GT_PrimCurve.h.

virtual GT_PrimCurve::~GT_PrimCurve ( )
virtual

Member Function Documentation

virtual const char* GT_PrimCurve::className ( void  ) const
inlinevirtual

Implements GT_Primitive.

Definition at line 30 of file GT_PrimCurve.h.

virtual fpreal GT_PrimCurve::computePerimeter ( int  seg) const
virtual

Methods for GEO/GU support. Compute perimeter of a curve or an indexed curve

Reimplemented from GT_Primitive.

static fpreal GT_PrimCurve::curveLength ( const GT_DataArray P,
GT_Size  nvtx = -1,
GT_Offset  start = 0,
const UT_Matrix4D xform = NULL 
)
static

Methods for GEO/GU support. Compute perimeter of a curve or an indexed curve

virtual GT_PrimitiveHandle GT_PrimCurve::doAttributeMerge ( const GT_Primitive src,
const UT_StringMMPattern vertex,
const UT_StringMMPattern point,
const UT_StringMMPattern uniform,
const UT_StringMMPattern detail 
) const
virtual

The virtual implementation of attribute merging.

Reimplemented from GT_Primitive.

virtual GT_PrimitiveHandle GT_PrimCurve::doHarden ( ) const
virtual

Harden all attributes so there are no dangling dependencies.

Reimplemented from GT_Primitive.

virtual GT_PrimitiveHandle GT_PrimCurve::doSoftCopy ( ) const
inlinevirtual

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 78 of file GT_PrimCurve.h.

virtual void GT_PrimCurve::enlargeBounds ( UT_BoundingBox  boxes[],
int  nsegments 
) const
virtual

Methods defined on GT_Primitive

Implements GT_Primitive.

virtual void GT_PrimCurve::enlargeRenderBounds ( UT_BoundingBox  b[],
int  n 
) const
virtual

Methods defined on GT_Primitive

Reimplemented from GT_Primitive.

GT_Basis GT_PrimCurve::getBasis ( void  ) const
inline

Accessor

Definition at line 53 of file GT_PrimCurve.h.

virtual int64 GT_PrimCurve::getMemoryUsage ( ) const
virtual

Methods defined on GT_Primitive

Implements GT_Primitive.

virtual int GT_PrimCurve::getMotionSegments ( ) const
virtual

Methods defined on GT_Primitive

Implements GT_Primitive.

virtual int GT_PrimCurve::getPrimitiveType ( ) const
virtual

Methods defined on GT_Primitive

Reimplemented from GT_Primitive.

const GT_AttributeListHandle& GT_PrimCurve::getUniform ( ) const
inline

Accessor

Definition at line 56 of file GT_PrimCurve.h.

virtual const GT_AttributeListHandle& GT_PrimCurve::getUniformAttributes ( ) const
inlinevirtual

Access attributes

Reimplemented from GT_Primitive.

Definition at line 63 of file GT_PrimCurve.h.

const GT_AttributeListHandle& GT_PrimCurve::getVertex ( ) const
inline

Accessor

Definition at line 55 of file GT_PrimCurve.h.

virtual const GT_AttributeListHandle& GT_PrimCurve::getVertexAttributes ( ) const
inlinevirtual

Access attributes

Reimplemented from GT_Primitive.

Definition at line 61 of file GT_PrimCurve.h.

bool GT_PrimCurve::getWrap ( ) const
inline

Accessor

Definition at line 54 of file GT_PrimCurve.h.

bool GT_PrimCurve::init ( GT_Basis  basis,
const GT_AttributeListHandle vertex,
const GT_AttributeListHandle uniform,
bool  wrapped 
)

Construct a simple curve.

  • vertex
    Attribute data per vertex
  • uniform
    Single value which is uniform over the patch
virtual bool GT_PrimCurve::save ( UT_JSONWriter w) const
virtual

Save the primitive to a JSON stream. The default method does nothing and returns false.

Reimplemented from GT_Primitive.


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