HDK
|
#include <GEO_PrimVDB.h>
Classes | |
class | GridAccessor |
GridAccessor manages access to a GEO_PrimVDB's grid. More... | |
Public Types | |
enum | ActivateOperation { ACTIVATE_UNION, ACTIVATE_INTERSECT, ACTIVATE_SUBTRACT, ACTIVATE_COPY } |
typedef uint64 | UniqueId |
Public Types inherited from GEO_Primitive | |
using | NormalComp = NormalCompT< float > |
using | NormalCompArray = NormalCompArrayT< float > |
using | NormalCompAttr = NormalCompAttrT< float > |
using | NormalCompBuffered = NormalCompBufferedT< float > |
using | NormalCompD = NormalCompT< double > |
using | NormalCompArrayD = NormalCompArrayT< double > |
using | NormalCompAttrD = NormalCompAttrT< double > |
using | NormalCompBufferedD = NormalCompBufferedT< double > |
Public Types inherited from GA_Primitive | |
enum | GA_DereferenceStatus { GA_DEREFERENCE_FAIL, GA_DEREFERENCE_OK, GA_DEREFERENCE_DEGENERATE, GA_DEREFERENCE_DESTROY } |
Public Member Functions | |
int | detachPoints (GA_PointGroup &grp) override |
GA_DereferenceStatus | dereferencePoint (GA_Offset point, bool dry_run=false) override |
GA_DereferenceStatus | dereferencePoints (const GA_RangeMemberQuery &pt_q, bool dry_run=false) override |
const GA_PrimitiveJSON * | getJSON () const override |
void | assignVertex (GA_Offset new_vtx, bool update_topology) |
bool | evaluatePointRefMap (GA_Offset result_vtx, GA_AttributeRefMap &hlist, fpreal u, fpreal v, uint du, uint dv) const override |
Evalaute a point given a u,v coordinate (with derivatives) More... | |
int | evaluatePointV4 (UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const override |
Evalaute position given a u,v coordinate (with derivatives) More... | |
fpreal | getTaper () const |
void | getRes (int &rx, int &ry, int &rz) const |
void | getRes (int64 &rx, int64 &ry, int64 &rz) const |
fpreal | getVoxelDiameter () const |
UT_Vector3 | getVoxelSize () const |
Returns the length of the voxel when you take an x, y, and z step. More... | |
fpreal | calcMinimum () const |
Compute useful aggregate properties of the volume. More... | |
fpreal | calcMaximum () const |
fpreal | calcAverage () const |
bool | getFrustumBounds (UT_BoundingBox &idxbox) const |
void | activateIndexBBox (const openvdb::CoordBBox &bbox, ActivateOperation operation, bool setvalue, fpreal value) |
void | activateByVDB (const GEO_PrimVDB *vdb, ActivateOperation operation, bool setvalue, fpreal value, bool ignore_transform=false) |
bool | enlargeBoundingSphere (UT_BoundingSphere &b, const GA_Attribute *P) const override |
bool | loadOrder (const UT_JSONValue &p) |
Load the order from a JSON value. More... | |
bool | saveVisualization (UT_JSONWriter &w, const GA_SaveMap &map) const |
bool | loadVisualization (UT_JSONParser &p, const GA_LoadMap &map) |
GA_Offset | fastVertexOffset (GA_Size UT_IF_ASSERT_P(index)) const |
Method to perform quick lookup of vertex without the virtual call. More... | |
void | setVertexPoint (int i, GA_Offset pt) |
fpreal | calcPositiveDensity () const |
Computes the total density of the volume, scaled by the volume's size. Negative values will be ignored. More... | |
SYS_FORCE_INLINE bool | hasGrid () const |
SYS_FORCE_INLINE void | makeGridUnique () |
If this primitive's grid's voxel data (i.e., its tree) is shared, replace the tree with a deep copy of itself that is not shared with anyone else. More... | |
bool | isGridUnique () const |
Returns true if the tree is not shared. If it is not shared, one can make destructive edits without makeGridUnique. More... | |
SYS_FORCE_INLINE const openvdb::GridBase & | getConstGrid () const |
Return a reference to this primitive's grid. More... | |
SYS_FORCE_INLINE const openvdb::GridBase & | getGrid () const |
Return a reference to this primitive's grid. More... | |
SYS_FORCE_INLINE openvdb::GridBase & | getGrid () |
Return a reference to this primitive's grid. More... | |
SYS_FORCE_INLINE openvdb::GridBase::ConstPtr | getConstGridPtr () const |
Return a shared pointer to this primitive's grid. More... | |
SYS_FORCE_INLINE openvdb::GridBase::ConstPtr | getGridPtr () const |
Return a shared pointer to this primitive's grid. More... | |
SYS_FORCE_INLINE openvdb::GridBase::Ptr | getGridPtr () |
Return a shared pointer to this primitive's grid. More... | |
SYS_FORCE_INLINE void | setGrid (const openvdb::GridBase &grid, bool copyPosition=true) |
Set this primitive's grid to a shallow copy of the given grid. More... | |
const openvdb::MetaMap & | getConstMetadata () const |
Return a reference to this primitive's grid metadata. More... | |
const openvdb::MetaMap & | getMetadata () const |
Return a reference to this primitive's grid metadata. More... | |
SYS_FORCE_INLINE openvdb::MetaMap & | getMetadata () |
Return a reference to this primitive's grid metadata. More... | |
const char * | getGridName () const |
Return the value of this primitive's "name" attribute in the given detail. More... | |
UniqueId | getUniqueId () const |
Return this primitive's serial number. More... | |
UniqueId | getTreeUniqueId () const |
Return the serial number of this primitive's voxel data. More... | |
UniqueId | getMetadataUniqueId () const |
Return the serial number of this primitive's grid metadata. More... | |
UniqueId | getTransformUniqueId () const |
Return the serial number of this primitive's transform. More... | |
template<typename GridTypeListT , typename OpT > | |
bool | apply (OpT &op) const |
If this primitive's grid resolves to one of the listed grid types, invoke the functor op on the resolved grid. More... | |
template<typename GridTypeListT , typename OpT > | |
bool | apply (OpT &op, bool makeUnique=true) |
If this primitive's grid resolves to one of the listed grid types, invoke the functor op on the resolved grid. More... | |
bool | isDegenerate () const override |
bool | getBBox (UT_BoundingBox *bbox) const override |
void | reverse () override |
UT_Vector3 | computeNormal () const override |
UT_Vector3D | computeNormalD () const override |
void | copyPrimitive (const GEO_Primitive *src) override |
void | copySubclassData (const GA_Primitive *source) override |
void | setCEGrid (CE_VDBGrid *cegrid) |
Replace myCEGrid with cegrid and take ownership of it. More... | |
CE_VDBGrid * | getCEGrid (bool read, bool write) const |
void | flushCEWriteCaches () override |
void | flushCECaches () override |
void | stealCEBuffers (const GA_Primitive *src) override |
Steal the underlying CE buffer from the source. More... | |
SYS_FORCE_INLINE GA_Offset | getVertexOffset () const |
SYS_FORCE_INLINE GA_Offset | getPointOffset () const |
SYS_FORCE_INLINE void | setPointOffset (GA_Offset pt) |
SYS_FORCE_INLINE UT_Vector3 | getPos3 () const |
SYS_FORCE_INLINE void | setPos3 (const UT_Vector3 &pos) |
void | indexToPos (int x, int y, int z, UT_Vector3 &pos) const |
void | findexToPos (UT_Vector3 index, UT_Vector3 &pos) const |
void | indexToPos (exint x, exint y, exint z, UT_Vector3D &pos) const |
void | findexToPos (UT_Vector3D index, UT_Vector3D &pos) const |
void | posToIndex (UT_Vector3 pos, int &x, int &y, int &z) const |
Convert a 3d position into the closest index value. More... | |
void | posToIndex (UT_Vector3 pos, UT_Vector3 &index) const |
void | posToIndex (UT_Vector3D pos, exint &x, exint &y, exint &z) const |
void | posToIndex (UT_Vector3D pos, UT_Vector3D &index) const |
fpreal | getValueF (const UT_Vector3 &pos) const |
fpreal | getValueAtIndexF (int ix, int iy, int iz) const |
UT_Vector3D | getValueV3 (const UT_Vector3 &pos) const |
UT_Vector3D | getValueAtIndexV3 (int ix, int iy, int iz) const |
void | getValues (float *f, int stride, const UT_Vector3 *pos, int num) const |
void | getValues (int *f, int stride, const UT_Vector3 *pos, int num) const |
void | getValuesAtIndices (float *f, int stride, const int *ix, const int *iy, const int *iz, int num) const |
void | getValuesAtIndices (int *f, int stride, const int *ix, const int *iy, const int *iz, int num) const |
void | getValues (UT_Vector3 *f, int stride, const UT_Vector3 *pos, int num) const |
Vector grid variants. More... | |
void | getValuesAtIndices (UT_Vector3 *f, int stride, const int *ix, const int *iy, const int *iz, int num) const |
void | getValues (double *f, int stride, const UT_Vector3D *pos, int num) const |
void | getValues (exint *f, int stride, const UT_Vector3D *pos, int num) const |
void | getValuesAtIndices (double *f, int stride, const exint *ix, const exint *iy, const exint *iz, int num) const |
void | getValuesAtIndices (exint *f, int stride, const exint *ix, const exint *iy, const exint *iz, int num) const |
void | getValues (UT_Vector3D *f, int stride, const UT_Vector3D *pos, int num) const |
Vector grid variants. More... | |
void | getValuesAtIndices (UT_Vector3D *f, int stride, const exint *ix, const exint *iy, const exint *iz, int num) const |
UT_Vector3 | getGradient (const UT_Vector3 &pos) const |
bool | evalGradients (UT_Vector3 *gradients, int gradients_stride, const UT_Vector3 *positions, int num_positions, bool normalize=false) const |
SYS_FORCE_INLINE UT_VDBType | getStorageType () const |
Get the storage type of the grid. More... | |
SYS_FORCE_INLINE int | getTupleSize () const |
Get the tuple size, usually 1 or 3. More... | |
bool | isSDF () const |
bool | isAligned (const GEO_PrimVDB *vdb) const |
True if the two volumes map the same indices to the same positions. More... | |
bool | isActiveRegionMatched (const GEO_PrimVDB *vdb) const |
True if the two volumes have the same active regions. More... | |
bool | isWorldAxisAligned () const |
void | transform (const UT_Matrix4 &mat) override |
bool | isEmpty () const |
True if the underlying grid has no voxels. More... | |
fpreal | backgroundF () const |
Background value of the grid as a scalar or vector. More... | |
UT_Vector3D | backgroundV3 () const |
void | setTransform4 (const UT_DMatrix4 &xform4) |
void | setTransform4 (const UT_Matrix4 &xform4) |
UT_Matrix4D | getTransform4 () const |
GEO_PrimVolumeXform | getIndexSpaceTransform () const |
GEO_PrimVolumeXform | getSpaceTransform () const |
GEO_PrimVolumeXform | getSpaceTransform (const UT_BoundingBoxD &bbox) const |
void | setSpaceTransform (const GEO_PrimVolumeXform &space, const UT_Vector3R &resolution, bool force_taper=false) |
GEO_Primitive * | copy (int preserve_shared_pts=0) const override |
void | stashed (bool beingstashed, GA_Offset offset=GA_INVALID_OFFSET) override |
UT_Vector3 | baryCenter () const override |
fpreal | calcVolume (const UT_Vector3 &refpt) const override |
fpreal | calcArea () const override |
bool | enlargeBoundingBox (UT_BoundingRect &b, const GA_Attribute *P) const override |
bool | enlargeBoundingBox (UT_BoundingBox &b, const GA_Attribute *P) const override |
void | enlargePointBounds (UT_BoundingBox &e) const override |
void | getLocalTransform (UT_Matrix3D &result) const override |
void | setLocalTransform (const UT_Matrix3D &new_mat3) override |
const GEO_VolumeOptions & | getVisOptions () const |
void | setVisOptions (const GEO_VolumeOptions &vis) |
void | setVisualization (GEO_VolumeVis vismode, fpreal iso, fpreal density, GEO_VolumeVisLod lod=GEO_VOLUMEVISLOD_FULL) |
GEO_VolumeVis | getVisualization () const |
fpreal | getVisIso () const |
fpreal | getVisDensity () const |
GEO_VolumeVisLod | getVisLod () const |
bool | saveVDB (UT_JSONWriter &w, const GA_SaveMap &sm, bool as_shmem=false) const |
bool | loadVDB (UT_JSONParser &p, bool as_shmem=false) |
Public Member Functions inherited from GEO_Primitive | |
GA_PrimCompat::TypeMask | getPrimitiveId () const override |
void | copyAttributesAndGroups (const GEO_Primitive &src, bool copy_groups=true) |
void | copyAttributesAndGroups (const GEO_Primitive &src, GA_AttributeRefMap &gah, bool copy_groups=true) |
void | copyAttributesAndGroups (const GEO_Primitive &src, GA_PrimitiveWrangler &wrangler, bool copy_groups=true) |
NOTE: The copying of groups only works if src is in the same detail. More... | |
void | copyAttributeData (const GEO_Primitive &src) |
void | copyAttributeData (const GEO_Primitive &src, GA_AttributeRefMap &gah) |
void | copyAttributeData (const GEO_Primitive &src, GA_PrimitiveWrangler &wrangler) |
void | copyAttributeValues (const GEO_Primitive &src, GA_PrimitiveWrangler &wrangler) |
void | copyGroupMembership (const GEO_Primitive &src) |
virtual void | realToUnitPair (float ureal, float vreal, float &uunit, float &vunit) const |
virtual void | unitToRealPair (float uunit, float vunit, float &ureal, float &vreal) const |
virtual void | unitLengthToUnitPair (float ulength, float vlength, float &uparm, float &vparm) const |
virtual void | unitLengthToUnitPair (float ulength, float vlength, float &uparm, float &vparm, float tolerance) const |
virtual void | unitToUnitLengthPair (float uparm, float vparm, float &ulength, float &vlength) const |
bool | evaluateBaryCenter (GA_Offset result_vtx, GA_AttributeRefMap &map) const |
bool | evaluatePoint (GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const |
int | evaluatePoint (UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const |
virtual int | evaluateNormalVector (UT_Vector3 &nml, float u, float v=0, float w=0) const |
bool | evaluateInteriorPoint (GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v, fpreal w=0) const |
int | evaluateInteriorPoint (UT_Vector4 &pos, fpreal u, fpreal v, fpreal w=0) const |
virtual void | computeInteriorPointWeights (UT_Array< GA_Offset > &vtxlist, UT_Array< float > &weightlist, fpreal u, fpreal v, fpreal w) const |
SYS_FORCE_INLINE GEO_Detail * | getParent () const |
virtual bool | getVisibleBBox (UT_BoundingBox *bbox) const |
bool | enlargeVisibleBoundingBox (UT_BoundingBox &b, const GA_Attribute *P) const override |
virtual UT_Vector3D | baryCenterD () const |
template<typename T > | |
UT_Vector3T< T > | baryCenterT () const |
virtual void | addToBSphere (UT_BoundingSphere *bsphere) const |
virtual void | isolate () |
Method to isolate a pasted surface. More... | |
bool | hasEdge (const GA_Edge &edge) const override |
Method to determine if a primitive has an edge (undirected). More... | |
virtual bool | vertexApply (bool(*apply)(GA_Offset vtx, void *), void *data=0) const |
GEO_Vertex | getVertexElement (GA_Size i) const |
virtual GEO_MetaPrim * | castToMetaPrim () |
virtual const GEO_MetaPrim * | castToMetaPrim () const |
virtual int | parametricBBox (float u, float v, float *u0, float *u1, float *v0, float *v1) |
virtual float | uvDist (float u1, float v1, float u2, float v2) const |
int | bboxIntersectRay (const UT_Vector3 &rayorig, const UT_Vector3 &raydir, int maxtries=10, float tmax=1E17F, float *distance=0, UT_Vector3 *nml=0) const |
virtual bool | isQuadric () const |
virtual void | normal (NormalComp &output) const =0 |
virtual void | normal (NormalCompD &output) const =0 |
virtual GEO_Primitive * | convert (GEO_ConvertParms &parms, GA_PointGroup *usedpts=0)=0 |
virtual GEO_Primitive * | convertNew (GEO_ConvertParms &parms)=0 |
virtual void | clip (UT_Vector3 normal, float distance=0, GA_PrimitiveGroup *clipgrp=NULL) |
virtual int | intersectRay (const UT_Vector3 &o, const UT_Vector3 &d, float tmax=1E17F, float tol=1E-12F, float *distance=0, UT_Vector3 *pos=0, UT_Vector3 *nml=0, int accurate=0, float *u=0, float *v=0, int ignoretrim=1) const |
virtual bool | hasGuideEdge (int edgeid, UT_Vector3 &a, UT_Vector3 &b) const |
virtual bool | hasXsectPoint (int pointid, UT_Vector3 &p) const |
fpreal | calcPerimeter () const override |
Public Member Functions inherited from GA_Primitive | |
virtual | ~GA_Primitive () |
virtual const GA_PrimitiveDefinition & | getTypeDef () const =0 |
const char * | getTypeName () const |
SYS_FORCE_INLINE GA_Detail & | getDetail () const |
SYS_FORCE_INLINE GA_Offset | getMapOffset () const |
Gets the offset of this primitive in the detail containing it. More... | |
SYS_FORCE_INLINE GA_Index | getMapIndex () const |
Gets the index of this primitive in the detail containing it. More... | |
SYS_FORCE_INLINE const GA_IndexMap & | getIndexMap () const |
Gets the index map for primitives in the detail containing this primitive. More... | |
GA_Index | getNum () const |
void | swapOffsetValue (const GA_Defragment &defrag) |
For defragmentation, we need to update the offset. More... | |
bool | isPrimary () const |
SYS_FORCE_INLINE const GA_PrimitiveTypeId & | getTypeId () const |
GA_PrimitiveFamilyMask | getFamilyMask () const |
bool | isFamily (unsigned family_mask) const |
bool | hasLocalTransform () const |
Whether the primitive has a transform associated with it. More... | |
virtual void | getLocalTransform4 (UT_Matrix4D &matrix) const |
virtual int64 | getMemoryUsage () const |
virtual void | countMemory (UT_MemoryCounter &counter) const |
SYS_FORCE_INLINE GA_Size | getVertexCount () const |
Return the number of vertices used by this primitive. More... | |
SYS_FORCE_INLINE GA_Offset | getVertexOffset (GA_Size primvertexnum) const |
SYS_FORCE_INLINE GA_Index | getVertexIndex (GA_Size primvertexnum) const |
SYS_FORCE_INLINE GA_Offset | getPointOffset (GA_Size i) const |
SYS_FORCE_INLINE void | setPointOffset (GA_Size i, GA_Offset ptoff) |
SYS_FORCE_INLINE GA_Index | getPointIndex (GA_Size i) const |
SYS_FORCE_INLINE UT_Vector3 | getPos3 (GA_Size i) const |
SYS_FORCE_INLINE UT_Vector3D | getPos3D (GA_Size i) const |
template<typename T > | |
UT_Vector3T< T > | getPos3T (GA_Size i) const |
SYS_FORCE_INLINE void | setPos3 (GA_Size i, const UT_Vector3 &pos) const |
SYS_FORCE_INLINE void | setPos3 (GA_Size i, const UT_Vector3D &pos) const |
SYS_FORCE_INLINE UT_Vector4 | getPos4 (GA_Size i) const |
SYS_FORCE_INLINE UT_Vector4D | getPos4D (GA_Size i) const |
SYS_FORCE_INLINE void | setPos4 (GA_Size i, const UT_Vector4 &pos) const |
SYS_FORCE_INLINE void | setPos4 (GA_Size i, const UT_Vector4D &pos) const |
GA_Range | getVertexRange (bool harden=false) const |
Get a range of all the vertices accessed by the primitive. More... | |
GA_Range | getPointRange (bool harden=false) const |
bool | isPointUsed (GA_Offset ptoff) const |
void | addPointRefToGroup (GA_PointGroup &grp) const |
void | edgeApply (GA_EdgeApplyFunc apply, void *data=nullptr) const |
void | edgeApplyIndex (GA_EdgeApplyIndexFunc apply, void *data=nullptr) const |
virtual void | iterateEdges (GA_IterateEdgesFunc apply_func) const |
virtual void | iterateEdgesByVertex (GA_IterateEdgesByVertexFunc apply_func) const |
bool | findEdgePoints (GA_Offset ptoff0, GA_Offset ptoff1, GA_Size &vtx0, GA_Size &vtx1) const |
void | copyUnwiredForMerge (const GA_Primitive *src, const GA_MergeMap &map) |
virtual bool | saveSharedLoadData (UT_JSONWriter &w, GA_SaveMap &save, GA_GeometryIndex *geo_index) const |
virtual bool | registerSharedLoadData (int load_data_type, GA_SharedDataHandlePtr item) |
virtual bool | loadH9 (UT_IStream &is, const UT_Array< GA_AttribLoadDataH9 > &prim_attribs, const UT_Array< GA_AttribLoadDataH9 > &vtx_attribs) |
virtual bool | saveH9 (std::ostream &os, bool binary, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vtx_attribs) const |
const GA_IntrinsicManager & | getIntrinsicManager () const |
virtual void | clearForDeletion () |
virtual void | getAdjacentBoundaryVertices (GA_Offset vtx, GA_Offset &prev_vtx, GA_Offset &next_vtx) const |
virtual bool | supportsHedge () const |
virtual GA_Offset | releaseVertex (GA_Offset vtx) |
virtual int | isVisible () const |
virtual unsigned | getNumSecondaryDetails () const |
A primitive may support any number of secondary details. More... | |
virtual const GA_Detail * | getSecondaryDetail (GA_Index i) const |
virtual GA_Detail * | getSecondaryDetail (GA_Index i) |
GA_Index | getNumSecondary (GA_Index detail) const |
const GA_Primitive * | getSecondaryByIndex (GA_Index detail, GA_Index i) const |
GA_Primitive * | getSecondaryByIndex (GA_Index detail, GA_Index i) |
const GA_Primitive * | getSecondaryByOffset (GA_Index detail, GA_Offset o) const |
GA_Primitive * | getSecondaryByOffset (GA_Index detail, GA_Offset o) |
SYS_FORCE_INLINE bool | isVertexListTrivial () const |
bool | isPointListTrivial () const |
template<typename FUNCTOR > | |
SYS_FORCE_INLINE void | forEachVertex (FUNCTOR &&functor) const |
template<typename FUNCTOR > | |
SYS_FORCE_INLINE void | forEachPoint (FUNCTOR &&functor) const |
bool | vertexApply (bool(*apply)(GA_Offset vtx, void *), void *data=nullptr) const |
virtual void | swapVertexOffsets (const GA_Defragment &defrag) |
GA_LocalIntrinsic | findIntrinsic (const UT_StringRef &nm) const |
GA_LocalIntrinsic | findIntrinsic (GA_GlobalIntrinsic h) const |
GA_GlobalIntrinsic | findGlobalIntrinsic (GA_LocalIntrinsic h) const |
const char * | getIntrinsicName (GA_LocalIntrinsic h) const |
GA_Size | getIntrinsicTupleSize (GA_LocalIntrinsic h) const |
bool | getIntrinsicCollapseSingletons (GA_LocalIntrinsic h) const |
GA_StorageClass | getIntrinsicStorage (GA_LocalIntrinsic h) const |
bool | getIntrinsicReadOnly (GA_LocalIntrinsic h) const |
const UT_Options * | getIntrinsicOptions (GA_LocalIntrinsic h) const |
GA_Size | getIntrinsic (GA_LocalIntrinsic h, UT_String &val) const |
GA_Size | getIntrinsic (GA_LocalIntrinsic h, UT_StringArray &val) const |
GA_Size | getIntrinsic (GA_LocalIntrinsic h, UT_OptionsHolder &val) const |
GA_Size | getIntrinsic (GA_LocalIntrinsic h, UT_Array< UT_OptionsHolder > &val) const |
GA_Size | getIntrinsic (GA_LocalIntrinsic h, int64 *v, GA_Size size) const |
GA_Size | getIntrinsic (GA_LocalIntrinsic h, fpreal64 *v, GA_Size sz) const |
bool | getIntrinsic (GA_LocalIntrinsic h, float &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, int &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Vector2 &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Vector3 &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Vector4 &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Matrix2 &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Matrix3 &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Matrix4 &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, double &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, int64 &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Vector2D &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Vector3D &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Vector4D &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Matrix2D &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Matrix3D &v) const |
bool | getIntrinsic (GA_LocalIntrinsic h, UT_Matrix4D &v) const |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const char *value) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const UT_StringArray &value) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const char **val, GA_Size s) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const UT_OptionsHolder &value) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const UT_Array< UT_OptionsHolder > &value) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const UT_OptionsHolder *value, GA_Size s) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const int64 val) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const fpreal64 val) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const int64 *val, GA_Size sz) |
GA_Size | setIntrinsic (GA_LocalIntrinsic h, const fpreal64 *v, GA_Size sz) |
Static Public Member Functions | |
static GA_PrimitiveFamilyMask | buildFamilyMask () |
static bool | conditionMatrix (UT_Matrix4D &mat4) |
Static Public Member Functions inherited from GEO_Primitive | |
static GA_PrimCompat::TypeMask | getPrimitiveMaskH9 (const char *maskstr) |
Static Public Member Functions inherited from GA_Primitive | |
static SYS_FORCE_INLINE GA_PrimCompat::TypeMask | primCompatMaskFromTypeId (int type_id) |
Protected Types | |
typedef SYS_AtomicCounter | AtomicUniqueId |
Static Protected Member Functions | |
static bool | isIntrinsicMetadata (const char *name) |
Register intrinsic attributes. More... | |
static UniqueId | nextUniqueId () |
Return an ID number that is guaranteed to be unique across all VDB primitives. More... | |
Static Protected Member Functions inherited from GEO_Primitive | |
static GA_IntrinsicManager::Registrar | registerIntrinsics (GA_PrimitiveDefinition &defn) |
Additional Inherited Members | |
Static Public Attributes inherited from GEO_Primitive | |
static const UT_Array < GA_AttribSaveDataH9 > & | theEmptySaveAttribs |
Convience objects to pass as arguments to saveH9()/loadH9(). More... | |
Protected Attributes inherited from GA_Primitive | |
GA_OffsetList | myVertexList |
Definition at line 36 of file GEO_PrimVDB.h.
|
protected |
Definition at line 612 of file GEO_PrimVDB.h.
typedef uint64 GEO_PrimVDB::UniqueId |
Definition at line 39 of file GEO_PrimVDB.h.
Enumerator | |
---|---|
ACTIVATE_UNION | |
ACTIVATE_INTERSECT | |
ACTIVATE_SUBTRACT | |
ACTIVATE_COPY |
Definition at line 296 of file GEO_PrimVDB.h.
|
protected |
NOTE: The constructor should only be called from subclass constructors.
|
overrideprotected |
void GEO_PrimVDB::activateByVDB | ( | const GEO_PrimVDB * | vdb, |
ActivateOperation | operation, | ||
bool | setvalue, | ||
fpreal | value, | ||
bool | ignore_transform = false |
||
) |
Activates all of the voxels in this VDB that are touched by active voxels in the source. If ignore_transform is true, voxels will be activated by grid index instead of world space position.
|
inline |
Activates voxels given an index space bounding box. This is an inclusive box. If this is Frustum VDB, the activation will be clipped by that. Setting the value only takes effect if the voxels are activated, deactivated voxels are set to the background.
Definition at line 309 of file GEO_PrimVDB.h.
|
inline |
If this primitive's grid resolves to one of the listed grid types, invoke the functor op on the resolved grid.
true
if the functor was invoked, false
otherwiseDefinition at line 566 of file GEO_PrimVDB.h.
|
inline |
If this primitive's grid resolves to one of the listed grid types, invoke the functor op on the resolved grid.
true
if the functor was invoked, false
otherwiseIf makeUnique is true, deep copy the grid's tree before invoking the functor if the tree is shared with other grids.
Definition at line 588 of file GEO_PrimVDB.h.
This method assigns a preallocated vertex to the quadric, optionally creating the topological link between the primitive and new vertex.
fpreal GEO_PrimVDB::backgroundF | ( | ) | const |
Background value of the grid as a scalar or vector.
UT_Vector3D GEO_PrimVDB::backgroundV3 | ( | ) | const |
Required interface methods
|
overridevirtual |
Optional interface methods. Though not required, implementing these will give better behaviour for the new primitive.
Reimplemented from GEO_Primitive.
|
inlinestatic |
Definition at line 48 of file GEO_PrimVDB.h.
|
overridevirtual |
Calculate the surface area of the active voxels where a voxel face contributes if it borders an inactive voxel.
Reimplemented from GEO_Primitive.
fpreal GEO_PrimVDB::calcAverage | ( | ) | const |
fpreal GEO_PrimVDB::calcMaximum | ( | ) | const |
fpreal GEO_PrimVDB::calcMinimum | ( | ) | const |
Compute useful aggregate properties of the volume.
fpreal GEO_PrimVDB::calcPositiveDensity | ( | ) | const |
Computes the total density of the volume, scaled by the volume's size. Negative values will be ignored.
|
overridevirtual |
Optional interface methods. Though not required, implementing these will give better behaviour for the new primitive.
Reimplemented from GEO_Primitive.
|
overridevirtual |
Required interface methods
Implements GEO_Primitive.
|
overridevirtual |
Required interface methods
Implements GEO_Primitive.
|
static |
|
overridevirtual |
Though not strictly required (i.e. not pure virtual), these methods should be implemented for proper behaviour.
Reimplemented from GEO_Primitive.
|
protected |
Replace this primitive's grid with a shallow copy of another primitive's grid.
|
overridevirtual |
Required interface methods
Implements GEO_Primitive.
|
overridevirtual |
Required interface methods
Reimplemented from GA_Primitive.
|
protected |
|
overridevirtual |
Before a point is deleted, all primitives using the point will be notified. The method should return "false" if it's impossible to delete the point. Otherwise, the vertices should be removed.
Implements GA_Primitive.
|
overridevirtual |
Implements GA_Primitive.
|
overridevirtual |
Implements GEO_Primitive.
|
overridevirtual |
Enlarge a bounding box by the bounding box of the primitive. A return value of false indicates an error in the operation, most likely an invalid P. For any attribute other than the position these methods simply enlarge the bounding box based on the vertex.
Reimplemented from GEO_Primitive.
|
overridevirtual |
Enlarge a bounding box by the bounding box of the primitive. A return value of false indicates an error in the operation, most likely an invalid P. For any attribute other than the position these methods simply enlarge the bounding box based on the vertex.
Reimplemented from GEO_Primitive.
|
overridevirtual |
Enlarge a bounding sphere to encompass the primitive. A return value of false indicates an error in the operation, most likely an invalid P. For any attribute other than the position this method simply enlarges the sphere based on the vertex.
Reimplemented from GA_Primitive.
|
overridevirtual |
Enlarge a bounding box by the bounding box of the primitive. A return value of false indicates an error in the operation, most likely an invalid P. For any attribute other than the position these methods simply enlarge the bounding box based on the vertex.
Reimplemented from GA_Primitive.
bool GEO_PrimVDB::evalGradients | ( | UT_Vector3 * | gradients, |
int | gradients_stride, | ||
const UT_Vector3 * | positions, | ||
int | num_positions, | ||
bool | normalize = false |
||
) | const |
Evaluate this grid's gradients at the given world space positions. Does nothing and returns false if grid is non-scalar. If normalize is true, then the gradients will be normalized to be unit length.
|
overridevirtual |
Evalaute a point given a u,v coordinate (with derivatives)
Implements GEO_Primitive.
|
inlineoverridevirtual |
Evalaute position given a u,v coordinate (with derivatives)
Reimplemented from GEO_Primitive.
Definition at line 223 of file GEO_PrimVDB.h.
Method to perform quick lookup of vertex without the virtual call.
Definition at line 424 of file GEO_PrimVDB.h.
void GEO_PrimVDB::findexToPos | ( | UT_Vector3 | index, |
UT_Vector3 & | pos | ||
) | const |
Required interface methods
void GEO_PrimVDB::findexToPos | ( | UT_Vector3D | index, |
UT_Vector3D & | pos | ||
) | const |
Required interface methods
|
overridevirtual |
Remove all CE caches from the GPU, possibly writing back if necessary.
Reimplemented from GA_Primitive.
|
overridevirtual |
Any modified CE cache on the GPU will be copied back to the CPU. Will leave result on GPU.
Reimplemented from GA_Primitive.
|
protected |
Report approximate memory usage, excluding sizeof(*this), because the subclass doesn't have access to myGridAccessor.
|
overridevirtual |
Required interface methods
Implements GEO_Primitive.
CE_VDBGrid* GEO_PrimVDB::getCEGrid | ( | bool | read, |
bool | write | ||
) | const |
Acquire a CE grid and cache it on the GPU. If marked for writing, the CPU version will be overwritten. Note that the getVoxelHandle does NOT auto-flush these! NOTE: If someone else fetches a non-read grid, and you fetch it as a read grid, you will not get any copied data.
|
inline |
Return a reference to this primitive's grid.
Definition at line 458 of file GEO_PrimVDB.h.
|
inline |
Return a shared pointer to this primitive's grid.
Definition at line 479 of file GEO_PrimVDB.h.
|
inline |
Return a reference to this primitive's grid metadata.
Definition at line 509 of file GEO_PrimVDB.h.
bool GEO_PrimVDB::getFrustumBounds | ( | UT_BoundingBox & | idxbox | ) | const |
VDBs may either be unbounded, or created with a specific frustum range. The latter is important for tapered VDBs that otherwise have a singularity at the camera location. Tools can use the presence of an idxbox as a clipping box in index space. This does NOT relate to getRes - it may be much larger or even in some cases smaller.
UT_Vector3 GEO_PrimVDB::getGradient | ( | const UT_Vector3 & | pos | ) | const |
Required interface methods
|
inline |
Return a reference to this primitive's grid.
Definition at line 463 of file GEO_PrimVDB.h.
|
inline |
Return a reference to this primitive's grid.
Definition at line 469 of file GEO_PrimVDB.h.
const char* GEO_PrimVDB::getGridName | ( | ) | const |
Return the value of this primitive's "name" attribute in the given detail.
|
inline |
Return a shared pointer to this primitive's grid.
Definition at line 485 of file GEO_PrimVDB.h.
|
inline |
Return a shared pointer to this primitive's grid.
Definition at line 492 of file GEO_PrimVDB.h.
GEO_PrimVolumeXform GEO_PrimVDB::getIndexSpaceTransform | ( | ) | const |
Convert transforms between native volumes and VDBsGet a GEO_PrimVolumeXform which represent's the grid's full transform. The returned space's fromVoxelSpace() method will convert index space voxel coordinates to world space positions (and the vice versa for toVoxelSpace()). Note: The transformation is not the same as posToIndex
getIndexSpaceTransform().toVoxelSpace(pos) == posToIndex(pos) + {0.5, 0.5, 0.5}
|
overridevirtual |
This method returns the JSON interface for saving/loading the primitive If the method returns a NULL pointer, then the primitive will not be saved to geometry files (and thus cannot be loaded).
Implements GA_Primitive.
|
overridevirtual |
Accessor for the local 3x3 affine transform matrix for the primitive. For frustum maps, this will be transform as if the taper value is set to 1.
Reimplemented from GA_Primitive.
|
inline |
Return a reference to this primitive's grid metadata.
Definition at line 513 of file GEO_PrimVDB.h.
|
inline |
Return a reference to this primitive's grid metadata.
Definition at line 518 of file GEO_PrimVDB.h.
|
inline |
Return the serial number of this primitive's grid metadata.
The serial number is incremented whenever a non-const reference to the metadata or non-const access to the grid is requested (whether or not the metadata is ultimately modified).
Definition at line 543 of file GEO_PrimVDB.h.
|
inline |
Required interface methods
Definition at line 91 of file GEO_PrimVDB.h.
|
inline |
Required interface methods
Definition at line 97 of file GEO_PrimVDB.h.
Returns the resolution of the active voxel array. Does not mean the indices go from 0..rx, however!
GEO_PrimVolumeXform GEO_PrimVDB::getSpaceTransform | ( | ) | const |
Equivalent to getSpaceTransform(getGrid().evalActiveVoxelBoundingBox()). The returned space's fromVoxelSpace() method will convert 0-1 coordinates over the active voxel bounding box to world space (and vice versa for toVoxelSpace()).
GEO_PrimVolumeXform GEO_PrimVDB::getSpaceTransform | ( | const UT_BoundingBoxD & | bbox | ) | const |
Gives the equivalent to GEO_PrimVolume's getSpaceTransform() by using the given bounding box to determine the bounds of the transform. The resulting world space sample points will be offset by half a voxel so that they match GEO_PrimVolume. The returned space's fromVoxelSpace() method will convert 0-1 coordinates over the bbox extents to world space (and vice versa for toVoxelSpace()).
|
inline |
Get the storage type of the grid.
Definition at line 158 of file GEO_PrimVDB.h.
fpreal GEO_PrimVDB::getTaper | ( | ) | const |
UT_Matrix4D GEO_PrimVDB::getTransform4 | ( | ) | const |
Required interface methods
|
inline |
Return the serial number of this primitive's transform.
The serial number is incremented whenever the transform is modified or non-const access to this primitive's grid is requested (whether or not the transform is ultimately modified).
Definition at line 549 of file GEO_PrimVDB.h.
|
inline |
Return the serial number of this primitive's voxel data.
The serial number is incremented whenever a non-const reference or pointer to this primitive's grid is requested (whether or not the voxel data is ultimately modified).
Definition at line 537 of file GEO_PrimVDB.h.
|
inline |
Get the tuple size, usually 1 or 3.
Definition at line 162 of file GEO_PrimVDB.h.
|
inline |
Return this primitive's serial number.
A primitive's serial number never changes.
Definition at line 530 of file GEO_PrimVDB.h.
UT_Vector3D GEO_PrimVDB::getValueAtIndexV3 | ( | int | ix, |
int | iy, | ||
int | iz | ||
) | const |
Required interface methods
fpreal GEO_PrimVDB::getValueF | ( | const UT_Vector3 & | pos | ) | const |
Evaluate the voxel value at the given world space position. Note that depending on the underlying VDB type, this may not be sensible, in which case a zero will silently be returned
void GEO_PrimVDB::getValues | ( | float * | f, |
int | stride, | ||
const UT_Vector3 * | pos, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValues | ( | int * | f, |
int | stride, | ||
const UT_Vector3 * | pos, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValues | ( | UT_Vector3 * | f, |
int | stride, | ||
const UT_Vector3 * | pos, | ||
int | num | ||
) | const |
Vector grid variants.
void GEO_PrimVDB::getValues | ( | double * | f, |
int | stride, | ||
const UT_Vector3D * | pos, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValues | ( | exint * | f, |
int | stride, | ||
const UT_Vector3D * | pos, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValues | ( | UT_Vector3D * | f, |
int | stride, | ||
const UT_Vector3D * | pos, | ||
int | num | ||
) | const |
Vector grid variants.
void GEO_PrimVDB::getValuesAtIndices | ( | float * | f, |
int | stride, | ||
const int * | ix, | ||
const int * | iy, | ||
const int * | iz, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValuesAtIndices | ( | int * | f, |
int | stride, | ||
const int * | ix, | ||
const int * | iy, | ||
const int * | iz, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValuesAtIndices | ( | UT_Vector3 * | f, |
int | stride, | ||
const int * | ix, | ||
const int * | iy, | ||
const int * | iz, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValuesAtIndices | ( | double * | f, |
int | stride, | ||
const exint * | ix, | ||
const exint * | iy, | ||
const exint * | iz, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValuesAtIndices | ( | exint * | f, |
int | stride, | ||
const exint * | ix, | ||
const exint * | iy, | ||
const exint * | iz, | ||
int | num | ||
) | const |
Required interface methods
void GEO_PrimVDB::getValuesAtIndices | ( | UT_Vector3D * | f, |
int | stride, | ||
const exint * | ix, | ||
const exint * | iy, | ||
const exint * | iz, | ||
int | num | ||
) | const |
Required interface methods
UT_Vector3D GEO_PrimVDB::getValueV3 | ( | const UT_Vector3 & | pos | ) | const |
Required interface methods
|
inline |
Required interface methods
Definition at line 88 of file GEO_PrimVDB.h.
|
inline |
Visualization accessors
Definition at line 401 of file GEO_PrimVDB.h.
|
inline |
Visualization accessors
Definition at line 400 of file GEO_PrimVDB.h.
|
inline |
Visualization accessors
Definition at line 402 of file GEO_PrimVDB.h.
|
inline |
Visualization accessors
Definition at line 384 of file GEO_PrimVDB.h.
|
inline |
Visualization accessors
Definition at line 399 of file GEO_PrimVDB.h.
fpreal GEO_PrimVDB::getVoxelDiameter | ( | ) | const |
Computes the voxel diameter by taking a step in x, y, and z converting to world space and taking the length of that vector.
UT_Vector3 GEO_PrimVDB::getVoxelSize | ( | ) | const |
Returns the length of the voxel when you take an x, y, and z step.
|
inline |
Definition at line 441 of file GEO_PrimVDB.h.
|
inlineprotected |
Definition at line 642 of file GEO_PrimVDB.h.
|
inlineprotected |
Definition at line 638 of file GEO_PrimVDB.h.
|
inlineprotected |
Definition at line 640 of file GEO_PrimVDB.h.
|
inlineprotected |
Definition at line 636 of file GEO_PrimVDB.h.
void GEO_PrimVDB::indexToPos | ( | int | x, |
int | y, | ||
int | z, | ||
UT_Vector3 & | pos | ||
) | const |
Convert an index in the voxel array into the corresponding worldspace location
void GEO_PrimVDB::indexToPos | ( | exint | x, |
exint | y, | ||
exint | z, | ||
UT_Vector3D & | pos | ||
) | const |
Required interface methods
bool GEO_PrimVDB::isActiveRegionMatched | ( | const GEO_PrimVDB * | vdb | ) | const |
True if the two volumes have the same active regions.
bool GEO_PrimVDB::isAligned | ( | const GEO_PrimVDB * | vdb | ) | const |
True if the two volumes map the same indices to the same positions.
|
overridevirtual |
Required interface methods
Implements GA_Primitive.
|
inline |
True if the underlying grid has no voxels.
Definition at line 182 of file GEO_PrimVDB.h.
|
inline |
Returns true if the tree is not shared. If it is not shared, one can make destructive edits without makeGridUnique.
Definition at line 452 of file GEO_PrimVDB.h.
|
staticprotected |
Register intrinsic attributes.
Return true if the given metadata token is an intrinsic
bool GEO_PrimVDB::isSDF | ( | ) | const |
Required interface methods
bool GEO_PrimVDB::isWorldAxisAligned | ( | ) | const |
True if we are aligned with the world axes. Ie, all our off diagonals are zero and our diagonal is positive.
bool GEO_PrimVDB::loadOrder | ( | const UT_JSONValue & | p | ) |
Load the order from a JSON value.
bool GEO_PrimVDB::loadVDB | ( | UT_JSONParser & | p, |
bool | as_shmem = false |
||
) |
Save/Load vdb to a JSON stream
bool GEO_PrimVDB::loadVisualization | ( | UT_JSONParser & | p, |
const GA_LoadMap & | map | ||
) |
|
inline |
If this primitive's grid's voxel data (i.e., its tree) is shared, replace the tree with a deep copy of itself that is not shared with anyone else.
Definition at line 447 of file GEO_PrimVDB.h.
|
staticprotected |
Return an ID number that is guaranteed to be unique across all VDB primitives.
void GEO_PrimVDB::posToIndex | ( | UT_Vector3 | pos, |
int & | x, | ||
int & | y, | ||
int & | z | ||
) | const |
Convert a 3d position into the closest index value.
void GEO_PrimVDB::posToIndex | ( | UT_Vector3 | pos, |
UT_Vector3 & | index | ||
) | const |
Required interface methods
void GEO_PrimVDB::posToIndex | ( | UT_Vector3D | pos, |
exint & | x, | ||
exint & | y, | ||
exint & | z | ||
) | const |
Required interface methods
void GEO_PrimVDB::posToIndex | ( | UT_Vector3D | pos, |
UT_Vector3D & | index | ||
) | const |
Required interface methods
|
overridevirtual |
Required interface methods
Implements GEO_Primitive.
bool GEO_PrimVDB::saveVDB | ( | UT_JSONWriter & | w, |
const GA_SaveMap & | sm, | ||
bool | as_shmem = false |
||
) | const |
Save/Load vdb to a JSON stream
bool GEO_PrimVDB::saveVisualization | ( | UT_JSONWriter & | w, |
const GA_SaveMap & | map | ||
) | const |
void GEO_PrimVDB::setCEGrid | ( | CE_VDBGrid * | cegrid | ) |
Replace myCEGrid with cegrid and take ownership of it.
|
inline |
Set this primitive's grid to a shallow copy of the given grid.
Definition at line 501 of file GEO_PrimVDB.h.
|
overridevirtual |
Accessor for the local 3x3 affine transform matrix for the primitive. For frustum maps, this will be transform as if the taper value is set to 1.
Reimplemented from GA_Primitive.
|
inline |
Required interface methods
Definition at line 94 of file GEO_PrimVDB.h.
|
inline |
Required interface methods
Definition at line 100 of file GEO_PrimVDB.h.
void GEO_PrimVDB::setSpaceTransform | ( | const GEO_PrimVolumeXform & | space, |
const UT_Vector3R & | resolution, | ||
bool | force_taper = false |
||
) |
Sets the transform from a GEO_PrimVolume's getSpaceTransform() by using the index space [(0,0,0), resolution] bbox. If force_taper is true, then the resulting transform will always be a NonlinearFrustumMap even if there is no tapering.
void GEO_PrimVDB::setTransform4 | ( | const UT_DMatrix4 & | xform4 | ) |
Accessors for the 4x4 matrix representing the affine transform that converts from index space voxel coordinates to world space. For frustum maps, this will be transform as if the taper value is set to 1.
void GEO_PrimVDB::setTransform4 | ( | const UT_Matrix4 & | xform4 | ) |
Required interface methods
Definition at line 430 of file GEO_PrimVDB.h.
|
inline |
Visualization accessors
Definition at line 385 of file GEO_PrimVDB.h.
|
inline |
Visualization accessors
Definition at line 388 of file GEO_PrimVDB.h.
|
overridevirtual |
Though not strictly required (i.e. not pure virtual), these methods should be implemented for proper behaviour.
Reimplemented from GA_Primitive.
|
overridevirtual |
Steal the underlying CE buffer from the source.
Reimplemented from GA_Primitive.
|
overridevirtual |
Required interface methods
Reimplemented from GEO_Primitive.
Definition at line 621 of file GEO_PrimVDB.h.