btStridingMeshInterface Class Reference
#include <btStridingMeshInterface.h>
List of all members.
Public Member Functions |
| btStridingMeshInterface () |
void | calculateAabbBruteForce (btVector3 &aabbMin, btVector3 &aabbMax) |
| brute force method to calculate aabb
|
virtual int | calculateSerializeBufferSize () const |
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 | 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 |
virtual int | getNumSubParts () const =0 |
virtual void | getPremadeAabb (btVector3 *aabbMin, btVector3 *aabbMax) const |
const btVector3 & | getScaling () const |
virtual bool | hasPremadeAabb () const |
virtual void | InternalProcessAllTriangles (btInternalTriangleIndexCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const |
virtual void | preallocateIndices (int numindices)=0 |
virtual void | preallocateVertices (int numverts)=0 |
virtual const char * | serialize (void *dataBuffer, btSerializer *serializer) const |
| fills the dataBuffer and returns the struct name (and 0 on failure)
|
virtual void | setPremadeAabb (const btVector3 &aabbMin, const btVector3 &aabbMax) const |
void | setScaling (const btVector3 &scaling) |
virtual void | unLockReadOnlyVertexBase (int subpart) const =0 |
virtual void | unLockVertexBase (int subpart)=0 |
virtual | ~btStridingMeshInterface () |
Protected Attributes |
btVector3 | m_scaling |
Detailed Description
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 30 of file btStridingMeshInterface.h.
Constructor & Destructor Documentation
btStridingMeshInterface::btStridingMeshInterface |
( |
|
) |
[inline] |
virtual btStridingMeshInterface::~btStridingMeshInterface |
( |
|
) |
[virtual] |
Member Function Documentation
void btStridingMeshInterface::calculateAabbBruteForce |
( |
btVector3 & |
aabbMin, |
|
|
btVector3 & |
aabbMax | |
|
) |
| | |
brute force method to calculate aabb
SIMD_FORCE_INLINE int btStridingMeshInterface::calculateSerializeBufferSize |
( |
|
) |
const [virtual] |
virtual void btStridingMeshInterface::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 [pure virtual] |
virtual void btStridingMeshInterface::getLockedVertexIndexBase |
( |
unsigned char ** |
vertexbase, |
|
|
int & |
numverts, |
|
|
PHY_ScalarType & |
type, |
|
|
int & |
stride, |
|
|
unsigned char ** |
indexbase, |
|
|
int & |
indexstride, |
|
|
int & |
numfaces, |
|
|
PHY_ScalarType & |
indicestype, |
|
|
int |
subpart = 0 | |
|
) |
| | [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
virtual int btStridingMeshInterface::getNumSubParts |
( |
|
) |
const [pure virtual] |
getNumSubParts returns the number of seperate subparts each subpart has a continuous array of vertices and indices
virtual void btStridingMeshInterface::getPremadeAabb |
( |
btVector3 * |
aabbMin, |
|
|
btVector3 * |
aabbMax | |
|
) |
| | const [inline, virtual] |
const btVector3& btStridingMeshInterface::getScaling |
( |
|
) |
const [inline] |
virtual bool btStridingMeshInterface::hasPremadeAabb |
( |
|
) |
const [inline, virtual] |
virtual void btStridingMeshInterface::InternalProcessAllTriangles |
( |
btInternalTriangleIndexCallback * |
callback, |
|
|
const btVector3 & |
aabbMin, |
|
|
const btVector3 & |
aabbMax | |
|
) |
| | const [virtual] |
virtual void btStridingMeshInterface::preallocateIndices |
( |
int |
numindices |
) |
[pure virtual] |
virtual void btStridingMeshInterface::preallocateVertices |
( |
int |
numverts |
) |
[pure virtual] |
virtual const char* btStridingMeshInterface::serialize |
( |
void * |
dataBuffer, |
|
|
btSerializer * |
serializer | |
|
) |
| | const [virtual] |
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual void btStridingMeshInterface::setPremadeAabb |
( |
const btVector3 & |
aabbMin, |
|
|
const btVector3 & |
aabbMax | |
|
) |
| | const [inline, virtual] |
void btStridingMeshInterface::setScaling |
( |
const btVector3 & |
scaling |
) |
[inline] |
virtual void btStridingMeshInterface::unLockReadOnlyVertexBase |
( |
int |
subpart |
) |
const [pure virtual] |
virtual void btStridingMeshInterface::unLockVertexBase |
( |
int |
subpart |
) |
[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
Member Data Documentation
The documentation for this class was generated from the following file: