| 
| SYS_FORCE_INLINE  | GEO_VolumeElementBase (GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET) | 
|   | 
| virtual GA_Size  | getFaceCount () const =0 | 
|   | The number of faces that make up this volume.  More...
  | 
|   | 
| virtual int  | getFaceIndices (GA_Size faceno, UT_Array< int > &vtxlist) const =0 | 
|   | Returns the indices to the vertices, not the vertex offsets!  More...
  | 
|   | 
| virtual int  | getFaceIndexCount (GA_Size faceno) const =0 | 
|   | Returns the number of indices in specified face.  More...
  | 
|   | 
| virtual GA_Offset  | findSharedFace (GA_Size faceno) const =0 | 
|   | 
| virtual GA_Size  | getEdgeCount () const =0 | 
|   | The number of edges in this volume.  More...
  | 
|   | 
| virtual void  | getEdgeIndices (GA_Size edgeno, int &e0, int &e1) const =0 | 
|   | 
| bool  | hasEdge (const GA_Edge &edge) const override | 
|   | Method to determine if a primitive has an edge (undirected).  More...
  | 
|   | 
| void  | iterateEdges (GA_IterateEdgesFunc apply_func) const override | 
|   | 
| void  | iterateEdgesByVertex (GA_IterateEdgesByVertexFunc apply_func) const override | 
|   | 
| bool  | getBBox (UT_BoundingBox *bbox) const override | 
|   | 
| void  | addToBSphere (UT_BoundingSphere *bsphere) const override | 
|   | 
| UT_Vector3  | baryCenter () const override | 
|   | 
| UT_Vector3D  | baryCenterD () const override | 
|   | 
| UT_Vector3  | computeNormal () const override | 
|   | Return a normal vector for the primitive.  More...
  | 
|   | 
| UT_Vector3D  | computeNormalD () const override | 
|   | 
| virtual void  | addPointRefToGroup (GA_PointGroup &grp) const  | 
|   | 
| virtual bool  | vertexApply (bool(*apply)(GA_Offset vtx, void *), void *data=0) const  | 
|   | 
| 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  | copyPrimitive (const GEO_Primitive *src)=0 | 
|   | 
| virtual GEO_Primitive *  | copy (int preserve_shared_pts=0) const  | 
|   | 
| virtual void  | transform (const UT_Matrix4 &) | 
|   | 
| 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 | 
|   | 
| void  | reverse () override=0 | 
|   | Reverse the order of vertices.  More...
  | 
|   | 
| template<typename T >  | 
| UT_Vector3T< T >  | baryCenterT () const  | 
|   | 
| virtual void  | isolate () | 
|   | Method to isolate a pasted surface.  More...
  | 
|   | 
| virtual int  | detachPoints (GA_PointGroup &grp)=0 | 
|   | 
| 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  | 
|   | 
| bool  | enlargeBoundingBox (UT_BoundingRect &b, const GA_Attribute *p) const override | 
|   | 
| bool  | enlargeBoundingBox (UT_BoundingBox &b, const GA_Attribute *p) const override | 
|   | 
| virtual bool  | hasGuideEdge (int edgeid, UT_Vector3 &a, UT_Vector3 &b) const  | 
|   | 
| virtual bool  | hasXsectPoint (int pointid, UT_Vector3 &p) const  | 
|   | 
| fpreal  | calcVolume (const UT_Vector3 &) const override | 
|   | 
| fpreal  | calcArea () const override | 
|   | 
| fpreal  | calcPerimeter () const override | 
|   | 
| 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  | getLocalTransform (UT_Matrix3D &matrix) const  | 
|   | 
| virtual void  | getLocalTransform4 (UT_Matrix4D &matrix) const  | 
|   | 
| virtual void  | setLocalTransform (const UT_Matrix3D &matrix) | 
|   | Set the local transform. The default implementation does nothing.  More...
  | 
|   | 
| virtual int64  | getMemoryUsage () const  | 
|   | 
| virtual int64  | getDeviceMemoryUsage () 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  | 
|   | 
| bool  | findEdgePoints (GA_Offset ptoff0, GA_Offset ptoff1, GA_Size &vtx0, GA_Size &vtx1) const  | 
|   | 
| virtual GA_DereferenceStatus  | dereferencePoint (GA_Offset point, bool dry_run=false)=0 | 
|   | 
| virtual GA_DereferenceStatus  | dereferencePoints (const GA_RangeMemberQuery &pt_q, bool dry_run=false)=0 | 
|   | 
| virtual bool  | enlargeBoundingSphere (UT_BoundingSphere &b, const GA_Attribute *P) const  | 
|   | 
| virtual void  | enlargePointBounds (UT_BoundingBox &box) const  | 
|   | 
| virtual bool  | isDegenerate () const =0 | 
|   | Is the primitive degenerate.  More...
  | 
|   | 
| void  | copyUnwiredForMerge (const GA_Primitive *src, const GA_MergeMap &map) | 
|   | 
| virtual void  | copySubclassData (const GA_Primitive *source) | 
|   | 
| virtual const GA_PrimitiveJSON *  | getJSON () const =0 | 
|   | 
| 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  | stashed (bool beingstashed, GA_Offset offset=GA_INVALID_OFFSET) | 
|   | 
| virtual void  | flushCEWriteCaches () | 
|   | Copy any modified caches from the GPU back to CPU cache.  More...
  | 
|   | 
| virtual void  | flushCECaches () | 
|   | 
| virtual void  | stealCEBuffers (const GA_Primitive *src) | 
|   | Steal the underlying CE buffer from the source.  More...
  | 
|   | 
| 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) | 
|   |