1 #ifndef BT_CONTACT_H_INCLUDED
2 #define BT_CONTACT_H_INCLUDED
36 #define NORMAL_CONTACT_AVERAGE 1
38 #define CONTACT_DIFF_EPSILON 0.00001f
57 m_point(contact.m_point),
58 m_normal(contact.m_normal),
59 m_depth(contact.m_depth),
60 m_feature1(contact.m_feature1),
61 m_feature2(contact.m_feature2)
66 btScalar depth,
int feature1,
int feature2):
79 (int)(m_point[0]*1000.0f+1.0f),
80 (int)(m_point[1]*1333.0f),
81 (int)(m_point[2]*2133.0f+3.0f)};
83 unsigned int *_uitmp = (
unsigned int *)(&_coords[0]);
86 _hash += (*_uitmp)<<4;
88 _hash += (*_uitmp)<<8;
95 for(
int i=0;i<normal_count;i++)
97 vec_sum += normals[i];
105 m_normal = vec_sum/
btSqrt(vec_sum_len);
121 btScalar depth,
int feature1,
int feature2)
128 int feature1,
int feature2)
145 #endif // GIM_CONTACT_H_INCLUDED
void push_back(const GIM_CONTACT &_Val)
The btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods It...
btScalar btSqrt(btScalar y)
#define SIMD_FORCE_INLINE
btVector3 can be used to represent 3D points and vectors.
btScalar length2() const
Return the length of the vector squared.
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...