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

Primitive representing entire detail. Refine this primitive. More...

#include <GT_GEODetail.h>

+ Inheritance diagram for GT_GEODetail:

Public Member Functions

 GT_GEODetail (const GT_GEODetailListHandle &list, const GA_Range *prim_range)
 
 GT_GEODetail (const GU_ConstDetailHandle &gdh, const GA_Range *prim_range)
 
 GT_GEODetail (const GT_GEODetail &src)
 
virtual ~GT_GEODetail ()
 
virtual const char * className () const
 
virtual void enlargeBounds (UT_BoundingBox boxes[], int nsegments) const
 Compute the bounding box. More...
 
virtual void getVelocityRange (UT_Vector3 &min, UT_Vector3 &max, const char *attribute_name="v") const
 
virtual int getPrimitiveType () const
 Return the primitive type. More...
 
virtual GT_PrimitiveHandle doHarden () const
 Harden the detail. More...
 
virtual GT_PrimitiveHandle doSoftCopy () const
 Do a soft-copy. More...
 
virtual bool refine (GT_Refine &refine, const GT_RefineParms *parms) const
 
virtual int64 getMemoryUsage () const
 
int getMotionSegments () const
 Query number of motion segments. More...
 
const GU_ConstDetailHandlegetGeometry (int segment=0) const
 Get geometry for a given segment. More...
 
const UT_SharedPtr< const
GA_Range > & 
getRange () const
 
virtual bool save (UT_JSONWriter &w) 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 enlargeRenderBounds (UT_BoundingBox boxes[], int nsegments) 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
 
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
 
virtual const
GT_AttributeListHandle
getVertexAttributes () const
 
virtual const
GT_AttributeListHandle
getUniformAttributes () 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 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 ()
 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...
 

Static Public Member Functions

static GT_PrimitiveHandle makeDetail (const GU_ConstDetailHandle &gdh, const GA_Range *prim_range=NULL)
 
static GT_PrimitiveHandle makeDetail (const GT_GEODetailListHandle &geo, const GA_Range *prim_range)
 
static GT_PrimitiveHandle makePolygonMesh (const GU_ConstDetailHandle &gdp, const GA_Range *prim_range=NULL, const GT_RefineParms *rparms=NULL)
 
static GT_PrimitiveHandle makePolygonMesh (const GT_GEODetailListHandle &geo, const GA_Range &prim_range, const GT_RefineParms *rparms=NULL)
 
static GT_PrimitiveHandle makePointMesh (const GU_ConstDetailHandle &gdp, const GA_Range *point_range=NULL)
 
static GT_PrimitiveHandle makePointMesh (const GT_GEODetailListHandle &geo, const GA_Range *point_range=NULL)
 
- 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)
 

Additional Inherited Members

- 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

Primitive representing entire detail. Refine this primitive.

Refining this primitive will iterate over the primitives in the detail.

Definition at line 25 of file GT_GEODetail.h.

Constructor & Destructor Documentation

GT_GEODetail::GT_GEODetail ( const GT_GEODetailListHandle list,
const GA_Range prim_range 
)
GT_GEODetail::GT_GEODetail ( const GU_ConstDetailHandle gdh,
const GA_Range prim_range 
)
GT_GEODetail::GT_GEODetail ( const GT_GEODetail src)
virtual GT_GEODetail::~GT_GEODetail ( )
virtual

Member Function Documentation

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

Implements GT_Primitive.

Definition at line 35 of file GT_GEODetail.h.

virtual GT_PrimitiveHandle GT_GEODetail::doHarden ( ) const
virtual

Harden the detail.

Reimplemented from GT_Primitive.

virtual GT_PrimitiveHandle GT_GEODetail::doSoftCopy ( ) const
inlinevirtual

Do a soft-copy.

Implements GT_Primitive.

Definition at line 50 of file GT_GEODetail.h.

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

Compute the bounding box.

Implements GT_Primitive.

const GU_ConstDetailHandle& GT_GEODetail::getGeometry ( int  segment = 0) const
inline

Get geometry for a given segment.

Definition at line 67 of file GT_GEODetail.h.

virtual int64 GT_GEODetail::getMemoryUsage ( ) const
inlinevirtual

Return an approximate memory usage. Since data may be shared, this will always be an over-estimation.

Implements GT_Primitive.

Definition at line 60 of file GT_GEODetail.h.

int GT_GEODetail::getMotionSegments ( ) const
inlinevirtual

Query number of motion segments.

Implements GT_Primitive.

Definition at line 64 of file GT_GEODetail.h.

virtual int GT_GEODetail::getPrimitiveType ( ) const
virtual

Return the primitive type.

Reimplemented from GT_Primitive.

const UT_SharedPtr<const GA_Range>& GT_GEODetail::getRange ( ) const
inline

Definition at line 69 of file GT_GEODetail.h.

virtual void GT_GEODetail::getVelocityRange ( UT_Vector3 min,
UT_Vector3 max,
const char *  attribute_name = "v" 
) const
virtual

This method is used to find the minimum/maximum velocity bounds. By default, the shared/vertex attributes are scanned for the attribute and its range is used. Only the first segment is queried.

If unable to compute the velocity range, the min and max should be set to 0.

Reimplemented from GT_Primitive.

static GT_PrimitiveHandle GT_GEODetail::makeDetail ( const GU_ConstDetailHandle gdh,
const GA_Range prim_range = NULL 
)
static

Make a primitive for an entire detail

static GT_PrimitiveHandle GT_GEODetail::makeDetail ( const GT_GEODetailListHandle geo,
const GA_Range prim_range 
)
static

Make a primitive for an entire detail

static GT_PrimitiveHandle GT_GEODetail::makePointMesh ( const GU_ConstDetailHandle gdp,
const GA_Range point_range = NULL 
)
static

Make a point mesh containing just the points from a detail. Note that the attributes can be picked up from detail attributes as well. Vertex & primitive attributes are ignored.

static GT_PrimitiveHandle GT_GEODetail::makePointMesh ( const GT_GEODetailListHandle geo,
const GA_Range point_range = NULL 
)
static

Make a point mesh containing just the points from a detail. Note that the attributes can be picked up from detail attributes as well. Vertex & primitive attributes are ignored.

static GT_PrimitiveHandle GT_GEODetail::makePolygonMesh ( const GU_ConstDetailHandle gdp,
const GA_Range prim_range = NULL,
const GT_RefineParms rparms = NULL 
)
static

Make a polygon mesh primitive for all the polygons in the detail

static GT_PrimitiveHandle GT_GEODetail::makePolygonMesh ( const GT_GEODetailListHandle geo,
const GA_Range prim_range,
const GT_RefineParms rparms = NULL 
)
static

Make a polygon mesh primitive for all the polygons in the detail

virtual bool GT_GEODetail::refine ( GT_Refine refine,
const GT_RefineParms parms 
) const
virtual

Parameters

  • bool renderpoints (false)
    Generate GT_PrimPointsMesh primitive
  • string rendergroup ("")
    Name of primitive group to refine
  • bool polygonmesh (true)
    Generate GT_PrimPolygonMesh primitive

Reimplemented from GT_Primitive.

virtual bool GT_GEODetail::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: