public override void ExclusiveUpdate()
{
//****** WARM STARTING ******//
//Apply accumulated impulse
if (connectionA.isDynamic)
{
var impulse = new Vector3();
if (minIsActive)
{
Vector3.Multiply(ref jacobianMinA, accumulatedImpulse.X, out impulse);
}
if (maxIsActive)
{
Vector3 temp;
Vector3.Multiply(ref jacobianMaxA, accumulatedImpulse.Y, out temp);
Vector3.Add(ref impulse, ref temp, out impulse);
}
connectionA.ApplyAngularImpulse(ref impulse);
}
if (connectionB.isDynamic)
{
var impulse = new Vector3();
if (minIsActive)
{
Vector3.Multiply(ref jacobianMinB, accumulatedImpulse.X, out impulse);
}
if (maxIsActive)
{
Vector3 temp;
Vector3.Multiply(ref jacobianMaxB, accumulatedImpulse.Y, out temp);
Vector3.Add(ref impulse, ref temp, out impulse);
}
connectionB.ApplyAngularImpulse(ref impulse);
}
}