public void applyImpulse() {
Vector2f dv = new Vector2f(body2.getVelocity());
dv.add(MathUtil.cross(body2.getAngularVelocity(),r2));
dv.sub(body1.getVelocity());
dv.sub(MathUtil.cross(body1.getAngularVelocity(),r1));
dv.scale(-1);
dv.add(bias); // TODO: is this baumgarte stabilization?
if (dv.lengthSquared() == 0) {
return;
}