1 #ifndef GIM_CONTACT_H_INCLUDED 2 #define GIM_CONTACT_H_INCLUDED 43 #define NORMAL_CONTACT_AVERAGE 1 44 #define CONTACT_DIFF_EPSILON 0.00001f 66 m_point(contact.m_point),
67 m_normal(contact.m_normal),
68 m_depth(contact.m_depth),
69 m_feature1(contact.m_feature1),
70 m_feature2(contact.m_feature2)
93 (
GINT)(m_point[0]*1000.0f+1.0f),
94 (
GINT)(m_point[1]*1333.0f),
95 (
GINT)(m_point[2]*2133.0f+3.0f)};
100 _hash += (*_uitmp)<<4;
102 _hash += (*_uitmp)<<8;
109 for(
GUINT i=0;i<normal_count;i++)
111 vec_sum += normals[i];
119 m_normal = vec_sum*vec_sum_len;
160 void merge_contacts(
const gim_contact_array & contacts,
bool normal_contact_average =
true);
164 #endif // GIM_CONTACT_H_INCLUDED
#define GIM_INV_SQRT(va, isva)
btScalar length2() const
Return the length of the vector squared.
#define SIMD_FORCE_INLINE
Very simple array container with fast access and simd memory.
btVector3 can be used to represent 3D points and vectors.