Blender  V3.3
Typedefs | Functions | Variables
btTriangleIndexVertexArray.h File Reference
#include "btStridingMeshInterface.h"
#include "LinearMath/btAlignedObjectArray.h"
#include "LinearMath/btScalar.h"

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

Definition at line 59 of file btTriangleIndexVertexArray.h.

Function Documentation

◆ addIndexedMesh()

void addIndexedMesh ( const btIndexedMesh &  mesh,
PHY_ScalarType  indexType = PHY_INTEGER 
)

◆ BT_DECLARE_ALIGNED_ALLOCATOR()

BT_DECLARE_ALIGNED_ALLOCATOR ( )

◆ btTriangleIndexVertexArray() [1/2]

btTriangleIndexVertexArray ( )

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

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

References void.

◆ preallocateVertices()

virtual void preallocateVertices ( int  numverts)
virtual

Definition at line 120 of file btTriangleIndexVertexArray.h.

References void.

◆ setPremadeAabb()

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

Definition at line 69 of file btStridingMeshInterface.h.

References void.

◆ unLockReadOnlyVertexBase()

virtual void unLockReadOnlyVertexBase ( int  subpart) const
virtual

Definition at line 101 of file btTriangleIndexVertexArray.h.

References void.

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.

References void.

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

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

Definition at line 71 of file btTriangleIndexVertexArray.h.

◆ 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

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