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 EdgeData * getEdgeData (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)
 
void setMaxValence (int maxvalence)
 
int getMaxValence () const
 
GU_Detail * getGdp () 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_ElementWranglerCache * getWranglers ()
 

Protected Member Functions

void buildCircleCache (int div)
 

Protected Attributes

float * myPtWidths
 
float * myJointScale
 
bool * myPtSmooth
 
int * myDivs
 
UT_Vector3 * myUpVectors
 
bool myJointCorrection
 
bool myDoTextures
 
bool myUseUpVector
 
int myMaxValence
 
UT_FloatArray myTexU
 
UT_FloatArray myTexV
 
UT_FloatArray myGlbTexU
 
UT_Array< UT_Vector3Array * > myCircleCache
 
GU_Detail *const myGdp
 
GA_PrimitiveGroup * myPrimGroup
 
gu_ConnectionGraph * myGraph
 
GA_EdgeMap< EdgeData * > myEdgeHash
 
UT_Array< gu_JunctionPoint > myJunctionPoints
 
UT_Array< EdgeData * > myEdgeHashEntries
 
GA_ElementWranglerCache * myWranglers
 

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 79 of file GU_PolyWire.h.

bool GU_PolyWire::doTextures ( ) const
inline

Definition at line 80 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 95 of file GU_PolyWire.h.

int GU_PolyWire::getDivisions ( GA_Index  pt) const
inline

Definition at line 77 of file GU_PolyWire.h.

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

Definition at line 66 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 69 of file GU_PolyWire.h.

int GU_PolyWire::getMaxValence ( ) const
inline

Definition at line 63 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 67 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 78 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 68 of file GU_PolyWire.h.

GA_ElementWranglerCache* GU_PolyWire::getWranglers ( )
inline

Definition at line 114 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::setMaxValence ( int  maxvalence)
inline

Definition at line 62 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 81 of file GU_PolyWire.h.

Member Data Documentation

UT_Array<UT_Vector3Array *> GU_PolyWire::myCircleCache
protected

Definition at line 153 of file GU_PolyWire.h.

int* GU_PolyWire::myDivs
protected

Definition at line 137 of file GU_PolyWire.h.

bool GU_PolyWire::myDoTextures
protected

Definition at line 140 of file GU_PolyWire.h.

GA_EdgeMap<EdgeData *> GU_PolyWire::myEdgeHash
protected

Definition at line 163 of file GU_PolyWire.h.

UT_Array<EdgeData *> GU_PolyWire::myEdgeHashEntries
protected

Definition at line 169 of file GU_PolyWire.h.

GU_Detail* const GU_PolyWire::myGdp
protected

Definition at line 156 of file GU_PolyWire.h.

UT_FloatArray GU_PolyWire::myGlbTexU
protected

Definition at line 147 of file GU_PolyWire.h.

gu_ConnectionGraph* GU_PolyWire::myGraph
protected

Definition at line 160 of file GU_PolyWire.h.

bool GU_PolyWire::myJointCorrection
protected

Definition at line 139 of file GU_PolyWire.h.

float* GU_PolyWire::myJointScale
protected

Definition at line 135 of file GU_PolyWire.h.

UT_Array<gu_JunctionPoint> GU_PolyWire::myJunctionPoints
protected

Definition at line 166 of file GU_PolyWire.h.

int GU_PolyWire::myMaxValence
protected

Definition at line 142 of file GU_PolyWire.h.

GA_PrimitiveGroup* GU_PolyWire::myPrimGroup
protected

Definition at line 157 of file GU_PolyWire.h.

bool* GU_PolyWire::myPtSmooth
protected

Definition at line 136 of file GU_PolyWire.h.

float* GU_PolyWire::myPtWidths
protected

Definition at line 134 of file GU_PolyWire.h.

UT_FloatArray GU_PolyWire::myTexU
protected

Definition at line 144 of file GU_PolyWire.h.

UT_FloatArray GU_PolyWire::myTexV
protected

Definition at line 145 of file GU_PolyWire.h.

UT_Vector3* GU_PolyWire::myUpVectors
protected

Definition at line 138 of file GU_PolyWire.h.

bool GU_PolyWire::myUseUpVector
protected

Definition at line 141 of file GU_PolyWire.h.

GA_ElementWranglerCache* GU_PolyWire::myWranglers
protected

Definition at line 171 of file GU_PolyWire.h.


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