Bullet Collision Detection & Physics Library: btTriangleIndexVertexMaterialArray Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Attributes | List of all members
btTriangleIndexVertexMaterialArray Class Reference

Teh btTriangleIndexVertexMaterialArray is built on TriangleIndexVertexArray The addition of a material array allows for the utilization of the partID and triangleIndex that are returned in the ContactAddedCallback. More...

`#include <btTriangleIndexVertexMaterialArray.h>`

Inheritance diagram for btTriangleIndexVertexMaterialArray:
[legend]
Collaboration diagram for btTriangleIndexVertexMaterialArray:
[legend]

## Public Member Functions
| BT_DECLARE_ALIGNED_ALLOCATOR ()
| btTriangleIndexVertexMaterialArray ()
| btTriangleIndexVertexMaterialArray (int numTriangles, int *triangleIndexBase, int triangleIndexStride, int numVertices, btScalar *vertexBase, int vertexStride, int numMaterials, unsigned char *materialBase, int materialStride, int *triangleMaterialsBase, int materialIndexStride)
| This file was created by Alex Silverman.
virtual | ~btTriangleIndexVertexMaterialArray ()
void | addMaterialProperties (const btMaterialProperties &mat, PHY_ScalarType triangleType=PHY_INTEGER)
virtual void | getLockedMaterialBase (unsigned char **materialBase, int &numMaterials, PHY_ScalarType &materialType, int &materialStride, unsigned char **triangleMaterialBase, int &numTriangles, int &triangleMaterialStride, PHY_ScalarType &triangleType, int subpart=0)
virtual void | getLockedReadOnlyMaterialBase (const unsigned char **materialBase, int &numMaterials, PHY_ScalarType &materialType, int &materialStride, const unsigned char **triangleMaterialBase, int &numTriangles, int &triangleMaterialStride, PHY_ScalarType &triangleType, int subpart=0)
Public Member Functions inherited from btTriangleIndexVertexArray
| 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)
| get read and write access to a subpart of a triangle mesh this subpart has a continuous array of vertices and indices in this way the mesh can be handled as chunks of memory with striding very similar to OpenGL vertexarray support make a call to unLockVertexBase when the read and write access is finished
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)
| 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
virtual void | unLockReadOnlyVertexBase (int subpart) const
virtual int | getNumSubParts () const
| getNumSubParts returns the number of separate subparts each subpart has a continuous array of vertices and indices
IndexedMeshArray & | getIndexedMeshArray ()
const IndexedMeshArray & | getIndexedMeshArray () const
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
Public Member Functions inherited from btStridingMeshInterface
| BT_DECLARE_ALIGNED_ALLOCATOR ()
| btStridingMeshInterface ()
virtual | ~btStridingMeshInterface ()
virtual void | InternalProcessAllTriangles (btInternalTriangleIndexCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const
void | calculateAabbBruteForce (btVector3 &aabbMin, btVector3 &aabbMax)
| brute force method to calculate aabb
virtual void | getLockedVertexIndexBase (unsigned char **vertexbase, int &numverts, PHY_ScalarType &type, int &stride, unsigned char **indexbase, int &indexstride, int &numfaces, PHY_ScalarType &indicestype, int subpart=0)=0
| get read and write access to a subpart of a triangle mesh this subpart has a continuous array of vertices and indices in this way the mesh can be handled as chunks of memory with striding very similar to OpenGL vertexarray support make a call to unLockVertexBase when the read and write access is finished
virtual void | getLockedReadOnlyVertexIndexBase (const unsigned char **vertexbase, int &numverts, PHY_ScalarType &type, int &stride, const unsigned char **indexbase, int &indexstride, int &numfaces, PHY_ScalarType &indicestype, int subpart=0) const =0
virtual void | unLockVertexBase (int subpart)=0
| 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
virtual void | unLockReadOnlyVertexBase (int subpart) const =0
virtual int | getNumSubParts () const =0
| getNumSubParts returns the number of separate subparts each subpart has a continuous array of vertices and indices
virtual void | preallocateVertices (int numverts)=0
virtual void | preallocateIndices (int numindices)=0
virtual bool | hasPremadeAabb () const
virtual void | setPremadeAabb (const btVector3 &aabbMin, const btVector3 &aabbMax) const
virtual void | getPremadeAabb (btVector3 *aabbMin, btVector3 *aabbMax) const
const btVector3 & | getScaling () const
void | setScaling (const btVector3 &scaling)
virtual int | calculateSerializeBufferSize () const
virtual const char * | serialize (void *dataBuffer, btSerializer *serializer) const
| fills the dataBuffer and returns the struct name (and 0 on failure)

## Protected Attributes
MaterialArray | m_materials
Protected Attributes inherited from btTriangleIndexVertexArray
IndexedMeshArray | m_indexedMeshes
int | m_pad [2]
int | m_hasAabb
btVector3 | m_aabbMin
btVector3 | m_aabbMax
Protected Attributes inherited from btStridingMeshInterface
btVector3 | m_scaling

## Detailed Description

Teh btTriangleIndexVertexMaterialArray is built on TriangleIndexVertexArray The addition of a material array allows for the utilization of the partID and triangleIndex that are returned in the ContactAddedCallback.

As with TriangleIndexVertexArray, no duplicate is made of the material data, so it is the users responsibility to maintain the array during the lifetime of the TriangleIndexVertexMaterialArray.

Definition at line 50 of file btTriangleIndexVertexMaterialArray.h.

## Constructor & Destructor Documentation

## ◆ btTriangleIndexVertexMaterialArray() [1/2]

btTriangleIndexVertexMaterialArray::btTriangleIndexVertexMaterialArray | ( |  | ) |
| inline

Definition at line 59 of file btTriangleIndexVertexMaterialArray.h.

## ◆ btTriangleIndexVertexMaterialArray() [2/2]

btTriangleIndexVertexMaterialArray::btTriangleIndexVertexMaterialArray | ( | int | numTriangles,
|  | int * | triangleIndexBase,
|  | int | triangleIndexStride,
|  | int | numVertices,
|  | btScalar * | vertexBase,
|  | int | vertexStride,
|  | int | numMaterials,
|  | unsigned char * | materialBase,
|  | int | materialStride,
|  | int * | triangleMaterialsBase,
|  | int | materialIndexStride
| ) |  |

This file was created by Alex Silverman.

Definition at line 20 of file btTriangleIndexVertexMaterialArray.cpp.

## ◆ ~btTriangleIndexVertexMaterialArray()

virtual btTriangleIndexVertexMaterialArray::~btTriangleIndexVertexMaterialArray | ( |  | ) |
| inlinevirtual

Definition at line 68 of file btTriangleIndexVertexMaterialArray.h.

## Member Function Documentation

## ◆ addMaterialProperties()

void btTriangleIndexVertexMaterialArray::addMaterialProperties | ( | const btMaterialProperties & | mat,
|  | PHY_ScalarType | triangleType = `PHY_INTEGER`
| ) |  |
| inline

Definition at line 70 of file btTriangleIndexVertexMaterialArray.h.

## ◆ BT_DECLARE_ALIGNED_ALLOCATOR()

btTriangleIndexVertexMaterialArray::BT_DECLARE_ALIGNED_ALLOCATOR | ( |  | ) |

## ◆ getLockedMaterialBase()

void btTriangleIndexVertexMaterialArray::getLockedMaterialBase | ( | unsigned char ** | materialBase,
|  | int & | numMaterials,
|  | PHY_ScalarType & | materialType,
|  | int & | materialStride,
|  | unsigned char ** | triangleMaterialBase,
|  | int & | numTriangles,
|  | int & | triangleMaterialStride,
|  | PHY_ScalarType & | triangleType,
|  | int | subpart = `0`
| ) |  |
| virtual

Definition at line 44 of file btTriangleIndexVertexMaterialArray.cpp.

## ◆ getLockedReadOnlyMaterialBase()

void btTriangleIndexVertexMaterialArray::getLockedReadOnlyMaterialBase | ( | const unsigned char ** | materialBase,
|  | int & | numMaterials,
|  | PHY_ScalarType & | materialType,
|  | int & | materialStride,
|  | const unsigned char ** | triangleMaterialBase,
|  | int & | numTriangles,
|  | int & | triangleMaterialStride,
|  | PHY_ScalarType & | triangleType,
|  | int | subpart = `0`
| ) |  |
| virtual

Definition at line 66 of file btTriangleIndexVertexMaterialArray.cpp.

## Member Data Documentation

## ◆ m_materials

MaterialArray btTriangleIndexVertexMaterialArray::m_materials
| protected

Definition at line 54 of file btTriangleIndexVertexMaterialArray.h.

The documentation for this class was generated from the following files:

- btTriangleIndexVertexMaterialArray.h
- btTriangleIndexVertexMaterialArray.cpp