[geos-devel] OverlayOp JTS port

Mateusz Loskot mateusz at loskot.net
Wed Sep 17 14:14:40 EDT 2008


Obe, Regina wrote:
> I apologize for the barrage of questions.  As far as I can tell the 
> OverlayOp.cpp is vintage JTS 1.7 (which I think is same as the JTS
> 1.9 for this class)
> 
> except it has the additional calls of
> 
> checkObviouslyWrongResult() - which most of that code looks like it
> would never be called because of the #ifdefs

I'd not be that sure it is never called.
However, I'm not familiar with design of this part and I'm not sure in
what conditions ENABLE_OTHER_OVERLAY_RESULT_VALIDATORS is defined.

> except for the
> 
> assert(resultGeom);

Regina,

It's a simple pre-condition test.

> UNREFERENCED_PARAMETER(opCode); (have no clue what this does)

Simple hack to prevent compiler from throwing warnings about unused
variables, etc.
It is only activated if ENABLE_OTHER_OVERLAY_RESULT_VALIDATORS is *not*
defined.

You can safely ignore these two lines.

> and also a elevationMatrix->elevate(resultGeom);
> 
> which looks like will get called since USE_ELEVATION_MATRIX 1.
> 
> Is the elevationMatrix designed to deal with 3d geometries?  Didn't
> realize Union actually works with those, but then I never tried it
> with 3d.
> 
> So I'm a little puzzled why these 2 extra function calls since I
> always thought GEOS was at best on par with JTS?

Unfortunately, I'm unable to answer these questions.
Probably Sandro Santilli knows. Anybody else?

Best regards,
-- 
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org


More information about the geos-devel mailing list