HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_PolyWire Class Reference

#include <GU_PolyWire.h>

Classes

class  EdgeData
 The edge data. More...
 
class  gu_JunctionPoint
 

Public Member Functions

 GU_PolyWire (GU_Detail *gdp)
 
virtual ~GU_PolyWire ()
 
void setPtWidths (float *widths)
 
void setJointScale (float *scale)
 
void setPtSmooth (bool *smooth)
 
void setDivisions (int *div)
 
void setEdgeData (GA_Edge edge, const EdgeData &data)
 
const EdgeDatagetEdgeData (GA_Edge edge) const
 
void setGrp (GA_PrimitiveGroup *grp)
 
void setJointCorrection (bool jc)
 
void setDoTextures (bool dotext)
 
void setUseUpVector (bool up)
 
void setUpVectors (UT_Vector3 *up)
 
GU_DetailgetGdp () const
 
bool getSmooth (GA_Index pt) const
 
float getWidth (GA_Index pt) const
 
float getMaxScale (GA_Index pt) const
 
int getSegments (GA_Index pt1, GA_Index pt2) const
 
void getV (GA_Index pt1, GA_Index pt2, float &v1, float &v2) const
 
void getU (GA_Index pt1, GA_Index pt2, float &uoff, float &u1, float &u2) const
 
void getSegScales (GA_Index pt1, GA_Index pt2, float &segscale1, float &segscale2) const
 
int getDivisions (GA_Index pt) const
 
UT_Vector3 getUpVector (GA_Index pt) const
 
bool doJointCorrection () const
 
bool doTextures () const
 
bool useUpVector () const
 
float getPtOffTexU (GA_Offset ptoff)
 
void setPtOffTexU (GA_Offset ptoff, float val)
 
float getPtOffTexV (GA_Offset ptoff)
 
void setPtOffTexV (GA_Offset ptoff, float val)
 
float getGlbPtOffTexU (GA_Offset ptoff)
 
bool hasGlbPtOffTexU (GA_Offset ptoff) const
 
void setGlbPtOffTexU (GA_Offset ptoff, float val)
 
UT_Vector3 getCirclePos (int idx, int div)
 
void buildWire ()
 
GA_Offset getJunctionPtOff (const UT_Vector3 &stdpos, const UT_Vector3 &center, float scale)
 
void evaluateJunctionPoints (const UT_Vector3 &center, float scale, GA_Offset cptoff)
 
void clearJunctionPoints ()
 
void textureClampPolys (const UT_Array< GEO_PrimPoly * > &polylist, float ubase, float uwidth)
 
GA_ElementWranglerCachegetWranglers ()
 

Protected Member Functions

void buildCircleCache (int div)
 

Protected Attributes

float * myPtWidths
 
float * myJointScale
 
bool * myPtSmooth
 
intmyDivs
 
UT_Vector3myUpVectors
 
bool myJointCorrection
 
bool myDoTextures
 
bool myUseUpVector
 
UT_FloatArray myTexU
 
UT_FloatArray myTexV
 
UT_FloatArray myGlbTexU
 
UT_Array< UT_Vector3Array * > myCircleCache
 
GU_Detail *const myGdp
 
GA_PrimitiveGroupmyPrimGroup
 
gu_ConnectionGraph * myGraph
 
GA_EdgeMap< EdgeData * > myEdgeHash
 
UT_Array< gu_JunctionPointmyJunctionPoints
 
UT_Array< EdgeData * > myEdgeHashEntries
 
GA_ElementWranglerCachemyWranglers
 

Detailed Description

Definition at line 26 of file GU_PolyWire.h.

Constructor & Destructor Documentation

GU_PolyWire::GU_PolyWire ( GU_Detail gdp)

Even setting the edge data requires access to the gdp, and it doesn't make any sense to change the gdp, so it should be passed in the constructor.

virtual GU_PolyWire::~GU_PolyWire ( )
virtual

Member Function Documentation

void GU_PolyWire::buildCircleCache ( int  div)
protected
void GU_PolyWire::buildWire ( )
void GU_PolyWire::clearJunctionPoints ( )
bool GU_PolyWire::doJointCorrection ( ) const
inline

Definition at line 77 of file GU_PolyWire.h.

bool GU_PolyWire::doTextures ( ) const
inline

Definition at line 78 of file GU_PolyWire.h.

void GU_PolyWire::evaluateJunctionPoints ( const UT_Vector3 center,
float  scale,
GA_Offset  cptoff 
)
UT_Vector3 GU_PolyWire::getCirclePos ( int  idx,
int  div 
)
inline

Definition at line 93 of file GU_PolyWire.h.

int GU_PolyWire::getDivisions ( GA_Index  pt) const
inline

Definition at line 75 of file GU_PolyWire.h.

const EdgeData* GU_PolyWire::getEdgeData ( GA_Edge  edge) const
GU_Detail* GU_PolyWire::getGdp ( ) const
inline

Definition at line 64 of file GU_PolyWire.h.

float GU_PolyWire::getGlbPtOffTexU ( GA_Offset  ptoff)
GA_Offset GU_PolyWire::getJunctionPtOff ( const UT_Vector3 stdpos,
const UT_Vector3 center,
float  scale 
)
float GU_PolyWire::getMaxScale ( GA_Index  pt) const
inline

Definition at line 67 of file GU_PolyWire.h.

float GU_PolyWire::getPtOffTexU ( GA_Offset  ptoff)
float GU_PolyWire::getPtOffTexV ( GA_Offset  ptoff)
int GU_PolyWire::getSegments ( GA_Index  pt1,
GA_Index  pt2 
) const
void GU_PolyWire::getSegScales ( GA_Index  pt1,
GA_Index  pt2,
float &  segscale1,
float &  segscale2 
) const
bool GU_PolyWire::getSmooth ( GA_Index  pt) const
inline

Definition at line 65 of file GU_PolyWire.h.

void GU_PolyWire::getU ( GA_Index  pt1,
GA_Index  pt2,
float &  uoff,
float &  u1,
float &  u2 
) const
UT_Vector3 GU_PolyWire::getUpVector ( GA_Index  pt) const
inline

Definition at line 76 of file GU_PolyWire.h.

void GU_PolyWire::getV ( GA_Index  pt1,
GA_Index  pt2,
float &  v1,
float &  v2 
) const
float GU_PolyWire::getWidth ( GA_Index  pt) const
inline

Definition at line 66 of file GU_PolyWire.h.

GA_ElementWranglerCache* GU_PolyWire::getWranglers ( )
inline

Definition at line 112 of file GU_PolyWire.h.

bool GU_PolyWire::hasGlbPtOffTexU ( GA_Offset  ptoff) const
void GU_PolyWire::setDivisions ( int div)
inline

Definition at line 51 of file GU_PolyWire.h.

void GU_PolyWire::setDoTextures ( bool  dotext)
inline

Definition at line 59 of file GU_PolyWire.h.

void GU_PolyWire::setEdgeData ( GA_Edge  edge,
const EdgeData data 
)

NOTE: This makes its own copy of the EdgeData to store in myEdgeHashEntries.

void GU_PolyWire::setGlbPtOffTexU ( GA_Offset  ptoff,
float  val 
)
void GU_PolyWire::setGrp ( GA_PrimitiveGroup grp)
inline

Definition at line 57 of file GU_PolyWire.h.

void GU_PolyWire::setJointCorrection ( bool  jc)
inline

Definition at line 58 of file GU_PolyWire.h.

void GU_PolyWire::setJointScale ( float *  scale)
inline

Definition at line 49 of file GU_PolyWire.h.

void GU_PolyWire::setPtOffTexU ( GA_Offset  ptoff,
float  val 
)
void GU_PolyWire::setPtOffTexV ( GA_Offset  ptoff,
float  val 
)
void GU_PolyWire::setPtSmooth ( bool *  smooth)
inline

Definition at line 50 of file GU_PolyWire.h.

void GU_PolyWire::setPtWidths ( float *  widths)
inline

Parameter Setting: This does NOT claim ownership of these:

Definition at line 48 of file GU_PolyWire.h.

void GU_PolyWire::setUpVectors ( UT_Vector3 up)
inline

Definition at line 61 of file GU_PolyWire.h.

void GU_PolyWire::setUseUpVector ( bool  up)
inline

Definition at line 60 of file GU_PolyWire.h.

void GU_PolyWire::textureClampPolys ( const UT_Array< GEO_PrimPoly * > &  polylist,
float  ubase,
float  uwidth 
)
bool GU_PolyWire::useUpVector ( ) const
inline

Definition at line 79 of file GU_PolyWire.h.

Member Data Documentation

UT_Array<UT_Vector3Array *> GU_PolyWire::myCircleCache
protected

Definition at line 150 of file GU_PolyWire.h.

int* GU_PolyWire::myDivs
protected

Definition at line 135 of file GU_PolyWire.h.

bool GU_PolyWire::myDoTextures
protected

Definition at line 138 of file GU_PolyWire.h.

GA_EdgeMap<EdgeData *> GU_PolyWire::myEdgeHash
protected

Definition at line 160 of file GU_PolyWire.h.

UT_Array<EdgeData *> GU_PolyWire::myEdgeHashEntries
protected

Definition at line 166 of file GU_PolyWire.h.

GU_Detail* const GU_PolyWire::myGdp
protected

Definition at line 153 of file GU_PolyWire.h.

UT_FloatArray GU_PolyWire::myGlbTexU
protected

Definition at line 144 of file GU_PolyWire.h.

gu_ConnectionGraph* GU_PolyWire::myGraph
protected

Definition at line 157 of file GU_PolyWire.h.

bool GU_PolyWire::myJointCorrection
protected

Definition at line 137 of file GU_PolyWire.h.

float* GU_PolyWire::myJointScale
protected

Definition at line 133 of file GU_PolyWire.h.

UT_Array<gu_JunctionPoint> GU_PolyWire::myJunctionPoints
protected

Definition at line 163 of file GU_PolyWire.h.

GA_PrimitiveGroup* GU_PolyWire::myPrimGroup
protected

Definition at line 154 of file GU_PolyWire.h.

bool* GU_PolyWire::myPtSmooth
protected

Definition at line 134 of file GU_PolyWire.h.

float* GU_PolyWire::myPtWidths
protected

Definition at line 132 of file GU_PolyWire.h.

UT_FloatArray GU_PolyWire::myTexU
protected

Definition at line 141 of file GU_PolyWire.h.

UT_FloatArray GU_PolyWire::myTexV
protected

Definition at line 142 of file GU_PolyWire.h.

UT_Vector3* GU_PolyWire::myUpVectors
protected

Definition at line 136 of file GU_PolyWire.h.

bool GU_PolyWire::myUseUpVector
protected

Definition at line 139 of file GU_PolyWire.h.

GA_ElementWranglerCache* GU_PolyWire::myWranglers
protected

Definition at line 168 of file GU_PolyWire.h.


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