Public Member Functions | Protected Attributes

btTriangleIndexVertexArray Class Reference

The btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing triangle/index arrays. More...

#include <btTriangleIndexVertexArray.h>

Inheritance diagram for btTriangleIndexVertexArray:
Inheritance graph
[legend]
Collaboration diagram for btTriangleIndexVertexArray:
Collaboration graph
[legend]

List of all members.

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
IndexedMeshArraygetIndexedMeshArray ()
const IndexedMeshArraygetIndexedMeshArray () 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

Detailed Description

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

Definition at line 75 of file btTriangleIndexVertexArray.h.

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.

Definition at line 72 of file btTriangleIndexVertexArray.h.


The documentation for this class was generated from the following files: