preSolve method

  1. @override
void preSolve(
  1. double timeStep,
  2. double invTimeStep
)
override

Prepare for solving the constraint

Implementation

@override
void preSolve(double timeStep,double invTimeStep ) {
  updateAnchorPoints();

  ax1..setFrom(localAxis1 )..applyMatrix3Transpose(body1!.rotation );
  ax2..setFrom(localAxis2 )..applyMatrix3Transpose(body2!.rotation );

  // normal tangent binormal

  nor..setValues(
    ax1.x*body2!.inverseMass + ax2.x*body1!.inverseMass,
    ax1.y*body2!.inverseMass + ax2.y*body1!.inverseMass,
    ax1.z*body2!.inverseMass + ax2.z*body1!.inverseMass
  )..normalize();
  tan.tangent(nor).normalize();
  bin.cross2(nor, tan);

  // preSolve

  ac.preSolve( timeStep, invTimeStep );
  t3.preSolve( timeStep, invTimeStep );
}