|
unsigned | getNumSecondaryDetails () const override |
| A primitive may support any number of secondary details. More...
|
|
const GA_Detail * | getSecondaryDetail (GA_Index i) const override |
|
GA_Detail * | getSecondaryDetail (GA_Index i) override |
|
void | copyPrimitive (const GEO_Primitive *src) override |
|
GEO_Primitive * | copy (int preserve_shared_pts=0) const override |
|
void | copySubclassData (const GA_Primitive *source) override |
|
void | clearForDeletion () override |
|
void | mergeProfiles (const GEO_TPSurf &tpsurf, int onlyvisible=0) |
|
bool | evaluate (fpreal u, fpreal v, GA_Offset result_vtx, GA_AttributeRefMap &hlist, unsigned du=0, unsigned dv=0, int uoffset=-1, int voffset=-1) const |
|
int | evaluateHomogeneous (float u, float v, UT_Vector4 &pos, unsigned du=0, unsigned dv=0, int uoffset=-1, int voffset=-1) const |
|
int | evaluate (float u, float v, UT_Vector4 &pos, unsigned du=0, unsigned dv=0, int uoffset=-1, int voffset=-1) const |
|
void | computeInteriorPointWeights (UT_Array< GA_Offset > &vtxlist, UT_Array< float > &weightlist, fpreal u, fpreal v, fpreal w) const override |
|
template<typename T > |
bool | evaluateHomogeneous (fpreal u, fpreal v, const GA_ROGenericHandleVertex< T > &h, T &pos, unsigned du=0, unsigned dv=0, int uoffset=-1, int voffset=-1) const |
|
virtual int | evaluateBasisDerivs (float u, float v, float ubmatx[][GA_MAXORDER], float vbmatx[][GA_MAXORDER], int &rowoffset, int &coloffset, unsigned du=0, unsigned dv=0, int uoffset=-1, int voffset=-1) const =0 |
|
virtual int | evaluateBasis (float u, float v, float *ubvals, float *vbvals, int &rowoffset, int &coloffset, unsigned du=0, unsigned dv=0, int uoffset=-1, int voffset=-1) const =0 |
|
virtual int | evaluateUBasis (float u, float *ubvals, int &coloffset, unsigned du=0, int uoffset=-1) const =0 |
|
virtual int | evaluateVBasis (float v, float *vbvals, int &rowoffset, unsigned dv=0, int voffset=-1) const =0 |
|
float | computeUBValue (float u, int uoff) const |
|
float | computeVBValue (float v, int voff) const |
|
float | computeBValue (float u, float v, int uoff, int voff) const |
|
void | fillBreakParameters (UT_Array< float > &uvals, UT_Array< float > &vvals, int ustartidx, int ustopidx, int vstartidx, int vstopidx, int ulod, int vlod) const |
|
bool | evaluateMesh (const UT_Array< float > &uvals, const UT_Array< float > &vvals, UT_Vector4 *pos, bool transpose=false, unsigned du=0, unsigned dv=0) const |
|
bool | evaluateMesh (const UT_Array< float > &uvals, const UT_Array< float > &vvals, GEO_WorkVertexArray &verts, GEO_AttributeHandleList &hlist, bool transpose=false, unsigned du=0, unsigned dv=0) const |
|
bool | evaluateMesh (const UT_Array< float > &uvals, const UT_Array< float > &vvals, GA_WorkVertexBuffer &verts, GA_AttributeRefMap &map, bool transpose=false, unsigned du=0, unsigned dv=0) const |
|
template<typename T > |
bool | evaluateMesh (const UT_Array< float > &uvals, const UT_Array< float > &vvals, const GA_ROGenericHandleVertex< T > &h, T *pos, bool transpose=false, unsigned du=0, unsigned dv=0) const |
|
int | computeUConstCVs (float u, GEO_Face *results, const GA_AttributeRefMap &map, int uoffset=-1) const |
|
int | computeUConstCVs (float u, UT_Vector4 *cvs, int uoffset=-1) const |
|
int | computeVConstCVs (float v, GEO_Face *results, const GA_AttributeRefMap &map, int voffset=-1) const |
|
int | computeVConstCVs (float v, UT_Vector4 *cvs, int voffset=-1) const |
|
int | createUConstProfile (float u, float growtip=0.0f) |
|
int | createVConstProfile (float v, float growtip=0.0f) |
|
int | chordUBasis (float v, GA_Basis &ub, int voff=-1) const |
|
int | chordVBasis (float u, GA_Basis &vb, int uoff=-1) const |
|
int | evaluateNormal (float u, float v, UT_Vector3 &nml) const override |
|
int | normalIndex (float iu, float iv, UT_Vector3 &nml) const override |
|
int | curvature (float u, float v, float &curv) const |
|
float | arcLength (float u0, float v0, float u1, float v1, int divs=10) const |
|
virtual int | domainRangeOfCV (int i, int j, int &minuk, int &maxuk, int &minvk, int &maxvk) const =0 |
|
virtual int | breakpointRangeOfCV (int i, int j, int &minbkpu, int &maxbkpu, int &minbkpv, int &maxbkpv) const =0 |
|
virtual void | reparameterizeU (GA_ParameterizationType ptype)=0 |
|
virtual void | reparameterizeV (GA_ParameterizationType ptype)=0 |
|
void | reverseU () override |
|
void | reverseV () override |
|
void | mapUBasis (float orig, float len) |
|
void | mapVBasis (float orig, float len) |
|
void | validURange (float &ua, float &ub) const override |
|
void | validVRange (float &va, float &vb) const override |
|
void | validUInterval (int &a, int &b) const override |
|
void | validVInterval (int &a, int &b) const override |
|
bool | uniformTexture (const GA_RWHandleV3 &txth, bool ptattrib) |
|
bool | grevilleTexture (const GA_RWHandleV3 &txth, bool ptattrib) |
|
bool | chordLenTexture (const GA_RWHandleV3 &txth, bool ptattrib) |
|
bool | buildGrevilles (UT_RefMatrix< GEO_Greville > &dest) const |
|
bool | duApprox (const UT_RefMatrix< GEO_Greville > &grevilles, int uIdx, int vIdx, UT_Vector3 &du, int normalize=1, float precision=0.008F) const |
|
bool | dvApprox (const UT_RefMatrix< GEO_Greville > &grevilles, int uIdx, int vIdx, UT_Vector3 &du, int normalize=1, float precision=0.008F) const |
|
int | setCV (unsigned r, unsigned c, const UT_Vector4 &v) |
|
void | weights (unsigned short onOff) override |
|
int | setWeight (unsigned int r, unsigned int c, float w) |
|
float | getWeight (unsigned int r, unsigned int c) const |
|
int | isRational () const |
|
void | unitToRealDomain (float u_unit, float v_unit, float &u_real, float &v_real) const override |
|
void | realToUnitDomain (float u_real, float v_real, float &u_unit, float &v_unit) const override |
|
void | unitToRealSequenceU (float *uunit, float *ureal, int ulen) const override |
|
void | unitToRealSequenceV (float *vunit, float *vreal, int vlen) const override |
|
void | normalizeWeights () |
|
void | normalizeDomain (float len=0.F, float *newuorigin=0, float *newvorigin=0) |
|
void | refineRange (const UT_BoundingRect &rect, float tol, float *&uunits, float *&vunits, int &udivs, int &vdivs, UT_Array< float > &uunrefineranges, UT_Array< float > &vunrefineranges) |
|
void | refineBelt (float ubwidth=0.4F, float vbwidth=0.4F, int ubdivs=2, int vbdivs=2) |
|
int | setUBasis (GA_Basis *ub) |
|
int | setVBasis (GA_Basis *vb) |
|
GA_Basis * | getUBasis () const |
|
GA_Basis * | getVBasis () const |
|
unsigned | getUOrder () const |
|
unsigned | getVOrder () const |
|
unsigned | getUDim () const |
|
unsigned | getVDim () const |
|
void | getUGrevilles (UT_Array< float > &ugrevilles) const |
|
void | getVGrevilles (UT_Array< float > &vgrevilles) const |
|
bool | isDegenerate () const override |
| Is the primitive degenerate. More...
|
|
virtual void | getRangeBBox (const UT_Interval &u, const UT_Interval &v, UT_BoundingBox &bbox, const GA_PwHandleRO &h) const =0 |
|
int | raiseOrderU (int neworder) |
|
int | raiseOrderV (int neworder) |
|
int | raiseOrderU (int neworder, GA_AttributeRefMap &map) |
|
int | raiseOrderV (int neworder, GA_AttributeRefMap &map) |
|
virtual int | translateBreakpoints (const UT_IntArray &uindices, const UT_IntArray &vindices, const UT_Vector3 &delta, int fixbkpts=1, GA_PointGroup *ptgroup=NULL, GEO_Delta *geodelta=0)=0 |
|
virtual int | transformBreakpoints (const UT_IntArray &uindices, const UT_IntArray &vindices, const UT_Matrix4 &matx, int fixbkpts=1, GA_PointGroup *ptgroup=NULL, GEO_Delta *geodelta=0)=0 |
|
int | attachU (const GEO_Hull &hull, int blend=1, float bias=0.5f, float tolerance=1.0f, int unrefine=1, GA_PointGroup *ptgroup=0) override |
|
int | attachV (const GEO_Hull &hull, int blend=1, float bias=0.5f, float tolerance=1.0f, int unrefine=1, GA_PointGroup *ptgroup=0) override |
|
virtual GEO_TPSurf * | extract (float ustart, float ustop, float vstart, float vstop) const =0 |
|
void | subdivide (int numdivs, GA_PointGroup *ptgroup=0) override |
|
int | parametricBBox (float u, float v, float *u0, float *u1, float *v0, float *v1) override |
|
int | hasProfiles () const |
|
GEO_Profiles * | profiles (int create=1) |
|
GEO_Profiles * | profiles () const |
|
int | isPasted () const |
|
int | updateDisplacement (GA_Offset ptoff, int updatekids=1) |
|
void | isolate () override |
| Method to isolate a pasted surface. More...
|
|
void | stashed (bool beingstashed, GA_Offset offset=GA_INVALID_OFFSET) override |
| Stash (deactivate) or unstash (reactivate) the primitive. More...
|
|
int | solveConstraints (const UT_Vector &uparam, const UT_Vector &vparam, const UT_IntArray &udervs, const UT_IntArray &vdervs, UT_MatrixF &soln, UT_IntArray &cv_idx) |
|
int | applyConstraints (UT_MatrixF &changes, const UT_Vector &uparam, const UT_Vector &vparam, const UT_IntArray &udervs, const UT_IntArray &vdervs, const UT_IntArray &cv_index, const UT_MatrixF &soln) |
|
int | solveAndApplyConstraints (const UT_Vector &uparam, const UT_Vector &vparam, const UT_IntArray &udervs, const UT_IntArray &vdervs, UT_MatrixF &changes) |
|
int | elevateOrderU (int order) |
| Elevate the curve to the given order. Return 0 if OK and -1 otherwise. More...
|
|
int | elevateOrderV (int order) |
|
virtual int | intersectSurf (GEO_TPSurf &surf2, GU_IsectCurveSet &curveset, float worldtol=1e-4F, float domaintol=1e-2F, int steps=100, bool docompact=true)=0 |
|
virtual int | doesIntersect (const GEO_Primitive &prim, float worldtol=1e-4F, int nontrivial=0) const =0 |
|
virtual GEO_Hull * | reconfigure (unsigned type, int orderu, int orderv, bool openu, bool openv, bool endsu, bool endsv) const =0 |
|
virtual GEO_TPSurf * | cutU (float u1, float u2, int &ind1, int &ind2, int keep)=0 |
|
virtual GEO_TPSurf * | cutV (float v1, float v2, int &ind1, int &ind2, int keep)=0 |
|
virtual void | openAtU (float u)=0 |
| Open the primitive at the given domain value. More...
|
|
virtual void | openAtV (float v)=0 |
|
bool | interpretBreakpoint (int uidx, int vidx, UT_Vector3 &p) const |
|
|
bool | jsonSaveUBasis (UT_JSONWriter &w) const |
|
bool | jsonSaveUBasis (UT_JSONValue &v) const |
|
bool | jsonSaveVBasis (UT_JSONWriter &w) const |
|
bool | jsonSaveVBasis (UT_JSONValue &v) const |
|
bool | jsonLoadUBasis (UT_JSONParser &p) |
|
bool | jsonLoadUBasis (UT_JSONParser &p, const UT_JSONValue &v) |
|
bool | jsonLoadVBasis (UT_JSONParser &p) |
|
bool | jsonLoadVBasis (UT_JSONParser &p, const UT_JSONValue &v) |
|
|
virtual GEO_Curve * | buildRowCurve (bool appendPoints, GEO_Detail *parent) const =0 |
|
virtual GEO_Curve * | buildColCurve (bool appendPoints, GEO_Detail *parent) const =0 |
|
|
GEO_Curve * | extractUIsoparm (float u, int uoffset=-1) |
|
GEO_Curve * | extractUIsoparm (float u, int uoffset, GEO_Detail *parent) const |
|
GEO_Curve * | extractUIsoparm (float u, const GA_AttributeRefMap &map, int uoffset=-1) |
|
GEO_Curve * | extractUIsoparm (float u, const GA_AttributeRefMap &map, int uoffset, GEO_Detail *parent) const |
|
GEO_Curve * | extractVIsoparm (float v, int voffset=-1) |
|
GEO_Curve * | extractVIsoparm (float v, int voffset, GEO_Detail *parent) const |
|
GEO_Curve * | extractVIsoparm (float v, const GA_AttributeRefMap &map, int voffset=-1) |
|
GEO_Curve * | extractVIsoparm (float v, const GA_AttributeRefMap &map, int voffset, GEO_Detail *parent) const |
|
|
GEO_Curve * | extractU (float unitu) |
|
GEO_Curve * | extractU (float unitu, GEO_Detail *parent) const |
|
GEO_Curve * | extractV (float unitv) |
|
GEO_Curve * | extractV (float unitv, GEO_Detail *parent) const |
|
bool | saveVertexArray (UT_JSONWriter &w, const GA_SaveMap &save) const |
|
bool | loadVertexArray (UT_JSONParser &p, const GA_LoadMap &load) |
|
virtual int | evaluateBreakpoint (int uidx, int vidx, UT_Vector4 &pos, int du=0, int dv=0) const =0 |
|
bool | evaluateIndex (fpreal u, fpreal v, GA_Offset result_vtx, GA_AttributeRefMap &hlist, unsigned du, unsigned dv) const |
|
int | evaluateIndex (float iu, float iv, UT_Vector4 &pos, unsigned du=0, unsigned dv=0) const |
|
void | normal (NormalComp &output) const override |
|
void | normal (NormalCompD &output) const override |
|
int | evaluateNormalVector (UT_Vector3 &nml, float u, float v=0, float w=0) const override |
|
virtual int | uMinValidIndex () const |
|
virtual int | uMaxValidIndex () const |
|
virtual int | vMinValidIndex () const |
|
virtual int | vMaxValidIndex () const |
|
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 |
|
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 |
|
void | addPointRefToGroup (GA_PointGroup &grp) const override |
|
void | reverse () override |
| Reverse the order of vertices. More...
|
|
virtual int | cycleU (int amount, int=1) |
|
virtual int | cycleV (int amount, int=1) |
|
int | setRowCol (int r, int c) |
|
virtual int | insertRow (unsigned int beforeWhich, bool appendPts=true) |
|
int | appendRow (bool appendPts=true) |
|
virtual int | insertCol (unsigned int beforeWhich, bool appendPts=true) |
|
int | appendCol (bool appendPts=true) |
|
virtual int | deleteRow (unsigned int which) |
|
virtual int | deleteCol (unsigned int which) |
|
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 |
|
int | subdivideU (float u, GA_AttributeRefMap &map) |
|
int | subdivideU (float u) |
|
int | subdivideV (float u, GA_AttributeRefMap &map) |
|
int | subdivideV (float u) |
|
virtual int | warpU (float u, const UT_Vector3 &delta, GA_AttributeRefMap &map, float sharpness=0.0f, float bias=-1.0f)=0 |
|
virtual int | warpV (float v, const UT_Vector3 &delta, GA_AttributeRefMap &map, float sharpness=0.0f, float bias=-1.0f)=0 |
|
virtual int | warp (float u, float v, const UT_Vector3 &delta, GA_AttributeRefMap &map, float usharpness=0.0f, float vsharpness=0.f, float ubias=-1.0f, float vbias=-1.0f)=0 |
|
int | warpAlongNormal (float u, float v, float distance, GA_AttributeRefMap &map, float usharpness, float vsharpness, float ubias, float vbias, int u_v_both) |
|
virtual int | refineU (float k, GA_AttributeRefMap &hlist, int i=1) |
|
virtual int | refineU (float k, int i=1) |
|
virtual int | refineV (float k, GA_AttributeRefMap &hlist, int i=1) |
|
virtual int | refineV (float k, int i=1) |
|
void | spanRefineU (GA_AttributeRefMap &map, int numdivs=1) |
|
void | spanRefineU (int numdivs=1) |
|
void | spanRefineV (GA_AttributeRefMap &map, int numdivs=1) |
|
void | spanRefineV (int numdivs=1) |
|
int | unrefineU (int kidx, GA_AttributeRefMap &h, int mult=0, float tol=1e-4f, GA_PointGroup *delgroup=0) |
|
int | unrefineU (int kidx, int mult=0, float tol=1e-4F, GA_PointGroup *delgroup=0) |
|
int | unrefineV (int kidx, GA_AttributeRefMap &h, int mult=0, float tol=1e-4f, GA_PointGroup *delgroup=0) |
|
int | unrefineV (int kidx, int mult=0, float tol=1e-4F, GA_PointGroup *delgroup=0) |
|
virtual void | fixSeamsU () |
|
virtual void | fixSeamsV () |
|
bool | rowColTexture (const GA_RWHandleV3 &txth, bool ptattrib) |
|
SYS_FORCE_INLINE int | getNumRows () const |
|
SYS_FORCE_INLINE int | getNumCols () const |
|
SYS_FORCE_INLINE void | initHullData (int rows, int cols, bool wrapv, bool wrapu) |
|
const GEO_Vertex | operator() (unsigned int r, unsigned int c) const |
|
GEO_Vertex | operator() (unsigned int r, unsigned int c) |
|
const GEO_Vertex | getVertexElement (unsigned int r, unsigned int c) const |
|
SYS_FORCE_INLINE GA_Offset | getVertexOffset (unsigned int r, unsigned int c) const |
|
SYS_FORCE_INLINE GA_Index | getVertexIndex (unsigned int r, unsigned int c) const |
|
SYS_FORCE_INLINE GA_Offset | getPointOffset (unsigned int r, unsigned int c) const |
|
SYS_FORCE_INLINE GA_Index | getPointIndex (unsigned int r, unsigned int c) const |
|
SYS_FORCE_INLINE UT_Vector3 | getPos3 (unsigned int r, unsigned int c) const |
|
SYS_FORCE_INLINE void | setPos3 (unsigned int r, unsigned int c, const UT_Vector3 &pos) const |
|
SYS_FORCE_INLINE UT_Vector4 | getPos4 (unsigned int r, unsigned int c) const |
|
SYS_FORCE_INLINE void | setPos4 (unsigned int r, unsigned int c, const UT_Vector4 &pos) const |
|
SYS_FORCE_INLINE void | setPointOffset (unsigned int r, unsigned int c, GA_Offset ptoff) const |
|
SYS_FORCE_INLINE GA_Size | getFastVertexCount () const |
|
void | setVertexPoint (unsigned int r, unsigned int c, GA_Offset pt) |
|
void | beginVertex (const_iterator &i) const override |
|
void | nextVertex (const_iterator &i) const override |
|
GEO_SurfaceType | getSurfaceType () const |
|
void | setSurfaceType (GEO_SurfaceType t) |
|
bool | isWrappedU () const |
|
bool | isWrappedV () const |
|
virtual void | wrapU (int rounded=1, int preserveShape=0) |
|
virtual void | openU (int preserveShape=0, int safe=0) |
|
virtual void | wrapV (int rounded=1, int preserveShape=0) |
|
virtual void | openV (int preserveShape=0, int safe=0) |
|
virtual bool | isClampedU () const |
|
virtual bool | isClampedV () const |
|
virtual int | unrollU (int append_pts=1) |
|
virtual int | unrollV (int append_pts=1) |
|
bool | hasEdge (const GA_Edge &edge) const override |
| Method to determine if a primitive has an edge (undirected). More...
|
|
bool | vertexApply (bool(*apply)(GA_Offset vtx, void *), void *data=nullptr) const override |
|
void | iterateEdges (GA_IterateEdgesFunc apply_func) const override |
|
void | iterateEdgesByVertex (GA_IterateEdgesByVertexFunc apply_func) const override |
|
GA_Size | getVertexCount () const override |
|
GA_Offset | getVertexOffset (GA_Size index) const override |
|
GA_Size | findVertex (GA_Offset vtx) const |
| return the index of a vertex within our vertex list More...
|
|
virtual int | loftU (int newcount, int start=-1, int stop=-1)=0 |
|
virtual int | loftV (int newcount, int start=-1, int stop=-1)=0 |
|
void | realToUnitPair (float ureal, float vreal, float &uunit, float &vunit) const override |
|
void | unitToRealPair (float uunit, float vunit, float &ureal, float &vreal) const override |
|
virtual int | findEdgePoints (const GA_Edge &edge, int *pr0, int *pc0, int *pr1, int *pc1) const |
|
virtual int | findEdgePoints (GA_Offset a, GA_Offset b, int *pr0, int *pc0, int *pr1, int *pc1) const |
|
int | makeEdgeMatrix (const GA_EdgeGroup &edges, GEO_SubHull &subhull) |
|
void | sampleEndsU (int n) |
|
void | sampleEndsV (int n) |
|
float | getIndices (float c, int &c1, int &c2, int maxIndex, int wrap) const |
|
virtual void | transpose () |
|
float | uvDist (float u1, float v1, float u2, float v2) const override |
|
fpreal | calcVolume (const UT_Vector3 &refpt) const override |
|
fpreal | calcArea () const override |
|
fpreal | calcPerimeter () const override |
|
const char * | getSurfaceTypeName () const |
|
bool | setSurfaceTypeName (const char *name) |
|
bool | setWrapU (bool dowrap) |
|
bool | setWrapV (bool dowrap) |
|
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 | transform (const UT_Matrix4 &) |
|
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 |
|
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 |
|
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 |
|
template<typename T > |
UT_Vector3T< T > | baryCenterT () const |
|
bool | hasEdge (const GA_Edge &edge) const override |
| Method to determine if a primitive has an edge (undirected). More...
|
|
GEO_Vertex | getVertexElement (GA_Size i) const |
|
virtual GEO_MetaPrim * | castToMetaPrim () |
|
virtual const GEO_MetaPrim * | castToMetaPrim () 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 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 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 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 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) |
|
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 int | isVisible () const |
|
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 | 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...
|
|
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) |
|