Bullet Collision Detection & Physics Library
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:

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 182 of file btConvexHull.h.

Member Function Documentation

◆ allocateTriangle()

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

Definition at line 403 of file btConvexHull.cpp.

◆ b2bfix()

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

Definition at line 355 of file btConvexHull.cpp.

◆ BringOutYourDead()

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

Definition at line 1074 of file btConvexHull.cpp.

◆ calchull()

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

Definition at line 605 of file btConvexHull.cpp.

◆ calchullgen()

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

Definition at line 498 of file btConvexHull.cpp.

◆ checkit()

void HullLibrary::checkit ( btHullTriangle * t)
private

Definition at line 379 of file btConvexHull.cpp.

◆ CleanupVertices()

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 824 of file btConvexHull.cpp.

◆ ComputeHull()

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

Definition at line 633 of file btConvexHull.cpp.

◆ ConvexHCrop()

class ConvexH * HullLibrary::ConvexHCrop ( ConvexH & convex,
const btPlane & slice )
private

◆ CreateConvexHull()

HullError HullLibrary::CreateConvexHull ( const HullDesc & desc,
HullResult & result )

Definition at line 670 of file btConvexHull.cpp.

◆ deAllocateTriangle()

void HullLibrary::deAllocateTriangle ( btHullTriangle * tri)
private

Definition at line 413 of file btConvexHull.cpp.

◆ extrudable()

btHullTriangle * HullLibrary::extrudable ( btScalar epsilon)
private

Definition at line 443 of file btConvexHull.cpp.

◆ extrude()

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

Definition at line 421 of file btConvexHull.cpp.

◆ FindSimplex()

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

Definition at line 457 of file btConvexHull.cpp.

◆ ReleaseResult()

HullError HullLibrary::ReleaseResult ( HullResult & result)

Definition at line 789 of file btConvexHull.cpp.

◆ removeb2b()

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

Definition at line 371 of file btConvexHull.cpp.

◆ test_cube()

ConvexH * HullLibrary::test_cube ( )
private

Member Data Documentation

◆ m_tris

btAlignedObjectArray<class btHullTriangle*> HullLibrary::m_tris
private

Definition at line 184 of file btConvexHull.h.

◆ m_vertexIndexMapping

btAlignedObjectArray<int> HullLibrary::m_vertexIndexMapping

Definition at line 187 of file btConvexHull.h.


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