16 #ifndef _BT_TRIANGLE_INFO_MAP_H    17 #define _BT_TRIANGLE_INFO_MAP_H    25 #define TRI_INFO_V0V1_CONVEX 1    26 #define TRI_INFO_V1V2_CONVEX 2    27 #define TRI_INFO_V2V0_CONVEX 4    29 #define TRI_INFO_V0V1_SWAP_NORMALB 8    30 #define TRI_INFO_V1V2_SWAP_NORMALB 16    31 #define TRI_INFO_V2V0_SWAP_NORMALB 32    70                 m_convexEpsilon = 0.00f;
    71                 m_planarEpsilon = 0.0001f;
    73                 m_edgeDistanceThreshold = 
btScalar(0.1);
    79         virtual int     calculateSerializeBufferSize() 
const;
    82         virtual const char*     serialize(
void* dataBuffer, 
btSerializer* serializer) 
const;
   138                 int sz = 
sizeof(int);
   141                 int* memPtr = (
int*)chunk->
m_oldPtr;
   142                 for (
int i=0;i<numElem;i++,memPtr++)
   144                         *memPtr = m_hashTable[i];
   154                 int sz = 
sizeof(int);
   157                 int* memPtr = (
int*)chunk->
m_oldPtr;
   158                 for (
int i=0;i<numElem;i++,memPtr++)
   173                 for (
int i=0;i<numElem;i++,memPtr++)
   178                         memPtr->
m_flags = m_valueArray[i].m_flags;
   187                 int sz = 
sizeof(int);
   190                 int* memPtr = (
int*)chunk->
m_oldPtr;
   191                 for (
int i=0;i<numElem;i++,memPtr++)
   193                         *memPtr = m_keyArray[i].getUid1();
   198         return "btTriangleInfoMapData";
   241 #endif //_BT_TRIANGLE_INFO_MAP_H 
btScalar m_zeroAreaThreshold
btScalar m_maxEdgeAngleThreshold
used to determine edge contacts: if the closest distance between a contact point and an edge is small...
virtual void * getUniquePointer(void *oldPtr)=0
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure) 
#define SIMD_FORCE_INLINE
btScalar m_equalVertexThreshold
used to determine if a triangle edge is planar with zero angle 
those fields have to be float and not btScalar for the serialization to work properly ...
The btHashMap template class implements a generic and lightweight hashmap. 
float m_equalVertexThreshold
btScalar m_edgeDistanceThreshold
used to compute connectivity: if the distance between two vertices is smaller than m_equalVertexThres...
btHashMap< btHashInt, btTriangleInfo > btInternalTriangleInfoMap
The btTriangleInfo structure stores information to adjust collision normals to avoid collisions again...
virtual void finalizeChunk(btChunk *chunk, const char *structType, int chunkCode, void *oldPtr)=0
float m_edgeDistanceThreshold
btTriangleInfoMap()
used to determine if a triangle is degenerate (length squared of cross product of 2 triangle edges < ...
void deSerialize(struct btTriangleInfoMapData &data)
fills the dataBuffer and returns the struct name (and 0 on failure) 
virtual ~btTriangleInfoMap()
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this informat...
btTriangleInfoData * m_valueArrayPtr
virtual int calculateSerializeBufferSize() const
float m_zeroAreaThreshold
virtual btChunk * allocate(size_t size, int numElements)=0
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btScalar m_planarEpsilon
used to determine if an edge or contact normal is convex, using the dot product