public Coordinate[] simplify() {
   usePt = new boolean[pts.length];
   for (int i = 0; i < pts.length; i++) {
     usePt[i] = true;
   }
   simplifySection(0, pts.length - 1);
   CoordinateList coordList = new CoordinateList();
   for (int i = 0; i < pts.length; i++) {
     if (usePt[i]) coordList.add(new Coordinate(pts[i]));
   }
   return coordList.toCoordinateArray();
 }
Ejemplo n.º 2
0
 /**
  * Computes the list of coordinates which are contained in this ring. The coordinatea are computed
  * once only and cached.
  *
  * @return an array of the {@link Coordinate}s in this ring
  */
 private Coordinate[] getCoordinates() {
   if (ringPts == null) {
     CoordinateList coordList = new CoordinateList();
     for (Iterator i = deList.iterator(); i.hasNext(); ) {
       DirectedEdge de = (DirectedEdge) i.next();
       PolygonizeEdge edge = (PolygonizeEdge) de.getEdge();
       addEdge(edge.getLine().getCoordinates(), de.getEdgeDirection(), coordList);
     }
     ringPts = coordList.toCoordinateArray();
   }
   return ringPts;
 }