private void findRightmostEdgeAtNode() { Node node = minDe.getNode(); DirectedEdgeStar star = (DirectedEdgeStar) node.getEdges(); minDe = star.getRightmostEdge(); // the DirectedEdge returned by the previous call is not // necessarily in the forward direction. Use the sym edge if it isn't. if (!minDe.isForward()) { minDe = minDe.getSym(); minIndex = minDe.getEdge().getCoordinates().length - 1; } }
private List createSubgraphs(PlanarGraph graph) { List subgraphList = new ArrayList(); for (Iterator i = graph.getNodes().iterator(); i.hasNext(); ) { Node node = (Node) i.next(); if (!node.isVisited()) { BufferSubgraph subgraph = new BufferSubgraph(); subgraph.create(node); subgraphList.add(subgraph); } } /** * Sort the subgraphs in descending order of their rightmost coordinate. This ensures that when * the Polygons for the subgraphs are built, subgraphs for shells will have been built before * the subgraphs for any holes they contain. */ Collections.sort(subgraphList, Collections.reverseOrder()); return subgraphList; }