HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UT_Convex Class Referenceabstract

#include <UT_Convex.h>

+ Inheritance diagram for UT_Convex:

Public Member Functions

 UT_Convex ()
 
virtual ~UT_Convex ()
 
bool isConcave ()
 
void convex (exint maxsides, bool allowinterrupt=true, bool avoiddegeneracy=false)
 
virtual void initialize ()
 
virtual int getPointCount () const =0
 It's the sub-class responsibility to fill these out... More...
 
virtual void getPoint (int num, float &x, float &y) const =0
 
virtual void beginPolygon (int npoints, bool lastone)=0
 beginPolygon will be told when the last polygon is being added More...
 
virtual void polyVertex (int num)=0
 
virtual void endPolygon ()=0
 
virtual void earlyTermination ()
 
virtual int64 getMemoryUsage (bool inclusive) const
 

Static Public Member Functions

static bool canSplitQuad02 (const UT_Vector3 &p0, const UT_Vector3 &p1, const UT_Vector3 &p2, const UT_Vector3 &p3)
 
static bool isQuadConvex (const UT_Vector3 &p0, const UT_Vector3 &p1, const UT_Vector3 &p2, const UT_Vector3 &p3)
 

Protected Attributes

UT_ConvexPoint * myData
 

Detailed Description

Definition at line 25 of file UT_Convex.h.

Constructor & Destructor Documentation

UT_Convex::UT_Convex ( )
inline

Definition at line 27 of file UT_Convex.h.

virtual UT_Convex::~UT_Convex ( )
inlinevirtual

Definition at line 36 of file UT_Convex.h.

Member Function Documentation

virtual void UT_Convex::beginPolygon ( int  npoints,
bool  lastone 
)
pure virtual

beginPolygon will be told when the last polygon is being added

Implemented in GU_TrimTesselator.

static bool UT_Convex::canSplitQuad02 ( const UT_Vector3 p0,
const UT_Vector3 p1,
const UT_Vector3 p2,
const UT_Vector3 p3 
)
inlinestatic

Returns true if splitting the specified quad along the line from point 0 to point 2 is possible

Definition at line 65 of file UT_Convex.h.

void UT_Convex::convex ( exint  maxsides,
bool  allowinterrupt = true,
bool  avoiddegeneracy = false 
)
virtual void UT_Convex::earlyTermination ( )
virtual

If the last polygon to be added won't be added after all, e.g. if it is degenerate and avoiddegeneracy is true, the earlyTermination() method will be called. This is so that the caller can clean up properly, since beginPolygon will not have been called with lastone==true. By default, this method does nothing.

virtual void UT_Convex::endPolygon ( )
pure virtual

Implemented in GU_TrimTesselator.

virtual int64 UT_Convex::getMemoryUsage ( bool  inclusive) const
virtual

Reimplemented in GU_TrimTesselator.

virtual void UT_Convex::getPoint ( int  num,
float &  x,
float &  y 
) const
pure virtual

Implemented in GU_TrimTesselator.

virtual int UT_Convex::getPointCount ( ) const
pure virtual

It's the sub-class responsibility to fill these out...

Implemented in GU_TrimTesselator.

virtual void UT_Convex::initialize ( )
virtual
bool UT_Convex::isConcave ( )
static bool UT_Convex::isQuadConvex ( const UT_Vector3 p0,
const UT_Vector3 p1,
const UT_Vector3 p2,
const UT_Vector3 p3 
)
inlinestatic

Returns true if the specified quad is convex. NOTE: This may return false negatives for highly non-planar quads, since the definition of convex breaks down.

Definition at line 81 of file UT_Convex.h.

virtual void UT_Convex::polyVertex ( int  num)
pure virtual

Implemented in GU_TrimTesselator.

Member Data Documentation

UT_ConvexPoint* UT_Convex::myData
protected

NOTE: You must set myData to NULL before calling isConcave() or convex() !

Definition at line 133 of file UT_Convex.h.


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