Bullet Collision Detection & Physics Library: HullLibrary Class Reference

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:
[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 btHullTriangle * | allocateTriangle (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)
btHullTriangle * | extrudable (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 ConvexH * | ConvexHCrop (ConvexH &convex, const btPlane &slice)
void | extrude (class btHullTriangle *t0, int v)
ConvexH * | test_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:

- btConvexHull.h
- btConvexHull.cpp