void Contact::Solve() { if (m_t < 0.0f) ResolveOverlap(); ResolveCollision(); }
void Contact::ResolveOverlap() { if (!m_pxBodies[0] || !m_pxBodies[1]) return; for(int i = 0; i < m_iNumContacts; i ++) { ResolveOverlap(m_xContacts[i][0], m_xContacts[i][1]); } }
void DContact::Solve() { // since we don't support time-to-collision, this will always be true if(t<0.0f) { // resolve overlaps for(u32 i=0;i<numDContacts;++i) ResolveOverlap(DContacts[i][0], DContacts[i][1]); } // resolve collisions for(u32 i=0;i<numDContacts;++i) ResolveCollision(DContacts[i][0], DContacts[i][1]); };