internal void Advance(float t)
{
// Advance to the new safe time. This doesn't sync the broad-phase.
Sweep.Advance(t);
Sweep.C.Set(Sweep.C0);
Sweep.A = Sweep.A0;
Xf.Q.Set(Sweep.A);
// m_xf.position = m_sweep.c - Mul(m_xf.R, m_sweep.localCenter);
Rot.MulToOutUnsafe(Xf.Q, Sweep.LocalCenter, Xf.P);
Xf.P.MulLocal(-1).AddLocal(Sweep.C);
}