Blender V5.0
btTriangleIndexVertexArray.h File Reference

Go to the source code of this file.

Typedefs

typedef btAlignedObjectArray< btIndexedMeshIndexedMeshArray

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)
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)
virtual void unLockReadOnlyVertexBase (int subpart) const
virtual int getNumSubParts () const
IndexedMeshArraygetIndexedMeshArray ()
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

Variables

 btIndexedMesh
int m_numTriangles
const unsigned char * m_triangleIndexBase
int m_triangleIndexStride
int m_numVertices
const unsigned char * m_vertexBase
int m_vertexStride
PHY_ScalarType m_indexType
PHY_ScalarType m_vertexType
btTriangleIndexVertexArray __pad0__
int m_pad [2]
int m_hasAabb
btVector3 m_aabbMin
btVector3 m_aabbMax

Typedef Documentation

◆ IndexedMeshArray

Function Documentation

◆ addIndexedMesh()

◆ BT_DECLARE_ALIGNED_ALLOCATOR()

BT_DECLARE_ALIGNED_ALLOCATOR ( )

◆ btTriangleIndexVertexArray() [1/2]

◆ btTriangleIndexVertexArray() [2/2]

btTriangleIndexVertexArray::btTriangleIndexVertexArray ( int numTriangles,
int * triangleIndexBase,
int triangleIndexStride,
int numVertices,
btScalar * vertexBase,
int vertexStride )

◆ getIndexedMeshArray()

const IndexedMeshArray & getIndexedMeshArray ( )

Definition at line 110 of file btTriangleIndexVertexArray.h.

◆ getLockedReadOnlyVertexIndexBase()

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

◆ getLockedVertexIndexBase()

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 )
virtual

◆ getNumSubParts()

virtual int getNumSubParts ( ) const
virtual

getNumSubParts returns the number of separate subparts each subpart has a continuous array of vertices and indices

Definition at line 105 of file btTriangleIndexVertexArray.h.

References btAlignedObjectArray< T >::size().

Referenced by getLockedMaterialBase(), getLockedVertexIndexBase(), and InternalProcessAllTriangles().

◆ getPremadeAabb()

virtual void getPremadeAabb ( btVector3 * aabbMin,
btVector3 * aabbMax ) const
virtual

Definition at line 74 of file btStridingMeshInterface.h.

References btVector3.

◆ hasPremadeAabb()

virtual bool hasPremadeAabb ( ) const
virtual

Definition at line 68 of file btStridingMeshInterface.h.

◆ preallocateIndices()

virtual void preallocateIndices ( int numindices)
virtual

Definition at line 121 of file btTriangleIndexVertexArray.h.

◆ preallocateVertices()

virtual void preallocateVertices ( int numverts)
virtual

Definition at line 120 of file btTriangleIndexVertexArray.h.

◆ setPremadeAabb()

virtual void setPremadeAabb ( const btVector3 & aabbMin,
const btVector3 & aabbMax ) const
virtual

Definition at line 69 of file btStridingMeshInterface.h.

References btVector3.

◆ unLockReadOnlyVertexBase()

virtual void unLockReadOnlyVertexBase ( int subpart) const
virtual

Definition at line 101 of file btTriangleIndexVertexArray.h.

Referenced by InternalProcessAllTriangles().

◆ unLockVertexBase()

virtual void unLockVertexBase ( int subpart)
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

Definition at line 99 of file btTriangleIndexVertexArray.h.

◆ ~btTriangleIndexVertexArray()

btTriangleIndexVertexArray::~btTriangleIndexVertexArray ( )
virtual

Definition at line 33 of file btTriangleIndexVertexArray.cpp.

Variable Documentation

◆ __pad0__

The btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing triangle/index arrays. Additional meshes can be added using addIndexedMesh No duplicate 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 66 of file btTriangleIndexVertexArray.h.

◆ btIndexedMesh

btIndexedMesh
Initial value:
{
#define BT_DECLARE_ALIGNED_ALLOCATOR()
Definition btScalar.h:425

The btIndexedMesh indexes a single vertex and index array. Multiple btIndexedMesh objects can be passed into a btTriangleIndexVertexArray using addIndexedMesh. Instead of the number of indices, we pass the number of triangles.

Definition at line 26 of file btTriangleIndexVertexArray.h.

Referenced by addIndexedMesh(), btTriangleIndexVertexArray(), btTriangleMesh::btTriangleMesh(), btCollisionWorldImporter::createMeshInterface(), getLockedReadOnlyVertexIndexBase(), and getLockedVertexIndexBase().

◆ m_aabbMax

btVector3 m_aabbMax
mutable

Definition at line 73 of file btTriangleIndexVertexArray.h.

◆ m_aabbMin

btVector3 m_aabbMin
mutable

Definition at line 72 of file btTriangleIndexVertexArray.h.

◆ m_hasAabb

int m_hasAabb
mutable

◆ m_indexType

PHY_ScalarType m_indexType

Definition at line 41 of file btTriangleIndexVertexArray.h.

◆ m_numTriangles

int m_numTriangles

Definition at line 30 of file btTriangleIndexVertexArray.h.

◆ m_numVertices

◆ m_pad

int m_pad[2]

Definition at line 70 of file btTriangleIndexVertexArray.h.

◆ m_triangleIndexBase

const unsigned char* m_triangleIndexBase

Definition at line 31 of file btTriangleIndexVertexArray.h.

◆ m_triangleIndexStride

int m_triangleIndexStride

Definition at line 33 of file btTriangleIndexVertexArray.h.

◆ m_vertexBase

const unsigned char* m_vertexBase

Definition at line 35 of file btTriangleIndexVertexArray.h.

◆ m_vertexStride

int m_vertexStride

Definition at line 37 of file btTriangleIndexVertexArray.h.

◆ m_vertexType

PHY_ScalarType m_vertexType

Definition at line 46 of file btTriangleIndexVertexArray.h.