1205 for (i=0; i<nfaces; ++i) {
1207 int nholes = GEOSGetNumInteriorRings(f->
geom);
1208 LWDEBUGF(2,
"Scanning face %d with env area %g and %d holes", i, f->
envarea, nholes);
1209 for (h=0; h<nholes; ++h) {
1210 const GEOSGeometry *hole = GEOSGetInteriorRingN(f->
geom, h);
1211 LWDEBUGF(2,
"Looking for hole %d/%d of face %d among %d other faces", h+1, nholes, i, nfaces-i-1);
1212 for (j=i+1; j<nfaces; ++j) {
1213 const GEOSGeometry *f2er;
1214 Face* f2 = faces[j];
1215 if ( f2->
parent )
continue;
1216 f2er = GEOSGetExteriorRing(f2->
geom);
1222 if ( GEOSEquals(f2er, hole) ) {
1223 LWDEBUGF(2,
"Hole %d/%d of face %d is face %d", h+1, nholes, i, j);
static int compare_by_envarea(const void *g1, const void *g2)
const GEOSGeometry * geom
#define LWDEBUGF(level, msg,...)