#include <GEO_Primitive.h>

Public Member Functions | |
| GEO_Primitive (GEO_Detail *d, GA_Offset offset=GA_INVALID_OFFSET) | |
| virtual | ~GEO_Primitive () |
| virtual GA_PrimCompat::TypeMask | getPrimitiveId () const |
| 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) |
| 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, GEO_Point **ptredirect)=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 | unitToUnitLengthPair (float uparm, float vparm, float &ulength, float &vlength) const |
| SYS_DEPRECATED bool | evaluateBaryCenter (GEO_Vertex result, GEO_AttributeHandleList &gah) const |
| bool | evaluateBaryCenter (GA_Offset result, GA_AttributeRefMap &map) const |
| SYS_DEPRECATED bool | evaluatePoint (GEO_Vertex result, GEO_AttributeHandleList &gah, fpreal u, fpreal v=0, uint du=0, uint dv=0) const |
| bool | evaluatePoint (GA_Offset result, 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) const |
| SYS_DEPRECATED bool | evaluateInteriorPoint (GEO_Vertex result, GEO_AttributeHandleList &hlist, fpreal u, fpreal v, fpreal w=0) const |
| bool | evaluateInteriorPoint (GA_Offset result, GA_AttributeRefMap &map, fpreal u, fpreal v, fpreal w=0) const |
| int | evaluateInteriorPoint (UT_Vector4 &pos, fpreal u, fpreal v, fpreal w=0) const |
| GEO_Detail * | getParent () const |
| virtual void * | castTo () const |
| virtual int | getBBox (UT_BoundingBox *bbox) const =0 |
| virtual UT_Vector3 | computeNormal () const =0 |
| Return a normal vector for the primitive. | |
| virtual void | reverse ()=0 |
| Reverse the order of vertices. | |
| virtual UT_Vector3 | baryCenter () const |
| virtual void | addToBSphere (UT_BoundingSphere *bsphere) const |
| virtual void | isolate () |
| Method to isolate a pasted surface. | |
| virtual void | addPointRefToGroup (GA_PointGroup &grp) const |
| virtual int | detachPoints (GA_PointGroup &grp)=0 |
| virtual int | hasEdge (const GEO_Point &a, const GEO_Point &b) const |
| virtual int | hasEdge (const GA_Edge &edge) const |
| virtual int | hasGuideEdge (int edgeid, UT_Vector4 &a, UT_Vector4 &b) const |
| virtual int | hasXsectPoint (int pointid, UT_Vector4 &p) const |
| virtual void | edgeApply (GEO_EdgeApplyFunc apply, void *data=0) |
| virtual void | edgeApply (GEO_EdgeApplyElementFunc apply, void *data=0) |
| virtual void | edgeApplyIndex (GEO_EdgeApplyIndexFunc apply, void *data=0) |
| virtual int | vertexApply (int(*apply)(GEO_Vertex vtx, void *), void *data=0) |
| virtual int | vertexApply (int(*apply)(const GEO_Vertex &vtx, void *), void *data=0) const |
| bool | isPointUsed (const GEO_Point *ppt) const |
| SYS_DEPRECATED const GEO_Vertex | getVertex (unsigned i=0) const |
| SYS_DEPRECATED GEO_Vertex | getVertex (unsigned i=0) |
| GEO_Vertex | getVertexElement (unsigned i) const |
| virtual GEO_MetaPrim * | castToMetaPrim (void) |
| virtual const GEO_MetaPrim * | castToMetaPrim (void) 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 |
| virtual void | stashed (int onoff, GA_Offset offset=GA_INVALID_OFFSET) |
| 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 bool | enlargeBoundingBox (UT_BoundingRect &b, const GA_Attribute *P) const |
| virtual bool | enlargeBoundingBox (UT_BoundingBox &b, const GA_Attribute *P) const |
| virtual fpreal | calcVolume (const UT_Vector3 &) const |
| virtual fpreal | calcArea () const |
| virtual fpreal | calcPerimeter () const |
Static Public Member Functions | |
| static GA_PrimCompat::TypeMask | getPrimitiveMaskH9 (const char *maskstr) |
Static Public Attributes | |
| static const UT_RefArray < GA_AttribLoadDataH9 > & | theEmptyLoadAttribs |
| Convience objects to pass as arguments to saveH9()/loadH9(). | |
| static const UT_RefArray < GA_AttribSaveDataH9 > & | theEmptySaveAttribs |
Protected Member Functions | |
| virtual void | copyOffsetPrimitive (const GEO_Primitive *src, int basept)=0 |
| void | copyBasePrimitive (const GEO_Primitive *src, GEO_Point **ptredirect) |
| void | copyOffsetBasePrimitive (const GEO_Primitive *src, int basept) |
| GEO_Vertex | buildVertexElement (GA_Offset vertex_offset) const |
| virtual bool | evaluatePointRefMap (GA_Offset result, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const =0 |
| virtual int | evaluatePointV4 (UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const |
| virtual bool | evaluateBaryCenterRefMap (GA_Offset result, GA_AttributeRefMap &map) const |
| virtual bool | evaluateInteriorPointRefMap (GA_Offset result, GA_AttributeRefMap &map, fpreal u, fpreal v, fpreal w=0) const |
| virtual int | evaluateInteriorPointV4 (UT_Vector4 &pos, fpreal u, fpreal v, fpreal w=0) const |
Static Protected Member Functions | |
| static GA_IntrinsicManager::Registrar | registerIntrinsics (GA_PrimitiveDefinition &defn) |
Friends | |
| class | GEO_Detail |
| ostream & | operator<< (ostream &os, const GEO_Primitive &d) |
field3d/f3d_io.C, GEO/GEO_VoxelTranslator.C, GR/GR_BaryCenter.C, GR/GR_SimpleNoise.C, SIM/SIM_SolverHair.C, SOP/SOP_BrushHairLen.C, SOP/SOP_BrushHairLen.h, SOP/SOP_PrimVOP.C, SOP/SOP_Surface.C, standalone/geo2voxel.C, tetprim/GEO_PrimTetra.C, tetprim/GEO_PrimTetra.h, tetprim/GT_PrimTetra.C, tetprim/GT_PrimTetra.h, tetprim/GU_PrimTetra.C, tetprim/GU_PrimTetra.h, and VRAY/VRAY_DemoSprite.C.
Definition at line 49 of file GEO_Primitive.h.
| GEO_Primitive::GEO_Primitive | ( | GEO_Detail * | d, | |
| GA_Offset | offset = GA_INVALID_OFFSET | |||
| ) |
| virtual GEO_Primitive::~GEO_Primitive | ( | ) | [virtual] |
| virtual void GEO_Primitive::addPointRefToGroup | ( | GA_PointGroup & | grp | ) | const [virtual] |
Add all points referenced by the primitive to the given group. This defaults to iterating over the vertices and adding their referenced points.
Reimplemented in GEO_Hull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_PrimVolume, GEO_Quadric, GEO_TriMesh, and GEO_VolumeElement.
| virtual void GEO_Primitive::addToBSphere | ( | UT_BoundingSphere * | bsphere | ) | const [virtual] |
Enlarge the bounding sphere with the primitive's bounds. By default, this will enlarge the bounding sphere by the primitive's bounding box (i.e. getBBox()). It may be possible to have a tighter bound (i.e. the vertex hull for many primitives is a much better metric).
Reimplemented in GEO_Hull, GEO_PrimCircle, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimSphere, GEO_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_TriMesh, and GEO_VolumeElement.
| virtual UT_Vector3 GEO_Primitive::baryCenter | ( | ) | const [virtual] |
Return the center of the primitive. This defaults to the center of the bounding box. A better approximation might be the average value of the vertex positions (which could be different).
Reimplemented in GEO_Hull, GEO_PrimCircle, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_PrimVolume, GEO_Quadric, GEO_TriMesh, and GEO_VolumeElement.
| int GEO_Primitive::bboxIntersectRay | ( | const UT_Vector3 & | rayorig, | |
| const UT_Vector3 & | raydir, | |||
| int | maxtries = 10, |
|||
| float | tmax = 1E17F, |
|||
| float * | distance = 0, |
|||
| UT_Vector3 * | nml = 0 | |||
| ) | const |
| GEO_Vertex GEO_Primitive::buildVertexElement | ( | GA_Offset | vertex_offset | ) | const [protected] |
| virtual fpreal GEO_Primitive::calcArea | ( | ) | const [inline, virtual] |
If the method isn't known, or doesn't make sense, we return 0.
Reimplemented from GA_Primitive.
Reimplemented in GEO_Face, GEO_Hull, GEO_PrimCircle, GEO_PrimSphere, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, GEO_PrimTube, GEO_PrimVolume, and GEO_VolumeElement.
Definition at line 314 of file GEO_Primitive.h.
| virtual fpreal GEO_Primitive::calcPerimeter | ( | ) | const [inline, virtual] |
If the method isn't known, or doesn't make sense, we return 0.
Reimplemented from GA_Primitive.
Reimplemented in GEO_Face, GEO_Hull, GEO_PrimCircle, GEO_PrimSphere, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, GEO_PrimTube, and GEO_VolumeElement.
Definition at line 315 of file GEO_Primitive.h.
| virtual fpreal GEO_Primitive::calcVolume | ( | const UT_Vector3 & | ) | const [inline, virtual] |
If the method isn't known, or doesn't make sense, we return 0.
Reimplemented from GA_Primitive.
Reimplemented in GEO_Face, GEO_Hull, GEO_PrimCircle, GEO_PrimSphere, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, GEO_PrimTube, GEO_PrimVolume, and GEO_VolumeElement.
Definition at line 313 of file GEO_Primitive.h.
| virtual void* GEO_Primitive::castTo | ( | ) | const [virtual] |
Reimplemented in GU_PrimCircle, GU_PrimMesh, GU_PrimMetaBall, GU_PrimMetaSQuad, GU_PrimNull, GU_PrimNURBCurve, GU_PrimNURBSurf, GU_PrimParticle, GU_PrimPasteDAG, GU_PrimPoly, GU_PrimRBezCurve, GU_PrimRBezSurf, GU_PrimSphere, GU_PrimTetrahedron, GU_PrimTriBezier, GU_PrimTriFan, GU_PrimTriStrip, GU_PrimTube, and GU_PrimVolume.
| virtual const GEO_MetaPrim* GEO_Primitive::castToMetaPrim | ( | void | ) | const [virtual] |
Reimplemented in GEO_PrimMetaBall, and GEO_PrimMetaSQuad.
| virtual GEO_MetaPrim* GEO_Primitive::castToMetaPrim | ( | void | ) | [virtual] |
Reimplemented in GEO_PrimMetaBall, GEO_PrimMetaBall, GEO_PrimMetaSQuad, and GEO_PrimMetaSQuad.
| virtual UT_Vector3 GEO_Primitive::computeNormal | ( | ) | const [pure virtual] |
Return a normal vector for the primitive.
Implemented in GEO_Face, GEO_Hull, GEO_PrimCircle, GEO_PrimNull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, GEO_PrimVolume, GEO_Quadric, and GEO_VolumeElement.
| virtual GEO_Primitive* GEO_Primitive::copy | ( | int | preserve_shared_pts = 0 |
) | const [virtual] |
Reimplemented in GEO_Curve, GEO_Face, GEO_Hull, GEO_PrimMetaBall, GEO_PrimMetaSQuad, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_Quadric, GEO_TPSurf, and GEO_TriMesh.
| void GEO_Primitive::copyAttributeData | ( | const GEO_Primitive & | src, | |
| GA_PrimitiveWrangler & | wrangler | |||
| ) |
| void GEO_Primitive::copyAttributeData | ( | const GEO_Primitive & | src, | |
| GA_AttributeRefMap & | gah | |||
| ) |
| void GEO_Primitive::copyAttributeData | ( | const GEO_Primitive & | src | ) |
Copy the attribute data over from the source primitive. Often you will want to call copyAttributesAndGroups() instead.
| void GEO_Primitive::copyAttributesAndGroups | ( | const GEO_Primitive & | src, | |
| GA_PrimitiveWrangler & | wrangler, | |||
| bool | copy_groups = true | |||
| ) | [inline] |
Definition at line 74 of file GEO_Primitive.h.
| void GEO_Primitive::copyAttributesAndGroups | ( | const GEO_Primitive & | src, | |
| GA_AttributeRefMap & | gah, | |||
| bool | copy_groups = true | |||
| ) | [inline] |
Definition at line 66 of file GEO_Primitive.h.
| void GEO_Primitive::copyAttributesAndGroups | ( | const GEO_Primitive & | src, | |
| bool | copy_groups = true | |||
| ) | [inline] |
Copy attribute data from the source primitive. Also, copy over all the group membership information from the source primitive.
Definition at line 59 of file GEO_Primitive.h.
| void GEO_Primitive::copyAttributeValues | ( | const GEO_Primitive & | src, | |
| GA_PrimitiveWrangler & | wrangler | |||
| ) |
| void GEO_Primitive::copyBasePrimitive | ( | const GEO_Primitive * | src, | |
| GEO_Point ** | ptredirect | |||
| ) | [protected] |
| void GEO_Primitive::copyGroupMembership | ( | const GEO_Primitive & | src | ) |
Copy the group membership from the source primitive to the current primitive. Both primitives must be in the same detail.
| void GEO_Primitive::copyOffsetBasePrimitive | ( | const GEO_Primitive * | src, | |
| int | basept | |||
| ) | [protected] |
| virtual void GEO_Primitive::copyOffsetPrimitive | ( | const GEO_Primitive * | src, | |
| int | basept | |||
| ) | [protected, pure virtual] |
| virtual void GEO_Primitive::copyPrimitive | ( | const GEO_Primitive * | src, | |
| GEO_Point ** | ptredirect | |||
| ) | [pure virtual] |
| virtual int GEO_Primitive::detachPoints | ( | GA_PointGroup & | grp | ) | [pure virtual] |
Implemented in GEO_Hull, GEO_PrimNull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimVolume, GEO_Quadric, and GEO_TriMesh.
| virtual void GEO_Primitive::edgeApply | ( | GEO_EdgeApplyElementFunc | apply, | |
| void * | data = 0 | |||
| ) | [virtual] |
| virtual void GEO_Primitive::edgeApply | ( | GEO_EdgeApplyFunc | apply, | |
| void * | data = 0 | |||
| ) | [virtual] |
| virtual void GEO_Primitive::edgeApplyIndex | ( | GEO_EdgeApplyIndexFunc | apply, | |
| void * | data = 0 | |||
| ) | [virtual] |
| virtual bool GEO_Primitive::enlargeBoundingBox | ( | UT_BoundingBox & | b, | |
| const GA_Attribute * | P | |||
| ) | const [virtual] |
If the attribute is "P" the base-class will call getBBox()
Reimplemented from GA_Primitive.
Reimplemented in GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimVolume, and GEO_Quadric.
| virtual bool GEO_Primitive::enlargeBoundingBox | ( | UT_BoundingRect & | b, | |
| const GA_Attribute * | P | |||
| ) | const [virtual] |
If the attribute is "P" the base-class will call getBBox()
Reimplemented from GA_Primitive.
Reimplemented in GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimVolume, and GEO_Quadric.
| bool GEO_Primitive::evaluateBaryCenter | ( | GA_Offset | result, | |
| GA_AttributeRefMap & | map | |||
| ) | const [inline] |
Definition at line 142 of file GEO_Primitive.h.
| SYS_DEPRECATED bool GEO_Primitive::evaluateBaryCenter | ( | GEO_Vertex | result, | |
| GEO_AttributeHandleList & | gah | |||
| ) | const |
| virtual bool GEO_Primitive::evaluateBaryCenterRefMap | ( | GA_Offset | result, | |
| GA_AttributeRefMap & | map | |||
| ) | const [protected, virtual] |
By default, this will call evaluateInteriorPointRefMap with u=.5 and v=.5. This is likely not the perfect solution. At the current time, this is only used in POPs to birth points at primitive centers.
Reimplemented in GEO_Hull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_PrimVolume, GEO_Quadric, GEO_TriMesh, and GEO_VolumeElement.
| int GEO_Primitive::evaluateInteriorPoint | ( | UT_Vector4 & | pos, | |
| fpreal | u, | |||
| fpreal | v, | |||
| fpreal | w = 0 | |||
| ) | const [inline] |
Definition at line 187 of file GEO_Primitive.h.
| bool GEO_Primitive::evaluateInteriorPoint | ( | GA_Offset | result, | |
| GA_AttributeRefMap & | map, | |||
| fpreal | u, | |||
| fpreal | v, | |||
| fpreal | w = 0 | |||
| ) | const [inline] |
Definition at line 182 of file GEO_Primitive.h.
| SYS_DEPRECATED bool GEO_Primitive::evaluateInteriorPoint | ( | GEO_Vertex | result, | |
| GEO_AttributeHandleList & | hlist, | |||
| fpreal | u, | |||
| fpreal | v, | |||
| fpreal | w = 0 | |||
| ) | const |
| virtual bool GEO_Primitive::evaluateInteriorPointRefMap | ( | GA_Offset | result, | |
| GA_AttributeRefMap & | map, | |||
| fpreal | u, | |||
| fpreal | v, | |||
| fpreal | w = 0 | |||
| ) | const [protected, virtual] |
Reimplemented in GEO_PrimPoly, GEO_PrimTetrahedron, and GEO_PrimVolume.
| virtual int GEO_Primitive::evaluateInteriorPointV4 | ( | UT_Vector4 & | pos, | |
| fpreal | u, | |||
| fpreal | v, | |||
| fpreal | w = 0 | |||
| ) | const [protected, virtual] |
Reimplemented in GEO_PrimPoly, GEO_PrimTetrahedron, and GEO_PrimVolume.
| virtual int GEO_Primitive::evaluateNormalVector | ( | UT_Vector3 & | nml, | |
| float | u, | |||
| float | v = 0 | |||
| ) | const [virtual] |
Reimplemented in GEO_Face, GEO_Hull, GEO_PrimPasteDAG, and GEO_PrimSphere.
| int GEO_Primitive::evaluatePoint | ( | UT_Vector4 & | pos, | |
| float | u, | |||
| float | v = 0, |
|||
| unsigned | du = 0, |
|||
| unsigned | dv = 0 | |||
| ) | const [inline] |
Definition at line 166 of file GEO_Primitive.h.
| bool GEO_Primitive::evaluatePoint | ( | GA_Offset | result, | |
| GA_AttributeRefMap & | map, | |||
| fpreal | u, | |||
| fpreal | v = 0, |
|||
| uint | du = 0, |
|||
| uint | dv = 0 | |||
| ) | const [inline] |
Definition at line 155 of file GEO_Primitive.h.
| SYS_DEPRECATED bool GEO_Primitive::evaluatePoint | ( | GEO_Vertex | result, | |
| GEO_AttributeHandleList & | gah, | |||
| fpreal | u, | |||
| fpreal | v = 0, |
|||
| uint | du = 0, |
|||
| uint | dv = 0 | |||
| ) | const |
| virtual bool GEO_Primitive::evaluatePointRefMap | ( | GA_Offset | result, | |
| GA_AttributeRefMap & | map, | |||
| fpreal | u, | |||
| fpreal | v = 0, |
|||
| uint | du = 0, |
|||
| uint | dv = 0 | |||
| ) | const [protected, pure virtual] |
Implemented in GEO_Curve, GEO_Face, GEO_PrimCircle, GEO_PrimNull, GEO_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_TPSurf, GEO_TriMesh, and GEO_VolumeElement.
| virtual int GEO_Primitive::evaluatePointV4 | ( | UT_Vector4 & | pos, | |
| float | u, | |||
| float | v = 0, |
|||
| unsigned | du = 0, |
|||
| unsigned | dv = 0 | |||
| ) | const [protected, virtual] |
Evaluate the position for the given parametric coordinates (with the given derivatives). Return 0 if successful, or -1 if failure. The default implementation returns {0,0,0,0};
Reimplemented in GEO_Curve, GEO_Face, GEO_PrimCircle, GEO_PrimMesh, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimSphere, GEO_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_TPSurf, GEO_TriMesh, and GEO_VolumeElement.
| virtual int GEO_Primitive::getBBox | ( | UT_BoundingBox * | bbox | ) | const [pure virtual] |
Compute the bounding box of the primitive. Return 0 if unable to compute bounds (1 on successful computation)
Implemented in GEO_Hull, GEO_PrimCircle, GEO_PrimNull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimSphere, GEO_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_Quadric, GEO_TriMesh, and GEO_VolumeElement.
| GEO_Detail* GEO_Primitive::getParent | ( | ) | const |
| virtual GA_PrimCompat::TypeMask GEO_Primitive::getPrimitiveId | ( | ) | const [virtual] |
Reimplemented from GA_Primitive.
| static GA_PrimCompat::TypeMask GEO_Primitive::getPrimitiveMaskH9 | ( | const char * | maskstr | ) | [static] |
| SYS_DEPRECATED GEO_Vertex GEO_Primitive::getVertex | ( | unsigned | i = 0 |
) | [inline] |
Definition at line 270 of file GEO_Primitive.h.
| SYS_DEPRECATED const GEO_Vertex GEO_Primitive::getVertex | ( | unsigned | i = 0 |
) | const [inline] |
Definition at line 268 of file GEO_Primitive.h.
| GEO_Vertex GEO_Primitive::getVertexElement | ( | unsigned | i | ) | const |
| virtual int GEO_Primitive::hasEdge | ( | const GA_Edge & | edge | ) | const [virtual] |
| virtual int GEO_Primitive::hasGuideEdge | ( | int | edgeid, | |
| UT_Vector4 & | a, | |||
| UT_Vector4 & | b | |||
| ) | const [virtual] |
Reimplemented in GEO_PrimCircle, GEO_PrimSphere, and GEO_PrimTube.
| virtual int GEO_Primitive::hasXsectPoint | ( | int | pointid, | |
| UT_Vector4 & | p | |||
| ) | const [virtual] |
Reimplemented in GEO_PrimCircle, GEO_PrimSphere, and GEO_PrimTube.
| virtual void GEO_Primitive::isolate | ( | void | ) | [inline, virtual] |
Method to isolate a pasted surface.
Reimplemented in GEO_PrimPasteDAG, and GEO_TPSurf.
Definition at line 227 of file GEO_Primitive.h.
| bool GEO_Primitive::isPointUsed | ( | const GEO_Point * | ppt | ) | const |
Return whether a point is referenced by a primitive. This simply iterates over the vertices, checking if any vertices reference the point.
| virtual bool GEO_Primitive::isQuadric | ( | ) | const [inline, virtual] |
| virtual int GEO_Primitive::parametricBBox | ( | float | u, | |
| float | v, | |||
| float * | u0, | |||
| float * | u1, | |||
| float * | v0, | |||
| float * | v1 | |||
| ) | [virtual] |
Reimplemented in GEO_Curve, GEO_Hull, GEO_PrimPasteDAG, and GEO_TPSurf.
| virtual void GEO_Primitive::realToUnitPair | ( | float | ureal, | |
| float | vreal, | |||
| float & | uunit, | |||
| float & | vunit | |||
| ) | const [virtual] |
Reimplemented in GEO_Face, GEO_Hull, and GEO_PrimPasteDAG.
| static GA_IntrinsicManager::Registrar GEO_Primitive::registerIntrinsics | ( | GA_PrimitiveDefinition & | defn | ) | [inline, static, protected] |
All subclasses should call this method to register the primitive intrinsics.
Reimplemented from GA_Primitive.
Reimplemented in GEO_Curve, GEO_Face, GEO_Hull, GEO_PrimCircle, GEO_PrimMesh, GEO_PrimMetaBall, GEO_PrimMetaSQuad, GEO_PrimNURBCurve, GEO_PrimNURBSurf, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimPoly, GEO_PrimRBezCurve, GEO_PrimRBezSurf, GEO_PrimSphere, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, GEO_PrimTube, GEO_PrimVolume, GEO_Quadric, GEO_TPSurf, GEO_TriMesh, and GEO_VolumeElement.
Definition at line 330 of file GEO_Primitive.h.
| virtual void GEO_Primitive::reverse | ( | ) | [pure virtual] |
Reverse the order of vertices.
Implements GA_Primitive.
Implemented in GEO_Curve, GEO_Face, GEO_Hull, GEO_PrimNull, GEO_PrimNURBCurve, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimRBezCurve, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, GEO_PrimVolume, and GEO_Quadric.
| virtual void GEO_Primitive::stashed | ( | int | onoff, | |
| GA_Offset | offset = GA_INVALID_OFFSET | |||
| ) | [virtual] |
Stash (deactivate) or unstash (reactivate) the primitive.
Stashing a primitive will set its offset to that specified, typically GA_INVALID_OFFSET. Primitives are only stashed as part of clearing a detail, so there is no need to explicitly deallocate vertices. It is safe to delete a stashed primitive.
Unstashing a primitive will re-register that primitive with its parent detail at the specified offset (or a new offset if GA_INVALID_OFFSET).
Reimplemented in GEO_Hull, GEO_PrimMetaBall, GEO_PrimMetaSQuad, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTetrahedron, GEO_PrimTriBezier, GEO_PrimVolume, GEO_Quadric, and GEO_TriMesh.
| virtual void GEO_Primitive::transform | ( | const UT_Matrix4 & | ) | [virtual] |
Reimplemented in GEO_PrimVolume, and GEO_Quadric.
| virtual void GEO_Primitive::unitLengthToUnitPair | ( | float | ulength, | |
| float | vlength, | |||
| float & | uparm, | |||
| float & | vparm | |||
| ) | const [virtual] |
Reimplemented in GEO_Face, GEO_PrimVolume, GEO_Quadric, and GEO_TriMesh.
| virtual void GEO_Primitive::unitToRealPair | ( | float | uunit, | |
| float | vunit, | |||
| float & | ureal, | |||
| float & | vreal | |||
| ) | const [virtual] |
Reimplemented in GEO_Face, GEO_Hull, and GEO_PrimPasteDAG.
| virtual void GEO_Primitive::unitToUnitLengthPair | ( | float | uparm, | |
| float | vparm, | |||
| float & | ulength, | |||
| float & | vlength | |||
| ) | const [virtual] |
Reimplemented in GEO_Face, GEO_PrimVolume, GEO_Quadric, and GEO_TriMesh.
| virtual float GEO_Primitive::uvDist | ( | float | u1, | |
| float | v1, | |||
| float | u2, | |||
| float | v2 | |||
| ) | const [virtual] |
Reimplemented in GEO_Face, GEO_Hull, and GEO_PrimPasteDAG.
| virtual int GEO_Primitive::vertexApply | ( | int(*)(const GEO_Vertex &vtx, void *) | apply, | |
| void * | data = 0 | |||
| ) | const [virtual] |
Reimplemented in GEO_Hull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_TriMesh, and GEO_VolumeElement.
| virtual int GEO_Primitive::vertexApply | ( | int(*)(GEO_Vertex vtx, void *) | apply, | |
| void * | data = 0 | |||
| ) | [virtual] |
Reimplemented in GEO_Hull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_TriMesh, and GEO_VolumeElement.
friend class GEO_Detail [friend] |
Definition at line 366 of file GEO_Primitive.h.
| ostream& operator<< | ( | ostream & | os, | |
| const GEO_Primitive & | d | |||
| ) | [friend] |
Definition at line 369 of file GEO_Primitive.h.
const UT_RefArray<GA_AttribLoadDataH9>& GEO_Primitive::theEmptyLoadAttribs [static] |
Convience objects to pass as arguments to saveH9()/loadH9().
Definition at line 322 of file GEO_Primitive.h.
const UT_RefArray<GA_AttribSaveDataH9>& GEO_Primitive::theEmptySaveAttribs [static] |
Definition at line 323 of file GEO_Primitive.h.
1.5.9