18 #ifndef BT_MULTIMATERIAL_TRIANGLE_INDEX_VERTEX_ARRAY_H    19 #define BT_MULTIMATERIAL_TRIANGLE_INDEX_VERTEX_ARRAY_H    63         int numVertices,
btScalar* vertexBase,
int vertexStride,
    64         int numMaterials, 
unsigned char* materialBase, 
int materialStride,
    65         int* triangleMaterialsBase, 
int materialIndexStride);
    72         m_materials[m_materials.
size()-1].m_triangleType = triangleType;
    75     virtual void getLockedMaterialBase(
unsigned char **materialBase, 
int& numMaterials, 
PHY_ScalarType& materialType, 
int& materialStride,
    76         unsigned char ** triangleMaterialBase, 
int& numTriangles, 
int& triangleMaterialStride, 
PHY_ScalarType& triangleType ,
int subpart = 0);
    78     virtual void getLockedReadOnlyMaterialBase(
const unsigned char **materialBase, 
int& numMaterials, 
PHY_ScalarType& materialType, 
int& materialStride,
    79         const unsigned char ** triangleMaterialBase, 
int& numTriangles, 
int& triangleMaterialStride, 
PHY_ScalarType& triangleType, 
int subpart = 0);
    84 #endif //BT_MULTIMATERIAL_TRIANGLE_INDEX_VERTEX_ARRAY_H int m_numMaterials
m_materialBase ==========> 2 btScalar values make up one material, friction then restitution ...
int m_numTriangles
m_numTriangles <=========== This exists in the btIndexedMesh object for the same subpart, but since we're padding the structure, it can be reproduced at no real cost m_triangleMaterials =====> 1 integer value makes up one entry eg: m_triangleMaterials[1] = 5; // This will set triangle 2 to use material 5 
void push_back(const T &_Val)
btTriangleIndexVertexMaterialArray()
const unsigned char * m_triangleMaterialsBase
void addMaterialProperties(const btMaterialProperties &mat, PHY_ScalarType triangleType=PHY_INTEGER)
The btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing t...
PHY_ScalarType m_materialType
Teh btTriangleIndexVertexMaterialArray is built on TriangleIndexVertexArray The addition of a materia...
#define ATTRIBUTE_ALIGNED16(a)
MaterialArray m_materials
btAlignedObjectArray< btMaterialProperties > MaterialArray
int size() const
return the number of elements in the array 
PHY_ScalarType m_triangleType
m_triangleType <========== Automatically set in addMaterialProperties 
#define BT_DECLARE_ALIGNED_ALLOCATOR()
int m_triangleMaterialStride
const unsigned char * m_materialBase
virtual ~btTriangleIndexVertexMaterialArray()
This file was created by Alex Silverman. 
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
PHY_ScalarType
PHY_ScalarType enumerates possible scalar types.