|  | 
|  | GD_PrimNURBCurve (GD_Detail *d, GA_Offset offset=GA_INVALID_OFFSET) | 
|  | 
|  | ~GD_PrimNURBCurve () override | 
|  | 
| const GA_PrimitiveDefinition & | getTypeDef () const override | 
|  | 
| int | evaluateBasisDerivs (fpreal u, fpreal bmatx[][GA_MAXORDER], int &cvoffset, unsigned du=0, int uoffset=-1) const override | 
|  | 
| int | evaluateBasis (fpreal u, fpreal *ubvals, int &cvoffset, unsigned du=0, int uoffset=-1) const override | 
|  | 
| bool | evaluateBreakSegm (int uStartIdx, int uStopIdx, int lod, UT_Vector3Array &pos, unsigned du=0) const override | 
|  | 
| int | domainRangeOfCV (int cvidx, int &mink, int &maxk) const override | 
|  | 
| void | close (int rounded=1, int preserveShape=0) override | 
|  | 
| void | open (int preserveShape=0, int=0) override | 
|  | 
| short | interpolatesEnds () const | 
|  | 
| void | toggleEndCondition () | 
|  | 
| GA_Size | insertVertex (GA_Offset ptoff=GA_INVALID_OFFSET, GA_Size where=0) override | 
|  | 
| GA_Size | appendVertex (GA_Offset ptoff=GA_INVALID_OFFSET) override | 
|  | 
| int | deleteVertex (GA_Size i) override | 
|  | 
| int | cycle (int amount, int keepSpan=1) override | 
|  | 
| void | reverse () override | 
|  | 
| GD_TrimLoop * | trimLoop (float ustart, float ustop) const override | 
|  | 
|  | GD_Curve (GD_Detail *d, GA_Offset offset=GA_INVALID_OFFSET) | 
|  | 
|  | ~GD_Curve () override | 
|  | 
| int64 | getMemoryUsage () const override | 
|  | Report memory usage.  More... 
 | 
|  | 
| void | countMemory (UT_MemoryCounter &counter) const override | 
|  | 
| const GA_PrimitiveJSON * | getJSON () const override | 
|  | 
| GD_Primitive * | copy (int preserve_shared_pts=0) const override | 
|  | 
| int | copy (const GD_Primitive &src, int ptoffset) override | 
|  | 
| void | copySubclassData (const GA_Primitive *source) override | 
|  | 
| void | validInterval (int &a, int &b) const override | 
|  | 
| int | evaluate (float u, UT_Vector3 &pos, unsigned du=0, int uOffset=-1) const override | 
|  | 
| bool | evaluate (GA_Offset vtx, GA_AttributeRefMap &h, fpreal u, uint du=0, int uoffset=-1) const override | 
|  | 
| fpreal | computeBValue (float u, int i) const | 
|  | 
| int | curvature (float u, UT_Vector2 &curv) const | 
|  | 
| void | weights (unsigned short onOff) override | 
|  | 
| void | normalizeWeights () | 
|  | 
| void | normalizeDomain (fpreal len=0, fpreal *neworigin=0) | 
|  | 
| int | setBasis (GA_Basis *ub) | 
|  | 
| const GA_Basis * | getBasis () const | 
|  | 
| GA_Basis * | getBasis () | 
|  | 
| unsigned | getOrder () const override | 
|  | 
| unsigned | getDim () const | 
|  | 
| bool | isDegenerate () const override | 
|  | Is the primitive degenerate.  More... 
 | 
|  | 
| bool | isRational () const | 
|  | 
| GA_Basis * | getFaceBasis () override | 
|  | 
| const GA_Basis * | getFaceBasis () const override | 
|  | 
| bool | jsonLoadBasis (UT_JSONParser &p) override | 
|  | 
| bool | jsonSaveBasis (UT_JSONWriter &w) const override | 
|  | 
| bool | jsonLoadBasis (UT_JSONParser &p, const UT_JSONValue &v) override | 
|  | 
| bool | jsonSaveBasis (UT_JSONValue &v) const override | 
|  | 
|  | GD_Face (GD_Detail *d, GA_Offset offset=GA_INVALID_OFFSET) | 
|  | 
| virtual | ~GD_Face () | 
|  | 
| int | getBBox (UT_BoundingBox *bbox) const override | 
|  | 
| void | addToBSphere (UT_BoundingSphere *bsphere) const override | 
|  | 
| void | getBRect (UT_BoundingRect *brect) const override | 
|  | 
| UT_Vector3 | computeNormal () const override | 
|  | 
| UT_Vector3 | baryCenter () const override | 
|  | 
| bool | saveH9 (std::ostream &os, bool binary, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vtx_attribs) const override | 
|  | 
| bool | loadH9 (UT_IStream &is, const UT_Array< GA_AttribLoadDataH9 > &prim_attribs, const UT_Array< GA_AttribLoadDataH9 > &vtx_attribs) override | 
|  | 
| virtual void | clearForDeletion () | 
|  | 
| GD_Primitive * | copy (int preserve_shared_pts=0) const override | 
|  | 
| int | copy (const GD_Primitive &src, int ptindexdiff) override | 
|  | 
| virtual void | addPointRefToGroup (GA_PointGroup &grp) const | 
|  | 
| bool | isDegenerate () const override | 
|  | Is the primitive degenerate.  More... 
 | 
|  | 
| void | setSize (GA_Size sz) | 
|  | 
| int | detachPoints (GA_PointGroup &grp) override | 
|  | 
| virtual int | removeRepeatedVertices (int check_order=0) | 
|  | 
| virtual GA_Size | getVertexCount () const | 
|  | 
| virtual GA_Offset | getVertexOffset (GA_Size index) const | 
|  | 
| UT_Vector2 | getPos2 (GA_Size index) const | 
|  | 
| GA_Size | findPoint (GA_Offset ptoff) const | 
|  | 
| void | setVertexPoint (GA_Size i, GA_Offset ptoff) | 
|  | 
| GA_Offset | vertexPoint (unsigned int i) const | 
|  | 
| SYS_FORCE_INLINE bool | isClosed () const | 
|  | 
| int | isClockwise () const | 
|  | 
| int | isVisible () const override | 
|  | 
| int | visibleBaryCenter (float &uctr, float &vctr) const override | 
|  | 
| void | sampleEnds (int n) | 
|  | 
| virtual bool | vertexApply (bool(*apply)(GA_Offset vtx, void *), void *data=0) const | 
|  | 
| void | validRange (fpreal64 &ua, fpreal64 &ub) const | 
|  | 
| void | validRange (fpreal32 &ua, fpreal32 &ub) const | 
|  | 
| int | visibleRange (fpreal64 &ua, fpreal64 &ub, fpreal64 tol=1E-4) const | 
|  | 
| int | visibleRange (fpreal32 &ua, fpreal32 &ub, fpreal32 tol=1E-4F) const | 
|  | 
| int | intersectDomain (UT_Array< GD_TrimHitInfo > &hitlist, float tol=1E-4F) const | 
|  | 
| int | getPoints (int numdivs, UT_Vector3Array &domain, int usebreak) | 
|  | 
| bool | saveVertexArray (UT_JSONWriter &p, const GA_SaveMap &map) const | 
|  | 
| bool | loadVertexArray (UT_JSONParser &p, const GA_LoadMap &map) | 
|  | 
|  | GD_Primitive (GD_Detail *d, GA_Offset offset=GA_INVALID_OFFSET) | 
|  | 
| virtual int | evaluatePoint (UT_Vector3 &pos, float u, unsigned du=0) const | 
|  | 
| GA_PrimCompat::TypeMask | getPrimitiveId () const override | 
|  | 
| GD_Detail * | getParent () const | 
|  | 
| virtual void | transform (const UT_Matrix3 &) | 
|  | 
| bool | isDegenerate () const override | 
|  | Is the primitive degenerate.  More... 
 | 
|  | 
| virtual | ~GA_Primitive () | 
|  | 
| 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 | getDeviceMemoryUsage () 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 | 
|  | 
| virtual bool | hasEdge (const GA_Edge &edge) const | 
|  | Method to determine if a primitive has an edge (undirected).  More... 
 | 
|  | 
| 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 | 
|  | 
| virtual bool | enlargeVisibleBoundingBox (UT_BoundingBox &b, const GA_Attribute *P) const | 
|  | 
| virtual bool | enlargeBoundingSphere (UT_BoundingSphere &b, const GA_Attribute *P) const | 
|  | 
| virtual void | enlargePointBounds (UT_BoundingBox &box) 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) | 
|  | 
| const GA_IntrinsicManager & | getIntrinsicManager () const | 
|  | 
| 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 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 bool | enlargeBoundingBox (UT_BoundingRect &b, const GA_Attribute *P) const | 
|  | 
| virtual bool | enlargeBoundingBox (UT_BoundingBox &b, const GA_Attribute *P) const | 
|  | 
| 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) | 
|  | 
| virtual fpreal | calcVolume (const UT_Vector3 &refpt) const | 
|  | 
| virtual fpreal | calcArea () const | 
|  | 
| virtual fpreal | calcPerimeter () const | 
|  |