public void Report(b2ContactVelocityConstraint[] constraints) { if (m_listener == null) { return; } b2ContactImpulse impulse = b2ContactImpulse.Create(); for (int i = 0; i < m_contactCount; ++i) { b2Contact c = m_contacts[i]; b2ContactVelocityConstraint vc = constraints[i]; impulse.count = vc.pointCount; for (int j = 0; j < vc.pointCount; ++j) { impulse.normalImpulses[j] = vc.points[j].normalImpulse; impulse.tangentImpulses[j] = vc.points[j].tangentImpulse; } m_listener.PostSolve(c, ref impulse); } }
public void Report(b2ContactConstraint[] constraints) { if (m_listener == null) { return; } //b2ContactImpulse impulse = b2ContactImpulse.Create(); var normals = _impulse.normalImpulses; var tangens = _impulse.tangentImpulses; for (int i = 0, count = m_contactCount; i < count; ++i) { b2Contact c = m_contacts[i]; var vc = constraints[i]; _impulse.count = vc.pointCount; for (int j = 0; j < vc.pointCount; ++j) { normals[j] = vc.points[j].normalImpulse; tangens[j] = vc.points[j].tangentImpulse; } m_listener.PostSolve(c, ref _impulse); } }