Bullet Collision Detection & Physics Library
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
HullLibrary Class Reference

The HullLibrary class can create a convex hull from a collection of vertices, using the ComputeHull method. More...

#include <btConvexHull.h>

Collaboration diagram for HullLibrary:
Collaboration graph
[legend]

Public Member Functions

HullError CreateConvexHull (const HullDesc &desc, HullResult &result)
 
HullError ReleaseResult (HullResult &result)
 

Public Attributes

btAlignedObjectArray< int > m_vertexIndexMapping
 

Private Member Functions

bool ComputeHull (unsigned int vcount, const btVector3 *vertices, PHullResult &result, unsigned int vlimit)
 
class btHullTriangleallocateTriangle (int a, int b, int c)
 
void deAllocateTriangle (btHullTriangle *)
 
void b2bfix (btHullTriangle *s, btHullTriangle *t)
 
void removeb2b (btHullTriangle *s, btHullTriangle *t)
 
void checkit (btHullTriangle *t)
 
btHullTriangleextrudable (btScalar epsilon)
 
int calchull (btVector3 *verts, int verts_count, TUIntArray &tris_out, int &tris_count, int vlimit)
 
int calchullgen (btVector3 *verts, int verts_count, int vlimit)
 
int4 FindSimplex (btVector3 *verts, int verts_count, btAlignedObjectArray< int > &allow)
 
class ConvexHConvexHCrop (ConvexH &convex, const btPlane &slice)
 
void extrude (class btHullTriangle *t0, int v)
 
ConvexHtest_cube ()
 
void BringOutYourDead (const btVector3 *verts, unsigned int vcount, btVector3 *overts, unsigned int &ocount, unsigned int *indices, unsigned indexcount)
 
bool CleanupVertices (unsigned int svcount, const btVector3 *svertices, unsigned int stride, unsigned int &vcount, btVector3 *vertices, btScalar normalepsilon, btVector3 &scale)
 

Private Attributes

btAlignedObjectArray< class btHullTriangle * > m_tris
 

Detailed Description

The HullLibrary class can create a convex hull from a collection of vertices, using the ComputeHull method.

The btShapeHull class uses this HullLibrary to create a approximate convex mesh given a general (non-polyhedral) convex shape.

Definition at line 184 of file btConvexHull.h.

Member Function Documentation

btHullTriangle * HullLibrary::allocateTriangle ( int  a,
int  b,
int  c 
)
private

Definition at line 423 of file btConvexHull.cpp.

void HullLibrary::b2bfix ( btHullTriangle s,
btHullTriangle t 
)
private

Definition at line 375 of file btConvexHull.cpp.

void HullLibrary::BringOutYourDead ( const btVector3 verts,
unsigned int  vcount,
btVector3 overts,
unsigned int &  ocount,
unsigned int *  indices,
unsigned  indexcount 
)
private

Definition at line 1114 of file btConvexHull.cpp.

int HullLibrary::calchull ( btVector3 verts,
int  verts_count,
TUIntArray tris_out,
int &  tris_count,
int  vlimit 
)
private

Definition at line 618 of file btConvexHull.cpp.

int HullLibrary::calchullgen ( btVector3 verts,
int  verts_count,
int  vlimit 
)
private

Definition at line 518 of file btConvexHull.cpp.

void HullLibrary::checkit ( btHullTriangle t)
private

Definition at line 399 of file btConvexHull.cpp.

bool HullLibrary::CleanupVertices ( unsigned int  svcount,
const btVector3 svertices,
unsigned int  stride,
unsigned int &  vcount,
btVector3 vertices,
btScalar  normalepsilon,
btVector3 scale 
)
private

XXX might be broken

Definition at line 855 of file btConvexHull.cpp.

bool HullLibrary::ComputeHull ( unsigned int  vcount,
const btVector3 vertices,
PHullResult result,
unsigned int  vlimit 
)
private

Definition at line 650 of file btConvexHull.cpp.

class ConvexH* HullLibrary::ConvexHCrop ( ConvexH convex,
const btPlane slice 
)
private
HullError HullLibrary::CreateConvexHull ( const HullDesc desc,
HullResult result 
)

Definition at line 691 of file btConvexHull.cpp.

void HullLibrary::deAllocateTriangle ( btHullTriangle tri)
private

Definition at line 433 of file btConvexHull.cpp.

btHullTriangle * HullLibrary::extrudable ( btScalar  epsilon)
private

Definition at line 465 of file btConvexHull.cpp.

void HullLibrary::extrude ( class btHullTriangle t0,
int  v 
)
private

Definition at line 442 of file btConvexHull.cpp.

int4 HullLibrary::FindSimplex ( btVector3 verts,
int  verts_count,
btAlignedObjectArray< int > &  allow 
)
private

Definition at line 482 of file btConvexHull.cpp.

HullError HullLibrary::ReleaseResult ( HullResult result)

Definition at line 816 of file btConvexHull.cpp.

void HullLibrary::removeb2b ( btHullTriangle s,
btHullTriangle t 
)
private

Definition at line 391 of file btConvexHull.cpp.

ConvexH* HullLibrary::test_cube ( )
private

Member Data Documentation

btAlignedObjectArray<class btHullTriangle*> HullLibrary::m_tris
private

Definition at line 187 of file btConvexHull.h.

btAlignedObjectArray<int> HullLibrary::m_vertexIndexMapping

Definition at line 191 of file btConvexHull.h.


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