computePoints method

void computePoints(
  1. DirectedEdge start
)

Collect all the points from the DirectedEdges of this ring into a contiguous list

Implementation

void computePoints(DirectedEdge start) {
//System.out.println("buildRing");
  startDe = start;
  DirectedEdge de = start;
  bool isFirstEdge = true;
  do {
//      Assert.isTrue(de != null, "found null Directed Edge");
    if (de == null) throw new TopologyException("Found null DirectedEdge");
    if (de.getEdgeRing() == this)
      throw new TopologyException(
          "Directed Edge visited twice during ring-building at ${de.getCoordinate()}");

    edges.add(de);
//Debug.println(de);
//Debug.println(de.getEdge());
    Label label = de.getLabel()!;
    assert(label.isArea());
    mergeLabel(label);
    addPoints(de.getEdge(), de.isForward(), isFirstEdge);
    isFirstEdge = false;
    setEdgeRing(de, this);
    de = getNext(de);
  } while (de != startDe);
}