public void enforceConstraints(){
  addConstraintVertices();
  int count=0;
  int splits=0;
  do {
    splits=enforceGabriel(segments);
    count++;
    Debug.println("Iter: " + count + "   Splits: "+ splits+ "   Current # segments = "+ segments.size());
  }
 while (splits > 0 && count < MAX_SPLIT_ITER);
  if (count == MAX_SPLIT_ITER) {
    Debug.println("ABORTED! Too many iterations while enforcing constraints");
    if (!Debug.isDebugging())     throw new ConstraintEnforcementException("Too many splitting iterations while enforcing constraints.  Last split point was at: ",splitPt);
  }
}

public void enforceConstraints ( ) { addConstraintVertices ( ) ; int count = 0 ; int splits = 0 ; do { splits = enforceGabriel ( segments ) ; count ++ ; Debug . println ( "Iter: " + count + "   Splits: " + splits + "   Current # segments = " + segments . size ( ) ) ; } while ( splits > 0 && count < MAX_SPLIT_ITER ) ; if ( count == MAX_SPLIT_ITER ) { Debug . println ( "ABORTED! Too many iterations while enforcing constraints" ) ; if ( ! Debug . isDebugging ( ) ) throw new ConstraintEnforcementException ( "Too many splitting iterations while enforcing constraints.  Last split point was at: " , splitPt ) ; } }
enforces the supplied constraints into the triangulation .
