85 if (
mFlags & flag )
return true;
136 HalfEdge(
short _ea,
unsigned char _v,
unsigned char _p):
ea(_ea),
v(_v),
p(_p){}
147 ConvexH(
int vertices_size,
int edges_size,
int facets_size);
156 int4(
int _x,
int _y,
int _z,
int _w){
x=_x;
y=_y;
z=_z;
w=_w;}
233 unsigned int &vcount,
240 #endif //BT_CD_HULL_H
int4(int _x, int _y, int _z, int _w)
void SetHullFlag(HullFlag flag)
bool ComputeHull(unsigned int vcount, const btVector3 *vertices, PHullResult &result, unsigned int vlimit)
void extrude(class btHullTriangle *t0, int v)
btAlignedObjectArray< HalfEdge > edges
bool HasHullFlag(HullFlag flag) const
btAlignedObjectArray< unsigned int > m_Indices
bool CleanupVertices(unsigned int svcount, const btVector3 *svertices, unsigned int stride, unsigned int &vcount, btVector3 *vertices, btScalar normalepsilon, btVector3 &scale)
void deAllocateTriangle(btHullTriangle *)
const btVector3 * mVertices
btPlane(const btVector3 &n, btScalar d)
const int & operator[](int i) const
const Point3 scale(const Point3 &pnt, float scaleVal)
void ClearHullFlag(HullFlag flag)
btAlignedObjectArray< btVector3 > vertices
HullError CreateConvexHull(const HullDesc &desc, HullResult &result)
btAlignedObjectArray< class btHullTriangle * > m_tris
btAlignedObjectArray< int > m_vertexIndexMapping
btAlignedObjectArray< btPlane > facets
HullDesc(HullFlag flag, unsigned int vcount, const btVector3 *vertices, unsigned int stride=sizeof(btVector3))
btAlignedObjectArray< btVector3 > m_OutputVertices
void b2bfix(btHullTriangle *s, btHullTriangle *t)
btVector3 can be used to represent 3D points and vectors.
void BringOutYourDead(const btVector3 *verts, unsigned int vcount, btVector3 *overts, unsigned int &ocount, unsigned int *indices, unsigned indexcount)
unsigned int mNumOutputVertices
btHullTriangle * extrudable(btScalar epsilon)
unsigned int mVertexStride
int calchullgen(btVector3 *verts, int verts_count, int vlimit)
HalfEdge(short _ea, unsigned char _v, unsigned char _p)
class btHullTriangle * allocateTriangle(int a, int b, int c)
The HullLibrary class can create a convex hull from a collection of vertices, using the ComputeHull m...
int calchull(btVector3 *verts, int verts_count, TUIntArray &tris_out, int &tris_count, int vlimit)
class ConvexH * ConvexHCrop(ConvexH &convex, const btPlane &slice)
HullError ReleaseResult(HullResult &result)
unsigned int mMaxVertices
void checkit(btHullTriangle *t)
int4 FindSimplex(btVector3 *verts, int verts_count, btAlignedObjectArray< int > &allow)
void removeb2b(btHullTriangle *s, btHullTriangle *t)
btAlignedObjectArray< unsigned int > TUIntArray
includes modifications/improvements by John Ratcliff, see BringOutYourDead below. ...
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...