buildEdgeRings method

List buildEdgeRings(
  1. List dirEdges
)

Form DirectedEdges in graph into Minimal EdgeRings. (Minimal Edgerings must be used, because only they are guaranteed to provide a correct isHole computation)

Implementation

List buildEdgeRings(List dirEdges) {
  List edgeRings = [];
  for (Iterator it = dirEdges.iterator; it.moveNext();) {
    DirectedEdge de = it.current as DirectedEdge;
    // if this edge has not yet been processed
    if (de.isInResult() && de.getEdgeRing() == null) {
      MaximalEdgeRing er = new MaximalEdgeRing(de, geometryFactory);

      er.linkDirectedEdgesForMinimalEdgeRings();
      List minEdgeRings = er.buildMinimalRings();
      edgeRings.addAll(minEdgeRings);
    }
  }
  return edgeRings;
}