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; }