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

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.