16#ifndef BT_TRIANGLE_INDEX_VERTEX_ARRAY_H
17#define BT_TRIANGLE_INDEX_VERTEX_ARRAY_H
50#ifdef BT_USE_DOUBLE_PRECISION
90 m_indexedMeshes[m_indexedMeshes.
size() - 1].m_indexType = indexType;
93 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);
95 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;
107 return (
int)m_indexedMeshes.
size();
112 return m_indexedMeshes;
117 return m_indexedMeshes;
123 virtual bool hasPremadeAabb()
const;
124 virtual void setPremadeAabb(
const btVector3& aabbMin,
const btVector3& aabbMax)
const;
PHY_ScalarType
PHY_ScalarType enumerates possible scalar types.
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
btAlignedObjectArray< btIndexedMesh > IndexedMeshArray
int size() const
return the number of elements in the array
void push_back(const T &_Val)
The btStridingMeshInterface is the interface class for high performance generic access to triangle me...
The btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing t...
virtual void unLockVertexBase(int subpart)
unLockVertexBase finishes the access to a subpart of the triangle mesh make a call to unLockVertexBas...
void addIndexedMesh(const btIndexedMesh &mesh, PHY_ScalarType indexType=PHY_INTEGER)
virtual void unLockReadOnlyVertexBase(int subpart) const
virtual int getNumSubParts() const
getNumSubParts returns the number of separate subparts each subpart has a continuous array of vertice...
IndexedMeshArray & getIndexedMeshArray()
virtual void preallocateIndices(int numindices)
const IndexedMeshArray & getIndexedMeshArray() const
IndexedMeshArray m_indexedMeshes
BT_DECLARE_ALIGNED_ALLOCATOR()
virtual void preallocateVertices(int numverts)
btTriangleIndexVertexArray()
btVector3 can be used to represent 3D points and vectors.
The btIndexedMesh indexes a single vertex and index array.
PHY_ScalarType m_indexType
int m_triangleIndexStride
const unsigned char * m_vertexBase
BT_DECLARE_ALIGNED_ALLOCATOR()
const unsigned char * m_triangleIndexBase
PHY_ScalarType m_vertexType