| Bullet Collision Detection & Physics Library
    | 
 
 
 
Go to the documentation of this file.
   16 #ifndef _BT_TRIANGLE_INFO_MAP_H 
   17 #define _BT_TRIANGLE_INFO_MAP_H 
   23 #define TRI_INFO_V0V1_CONVEX 1 
   24 #define TRI_INFO_V1V2_CONVEX 2 
   25 #define TRI_INFO_V2V0_CONVEX 4 
   27 #define TRI_INFO_V0V1_SWAP_NORMALB 8 
   28 #define TRI_INFO_V1V2_SWAP_NORMALB 16 
   29 #define TRI_INFO_V2V0_SWAP_NORMALB 32 
  135                 int sz = 
sizeof(int);
 
  138                 int* memPtr = (
int*)chunk->
m_oldPtr;
 
  139                 for (
int i = 0; i < numElem; i++, memPtr++)
 
  150                 int sz = 
sizeof(int);
 
  153                 int* memPtr = (
int*)chunk->
m_oldPtr;
 
  154                 for (
int i = 0; i < numElem; i++, memPtr++)
 
  169                 for (
int i = 0; i < numElem; i++, memPtr++)
 
  183                 int sz = 
sizeof(int);
 
  186                 int* memPtr = (
int*)chunk->
m_oldPtr;
 
  187                 for (
int i = 0; i < numElem; i++, memPtr++)
 
  200         return "btTriangleInfoMapData";
 
  238 #endif  //_BT_TRIANGLE_INFO_MAP_H 
  
virtual int calculateSerializeBufferSize() const
btAlignedObjectArray< int > m_hashTable
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
virtual void * getUniquePointer(void *oldPtr)=0
btHashMap< btHashInt, btTriangleInfo > btInternalTriangleInfoMap
btScalar m_zeroAreaThreshold
float m_zeroAreaThreshold
void deSerialize(struct btTriangleInfoMapData &data)
fills the dataBuffer and returns the struct name (and 0 on failure)
btScalar m_edgeDistanceThreshold
used to compute connectivity: if the distance between two vertices is smaller than m_equalVertexThres...
btAlignedObjectArray< Value > m_valueArray
The btHashMap template class implements a generic and lightweight hashmap.
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
float m_edgeDistanceThreshold
void resize(int newsize, const T &fillData=T())
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this informat...
btTriangleInfoData * m_valueArrayPtr
btAlignedObjectArray< Key > m_keyArray
virtual void finalizeChunk(btChunk *chunk, const char *structType, int chunkCode, void *oldPtr)=0
The btTriangleInfo structure stores information to adjust collision normals to avoid collisions again...
float m_equalVertexThreshold
btScalar m_maxEdgeAngleThreshold
used to determine edge contacts: if the closest distance between a contact point and an edge is small...
#define SIMD_FORCE_INLINE
those fields have to be float and not btScalar for the serialization to work properly
btAlignedObjectArray< int > m_next
btScalar m_planarEpsilon
used to determine if an edge or contact normal is convex, using the dot product
virtual ~btTriangleInfoMap()
btScalar m_equalVertexThreshold
used to determine if a triangle edge is planar with zero angle
btTriangleInfoMap()
used to determine if a triangle is degenerate (length squared of cross product of 2 triangle edges < ...
virtual btChunk * allocate(size_t size, int numElements)=0
int size() const
return the number of elements in the array