[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