private static List findLabeledEdgeRings(Collection dirEdges){
  List edgeRingStarts=new ArrayList();
  long currLabel=1;
  for (Iterator i=dirEdges.iterator(); i.hasNext(); ) {
    PolygonizeDirectedEdge de=(PolygonizeDirectedEdge)i.next();
    if (de.isMarked())     continue;
    if (de.getLabel() >= 0)     continue;
    edgeRingStarts.add(de);
    List edges=EdgeRing.findDirEdgesInRing(de);
    label(edges,currLabel);
    currLabel++;
  }
  return edgeRingStarts;
}

private static List findLabeledEdgeRings ( Collection dirEdges ) { List edgeRingStarts = new ArrayList ( ) ; long currLabel = 1 ; for ( Iterator i = dirEdges . iterator ( ) ; i . hasNext ( ) ; ) { PolygonizeDirectedEdge de = ( PolygonizeDirectedEdge ) i . next ( ) ; if ( de . isMarked ( ) ) continue ; if ( de . getLabel ( ) >= 0 ) continue ; edgeRingStarts . add ( de ) ; List edges = EdgeRing . findDirEdgesInRing ( de ) ; label ( edges , currLabel ) ; currLabel ++ ; } return edgeRingStarts ; }
finds and labels all edgerings in the graph . the edge rings are labeling with unique integers . the labeling allows detecting cut edges .
