Tesseract
Motion Planning Environment
|
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 |
class | MyHACD_API |
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 | ICHullError { ICHullErrorOK = 0 , ICHullErrorCoplanarPoints , ICHullErrorNoVolume , ICHullErrorInconsistent , ICHullErrorNotEnoughPoints } |
Incremental Convex Hull algorithm (cf. http://cs.smith.edu/~orourke/books/ftp.html ). More... | |
enum | AXIS { AXIS_X = 0 , AXIS_Y = 1 , AXIS_Z = 2 } |
enum | VOXEL_VALUE { PRIMITIVE_UNDEFINED = 0 , PRIMITIVE_OUTSIDE_SURFACE = 1 , PRIMITIVE_INSIDE_SURFACE = 2 , PRIMITIVE_ON_SURFACE = 3 } |
Functions | |
template<typename T > | |
bool | Colinear (const Vec3< T > &a, const Vec3< T > &b, const Vec3< T > &c) |
template<typename T > | |
const T | ComputeVolume4 (const Vec3< T > &a, const Vec3< T > &b, const Vec3< T > &c, const Vec3< T > &d) |
template<typename T > | |
Vec3< T > | operator* (T lhs, const Vec3< T > &rhs) |
template<typename T > | |
Vec2< T > | operator* (T lhs, const Vec2< T > &rhs) |
template<typename T > | |
bool | InsideTriangle (const Vec2< T > &a, const Vec2< T > &b, const Vec2< T > &c, const Vec2< T > &p) |
int32_t | TriBoxOverlap (const Vec3< double > &boxcenter, const Vec3< double > &boxhalfsize, const Vec3< double > &triver0, const Vec3< double > &triver1, const Vec3< double > &triver2) |
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< float > (const float *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) |
IVHACD * | CreateVHACD () |
IVHACD * | CreateVHACD_ASYNC () |
double | ComputePreferredCuttingDirection (const PrimitiveSet *const tset, Vec3< double > &dir) |
void | ComputeAxesAlignedClippingPlanes (const VoxelSet &vset, const short downsampling, SArray< Plane > &planes) |
void | ComputeAxesAlignedClippingPlanes (const TetrahedronSet &tset, const short downsampling, SArray< Plane > &planes) |
void | RefineAxesAlignedClippingPlanes (const VoxelSet &vset, const Plane &bestPlane, const short downsampling, SArray< Plane > &planes) |
void | RefineAxesAlignedClippingPlanes (const TetrahedronSet &tset, const Plane &bestPlane, const short downsampling, SArray< Plane > &planes) |
double | ComputeLocalConcavity (const double volume, const double volumeCH) |
double | ComputeConcavity (const double volume, const double volumeCH, const double volume0) |
void | AddPoints (const Mesh *const mesh, SArray< Vec3< double > > &pts) |
void | ComputeConvexHull (const Mesh *const ch1, const Mesh *const ch2, SArray< Vec3< double > > &pts, Mesh *const combinedCH) |
int32_t | PlaneBoxOverlap (const Vec3< double > &normal, const Vec3< double > &vert, const Vec3< double > &maxbox) |
void | Diagonalize (const double(&A)[3][3], double(&Q)[3][3], double(&D)[3][3]) |
Incremental Convex Hull algorithm (cf. http://cs.smith.edu/~orourke/books/ftp.html ).
Enumerator | |
---|---|
ICHullErrorOK | |
ICHullErrorCoplanarPoints | |
ICHullErrorNoVolume | |
ICHullErrorInconsistent | |
ICHullErrorNotEnoughPoints |
void tesseract_collision::VHACD::AddPoints | ( | const Mesh *const | mesh, |
SArray< Vec3< double > > & | pts | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
void tesseract_collision::VHACD::ComputeAxesAlignedClippingPlanes | ( | const TetrahedronSet & | tset, |
const short | downsampling, | ||
SArray< Plane > & | planes | ||
) |
void tesseract_collision::VHACD::ComputeAxesAlignedClippingPlanes | ( | const VoxelSet & | vset, |
const short | downsampling, | ||
SArray< Plane > & | planes | ||
) |
|
inline |
void tesseract_collision::VHACD::ComputeConvexHull | ( | const Mesh *const | ch1, |
const Mesh *const | ch2, | ||
SArray< Vec3< double > > & | pts, | ||
Mesh *const | combinedCH | ||
) |
|
inline |
double tesseract_collision::VHACD::ComputePreferredCuttingDirection | ( | const PrimitiveSet *const | tset, |
Vec3< double > & | dir | ||
) |
|
inline |
IVHACD * tesseract_collision::VHACD::CreateVHACD | ( | void | ) |
IVHACD * tesseract_collision::VHACD::CreateVHACD_ASYNC | ( | void | ) |
void tesseract_collision::VHACD::Diagonalize | ( | const double(&) | A[3][3], |
double(&) | Q[3][3], | ||
double(&) | D[3][3] | ||
) |
|
inline |
|
inline |
|
inline |
int32_t tesseract_collision::VHACD::PlaneBoxOverlap | ( | const Vec3< double > & | normal, |
const Vec3< double > & | vert, | ||
const Vec3< double > & | maxbox | ||
) |
void tesseract_collision::VHACD::RefineAxesAlignedClippingPlanes | ( | const TetrahedronSet & | tset, |
const Plane & | bestPlane, | ||
const short | downsampling, | ||
SArray< Plane > & | planes | ||
) |
void tesseract_collision::VHACD::RefineAxesAlignedClippingPlanes | ( | const VoxelSet & | vset, |
const Plane & | bestPlane, | ||
const short | downsampling, | ||
SArray< Plane > & | planes | ||
) |