From ef5a152270da1268f0032dc0ef1ffedeb1f6e10d Mon Sep 17 00:00:00 2001 From: strk Date: Tue, 10 Apr 2012 15:16:06 +0000 Subject: [PATCH] Have UnaryUnion use BinaryOp for the simple case See ticket #527 -- there's no infinite loop triggered by our testsuite... git-svn-id: http://svn.osgeo.org/geos/branches/3.3@3608 5242fede-7e19-0410-aef8-94bd7d2200fb --- include/geos/operation/union/UnaryUnionOp.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/geos/operation/union/UnaryUnionOp.h b/include/geos/operation/union/UnaryUnionOp.h index 72cbae83..9abbc222 100644 --- a/include/geos/operation/union/UnaryUnionOp.h +++ b/include/geos/operation/union/UnaryUnionOp.h @@ -25,11 +25,13 @@ #include #include +#include #include #include #include #include -#include +#include +//#include #ifdef _MSC_VER #pragma warning(push) @@ -183,12 +185,13 @@ private: std::auto_ptr unionNoOpt(const geom::Geometry& g0) { using geos::operation::overlay::OverlayOp; - using geos::operation::overlay::snap::SnapIfNeededOverlayOp; + //using geos::operation::overlay::snap::SnapIfNeededOverlayOp; if ( ! empty.get() ) { empty.reset( geomFact->createEmptyGeometry() ); } - return SnapIfNeededOverlayOp::overlayOp(g0, *empty, OverlayOp::opUNION); + //return SnapIfNeededOverlayOp::overlayOp(g0, *empty, OverlayOp::opUNION); + return BinaryOp(&g0, empty.get(), overlay::overlayOp(OverlayOp::opUNION)); } /** -- 2.11.4.GIT