All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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

const GU_DetailmyRefGdp
UT_Array< guDivTri * > myTriList

Detailed Description

Definition at line 22 of file GU_TriDivide.h.

Constructor & Destructor Documentation

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

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 
fpreal GU_TriDivide::calculateLength ( GA_Index  aidx,
GA_Index  bidx,
bool  useref,
const UT_Vector3Array refpos 
) const
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

Definition at line 30 of file GU_TriDivide.h.

const GU_Detail* GU_TriDivide::getRefDetail ( ) const

Definition at line 33 of file GU_TriDivide.h.

void GU_TriDivide::setDetail ( GU_Detail gdp)

Definition at line 29 of file GU_TriDivide.h.

void GU_TriDivide::setRefDetail ( const GU_Detail refgdp)

Definition at line 32 of file GU_TriDivide.h.

void GU_TriDivide::tridivide ( int  depth)

Does root(3) subdivision.

Member Data Documentation

GU_Detail* GU_TriDivide::myGdp

Definition at line 61 of file GU_TriDivide.h.

const GU_Detail* GU_TriDivide::myRefGdp

Definition at line 62 of file GU_TriDivide.h.

UT_Array<guDivTri *> GU_TriDivide::myTriList

Definition at line 63 of file GU_TriDivide.h.

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