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

#include <GT_PrimVolume.h>

+ Inheritance diagram for GT_PrimVolume:

Public Types

enum  gt_BlendMask { BlendNone, BlendMissingMask, BlendMask }

Public Member Functions

 GT_PrimVolume (const GU_ConstDetailHandle &gdh, const GEO_Primitive *prim, const GT_DataArrayHandle &mat_id)
 GT_PrimVolume (const GT_PrimVolume &src)
 ~GT_PrimVolume () override
void getVisData (GT_PrimVolumeVisualization &v) const
int getTileCoords (UT_Vector3FArray &coords, UT_Int16Array &masks) const
bool drawWireframe () const
bool drawMotionVectors () const
 Returns true if the motion vectors are to be drawn for this volume set. More...
bool drawNormals () const
int getPrimitiveType () const override
const char * className () const override
void enlargeBounds (UT_BoundingBox boxes[], int nsegments) const override
int getMotionSegments () const override
int64 getMemoryUsage () const override
GT_PrimitiveHandle doSoftCopy () const override
bool refine (GT_Refine &refiner, const GT_RefineParms *parms) const override
bool refineHeightField (GT_Refine &refiner, const GT_RefineParms *parms) const
bool isIsosurface () const
GT_PrimitiveHandle buildIsosurface (const GT_RefineParms &p, bool as_points) const
GU_ConstDetailHandle getIsosurfaceDetail () const
UT_Vector3 getIsoCd () const
bool isHeightField () const
GT_PrimitiveHandle buildHeightField (const GT_RefineParms &p) const
GT_PrimitiveHandle buildHeightMesh (const GT_RefineParms &p, UT_Vector2i &map_res, bool use_quads) const
gt_BlendMask blendMaskState (int index) const
bool isSmokeVolume () const
bool is3DVolume () const
bool isImage () const
GEO_PrimVolumeXform getVolumeSpace () const
GEO_VolumeBorder getBorder () const
fpreal getVisTiles () const
bool getStoresIntegers () const
 Returns true if this volume stores integer data. More...
int getTupleSize () const
UT_Vector3I getRes () const
void get2DBounds (UT_Vector3F &p0, UT_Vector3F &p1, UT_Vector3F &p2, UT_Vector3F &p3) const
void get2DNormals (UT_Vector3F &n0, UT_Vector3F &n1, UT_Vector3F &n2, UT_Vector3F &n3) const
const UT_VoxelArray< UT_Vector4 > * getVoxels (const GU_PrimVolumeCacheParms &p, int64 version[2]) const
GEO_PrimVolumeXform getVolumeTransform () const
GEO_PrimVolumeXform getVolumeIndexTransform () const
GT_PrimitiveHandle getPointPrimitive ()
const GEO_PrimitivegetGeoPrimitive () const
const GU_ConstDetailHandlegetDetail () const
exint getNumVolumeAttributes () const
const GEO_PrimitivegetVolumeAttribute (exint i) const
void appendVolumeAttribute (const GEO_Primitive *prim)
void setUniformAttributes (const GT_AttributeListHandle &uniform)
 Set the list of uniform attributes. More...
const GT_AttributeListHandlegetUniformAttributes () const override
bool updateGeoPrim (const GU_ConstDetailHandle &dtl, const GT_RefineParms &refine) override
 update any cached data for geometry and its attributes More...
bool getFlip () const
bool isVolumeReduced () const
void flagVolumeReduced () 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
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
virtual const
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 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
getPointAttributes () const
virtual const
getVertexAttributes () const
virtual const
getDetailAttributes () 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

Definition at line 75 of file GT_PrimVolume.h.

Member Enumeration Documentation


Definition at line 125 of file GT_PrimVolume.h.

Constructor & Destructor Documentation

GT_PrimVolume::GT_PrimVolume ( const GU_ConstDetailHandle gdh,
const GEO_Primitive prim,
const GT_DataArrayHandle mat_id 
GT_PrimVolume::GT_PrimVolume ( const GT_PrimVolume src)
GT_PrimVolume::~GT_PrimVolume ( )

Member Function Documentation

void GT_PrimVolume::appendVolumeAttribute ( const GEO_Primitive prim)

Definition at line 168 of file GT_PrimVolume.h.

gt_BlendMask GT_PrimVolume::blendMaskState ( int  index) const
GT_PrimitiveHandle GT_PrimVolume::buildHeightField ( const GT_RefineParms p) const
GT_PrimitiveHandle GT_PrimVolume::buildHeightMesh ( const GT_RefineParms p,
UT_Vector2i map_res,
bool  use_quads 
) const
GT_PrimitiveHandle GT_PrimVolume::buildIsosurface ( const GT_RefineParms p,
bool  as_points 
) const
const char* GT_PrimVolume::className ( ) const

Implements GT_Primitive.

Definition at line 98 of file GT_PrimVolume.h.

GT_PrimitiveHandle GT_PrimVolume::doSoftCopy ( ) const

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 104 of file GT_PrimVolume.h.

bool GT_PrimVolume::drawMotionVectors ( ) const

Returns true if the motion vectors are to be drawn for this volume set.

bool GT_PrimVolume::drawNormals ( ) const
bool GT_PrimVolume::drawWireframe ( ) const

Returns true if the geometry primitive's parent detail has the "gl_wireframe" attribute set.

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

An array of bounding boxes is passed in. There is a bounding box for each segement. Each bounding box should be enlarged appropriately.

Implements GT_Primitive.

void GT_PrimVolume::flagVolumeReduced ( ) const

Definition at line 184 of file GT_PrimVolume.h.

void GT_PrimVolume::get2DBounds ( UT_Vector3F p0,
UT_Vector3F p1,
UT_Vector3F p2,
UT_Vector3F p3 
) const
void GT_PrimVolume::get2DNormals ( UT_Vector3F n0,
UT_Vector3F n1,
UT_Vector3F n2,
UT_Vector3F n3 
) const
GEO_VolumeBorder GT_PrimVolume::getBorder ( ) const
const GU_ConstDetailHandle& GT_PrimVolume::getDetail ( ) const

Definition at line 162 of file GT_PrimVolume.h.

bool GT_PrimVolume::getFlip ( ) const

Definition at line 182 of file GT_PrimVolume.h.

const GEO_Primitive* GT_PrimVolume::getGeoPrimitive ( ) const

Definition at line 160 of file GT_PrimVolume.h.

UT_Vector3 GT_PrimVolume::getIsoCd ( ) const
GU_ConstDetailHandle GT_PrimVolume::getIsosurfaceDetail ( ) const
int64 GT_PrimVolume::getMemoryUsage ( ) const

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

Implements GT_Primitive.

int GT_PrimVolume::getMotionSegments ( ) const

Return the number of motion segments defined on the geometry By default, this simply returns the number of segments on P.

Implements GT_Primitive.

Definition at line 102 of file GT_PrimVolume.h.

exint GT_PrimVolume::getNumVolumeAttributes ( ) const

Definition at line 164 of file GT_PrimVolume.h.

GT_PrimitiveHandle GT_PrimVolume::getPointPrimitive ( )
int GT_PrimVolume::getPrimitiveType ( ) const

Return the primitive type. By default this returns GT_PRIM_UNDEFINED,

Reimplemented from GT_Primitive.

Definition at line 95 of file GT_PrimVolume.h.

UT_Vector3I GT_PrimVolume::getRes ( ) const
bool GT_PrimVolume::getStoresIntegers ( ) const

Returns true if this volume stores integer data.

int GT_PrimVolume::getTileCoords ( UT_Vector3FArray coords,
UT_Int16Array masks 
) const
int GT_PrimVolume::getTupleSize ( ) const

Returns the number of components in a native Houdini volume. Returns -1 for VDBs.

const GT_AttributeListHandle& GT_PrimVolume::getUniformAttributes ( ) const

Virtual methods to access the attribute data for primitives Some primitives may not implement these methods, in which case, the returned value will be an empty list.

Reimplemented from GT_Primitive.

Definition at line 177 of file GT_PrimVolume.h.

void GT_PrimVolume::getVisData ( GT_PrimVolumeVisualization v) const
fpreal GT_PrimVolume::getVisTiles ( ) const
const GEO_Primitive* GT_PrimVolume::getVolumeAttribute ( exint  i) const

Definition at line 166 of file GT_PrimVolume.h.

GEO_PrimVolumeXform GT_PrimVolume::getVolumeIndexTransform ( ) const
GEO_PrimVolumeXform GT_PrimVolume::getVolumeSpace ( ) const
GEO_PrimVolumeXform GT_PrimVolume::getVolumeTransform ( ) const
const UT_VoxelArray<UT_Vector4>* GT_PrimVolume::getVoxels ( const GU_PrimVolumeCacheParms p,
int64  version[2] 
) const
bool GT_PrimVolume::is3DVolume ( ) const
bool GT_PrimVolume::isHeightField ( ) const
bool GT_PrimVolume::isImage ( ) const
bool GT_PrimVolume::isIsosurface ( ) const
bool GT_PrimVolume::isSmokeVolume ( ) const
bool GT_PrimVolume::isVolumeReduced ( ) const

Definition at line 183 of file GT_PrimVolume.h.

bool GT_PrimVolume::refine ( GT_Refine refiner,
const GT_RefineParms parms 
) const

Refine the primitive.

  • refiner
    The refiner object is responsible for processing primitives, and also giving the primitive hints on how to refine itself. The method should returns true if new primitives were added to the refiner.

Reimplemented from GT_Primitive.

bool GT_PrimVolume::refineHeightField ( GT_Refine refiner,
const GT_RefineParms parms 
) const
void GT_PrimVolume::setUniformAttributes ( const GT_AttributeListHandle uniform)

Set the list of uniform attributes.

Definition at line 172 of file GT_PrimVolume.h.

bool GT_PrimVolume::updateGeoPrim ( const GU_ConstDetailHandle dtl,
const GT_RefineParms parms 

update any cached data for geometry and its attributes

Reimplemented from GT_Primitive.

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