void ContactResolver::ResolveContacts() { if(!m_contacts.empty()) { InitContacts(); ResolvePosition(); ResolveVelocity(); } }
void ParticleContact::ContactResolve(XPhysics *_p1, XPhysics *_p2, float _restitution, float penetration, XMVECTOR _contactNormal) { this->m_pParticle1 = _p1; this->m_pParticle2 = _p2; this->m_restitution = _restitution; this->m_contactNormal = _contactNormal; ResolveVelocity(); ResolvePenetration(); }
void ParticleContact::Resolve(float elapsedTime) { ResolveVelocity(elapsedTime); ResolveInterpenetraton(elapsedTime); }