GEO_Primitive Class Reference

#include <GEO_Primitive.h>

Inheritance diagram for GEO_Primitive:

GB_Primitive GB_AttributeElem GB_Element GEO_Hull GEO_PrimParticle GEO_PrimPasteDAG GEO_PrimTriBezier GEO_PrimVolume GEO_Quadric GEO_TriMesh GEO_PrimMesh GEO_TPSurf GU_PrimParticle GU_PrimPasteDAG GU_PrimTriBezier GU_PrimVolume GEO_PrimCircle GEO_PrimSphere GEO_PrimTube GEO_Face GEO_PrimTriFan GEO_PrimTriStrip

List of all members.

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_Primitivecopy (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_DetailgetParent () 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_VertexgetVertex (unsigned index) const =0
virtual GEO_VertexgetVertex (unsigned index)=0
virtual GEO_MetaPrimcastToMetaPrim (void)
virtual const GEO_MetaPrimcastToMetaPrim (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)


Detailed Description

Examples:

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.


Constructor & Destructor Documentation

GEO_Primitive::GEO_Primitive ( GEO_Detail d  ) 

virtual GEO_Primitive::~GEO_Primitive (  )  [virtual]


Member Function Documentation

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]

virtual float GEO_Primitive::calcPerimeter (  )  const [inline, virtual]

virtual float GEO_Primitive::calcVolume ( UT_Vector3 refpt  )  const [inline, virtual]

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]

virtual GEO_Primitive* GEO_Primitive::copy ( int  preserve_shared_pts = 0  )  const [virtual]

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]

virtual void GEO_Primitive::copyPrimitive ( const GEO_Primitive src,
GEO_Point **  ptredirect 
) [pure virtual]

virtual void GEO_Primitive::edgeApply ( GEO_EdgeApplyFunc  apply,
void *  data = 0 
) [virtual]

Reimplemented in GEO_Face, and GEO_Hull.

virtual void GEO_Primitive::edgeApplyIndex ( GEO_EdgeApplyIndexFunc  apply,
void *  data = 0 
) [virtual]

Reimplemented in GEO_Face, and GEO_Hull.

virtual bool GEO_Primitive::evaluateBaryCenter ( GEO_Vertex result,
GEO_AttributeHandleList gah 
) const [pure virtual]

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]

virtual int GEO_Primitive::evaluatePoint ( UT_Vector4 pos,
float  u,
float  v = 0,
unsigned  du = 0,
unsigned  dv = 0 
) const [virtual]

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]

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]

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]

virtual const GEO_Vertex& GEO_Primitive::getVertex ( unsigned  index  )  const [pure virtual]

virtual int GEO_Primitive::hasEdge ( const GB_Edge edge  )  const [virtual]

Reimplemented in GEO_Face, and GEO_Hull.

virtual int GEO_Primitive::hasEdge ( const GEO_Point a,
const GEO_Point b 
) const [virtual]

Reimplemented in GEO_Face, and GEO_Hull.

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]

Implements GB_Element.

Reimplemented in GEO_PrimPasteDAG.

virtual bool GEO_Primitive::isQuadric (  )  const [inline, virtual]

Reimplemented in GEO_Quadric.

Definition at line 210 of file GEO_Primitive.h.

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]

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.


Friends And Related Function Documentation

friend class GEO_Detail [friend]

Reimplemented from GB_AttributeElem.

Definition at line 221 of file GEO_Primitive.h.

ostream& operator<< ( ostream &  os,
const GEO_Primitive d 
) [friend]

Definition at line 223 of file GEO_Primitive.h.


The documentation for this class was generated from the following file:

Generated on Mon Jan 28 00:48:24 2013 for HDK by  doxygen 1.5.9