1 #ifndef GIM_CONTACT_H_INCLUDED 2 #define GIM_CONTACT_H_INCLUDED 43 #ifndef NORMAL_CONTACT_AVERAGE 44 #define NORMAL_CONTACT_AVERAGE 1 47 #ifndef CONTACT_DIFF_EPSILON 48 #define CONTACT_DIFF_EPSILON 0.00001f 51 #ifndef BT_CONTACT_H_STRUCTS_INCLUDED 73 m_point(contact.m_point),
74 m_normal(contact.m_normal),
75 m_depth(contact.m_depth),
76 m_feature1(contact.m_feature1),
77 m_feature2(contact.m_feature2)
100 (
GINT)(m_point[0]*1000.0f+1.0f),
101 (
GINT)(m_point[1]*1333.0f),
102 (
GINT)(m_point[2]*2133.0f+3.0f)};
107 _hash += (*_uitmp)<<4;
109 _hash += (*_uitmp)<<8;
116 for(
GUINT i=0;i<normal_count;i++)
118 vec_sum += normals[i];
126 m_normal = vec_sum*vec_sum_len;
168 void merge_contacts(
const gim_contact_array & contacts,
bool normal_contact_average =
true);
172 #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.