detach method

void detach()

Detach the joint from the bodies.

Implementation

void detach(){//bool isX ) {
  // if( isX ){
  //   body1!.jointLink.splice(body1!.jointLink.indexOf(b1Link ), 1 );
  //   body2!.jointLink.splice(body2!.jointLink.indexOf(b2Link ), 1 );
  // }
  // else {
    JointLink? prev = b1Link.prev;
    JointLink? next = b1Link.next;
    if(prev != null){ prev.next = next;}
    if(next != null){ next.prev = prev;}
    if(body1!.jointLink == b1Link){body1!.jointLink = next;}
    b1Link.prev = null;
    b1Link.next = null;
    b1Link.body = null;
    body1!.numJoints--;

    prev = b2Link.prev;
    next = b2Link.next;
    if(prev != null){ prev.next = next;}
    if(next != null){ next.prev = prev;}
    if(body2!.jointLink==b2Link) body2!.jointLink = next;
    b2Link.prev = null;
    b2Link.next = null;
    b2Link.body = null;
    body2!.numJoints--;
  //}
  b1Link.body = null;
  b2Link.body = null;
}