public void ApplyLinearImpulse(Vec2 impulse, Vec2 point)
{
if (m_type != BodyType.Dynamic)
{
return;
}
if (Awake == false)
{
Awake = true;
}
// Vec2 temp = tltemp.get();
// temp.set(impulse).mulLocal(m_invMass);
// m_linearVelocity.addLocal(temp);
//
// temp.set(point).subLocal(m_sweep.c);
// m_angularVelocity += m_invI * Vec2.cross(temp, impulse);
m_linearVelocity.X += impulse.X * InvMass;
m_linearVelocity.Y += impulse.Y * InvMass;
m_angularVelocity += InvI * ((point.X - Sweep.C.X) * impulse.Y - (point.Y - Sweep.C.Y) * impulse.X);
}