|
| btTriangleMesh (bool use32bitIndices=true, bool use4componentVertices=true) |
|
bool | getUse32bitIndices () const |
|
bool | getUse4componentVertices () const |
|
void | addTriangle (const btVector3 &vertex0, const btVector3 &vertex1, const btVector3 &vertex2, bool removeDuplicateVertices=false) |
| By default addTriangle won't search for duplicate vertices, because the search is very slow for large triangle meshes. More...
|
|
int | getNumTriangles () const |
|
virtual void | preallocateVertices (int numverts) |
|
virtual void | preallocateIndices (int numindices) |
|
int | findOrAddVertex (const btVector3 &vertex, bool removeDuplicateVertices) |
| findOrAddVertex is an internal method, use addTriangle instead More...
|
|
void | addIndex (int index) |
| addIndex is an internal method, use addTriangle instead More...
|
|
| BT_DECLARE_ALIGNED_ALLOCATOR () |
|
| btTriangleIndexVertexArray () |
|
virtual | ~btTriangleIndexVertexArray () |
|
| btTriangleIndexVertexArray (int numTriangles, int *triangleIndexBase, int triangleIndexStride, int numVertices, btScalar *vertexBase, int vertexStride) |
|
void | addIndexedMesh (const btIndexedMesh &mesh, PHY_ScalarType indexType=PHY_INTEGER) |
|
virtual void | getLockedVertexIndexBase (unsigned char **vertexbase, int &numverts, PHY_ScalarType &type, int &vertexStride, unsigned char **indexbase, int &indexstride, int &numfaces, PHY_ScalarType &indicestype, int subpart=0) |
| get read and write access to a subpart of a triangle mesh this subpart has a continuous array of vertices and indices in this way the mesh can be handled as chunks of memory with striding very similar to OpenGL vertexarray support make a call to unLockVertexBase when the read and write access is finished More...
|
|
virtual void | getLockedReadOnlyVertexIndexBase (const unsigned char **vertexbase, int &numverts, PHY_ScalarType &type, int &vertexStride, const unsigned char **indexbase, int &indexstride, int &numfaces, PHY_ScalarType &indicestype, int subpart=0) const |
|
virtual void | unLockVertexBase (int subpart) |
| unLockVertexBase finishes the access to a subpart of the triangle mesh make a call to unLockVertexBase when the read and write access (using getLockedVertexIndexBase) is finished More...
|
|
virtual void | unLockReadOnlyVertexBase (int subpart) const |
|
virtual int | getNumSubParts () const |
| getNumSubParts returns the number of seperate subparts each subpart has a continuous array of vertices and indices More...
|
|
IndexedMeshArray & | getIndexedMeshArray () |
|
const IndexedMeshArray & | getIndexedMeshArray () const |
|
virtual bool | hasPremadeAabb () const |
|
virtual void | setPremadeAabb (const btVector3 &aabbMin, const btVector3 &aabbMax) const |
|
virtual void | getPremadeAabb (btVector3 *aabbMin, btVector3 *aabbMax) const |
|
| BT_DECLARE_ALIGNED_ALLOCATOR () |
|
| btStridingMeshInterface () |
|
virtual | ~btStridingMeshInterface () |
|
virtual void | InternalProcessAllTriangles (btInternalTriangleIndexCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const |
|
void | calculateAabbBruteForce (btVector3 &aabbMin, btVector3 &aabbMax) |
| brute force method to calculate aabb More...
|
|
const btVector3 & | getScaling () const |
|
void | setScaling (const btVector3 &scaling) |
|
virtual int | calculateSerializeBufferSize () const |
|
virtual const char * | serialize (void *dataBuffer, btSerializer *serializer) const |
| fills the dataBuffer and returns the struct name (and 0 on failure) More...
|
|
The btTriangleMesh class is a convenience class derived from btTriangleIndexVertexArray, that provides storage for a concave triangle mesh.
It can be used as data for the btBvhTriangleMeshShape. It allows either 32bit or 16bit indices, and 4 (x-y-z-w) or 3 (x-y-z) component vertices. If you want to share triangle/index data between graphics mesh and collision mesh (btBvhTriangleMeshShape), you can directly use btTriangleIndexVertexArray or derive your own class from btStridingMeshInterface. Performance of btTriangleMesh and btTriangleIndexVertexArray used in a btBvhTriangleMeshShape is the same.
Definition at line 27 of file btTriangleMesh.h.