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)
#define SIMD_FORCE_INLINE
Very simple array container with fast access and simd memory.
btVector3 can be used to represent 3D points and vectors.
btScalar length2() const
Return the length of the vector squared.