| Bullet Collision Detection & Physics Library
    | 
The btStridingMeshInterface is the interface class for high performance generic access to triangle meshes, used in combination with btBvhTriangleMeshShape and some other collision shapes. More...
#include <btStridingMeshInterface.h>


| Public Member Functions | |
| 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... | |
| virtual void | getLockedVertexIndexBase (unsigned char **vertexbase, int &numverts, PHY_ScalarType &type, int &stride, unsigned char **indexbase, int &indexstride, int &numfaces, PHY_ScalarType &indicestype, int subpart=0)=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 &stride, const unsigned char **indexbase, int &indexstride, int &numfaces, PHY_ScalarType &indicestype, int subpart=0) const =0 | 
| virtual void | unLockVertexBase (int subpart)=0 | 
| 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 =0 | 
| virtual int | getNumSubParts () const =0 | 
| getNumSubParts returns the number of seperate subparts each subpart has a continuous array of vertices and indices  More... | |
| virtual void | preallocateVertices (int numverts)=0 | 
| virtual void | preallocateIndices (int numindices)=0 | 
| virtual bool | hasPremadeAabb () const | 
| virtual void | setPremadeAabb (const btVector3 &aabbMin, const btVector3 &aabbMax) const | 
| virtual void | getPremadeAabb (btVector3 *aabbMin, btVector3 *aabbMax) const | 
| 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... | |
| Protected Attributes | |
| btVector3 | m_scaling | 
The btStridingMeshInterface is the interface class for high performance generic access to triangle meshes, used in combination with btBvhTriangleMeshShape and some other collision shapes.
Using index striding of 3*sizeof(integer) it can use triangle arrays, using index striding of 1*sizeof(integer) it can handle triangle strips. It allows for sharing graphics and collision meshes. Also it provides locking/unlocking of graphics meshes that are in gpu memory.
Definition at line 26 of file btStridingMeshInterface.h.
| 
 | inline | 
Definition at line 35 of file btStridingMeshInterface.h.
| 
 | virtual | 
Definition at line 19 of file btStridingMeshInterface.cpp.
| btStridingMeshInterface::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) | 
brute force method to calculate aabb
Definition at line 173 of file btStridingMeshInterface.cpp.
| 
 | inlinevirtual | 
Definition at line 148 of file btStridingMeshInterface.h.
| 
 | pure virtual | 
Implemented in btTriangleIndexVertexArray.
| 
 | pure 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
Implemented in btTriangleIndexVertexArray.
| 
 | pure virtual | 
getNumSubParts returns the number of seperate subparts each subpart has a continuous array of vertices and indices
Implemented in btTriangleIndexVertexArray.
| 
 | inlinevirtual | 
Reimplemented in btTriangleIndexVertexArray.
Definition at line 74 of file btStridingMeshInterface.h.
| 
 | inline | 
Definition at line 80 of file btStridingMeshInterface.h.
| 
 | inlinevirtual | 
Reimplemented in btTriangleIndexVertexArray.
Definition at line 68 of file btStridingMeshInterface.h.
| 
 | virtual | 
if the number of parts is big, the performance might drop due to the innerloop switch on indextype
unlike that developers want to pass in double-precision meshes in single-precision Bullet build so disable this feature by default see patch http://code.google.com/p/bullet/issues/detail?id=213
Definition at line 23 of file btStridingMeshInterface.cpp.
| 
 | pure virtual | 
Implemented in btTriangleIndexVertexArray, and btTriangleMesh.
| 
 | pure virtual | 
Implemented in btTriangleIndexVertexArray, and btTriangleMesh.
| 
 | virtual | 
fills the dataBuffer and returns the struct name (and 0 on failure)
if the number of parts is big, the performance might drop due to the innerloop switch on indextype
Definition at line 211 of file btStridingMeshInterface.cpp.
| 
 | inlinevirtual | 
Reimplemented in btTriangleIndexVertexArray.
Definition at line 69 of file btStridingMeshInterface.h.
| 
 | inline | 
Definition at line 84 of file btStridingMeshInterface.h.
| 
 | pure virtual | 
Implemented in btTriangleIndexVertexArray.
| 
 | pure 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
Implemented in btTriangleIndexVertexArray.
| 
 | protected | 
Definition at line 30 of file btStridingMeshInterface.h.
 1.8.16
 1.8.16