[geos-commits] r3979 - in branches/3.4: . src/operation/polygonize

svn_geos at osgeo.org svn_geos at osgeo.org
Sat Mar 29 03:44:29 PDT 2014


Author: strk
Date: 2014-03-29 03:44:29 -0700 (Sat, 29 Mar 2014)
New Revision: 3979

Modified:
   branches/3.4/NEWS
   branches/3.4/src/operation/polygonize/Polygonizer.cpp
Log:
Make polygonize operation interruptable

Modified: branches/3.4/NEWS
===================================================================
--- branches/3.4/NEWS	2014-03-29 10:37:03 UTC (rev 3978)
+++ branches/3.4/NEWS	2014-03-29 10:44:29 UTC (rev 3979)
@@ -5,6 +5,7 @@
  - Fix build on HP-UX 11.23 (#664)
  - Throw a ParseException on missing chars from HEXWKB string (#675)
  - Fix ruby binding build (https://github.com/libgeos/libgeos/pull/32)
+ - Make polygonize operation interruptable
 
 Changes in 3.4.2
 2013-08-25

Modified: branches/3.4/src/operation/polygonize/Polygonizer.cpp
===================================================================
--- branches/3.4/src/operation/polygonize/Polygonizer.cpp	2014-03-29 10:37:03 UTC (rev 3978)
+++ branches/3.4/src/operation/polygonize/Polygonizer.cpp	2014-03-29 10:44:29 UTC (rev 3979)
@@ -24,6 +24,7 @@
 #include <geos/geom/LineString.h>
 #include <geos/geom/Geometry.h>
 #include <geos/geom/Polygon.h>
+#include <geos/util/Interrupt.h>
 // std
 #include <vector>
 
@@ -266,6 +267,7 @@
 			// returned LineString ownership is transferred.
 			invalidRingList.push_back(er->getLineString());
 		}
+		GEOS_CHECK_FOR_INTERRUPTS();
 	}
 }
 
@@ -282,6 +284,7 @@
 			holeList.push_back(er);
 		else
 			shellList.push_back(er);
+		GEOS_CHECK_FOR_INTERRUPTS();
 	}
 }
 
@@ -293,6 +296,7 @@
 	{
 		EdgeRing *holeER=holeList[i];
 		assignHoleToShell(holeER, shellList);
+		GEOS_CHECK_FOR_INTERRUPTS();
 	}
 }
 



More information about the geos-commits mailing list