VHACD Namespace Reference


Classes

class  CircularList
 CircularList class. More...
class  CircularListElement
 CircularListElement class. More...
class  ICHull
class  IVHACD
struct  Material
class  Mesh
 Triangular mesh data structure. More...
class  Mutex
struct  Plane
class  PrimitiveSet
class  RaycastMesh
class  SArray
 SArray. More...
struct  Tetrahedron
class  TetrahedronSet
class  Timer
class  TMMEdge
 Edge data structure used in a triangular manifold mesh (TMM). More...
class  TMMesh
 triangular manifold mesh data structure. More...
class  TMMTriangle
 Triangle data structure used in a triangular manifold mesh (TMM). More...
class  TMMVertex
 Vertex data structure used in a triangular manifold mesh (TMM). More...
class  Vec2
 Vector dim 2. More...
class  Vec3
 Vector dim 3. More...
class  VHACD
class  Volume
struct  Voxel
class  VoxelSet

Enumerations

enum  AXIS { AXIS_X = 0, AXIS_Y = 1, AXIS_Z = 2 }
enum  ICHullError {
  ICHullErrorOK = 0, ICHullErrorCoplanarPoints, ICHullErrorNoVolume, ICHullErrorInconsistent,
  ICHullErrorNotEnoughPoints
}
 Incremental Convex Hull algorithm (cf. http://cs.smith.edu/~orourke/books/ftp.html ). More...
enum  VOXEL_VALUE { PRIMITIVE_UNDEFINED = 0, PRIMITIVE_OUTSIDE_SURFACE = 1, PRIMITIVE_INSIDE_SURFACE = 2, PRIMITIVE_ON_SURFACE = 3 }

Functions

template<typename T >
const bool Colinear (const Vec3< T > &a, const Vec3< T > &b, const Vec3< T > &c)
template<class T >
void ComputeAlignedPoint (const T *const points, const uint32_t idx, const Vec3< double > &barycenter, const double(&rot)[3][3], Vec3< double > &pt)
template<>
void ComputeAlignedPoint< double > (const double *const points, const uint32_t idx, const Vec3< double > &barycenter, const double(&rot)[3][3], Vec3< double > &pt)
template<>
void ComputeAlignedPoint< float > (const float *const points, const uint32_t idx, const Vec3< double > &barycenter, const double(&rot)[3][3], Vec3< double > &pt)
template<typename T >
const T ComputeVolume4 (const Vec3< T > &a, const Vec3< T > &b, const Vec3< T > &c, const Vec3< T > &d)
IVHACDCreateVHACD (void)
IVHACDCreateVHACD_ASYNC (void)
int32_t TriBoxOverlap (const Vec3< double > &boxcenter, const Vec3< double > &boxhalfsize, const Vec3< double > &triver0, const Vec3< double > &triver1, const Vec3< double > &triver2)

Enumeration Type Documentation

Enumerator:
AXIS_X 
AXIS_Y 
AXIS_Z 

Incremental Convex Hull algorithm (cf. http://cs.smith.edu/~orourke/books/ftp.html ).

Enumerator:
ICHullErrorOK 
ICHullErrorCoplanarPoints 
ICHullErrorNoVolume 
ICHullErrorInconsistent 
ICHullErrorNotEnoughPoints 

Enumerator:
PRIMITIVE_UNDEFINED 
PRIMITIVE_OUTSIDE_SURFACE 
PRIMITIVE_INSIDE_SURFACE 
PRIMITIVE_ON_SURFACE 


Function Documentation

template<typename T >
const bool VHACD::Colinear ( const Vec3< T > &  a,
const Vec3< T > &  b,
const Vec3< T > &  c 
) [inline]

template<class T >
void VHACD::ComputeAlignedPoint ( const T *const   points,
const uint32_t  idx,
const Vec3< double > &  barycenter,
const double(&)  rot[3][3],
Vec3< double > &  pt 
) [inline]

template<>
void VHACD::ComputeAlignedPoint< double > ( const double *const   points,
const uint32_t  idx,
const Vec3< double > &  barycenter,
const double(&)  rot[3][3],
Vec3< double > &  pt 
) [inline]

template<>
void VHACD::ComputeAlignedPoint< float > ( const float *const   points,
const uint32_t  idx,
const Vec3< double > &  barycenter,
const double(&)  rot[3][3],
Vec3< double > &  pt 
) [inline]

template<typename T >
const T VHACD::ComputeVolume4 ( const Vec3< T > &  a,
const Vec3< T > &  b,
const Vec3< T > &  c,
const Vec3< T > &  d 
) [inline]

IVHACD* VHACD::CreateVHACD ( void   ) 

IVHACD* VHACD::CreateVHACD_ASYNC ( void   ) 

int32_t VHACD::TriBoxOverlap ( const Vec3< double > &  boxcenter,
const Vec3< double > &  boxhalfsize,
const Vec3< double > &  triver0,
const Vec3< double > &  triver1,
const Vec3< double > &  triver2 
)