HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UT_QuickHullT< T > Class Template Reference

#include <UT_QuickHull.h>

Public Member Functions

 UT_QuickHullT ()
 
virtual ~UT_QuickHullT ()
 
void reset ()
 Clear out points. More...
 
void append (const UT_Vector3T< T > &P)
 Add a point to the hull. More...
 
T area2D (const UT_Vector3T< T > &N) const
 Compute the 2D convex hull area relative to the given plane normal. More...
 
void getQuickHull (UT_ValArray< UT_Vector2T< T > > &points, const UT_Vector3T< T > &N) const
 
void getQuickHull (UT_ValArray< UT_Vector2T< T > > &points, const UT_Vector3T< T > &X, const UT_Vector3T< T > &Y) const
 
T getMinRectangle (const UT_Vector3T< T > &X, const UT_Vector3T< T > &Y, T &rot) const
 

Static Protected Member Functions

static void swap2 (UT_Vector2T< T > *list, uint a, uint b)
 
static void makeLineEqn (UT_Vector3T< T > &eqn, const UT_Vector2T< T > *list, uint a, uint b)
 
static uint quickHullSelect (UT_Vector2T< T > *list, uint a, uint b, uint &cidx)
 
static T quickHull (UT_Vector2T< T > *list, uint a, uint b, uint c)
 
static void getQuickHullInternal (UT_ValArray< UT_Vector2T< T > > &points, UT_Vector2T< T > *list, uint a, uint b, uint c)
 
static T getMinRectInternal (const UT_ValArray< UT_Vector2T< T > > &points, T &rot)
 

Protected Attributes

UT_Array< UT_Vector3T< T > > myPoints
 

Detailed Description

template<typename T>
class UT_QuickHullT< T >

Definition at line 21 of file UT_QuickHull.h.

Constructor & Destructor Documentation

template<typename T >
UT_QuickHullT< T >::UT_QuickHullT ( )
template<typename T >
virtual UT_QuickHullT< T >::~UT_QuickHullT ( )
virtual

Member Function Documentation

template<typename T >
void UT_QuickHullT< T >::append ( const UT_Vector3T< T > &  P)

Add a point to the hull.

template<typename T >
T UT_QuickHullT< T >::area2D ( const UT_Vector3T< T > &  N) const

Compute the 2D convex hull area relative to the given plane normal.

template<typename T >
T UT_QuickHullT< T >::getMinRectangle ( const UT_Vector3T< T > &  X,
const UT_Vector3T< T > &  Y,
T rot 
) const

Return the area and rotation of mininul bounding rectangle of the projection of the points on to the given plane.

template<typename T >
static T UT_QuickHullT< T >::getMinRectInternal ( const UT_ValArray< UT_Vector2T< T > > &  points,
T rot 
)
staticprotected
template<typename T >
void UT_QuickHullT< T >::getQuickHull ( UT_ValArray< UT_Vector2T< T > > &  points,
const UT_Vector3T< T > &  N 
) const

Return set of points that formed a convex hull based on the given plane defined by the normal

template<typename T >
void UT_QuickHullT< T >::getQuickHull ( UT_ValArray< UT_Vector2T< T > > &  points,
const UT_Vector3T< T > &  X,
const UT_Vector3T< T > &  Y 
) const

Return set of points that formed a convex hull based on the given plane defined by the two vectors. (X and Y are assumed to be orthogonal)

template<typename T >
static void UT_QuickHullT< T >::getQuickHullInternal ( UT_ValArray< UT_Vector2T< T > > &  points,
UT_Vector2T< T > *  list,
uint  a,
uint  b,
uint  c 
)
staticprotected
template<typename T >
void UT_QuickHullT< T >::makeLineEqn ( UT_Vector3T< T > &  eqn,
const UT_Vector2T< T > *  list,
uint  a,
uint  b 
)
inlinestaticprotected

Definition at line 82 of file UT_QuickHull.h.

template<typename T >
static T UT_QuickHullT< T >::quickHull ( UT_Vector2T< T > *  list,
uint  a,
uint  b,
uint  c 
)
staticprotected
template<typename T >
static uint UT_QuickHullT< T >::quickHullSelect ( UT_Vector2T< T > *  list,
uint  a,
uint  b,
uint cidx 
)
staticprotected
template<typename T >
void UT_QuickHullT< T >::reset ( void  )
inline

Clear out points.

Definition at line 27 of file UT_QuickHull.h.

template<typename T >
void UT_QuickHullT< T >::swap2 ( UT_Vector2T< T > *  list,
uint  a,
uint  b 
)
inlinestaticprotected

Definition at line 73 of file UT_QuickHull.h.

Member Data Documentation

template<typename T >
UT_Array<UT_Vector3T<T> > UT_QuickHullT< T >::myPoints
protected

Definition at line 63 of file UT_QuickHull.h.


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