The btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing triangle/index arrays. More...
#include <btTriangleIndexVertexArray.h>
Public Member Functions | |
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 | |
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 | |
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 | |
IndexedMeshArray & | getIndexedMeshArray () |
const IndexedMeshArray & | getIndexedMeshArray () const |
virtual void | preallocateVertices (int numverts) |
virtual void | preallocateIndices (int numindices) |
virtual bool | hasPremadeAabb () const |
virtual void | setPremadeAabb (const btVector3 &aabbMin, const btVector3 &aabbMax) const |
virtual void | getPremadeAabb (btVector3 *aabbMin, btVector3 *aabbMax) const |
Protected Attributes | |
IndexedMeshArray | m_indexedMeshes |
int | m_pad [2] |
int | m_hasAabb |
btVector3 | m_aabbMin |
btVector3 | m_aabbMax |
The btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing triangle/index arrays.
Additional meshes can be added using addIndexedMesh No duplcate is made of the vertex/index data, it only indexes into external vertex/index arrays. So keep those arrays around during the lifetime of this btTriangleIndexVertexArray.
Definition at line 68 of file btTriangleIndexVertexArray.h.
btTriangleIndexVertexArray::btTriangleIndexVertexArray | ( | ) | [inline] |
Definition at line 81 of file btTriangleIndexVertexArray.h.
btTriangleIndexVertexArray::~btTriangleIndexVertexArray | ( | ) | [virtual] |
Definition at line 34 of file btTriangleIndexVertexArray.cpp.
btTriangleIndexVertexArray::btTriangleIndexVertexArray | ( | int | numTriangles, | |
int * | triangleIndexBase, | |||
int | triangleIndexStride, | |||
int | numVertices, | |||
btScalar * | vertexBase, | |||
int | vertexStride | |||
) |
Definition at line 18 of file btTriangleIndexVertexArray.cpp.
void btTriangleIndexVertexArray::addIndexedMesh | ( | const btIndexedMesh & | mesh, | |
PHY_ScalarType | indexType = PHY_INTEGER | |||
) | [inline] |
Definition at line 90 of file btTriangleIndexVertexArray.h.
btTriangleIndexVertexArray::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
Reimplemented from btStridingMeshInterface.
Reimplemented in btTriangleIndexVertexMaterialArray.
IndexedMeshArray& btTriangleIndexVertexArray::getIndexedMeshArray | ( | ) | [inline] |
Definition at line 113 of file btTriangleIndexVertexArray.h.
const IndexedMeshArray& btTriangleIndexVertexArray::getIndexedMeshArray | ( | ) | const [inline] |
Definition at line 118 of file btTriangleIndexVertexArray.h.
void btTriangleIndexVertexArray::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] |
Implements btStridingMeshInterface.
Definition at line 59 of file btTriangleIndexVertexArray.cpp.
void btTriangleIndexVertexArray::getLockedVertexIndexBase | ( | unsigned char ** | vertexbase, | |
int & | numverts, | |||
PHY_ScalarType & | type, | |||
int & | stride, | |||
unsigned char ** | indexbase, | |||
int & | indexstride, | |||
int & | numfaces, | |||
PHY_ScalarType & | indicestype, | |||
int | subpart = 0 | |||
) | [virtual] |
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
Implements btStridingMeshInterface.
Definition at line 39 of file btTriangleIndexVertexArray.cpp.
virtual int btTriangleIndexVertexArray::getNumSubParts | ( | ) | const [inline, virtual] |
getNumSubParts returns the number of seperate subparts each subpart has a continuous array of vertices and indices
Implements btStridingMeshInterface.
Definition at line 109 of file btTriangleIndexVertexArray.h.
void btTriangleIndexVertexArray::getPremadeAabb | ( | btVector3 * | aabbMin, | |
btVector3 * | aabbMax | |||
) | const [virtual] |
Reimplemented from btStridingMeshInterface.
Definition at line 89 of file btTriangleIndexVertexArray.cpp.
bool btTriangleIndexVertexArray::hasPremadeAabb | ( | ) | const [virtual] |
Reimplemented from btStridingMeshInterface.
Definition at line 76 of file btTriangleIndexVertexArray.cpp.
virtual void btTriangleIndexVertexArray::preallocateIndices | ( | int | numindices | ) | [inline, virtual] |
Implements btStridingMeshInterface.
Reimplemented in btTriangleMesh.
Definition at line 124 of file btTriangleIndexVertexArray.h.
virtual void btTriangleIndexVertexArray::preallocateVertices | ( | int | numverts | ) | [inline, virtual] |
Implements btStridingMeshInterface.
Reimplemented in btTriangleMesh.
Definition at line 123 of file btTriangleIndexVertexArray.h.
void btTriangleIndexVertexArray::setPremadeAabb | ( | const btVector3 & | aabbMin, | |
const btVector3 & | aabbMax | |||
) | const [virtual] |
Reimplemented from btStridingMeshInterface.
Definition at line 82 of file btTriangleIndexVertexArray.cpp.
virtual void btTriangleIndexVertexArray::unLockReadOnlyVertexBase | ( | int | subpart | ) | const [inline, virtual] |
Implements btStridingMeshInterface.
Definition at line 105 of file btTriangleIndexVertexArray.h.
virtual void btTriangleIndexVertexArray::unLockVertexBase | ( | int | subpart | ) | [inline, virtual] |
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
Implements btStridingMeshInterface.
Definition at line 103 of file btTriangleIndexVertexArray.h.
btVector3 btTriangleIndexVertexArray::m_aabbMax [mutable, protected] |
Definition at line 75 of file btTriangleIndexVertexArray.h.
btVector3 btTriangleIndexVertexArray::m_aabbMin [mutable, protected] |
Definition at line 74 of file btTriangleIndexVertexArray.h.
int btTriangleIndexVertexArray::m_hasAabb [mutable, protected] |
Definition at line 73 of file btTriangleIndexVertexArray.h.
Definition at line 71 of file btTriangleIndexVertexArray.h.
int btTriangleIndexVertexArray::m_pad[2] [protected] |
Definition at line 72 of file btTriangleIndexVertexArray.h.