detach method

void detach()

Implementation

void detach(){
  ContactLink? prev = s1Link.prev;
  ContactLink? next = s1Link.next;
  if(prev!=null)prev.next=next;
  if(next!=null)next.prev=prev;
  if(shape1!.contactLink==s1Link)shape1!.contactLink=next;
  s1Link.prev=null;
  s1Link.next=null;
  s1Link.shape=null;
  s1Link.body=null;
  shape1!.numContacts--;

  prev=s2Link.prev;
  next=s2Link.next;
  if(prev!=null)prev.next=next;
  if(next!=null)next.prev=prev;
  if(shape2!.contactLink==s2Link)shape2!.contactLink=next;
  s2Link.prev=null;
  s2Link.next=null;
  s2Link.shape=null;
  s2Link.body=null;
  shape2!.numContacts--;

  prev=b1Link.prev;
  next=b1Link.next;
  if(prev!=null)prev.next=next;
  if(next!=null)next.prev=prev;
  if(body1!.contactLink==b1Link)body1!.contactLink=next;
  b1Link.prev=null;
  b1Link.next=null;
  b1Link.shape=null;
  b1Link.body=null;
  body1!.numContacts--;

  prev=b2Link.prev;
  next=b2Link.next;
  if(prev!=null)prev.next=next;
  if(next!=null)next.prev=prev;
  if(body2!.contactLink==b2Link)body2!.contactLink=next;
  b2Link.prev=null;
  b2Link.next=null;
  b2Link.shape=null;
  b2Link.body=null;
  body2!.numContacts--;

  manifold.body1=null;
  manifold.body2=null;
  constraint.body1=null;
  constraint.body2=null;
  constraint.detach();

  shape1=null;
  shape2=null;
  body1=null;
  body2=null;
}