Blender V4.5
btTriangleIndexVertexArray.h File Reference

Go to the source code of this file.

Typedefs

typedef btAlignedObjectArray< btIndexedMesh > IndexedMeshArray

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
IndexedMeshArray & getIndexedMeshArray ()
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.

References getIndexedMeshArray().

Referenced by getIndexedMeshArray().

◆ 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 getNumSubParts(), and btAlignedObjectArray< T >::size().

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

◆ getPremadeAabb()

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

Definition at line 74 of file btStridingMeshInterface.h.

References btVector3, and getPremadeAabb().

Referenced by getPremadeAabb().

◆ hasPremadeAabb()

virtual bool hasPremadeAabb ( ) const
virtual

Definition at line 68 of file btStridingMeshInterface.h.

References hasPremadeAabb().

Referenced by hasPremadeAabb().

◆ preallocateIndices()

virtual void preallocateIndices ( int numindices)
virtual

Definition at line 121 of file btTriangleIndexVertexArray.h.

References preallocateIndices().

Referenced by preallocateIndices().

◆ preallocateVertices()

virtual void preallocateVertices ( int numverts)
virtual

Definition at line 120 of file btTriangleIndexVertexArray.h.

References preallocateVertices().

Referenced by preallocateVertices().

◆ setPremadeAabb()

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

Definition at line 69 of file btStridingMeshInterface.h.

References btVector3, and setPremadeAabb().

Referenced by setPremadeAabb().

◆ unLockReadOnlyVertexBase()

virtual void unLockReadOnlyVertexBase ( int subpart) const
virtual

◆ 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.

References unLockVertexBase().

Referenced by unLockVertexBase().

◆ ~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.