#include <GEO_Primitive.h>

Public Member Functions | |
| GEO_Primitive (GEO_Detail *d) | |
| virtual | ~GEO_Primitive () |
| virtual int | isPrimary (void) const |
| void | copyAttributesAndGroups (const GEO_Primitive &src, bool copy_groups=true) |
| void | copyAttributeData (const GEO_Primitive &src) |
| void | copyGroupMembership (const GEO_Primitive &src) |
| void SYS_DEPRECATED | copyAttributeData (const GEO_Primitive *src, int asize) |
| Deprecated in favour of copyAttributeValues(). | |
| 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 |
| virtual bool | evaluateBaryCenter (GEO_Vertex &result, GEO_AttributeHandleList &gah) const =0 |
| virtual bool | evaluatePoint (GEO_Vertex &result, GEO_AttributeHandleList &gah, fpreal u, fpreal v=0, uint du=0, uint dv=0) const =0 |
| virtual int | evaluatePoint (UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const |
| virtual int SYS_DEPRECATED | evaluatePointWAttrib (UT_Vector4 &pos, GB_AttributeData &adata, const GB_FloatOffsets &foffsets, float u, float v=0, unsigned du=0, unsigned dv=0) const |
| virtual int | evaluateNormalVector (UT_Vector3 &nml, float u, float v=0) const |
| virtual bool | evaluateInteriorPoint (GEO_Vertex &result, GEO_AttributeHandleList &hlist, fpreal u, fpreal v) const |
| virtual int | evaluateInteriorPoint (UT_Vector4 &pos, float u, float v) const |
| virtual int SYS_DEPRECATED | evaluateInteriorPointWAttrib (UT_Vector4 &pos, GB_AttributeData &adata, const GB_FloatOffsets &foffsets, float u, float v) const |
| GEO_Detail * | getParent () const |
| virtual void * | castTo () const |
| virtual int | hasEdge (const GEO_Point &a, const GEO_Point &b) const |
| virtual int | hasEdge (const GB_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 | edgeApplyIndex (GEO_EdgeApplyIndexFunc apply, void *data=0) |
| virtual const GEO_Vertex & | getVertex (unsigned index) const =0 |
| virtual GEO_Vertex & | getVertex (unsigned index)=0 |
| 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) |
| 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 float | calcVolume (UT_Vector3 &refpt) const |
| virtual float | calcArea () const |
| virtual float | calcPerimeter () const |
| virtual bool | isQuadric () const |
Static Public Member Functions | |
| static unsigned | getPrimitiveType (const char *name) |
| static const char * | getPrimitiveName (unsigned type) |
| static unsigned | getPrimitiveMask (const char *maskstr) |
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) |
Friends | |
| class | GEO_Detail |
| ostream & | operator<< (ostream &os, const GEO_Primitive &d) |
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, and VRAY/VRAY_DemoSprite.C.
Definition at line 45 of file GEO_Primitive.h.
| GEO_Primitive::GEO_Primitive | ( | GEO_Detail * | d | ) |
| virtual GEO_Primitive::~GEO_Primitive | ( | ) | [virtual] |
| 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 |
| virtual float GEO_Primitive::calcArea | ( | ) | const [inline, virtual] |
Reimplemented in GEO_Face, GEO_Hull, GEO_PrimCircle, GEO_PrimSphere, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, GEO_PrimTube, and GEO_PrimVolume.
Definition at line 206 of file GEO_Primitive.h.
| virtual float GEO_Primitive::calcPerimeter | ( | ) | const [inline, virtual] |
Reimplemented in GEO_Face, GEO_Hull, GEO_PrimCircle, GEO_PrimSphere, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, and GEO_PrimTube.
Definition at line 207 of file GEO_Primitive.h.
| virtual float GEO_Primitive::calcVolume | ( | UT_Vector3 & | refpt | ) | const [inline, virtual] |
Reimplemented in GEO_Face, GEO_Hull, GEO_PrimCircle, GEO_PrimSphere, GEO_PrimTriBezier, GEO_PrimTriFan, GEO_PrimTriStrip, GEO_PrimTube, and GEO_PrimVolume.
Definition at line 205 of file GEO_Primitive.h.
| virtual void* GEO_Primitive::castTo | ( | ) | const [virtual] |
| 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 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_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_Quadric, GEO_TPSurf, and GEO_TriMesh.
| void SYS_DEPRECATED GEO_Primitive::copyAttributeData | ( | const GEO_Primitive * | src, | |
| int | asize | |||
| ) |
Deprecated in favour of copyAttributeValues().
| 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, | |
| 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 55 of file GEO_Primitive.h.
| 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] |
Implemented in GEO_Curve, GEO_Face, GEO_Hull, GEO_PrimMetaBall, GEO_PrimMetaSQuad, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_Quadric, GEO_TPSurf, and GEO_TriMesh.
| virtual void GEO_Primitive::copyPrimitive | ( | const GEO_Primitive * | src, | |
| GEO_Point ** | ptredirect | |||
| ) | [pure virtual] |
Implemented in GEO_Curve, GEO_Face, GEO_Hull, GEO_PrimMetaBall, GEO_PrimMetaSQuad, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_Quadric, GEO_TPSurf, and GEO_TriMesh.
| 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::evaluateBaryCenter | ( | GEO_Vertex & | result, | |
| GEO_AttributeHandleList & | gah | |||
| ) | const [pure virtual] |
Implemented in GEO_Hull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_PrimVolume, GEO_Quadric, and GEO_TriMesh.
| virtual int GEO_Primitive::evaluateInteriorPoint | ( | UT_Vector4 & | pos, | |
| float | u, | |||
| float | v | |||
| ) | const [virtual] |
Reimplemented in GEO_PrimPoly.
| virtual bool GEO_Primitive::evaluateInteriorPoint | ( | GEO_Vertex & | result, | |
| GEO_AttributeHandleList & | hlist, | |||
| fpreal | u, | |||
| fpreal | v | |||
| ) | const [virtual] |
Reimplemented in GEO_PrimPoly.
| virtual int SYS_DEPRECATED GEO_Primitive::evaluateInteriorPointWAttrib | ( | UT_Vector4 & | pos, | |
| GB_AttributeData & | adata, | |||
| const GB_FloatOffsets & | foffsets, | |||
| float | u, | |||
| float | v | |||
| ) | const [virtual] |
Reimplemented in GEO_PrimPoly.
| 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.
| virtual int GEO_Primitive::evaluatePoint | ( | UT_Vector4 & | pos, | |
| float | u, | |||
| float | v = 0, |
|||
| unsigned | du = 0, |
|||
| unsigned | dv = 0 | |||
| ) | const [virtual] |
Reimplemented in GEO_Curve, GEO_Face, GEO_PrimCircle, GEO_PrimMesh, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimSphere, GEO_PrimTriBezier, GEO_PrimTube, and GEO_TPSurf.
| virtual bool GEO_Primitive::evaluatePoint | ( | GEO_Vertex & | result, | |
| GEO_AttributeHandleList & | gah, | |||
| fpreal | u, | |||
| fpreal | v = 0, |
|||
| uint | du = 0, |
|||
| uint | dv = 0 | |||
| ) | const [pure virtual] |
Implemented in GEO_Face, GEO_PrimCircle, GEO_PrimTriBezier, GEO_PrimTube, GEO_PrimVolume, GEO_TPSurf, and GEO_TriMesh.
| virtual int SYS_DEPRECATED GEO_Primitive::evaluatePointWAttrib | ( | UT_Vector4 & | pos, | |
| GB_AttributeData & | adata, | |||
| const GB_FloatOffsets & | foffsets, | |||
| float | u, | |||
| float | v = 0, |
|||
| unsigned | du = 0, |
|||
| unsigned | dv = 0 | |||
| ) | const [virtual] |
Reimplemented in GEO_Curve, GEO_Face, GEO_PrimCircle, GEO_PrimMesh, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimSphere, GEO_PrimTriBezier, GEO_PrimTube, and GEO_TPSurf.
| GEO_Detail* GEO_Primitive::getParent | ( | ) | const [inline] |
Definition at line 156 of file GEO_Primitive.h.
| static unsigned GEO_Primitive::getPrimitiveMask | ( | const char * | maskstr | ) | [static] |
| static const char* GEO_Primitive::getPrimitiveName | ( | unsigned | type | ) | [static] |
| static unsigned GEO_Primitive::getPrimitiveType | ( | const char * | name | ) | [static] |
| virtual GEO_Vertex& GEO_Primitive::getVertex | ( | unsigned | index | ) | [pure virtual] |
Implemented in GEO_Hull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_PrimVolume, GEO_Quadric, and GEO_TriMesh.
| virtual const GEO_Vertex& GEO_Primitive::getVertex | ( | unsigned | index | ) | const [pure virtual] |
Implemented in GEO_Hull, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimTriBezier, GEO_PrimVolume, GEO_Quadric, and GEO_TriMesh.
| virtual int GEO_Primitive::hasEdge | ( | const GB_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 int GEO_Primitive::isPrimary | ( | void | ) | const [virtual] |
| 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.
| virtual void GEO_Primitive::stashed | ( | int | onoff | ) | [virtual] |
Reimplemented in GEO_PrimMetaBall, GEO_PrimMetaSQuad, GEO_PrimParticle, GEO_PrimPasteDAG, GEO_PrimVolume, and GEO_Quadric.
| 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.
friend class GEO_Detail [friend] |
| ostream& operator<< | ( | ostream & | os, | |
| const GEO_Primitive & | d | |||
| ) | [friend] |
Definition at line 223 of file GEO_Primitive.h.
1.5.9