[geos-commits] [SCM] GEOS branch master updated. f2dc73df8f93b6994a59ff2b53be28ab074c5b61

git at osgeo.org git at osgeo.org
Mon Feb 22 13:48:22 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, master has been updated
       via  f2dc73df8f93b6994a59ff2b53be28ab074c5b61 (commit)
       via  8b024bbdd1ce8fe951e30ddccd5932d15e1995c0 (commit)
      from  e4fd106f4f66167b554389c7b441d9bc5ee89b1b (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 f2dc73df8f93b6994a59ff2b53be28ab074c5b61
Merge: 8b024bb e4fd106
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Feb 22 13:48:16 2021 -0800

    Merge branch 'master' of https://git.osgeo.org/gitea/geos/geos


commit 8b024bbdd1ce8fe951e30ddccd5932d15e1995c0
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 5bfd524..709f288 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:
 src/operation/overlayng/OverlayNG.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list