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

#include <GU_TriDivide.h>

Public Member Functions

 GU_TriDivide (GU_Detail *gdp)
 
virtual ~GU_TriDivide ()
 
void setDetail (GU_Detail *gdp)
 
GU_DetailgetDetail () const
 
void setRefDetail (const GU_Detail *refgdp)
 
const GU_DetailgetRefDetail () const
 
void buildTopology (const GA_PrimitiveGroup *grp=0)
 Builds the triangle list. More...
 
void tridivide (int depth)
 Does root(3) subdivision. More...
 
void equalizeEdges (fpreal minlength, int numsplit)
 
void buildGeometry ()
 Transforms the triangle list into actual triangles. More...
 
guDivTri * allocTri ()
 Technically should be friended to our guDivTri. More...
 

Protected Member Functions

void buildTri (GEO_PrimPoly *poly, TriEdgeMap &edgemap)
 
fpreal calculateLength (GA_Index aidx, GA_Index bidx, bool useref, const UT_Vector3Array &refpos) const
 

Protected Attributes

GU_DetailmyGdp
 
const GU_DetailmyRefGdp
 
UT_Array< guDivTri * > myTriList
 

Detailed Description

Definition at line 25 of file GU_TriDivide.h.

Constructor & Destructor Documentation

GU_TriDivide::GU_TriDivide ( GU_Detail gdp)
virtual GU_TriDivide::~GU_TriDivide ( )
virtual

Member Function Documentation

guDivTri* GU_TriDivide::allocTri ( )

Technically should be friended to our guDivTri.

void GU_TriDivide::buildGeometry ( )

Transforms the triangle list into actual triangles.

void GU_TriDivide::buildTopology ( const GA_PrimitiveGroup grp = 0)

Builds the triangle list.

void GU_TriDivide::buildTri ( GEO_PrimPoly poly,
TriEdgeMap edgemap 
)
protected
fpreal GU_TriDivide::calculateLength ( GA_Index  aidx,
GA_Index  bidx,
bool  useref,
const UT_Vector3Array refpos 
) const
protected
void GU_TriDivide::equalizeEdges ( fpreal  minlength,
int  numsplit 
)

Equalizes edges by splitting the longest edges. Splits are done until minimum length is less than minlength or number of splits numsplits has been done. A value of -1 is ignored.

GU_Detail* GU_TriDivide::getDetail ( void  ) const
inline

Definition at line 33 of file GU_TriDivide.h.

const GU_Detail* GU_TriDivide::getRefDetail ( ) const
inline

Definition at line 36 of file GU_TriDivide.h.

void GU_TriDivide::setDetail ( GU_Detail gdp)
inline

Definition at line 32 of file GU_TriDivide.h.

void GU_TriDivide::setRefDetail ( const GU_Detail refgdp)
inline

Definition at line 35 of file GU_TriDivide.h.

void GU_TriDivide::tridivide ( int  depth)

Does root(3) subdivision.

Member Data Documentation

GU_Detail* GU_TriDivide::myGdp
protected

Definition at line 64 of file GU_TriDivide.h.

const GU_Detail* GU_TriDivide::myRefGdp
protected

Definition at line 65 of file GU_TriDivide.h.

UT_Array<guDivTri *> GU_TriDivide::myTriList
protected

Definition at line 66 of file GU_TriDivide.h.


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