[geos-commits] [SCM] GEOS branch 3.9 updated. 8a3f2bd1aafd2a16c4794bc2ca58f570ee00079f

git at osgeo.org git at osgeo.org
Mon Feb 22 13:49:44 PST 2021


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".

The branch, 3.9 has been updated
       via  8a3f2bd1aafd2a16c4794bc2ca58f570ee00079f (commit)
       via  5f64f3363a8ce90baeaec021d3c3037710f300f9 (commit)
      from  984fca3b94a0076f9f2d4447030e5cc3e4bde987 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8a3f2bd1aafd2a16c4794bc2ca58f570ee00079f
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Feb 22 13:49:39 2021 -0800

    Add NEWS entry re #4857

diff --git a/NEWS b/NEWS
index bb953e1..106ffe3 100644
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,7 @@ Changes in 3.9.2
 2021-xx-xx
 
 - Bug fixes / improvements:
-  - 
+  - Add in interrupt points in OverlayNG (#4857, Paul Ramsey) 
 
 
 Changes in 3.9.1

commit 5f64f3363a8ce90baeaec021d3c3037710f300f9
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Feb 22 13:48:04 2021 -0800

    Add in interrupt points through major stages of overlay code. References #4857

diff --git a/src/operation/overlayng/OverlayNG.cpp b/src/operation/overlayng/OverlayNG.cpp
index 0fe848f..3393b84 100644
--- a/src/operation/overlayng/OverlayNG.cpp
+++ b/src/operation/overlayng/OverlayNG.cpp
@@ -35,6 +35,7 @@
 #include <geos/geom/Envelope.h>
 #include <geos/geom/Location.h>
 #include <geos/geom/Geometry.h>
+#include <geos/util/Interrupt.h>
 
 #include <algorithm>
 
@@ -211,6 +212,8 @@ OverlayNG::computeEdgeOverlay()
      */
     EdgeNodingBuilder nodingBuilder(pm, noder);
 
+    GEOS_CHECK_FOR_INTERRUPTS();
+
     if (isOptimized) {
         Envelope clipEnv;
         bool gotClipEnv = OverlayUtil::clippingEnvelope(opCode, &inputGeom, pm, clipEnv);
@@ -223,6 +226,8 @@ OverlayNG::computeEdgeOverlay()
         inputGeom.getGeometry(0),
         inputGeom.getGeometry(1));
 
+    GEOS_CHECK_FOR_INTERRUPTS();
+
     /**
      * Record if an input geometry has collapsed.
      * This is used to avoid trying to locate disconnected edges
@@ -249,6 +254,7 @@ OverlayNG::computeEdgeOverlay()
         return OverlayUtil::toLines(&graph, isOutputEdges, geomFact);
     }
 
+    GEOS_CHECK_FOR_INTERRUPTS();
     labelGraph(&graph);
 
     // std::cout << std::endl << graph << std::endl;
@@ -257,6 +263,7 @@ OverlayNG::computeEdgeOverlay()
         return OverlayUtil::toLines(&graph, isOutputEdges, geomFact);
     }
 
+    GEOS_CHECK_FOR_INTERRUPTS();
     return extractResult(opCode, &graph);
 }
 
@@ -291,6 +298,7 @@ OverlayNG::extractResult(int p_opCode, OverlayGraph* graph)
     std::vector<std::unique_ptr<LineString>> resultLineList;
     std::vector<std::unique_ptr<Point>> resultPointList;
 
+    GEOS_CHECK_FOR_INTERRUPTS();
     if (!isAreaResultOnly) {
         //--- Build lines
         bool allowResultLines = !hasResultAreaComponents ||

-----------------------------------------------------------------------

Summary of changes:
 NEWS                                  | 2 +-
 src/operation/overlayng/OverlayNG.cpp | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list