Blender
V3.3
|
#include <btTriangleMesh.h>
Public Member Functions | |
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) |
void | addTriangleIndices (int index1, int index2, int index3) |
Add a triangle using its indices. Make sure the indices are pointing within the vertices array, so add the vertices first (and to be sure, avoid removal of duplicate vertices) 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... | |
Public Attributes | |
btScalar | m_weldingThreshold |
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.
Definition at line 18 of file btTriangleMesh.cpp.
References btIndexedMesh, btVector3, PHY_INTEGER, PHY_SHORT, and btAlignedObjectArray< T >::size().
void btTriangleMesh::addIndex | ( | int | index | ) |
addIndex is an internal method, use addTriangle instead
Definition at line 62 of file btTriangleMesh.cpp.
References btAlignedObjectArray< T >::push_back().
Referenced by addTriangle(), and addTriangleIndices().
void btTriangleMesh::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. In general it is better to directly use btTriangleIndexVertexArray instead.
Definition at line 128 of file btTriangleMesh.cpp.
References addIndex(), and findOrAddVertex().
void btTriangleMesh::addTriangleIndices | ( | int | index1, |
int | index2, | ||
int | index3 | ||
) |
Add a triangle using its indices. Make sure the indices are pointing within the vertices array, so add the vertices first (and to be sure, avoid removal of duplicate vertices)
Definition at line 76 of file btTriangleMesh.cpp.
References addIndex().
findOrAddVertex is an internal method, use addTriangle instead
Definition at line 84 of file btTriangleMesh.cpp.
References btVector3, length2(), m_weldingThreshold, btAlignedObjectArray< T >::push_back(), and btAlignedObjectArray< T >::size().
Referenced by addTriangle().
int btTriangleMesh::getNumTriangles | ( | ) | const |
Definition at line 136 of file btTriangleMesh.cpp.
References btAlignedObjectArray< T >::size().
|
inline |
Definition at line 42 of file btTriangleMesh.h.
|
inline |
Definition at line 47 of file btTriangleMesh.h.
|
virtual |
Definition at line 157 of file btTriangleMesh.cpp.
References btAlignedObjectArray< T >::reserve().
|
virtual |
Definition at line 145 of file btTriangleMesh.cpp.
References btAlignedObjectArray< T >::reserve().
btScalar btTriangleMesh::m_weldingThreshold |
Definition at line 38 of file btTriangleMesh.h.
Referenced by findOrAddVertex().