Exemplo n.º 1
0
  private boolean clipEdge(GeometryBuffer in, GeometryBuffer out, int edge) {

    out.startPolygon();
    boolean outer = true;

    int pointPos = 0;

    for (int i = 0, n = in.index.length; i < n; i++) {
      int len = in.index[i];
      if (len < 0) break;

      if (len < 6) {
        pointPos += len;
        continue;
      }

      if (len == 0) {
        out.startPolygon();
        outer = true;
        continue;
      }

      if (!outer) out.startHole();

      clipRing(i, pointPos, in, out, edge);

      // if (out.index[i] < 6) {
      //	out.index[i] = 0;
      //	//if (out.indexPos > 0)
      //	//	out.indexPos--;
      //	// TODO if outer skip holes
      // }

      pointPos += len;

      outer = false;
    }

    return true;
  }