[geos-commits] [SCM] GEOS branch master updated. 23d172214148f6dc1300d04cedce6dabd4fd7393

git at osgeo.org git at osgeo.org
Mon Aug 10 13:23:51 PDT 2020


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  23d172214148f6dc1300d04cedce6dabd4fd7393 (commit)
       via  89d813c5326e31852e992612f6ad7f6a9dca42e1 (commit)
       via  e727df5ae333172fcdcdae1bc251819ba1d61620 (commit)
       via  cae4a88412a2c00605bc18be8b2b0bf9092e9314 (commit)
       via  eaa8d1303292ca3023fde2ec91b00509a657a5eb (commit)
       via  1a3ca4044be583dff49d01eddc610a0e021a775a (commit)
      from  db0c456ed60ea7543d0d7fa508d387990f58a865 (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 23d172214148f6dc1300d04cedce6dabd4fd7393
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Aug 10 12:58:23 2020 -0700

    Quiet warnings from CI

diff --git a/src/noding/snapround/HotPixelIndex.cpp b/src/noding/snapround/HotPixelIndex.cpp
index f302320..808787a 100644
--- a/src/noding/snapround/HotPixelIndex.cpp
+++ b/src/noding/snapround/HotPixelIndex.cpp
@@ -81,7 +81,7 @@ void
 HotPixelIndex::add(const CoordinateSequence *pts)
 {
     for (size_t i = 0, sz = pts->size(); i < sz; i++) {
-        HotPixel* hp = add(pts->getAt(i));
+        add(pts->getAt(i));
     }
 }
 
@@ -90,7 +90,7 @@ void
 HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
 {
     for (auto pt: pts) {
-        HotPixel* hp = add(pt);
+        add(pt);
     }
 }
 
diff --git a/src/noding/snapround/SnapRoundingNoder.cpp b/src/noding/snapround/SnapRoundingNoder.cpp
index 1b771d3..1155ef2 100644
--- a/src/noding/snapround/SnapRoundingNoder.cpp
+++ b/src/noding/snapround/SnapRoundingNoder.cpp
@@ -254,7 +254,7 @@ void
 SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
 {
     const CoordinateSequence* pts = ss->getCoordinates();
-    for (int i = 1; i < pts->size() - 1; i++) {
+    for (std::size_t i = 1; i < pts->size() - 1; i++) {
         const Coordinate& p0 = pts->getAt(i);
         snapVertexNode(p0, ss, i);
     }
diff --git a/src/operation/overlayng/LineBuilder.cpp b/src/operation/overlayng/LineBuilder.cpp
index 8406f25..ea0773b 100644
--- a/src/operation/overlayng/LineBuilder.cpp
+++ b/src/operation/overlayng/LineBuilder.cpp
@@ -144,7 +144,7 @@ LineBuilder::addResultLines()
 std::unique_ptr<LineString>
 LineBuilder::toLine(OverlayEdge* edge)
 {
-    bool isForward = edge->isForward();
+    // bool isForward = edge->isForward();
     std::unique_ptr<CoordinateArraySequence> pts(new CoordinateArraySequence());
     pts->add(edge->orig(), false);
     edge->addCoordinates(pts.get());
diff --git a/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp b/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
index 879db94..3e009c1 100644
--- a/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
+++ b/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
@@ -68,7 +68,7 @@ unionCascaded(
 }
 
 void
-p_test_runner(test_cascadedpolygonuniontest_data& t,
+p_test_runner(
               std::vector<geos::geom::Polygon*>* geoms)
 {
     std::unique_ptr<geos::geom::Geometry> union1(unionIterated(geoms));
@@ -108,7 +108,7 @@ void object::test<1>
         g.push_back(geom);
     }
 
-    p_test_runner(*this, &g);
+    p_test_runner(&g);
 
     for_each(g.begin(), g.end(), delete_geometry);
 }
diff --git a/tests/xmltester/XMLTester.cpp b/tests/xmltester/XMLTester.cpp
index c1a7831..596fc1a 100644
--- a/tests/xmltester/XMLTester.cpp
+++ b/tests/xmltester/XMLTester.cpp
@@ -752,7 +752,7 @@ XMLTester::printGeom(const geom::Geometry* g)
 * the area delta is expected to be very small (e.g. < 1e-6).
 */
 double
-XMLTester::areaDelta(const geom::Geometry* a, const geom::Geometry* b, std::string& rsltMaxDiffOp, double maxDiff)
+XMLTester::areaDelta(const geom::Geometry* a, const geom::Geometry* b, std::string& rsltMaxDiffOp, double maxDiff, std::stringstream& ss)
 {
     double areaA = a == nullptr ? 0 : a->getArea();
     double areaB = b == nullptr ? 0 : b->getArea();
@@ -813,25 +813,24 @@ XMLTester::areaDelta(const geom::Geometry* a, const geom::Geometry* b, std::stri
 
     // normalize the area delta value
     double diffScore = maxDelta / (areaA + areaB);
-#if 0
+
     if (diffScore > maxDiff) {
-        std::cout << std::endl << "A" << std::endl;
-        std::cout << *a;
-        std::cout << std::endl << "B" << std::endl;
-        std::cout << *b;
-        std::cout << std::endl << "geomU" << std::endl;
-        std::cout << *geomU;
-        std::cout << std::endl << "geomI" << std::endl;
-        std::cout << *geomI;
-        std::cout << std::endl << "geomDab" << std::endl;
-        std::cout << *geomDab;
-        std::cout << std::endl << "geomDba" << std::endl;
-        std::cout << *geomDba;
-        std::cout << std::endl << "geomSD" << std::endl;
-        std::cout << *geomSD;
-        std::cout << std::endl;
+        ss << std::endl << "A" << std::endl;
+        ss << *a;
+        ss << std::endl << "B" << std::endl;
+        ss << *b;
+        ss << std::endl << "geomU" << std::endl;
+        ss << *geomU;
+        ss << std::endl << "geomI" << std::endl;
+        ss << *geomI;
+        ss << std::endl << "geomDab" << std::endl;
+        ss << *geomDab;
+        ss << std::endl << "geomDba" << std::endl;
+        ss << *geomDba;
+        ss << std::endl << "geomSD" << std::endl;
+        ss << *geomSD;
+        ss << std::endl;
     }
-#endif
 
     return diffScore;
 }
@@ -1919,10 +1918,16 @@ XMLTester::parseTest(const tinyxml2::XMLNode* node)
         else if(opName == "overlayareatest") {
 
             std::string maxDiffOp;
+            std::stringstream p_tmp;
             double maxDiff = 1e-6;
-            double areaDiff = areaDelta(gA, gB, maxDiffOp, maxDiff);
+            double areaDiff = areaDelta(gA, gB, maxDiffOp, maxDiff, p_tmp);
 
-            std::stringstream p_tmp;
+            // Debug output of actual geometries returned
+            if (areaDiff < maxDiff && false) {
+                std::cout << p_tmp.str();
+            }
+
+            p_tmp.str("");
             p_tmp << maxDiffOp << ": " << areaDiff;
             actual_result = p_tmp.str();
             p_tmp.str("");
diff --git a/tests/xmltester/XMLTester.h b/tests/xmltester/XMLTester.h
index 6317086..5233060 100644
--- a/tests/xmltester/XMLTester.h
+++ b/tests/xmltester/XMLTester.h
@@ -43,7 +43,8 @@ private:
     geom::Geometry* parseGeometry(const std::string& in, const char* label = "parsed");
     static std::string trimBlanks(const std::string& in);
     void printGeom(std::ostream& os, const geom::Geometry* g);
-    double areaDelta(const geom::Geometry* a, const geom::Geometry* b, std::string& rsltMaxDiffOp, double maxDiff);
+    double areaDelta(const geom::Geometry* a, const geom::Geometry* b, std::string& rsltMaxDiffOp, double maxDiff, std::stringstream& ss);
+
     std::string printGeom(const geom::Geometry* g);
     void printTest(bool success, const std::string& expected_result, const std::string& actual_result,
                    const util::Profile&);

commit 89d813c5326e31852e992612f6ad7f6a9dca42e1
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Aug 10 12:47:08 2020 -0700

    Comment out docs target in cmake

diff --git a/tools/ci/script_cmake.sh b/tools/ci/script_cmake.sh
index f9e154d..b80dda6 100755
--- a/tools/ci/script_cmake.sh
+++ b/tools/ci/script_cmake.sh
@@ -25,7 +25,7 @@ cmake --version
 
 cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_DOCUMENTATION=NO ${TRAVIS_BUILD_DIR}
 run_make
-cmake --build . --target docs
+# cmake --build . --target docs
 ctest --output-on-failure .
 
 if [ "${BUILD_TYPE}" = "Coverage" ]; then

commit e727df5ae333172fcdcdae1bc251819ba1d61620
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Aug 10 12:46:50 2020 -0700

    Check Location::UNDEF to Location::NONE to match JTS

diff --git a/include/geos/geom/Location.h b/include/geos/geom/Location.h
index bd7ab93..b07743b 100644
--- a/include/geos/geom/Location.h
+++ b/include/geos/geom/Location.h
@@ -35,7 +35,7 @@ enum class GEOS_DLL Location : char {
     /**
      *  Used for uninitialized location values.
      */
-    UNDEF = (char)(-1), // Instead of NULL
+    NONE = (char)(-1), // Instead of NULL
 
     /**
      * DE-9IM row index of the interior of the first geometry and
diff --git a/include/geos/geomgraph/Label.h b/include/geos/geomgraph/Label.h
index 56a766e..065703a 100644
--- a/include/geos/geomgraph/Label.h
+++ b/include/geos/geomgraph/Label.h
@@ -79,7 +79,7 @@ public:
      * for the given Geometry.
      *
      * Other geometry location will be set to
-     * Location::UNDEF.
+     * Location::NONE.
      */
     Label(int geomIndex, geom::Location onLoc);
 
@@ -96,7 +96,7 @@ public:
     Label& operator= (const Label& l);
 
     /** \brief
-     * Initialize both locations to Location::UNDEF
+     * Initialize both locations to Location::NONE
      *
      * isNull() should return true after this kind of construction
      */
@@ -106,7 +106,7 @@ public:
      * Construct a Label with On, Left and Right locations for the
      * given Geometries.
      * Initialize the locations for the other Geometry to
-     * Location::UNDEF
+     * Location::NONE
      */
     Label(int geomIndex, geom::Location onLoc, geom::Location leftLoc, geom::Location rightLoc);
 
diff --git a/include/geos/geomgraph/Label.inl b/include/geos/geomgraph/Label.inl
index dee1577..eb1c614 100644
--- a/include/geos/geomgraph/Label.inl
+++ b/include/geos/geomgraph/Label.inl
@@ -33,7 +33,7 @@ namespace geomgraph { // geos.geomgraph
 INLINE Label
 Label::toLineLabel(const Label& label)
 {
-    Label lineLabel(geom::Location::UNDEF);
+    Label lineLabel(geom::Location::NONE);
     for(int i = 0; i < 2; i++) {
         lineLabel.setLocation(i, label.getLocation(i));
     }
@@ -50,7 +50,7 @@ Label::Label(geom::Location onLoc) :
 /*public*/
 INLINE
 Label::Label(int geomIndex, geom::Location onLoc) :
-    elt{TopologyLocation(geom::Location::UNDEF), TopologyLocation(geom::Location::UNDEF)}
+    elt{TopologyLocation(geom::Location::NONE), TopologyLocation(geom::Location::NONE)}
 {
     assert(geomIndex >= 0 && geomIndex < 2);
     elt[geomIndex].setLocation(onLoc);
@@ -66,7 +66,7 @@ Label::Label(geom::Location onLoc, geom::Location leftLoc, geom::Location rightL
 /*public*/
 INLINE
 Label::Label()
-    : elt{TopologyLocation(geom::Location::UNDEF), TopologyLocation(geom::Location::UNDEF)}
+    : elt{TopologyLocation(geom::Location::NONE), TopologyLocation(geom::Location::NONE)}
 {
 }
 
@@ -90,8 +90,8 @@ Label::operator=(const Label& l)
 INLINE
 Label::Label(int geomIndex, geom::Location onLoc, geom::Location leftLoc, geom::Location rightLoc)
 {
-    elt[0] = TopologyLocation(geom::Location::UNDEF, geom::Location::UNDEF, geom::Location::UNDEF);
-    elt[1] = TopologyLocation(geom::Location::UNDEF, geom::Location::UNDEF, geom::Location::UNDEF);
+    elt[0] = TopologyLocation(geom::Location::NONE, geom::Location::NONE, geom::Location::NONE);
+    elt[1] = TopologyLocation(geom::Location::NONE, geom::Location::NONE, geom::Location::NONE);
     elt[geomIndex].setLocations(onLoc, leftLoc, rightLoc);
 }
 
diff --git a/include/geos/geomgraph/TopologyLocation.h b/include/geos/geomgraph/TopologyLocation.h
index 0bf0854..046f08f 100644
--- a/include/geos/geomgraph/TopologyLocation.h
+++ b/include/geos/geomgraph/TopologyLocation.h
@@ -52,7 +52,7 @@ namespace geomgraph { // geos.geomgraph
  * topological relationship attribute, ON.
  *
  * The possible values of a topological location are
- * {Location::UNDEF, Location::EXTERIOR, Location::BOUNDARY, Location::INTERIOR}
+ * {Location::NONE, Location::EXTERIOR, Location::BOUNDARY, Location::INTERIOR}
  *
  * The labelling is stored in an array location[j] where
  * where j has the values ON, LEFT, RIGHT
@@ -71,7 +71,7 @@ public:
      * Geometry.
      *
      * Possible values for the
-     * parameters are Location::UNDEF, Location::EXTERIOR, Location::BOUNDARY,
+     * parameters are Location::NONE, Location::EXTERIOR, Location::BOUNDARY,
      * and Location::INTERIOR.
      *
      * @see Location
@@ -87,12 +87,12 @@ public:
     geom::Location get(std::size_t posIndex) const;
 
     /**
-     * @return true if all locations are Location::UNDEF
+     * @return true if all locations are Location::NONE
      */
     bool isNull() const;
 
     /**
-     * @return true if any locations is Location::UNDEF
+     * @return true if any locations is Location::NONE
      */
     bool isAnyNull() const;
 
diff --git a/include/geos/geomgraph/TopologyLocation.inl b/include/geos/geomgraph/TopologyLocation.inl
index 0d01956..2dd2677 100644
--- a/include/geos/geomgraph/TopologyLocation.inl
+++ b/include/geos/geomgraph/TopologyLocation.inl
@@ -46,7 +46,7 @@ INLINE
 TopologyLocation::TopologyLocation(Location on):
         locationSize(1)
 {
-    location.fill(Location::UNDEF);
+    location.fill(Location::NONE);
     location[Position::ON] = on;
 }
 
@@ -76,7 +76,7 @@ TopologyLocation::get(size_t posIndex) const
     if(posIndex < locationSize) {
         return location[posIndex];
     }
-    return Location::UNDEF;
+    return Location::NONE;
 }
 
 /*public*/
@@ -84,7 +84,7 @@ INLINE bool
 TopologyLocation::isNull() const
 {
     for(size_t i = 0; i < locationSize; ++i) {
-        if(location[i] != Location::UNDEF) {
+        if(location[i] != Location::NONE) {
             return false;
         }
     }
@@ -96,7 +96,7 @@ INLINE bool
 TopologyLocation::isAnyNull() const
 {
     for(size_t i = 0; i < locationSize; ++i) {
-        if(location[i] == Location::UNDEF) {
+        if(location[i] == Location::NONE) {
             return true;
         }
     }
@@ -146,7 +146,7 @@ INLINE void
 TopologyLocation::setAllLocationsIfNull(Location locValue)
 {
     for(size_t i = 0; i < locationSize; ++i) {
-        if(location[i] == Location::UNDEF) {
+        if(location[i] == Location::NONE) {
             location[i] = locValue;
         }
     }
diff --git a/include/geos/operation/overlay/OverlayOp.h b/include/geos/operation/overlay/OverlayOp.h
index 24dd64b..3028100 100644
--- a/include/geos/operation/overlay/OverlayOp.h
+++ b/include/geos/operation/overlay/OverlayOp.h
@@ -107,7 +107,7 @@ public:
      * the result of overlaying the geometries using
      * a given overlay operation.
      *
-     * The method handles arguments of [Location::UNDEF](@ref geom::Location::UNDEF) correctly
+     * The method handles arguments of [Location::NONE](@ref geom::Location::NONE) correctly
      *
      * @param label the topological label of the point
      * @param opCode the code for the overlay operation to test
diff --git a/include/geos/operation/overlayng/OverlayLabel.h b/include/geos/operation/overlayng/OverlayLabel.h
index dc33cb9..2619b28 100644
--- a/include/geos/operation/overlayng/OverlayLabel.h
+++ b/include/geos/operation/overlayng/OverlayLabel.h
@@ -110,7 +110,7 @@ private:
 
 public:
 
-    static constexpr Location LOC_UNKNOWN = Location::UNDEF;
+    static constexpr Location LOC_UNKNOWN = Location::NONE;
 
     enum {
         DIM_UNKNOWN = -1,
diff --git a/src/geom/IntersectionMatrix.cpp b/src/geom/IntersectionMatrix.cpp
index 8850353..a8c7a4b 100644
--- a/src/geom/IntersectionMatrix.cpp
+++ b/src/geom/IntersectionMatrix.cpp
@@ -168,7 +168,7 @@ IntersectionMatrix::setAtLeast(Location row, Location col, int minimumDimensionV
 void
 IntersectionMatrix::setAtLeastIfValid(Location row, Location col, int minimumDimensionValue)
 {
-    if(row != Location::UNDEF && col != Location::UNDEF) {
+    if(row != Location::NONE && col != Location::NONE) {
         setAtLeast(row, col, minimumDimensionValue);
     }
 }
diff --git a/src/geom/Location.cpp b/src/geom/Location.cpp
index d96ef93..e126c46 100644
--- a/src/geom/Location.cpp
+++ b/src/geom/Location.cpp
@@ -35,7 +35,7 @@ operator<<(std::ostream& os, const Location& loc)
         case Location::INTERIOR:
             os << 'i';
             break;
-        case Location::UNDEF:
+        case Location::NONE:
             os << '-';
             break;
     }
diff --git a/src/geom/prep/PreparedPolygonPredicate.cpp b/src/geom/prep/PreparedPolygonPredicate.cpp
index 83f8257..fc03f28 100644
--- a/src/geom/prep/PreparedPolygonPredicate.cpp
+++ b/src/geom/prep/PreparedPolygonPredicate.cpp
@@ -85,7 +85,7 @@ struct LocationNotMatchingFilter : public GeometryComponentFilter {
 struct OutermostLocationFilter : public GeometryComponentFilter {
     explicit OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator* locator) :
     pt_locator(locator),
-    outermost_loc(geom::Location::UNDEF),
+    outermost_loc(geom::Location::NONE),
     done(false) {}
 
     algorithm::locate::PointOnGeometryLocator* pt_locator;
@@ -96,7 +96,7 @@ struct OutermostLocationFilter : public GeometryComponentFilter {
         const Coordinate* pt = g->getCoordinate();
         auto loc = pt_locator->locate(pt);
 
-        if (outermost_loc == Location::UNDEF || outermost_loc == Location::INTERIOR) {
+        if (outermost_loc == Location::NONE || outermost_loc == Location::INTERIOR) {
             outermost_loc = loc;
         } else if (loc == Location::EXTERIOR) {
             outermost_loc = loc;
diff --git a/src/geomgraph/DirectedEdgeStar.cpp b/src/geomgraph/DirectedEdgeStar.cpp
index aa9f499..62326a7 100644
--- a/src/geomgraph/DirectedEdgeStar.cpp
+++ b/src/geomgraph/DirectedEdgeStar.cpp
@@ -140,7 +140,7 @@ DirectedEdgeStar::computeLabelling(std::vector<GeometryGraph*>* geom)
 
     // determine the overall labelling for this DirectedEdgeStar
     // (i.e. for the node it is based at)
-    label = Label(Location::UNDEF);
+    label = Label(Location::NONE);
     EdgeEndStar::iterator endIt = end();
     for(EdgeEndStar::iterator it = begin(); it != endIt; ++it) {
         EdgeEnd* ee = *it;
@@ -364,7 +364,7 @@ DirectedEdgeStar::findCoveredLineEdges()
      * - INTERIOR if the edge is outgoing
      * - EXTERIOR if the edge is incoming
      */
-    Location startLoc = Location::UNDEF;
+    Location startLoc = Location::NONE;
 
     EdgeEndStar::iterator endIt = end();
     for(EdgeEndStar::iterator it = begin(); it != endIt; ++it) {
@@ -387,7 +387,7 @@ DirectedEdgeStar::findCoveredLineEdges()
     }
 
     // no A edges found, so can't determine if L edges are covered or not
-    if(startLoc == Location::UNDEF) {
+    if(startLoc == Location::NONE) {
         return;
     }
 
diff --git a/src/geomgraph/EdgeEndStar.cpp b/src/geomgraph/EdgeEndStar.cpp
index 9a1b902..f1c70f2 100644
--- a/src/geomgraph/EdgeEndStar.cpp
+++ b/src/geomgraph/EdgeEndStar.cpp
@@ -47,8 +47,8 @@ EdgeEndStar::EdgeEndStar()
     :
     edgeMap()
 {
-    ptInAreaLocation[0] = Location::UNDEF;
-    ptInAreaLocation[1] = Location::UNDEF;
+    ptInAreaLocation[0] = Location::NONE;
+    ptInAreaLocation[1] = Location::NONE;
 }
 
 /*public*/
@@ -163,7 +163,7 @@ EdgeEndStar::computeLabelling(std::vector<GeometryGraph*>* geomGraph)
         Label& label = e->getLabel();
         for(int geomi = 0; geomi < 2; ++geomi) {
             if(label.isAnyNull(geomi)) {
-                Location loc = Location::UNDEF;
+                Location loc = Location::NONE;
                 if(hasDimensionalCollapseEdge[geomi]) {
                     loc = Location::EXTERIOR;
                 }
@@ -196,7 +196,7 @@ EdgeEndStar::getLocation(int geomIndex,
                          const Coordinate& p, std::vector<GeometryGraph*>* geom)
 {
     // compute location only on demand
-    if(ptInAreaLocation[geomIndex] == Location::UNDEF) {
+    if(ptInAreaLocation[geomIndex] == Location::NONE) {
         ptInAreaLocation[geomIndex] = algorithm::locate::SimplePointInAreaLocator::locate(p,
                                       (*geom)[geomIndex]->getGeometry());
     }
@@ -230,7 +230,7 @@ EdgeEndStar::checkAreaLabelsConsistent(int geomIndex)
     Location startLoc = startLabel.getLocation(geomIndex, Position::LEFT);
 
     // Found unlabelled area edge
-    assert(startLoc != Location::UNDEF);
+    assert(startLoc != Location::NONE);
 
     Location currLoc = startLoc;
 
@@ -268,7 +268,7 @@ EdgeEndStar::propagateSideLabels(int geomIndex)
     // Since edges are stored in CCW order around the node,
     // As we move around the ring we move from the right to the
     // left side of the edge
-    Location startLoc = Location::UNDEF;
+    Location startLoc = Location::NONE;
 
     EdgeEndStar::iterator beginIt = begin();
     EdgeEndStar::iterator endIt = end();
@@ -280,13 +280,13 @@ EdgeEndStar::propagateSideLabels(int geomIndex)
         assert(e);
         const Label& label = e->getLabel();
         if(label.isArea(geomIndex) &&
-                label.getLocation(geomIndex, Position::LEFT) != Location::UNDEF) {
+                label.getLocation(geomIndex, Position::LEFT) != Location::NONE) {
             startLoc = label.getLocation(geomIndex, Position::LEFT);
         }
     }
 
     // no labelled sides found, so no labels to propagate
-    if(startLoc == Location::UNDEF) {
+    if(startLoc == Location::NONE) {
         return;
     }
 
@@ -296,7 +296,7 @@ EdgeEndStar::propagateSideLabels(int geomIndex)
         assert(e);
         Label& label = e->getLabel();
         // set null ON values to be in current location
-        if(label.getLocation(geomIndex, Position::ON) == Location::UNDEF) {
+        if(label.getLocation(geomIndex, Position::ON) == Location::NONE) {
             label.setLocation(geomIndex, Position::ON, currLoc);
         }
 
@@ -311,11 +311,11 @@ EdgeEndStar::propagateSideLabels(int geomIndex)
 
             // if there is a right location, that is the next
             // location to propagate
-            if(rightLoc != Location::UNDEF) {
+            if(rightLoc != Location::NONE) {
                 if(rightLoc != currLoc)
                     throw util::TopologyException("side location conflict",
                                                   e->getCoordinate());
-                if(leftLoc == Location::UNDEF) {
+                if(leftLoc == Location::NONE) {
                     // found single null side at e->getCoordinate()
                     assert(0);
                 }
@@ -335,7 +335,7 @@ EdgeEndStar::propagateSideLabels(int geomIndex)
                  */
                 // found single null side
                 assert(label.getLocation(geomIndex,
-                                         Position::LEFT) == Location::UNDEF);
+                                         Position::LEFT) == Location::NONE);
 
                 label.setLocation(geomIndex, Position::RIGHT,
                                   currLoc);
diff --git a/src/geomgraph/EdgeRing.cpp b/src/geomgraph/EdgeRing.cpp
index c4fb4a5..5515209 100644
--- a/src/geomgraph/EdgeRing.cpp
+++ b/src/geomgraph/EdgeRing.cpp
@@ -55,7 +55,7 @@ EdgeRing::EdgeRing(DirectedEdge* newStart,
     holes(),
     maxNodeDegree(-1),
     edges(),
-    label(Location::UNDEF), // new Label(Location::UNDEF)),
+    label(Location::NONE), // new Label(Location::NONE)),
     ring(nullptr),
     isHoleVar(false),
     shell(nullptr)
@@ -292,12 +292,12 @@ EdgeRing::mergeLabel(const Label& deLabel, int geomIndex)
 
     Location loc = deLabel.getLocation(geomIndex, Position::RIGHT);
     // no information to be had from this label
-    if(loc == Location::UNDEF) {
+    if(loc == Location::NONE) {
         return;
     }
 
     // if there is no current RHS value, set it
-    if(label.getLocation(geomIndex) == Location::UNDEF) {
+    if(label.getLocation(geomIndex) == Location::NONE) {
         label.setLocation(geomIndex, loc);
         return;
     }
diff --git a/src/geomgraph/Node.cpp b/src/geomgraph/Node.cpp
index f1f6478..7b28f8a 100644
--- a/src/geomgraph/Node.cpp
+++ b/src/geomgraph/Node.cpp
@@ -50,7 +50,7 @@ namespace geomgraph { // geos.geomgraph
 /*public*/
 Node::Node(const Coordinate& newCoord, EdgeEndStar* newEdges)
     :
-    GraphComponent(Label(0, Location::UNDEF)),
+    GraphComponent(Label(0, Location::NONE)),
     coord(newCoord),
     edges(newEdges)
 
@@ -177,7 +177,7 @@ Node::mergeLabel(const Label& label2)
     for(int i = 0; i < 2; i++) {
         Location loc = computeMergedLocation(label2, i);
         Location thisLoc = label.getLocation(i);
-        if(thisLoc == Location::UNDEF) {
+        if(thisLoc == Location::NONE) {
             label.setLocation(i, loc);
         }
     }
@@ -225,7 +225,7 @@ Node::setLabelBoundary(int argIndex)
 Location
 Node::computeMergedLocation(const Label& label2, int eltIndex)
 {
-    Location loc = Location::UNDEF;
+    Location loc = Location::NONE;
     loc = label.getLocation(eltIndex);
     if(!label2.isNull(eltIndex)) {
         Location nLoc = label2.getLocation(eltIndex);
diff --git a/src/geomgraph/TopologyLocation.cpp b/src/geomgraph/TopologyLocation.cpp
index 0d1182d..67f8414 100644
--- a/src/geomgraph/TopologyLocation.cpp
+++ b/src/geomgraph/TopologyLocation.cpp
@@ -44,11 +44,11 @@ TopologyLocation::merge(const TopologyLocation& gl)
     size_t glsz = gl.locationSize;
     if(glsz > sz) {
         locationSize = 3;
-        location[Position::LEFT] = Location::UNDEF;
-        location[Position::RIGHT] = Location::UNDEF;
+        location[Position::LEFT] = Location::NONE;
+        location[Position::RIGHT] = Location::NONE;
     }
     for(size_t i = 0; i < locationSize; ++i) {
-        if(location[i] == Location::UNDEF && i < glsz) {
+        if(location[i] == Location::NONE && i < glsz) {
             location[i] = gl.location[i];
         }
     }
diff --git a/src/operation/overlayng/Edge.cpp b/src/operation/overlayng/Edge.cpp
index 75bc754..30e3ff2 100644
--- a/src/operation/overlayng/Edge.cpp
+++ b/src/operation/overlayng/Edge.cpp
@@ -253,11 +253,11 @@ Edge::locationRight(int depthDelta) const
 {
     int sgn = delSign(depthDelta);
     switch (sgn) {
-        case 0: return Location::UNDEF;
+        case 0: return Location::NONE;
         case 1: return Location::INTERIOR;
         case -1: return Location::EXTERIOR;
     }
-    return Location::UNDEF;
+    return Location::NONE;
 }
 
 /*private*/
@@ -267,11 +267,11 @@ Edge::locationLeft(int depthDelta) const
     // TODO: is it always safe to ignore larger depth deltas?
     int sgn = delSign(depthDelta);
     switch (sgn) {
-        case 0: return Location::UNDEF;
+        case 0: return Location::NONE;
         case 1: return Location::EXTERIOR;
         case -1: return Location::INTERIOR;
     }
-    return Location::UNDEF;
+    return Location::NONE;
 }
 
 /*private*/
diff --git a/src/operation/overlayng/OverlayLabeller.cpp b/src/operation/overlayng/OverlayLabeller.cpp
index 0ec2880..e6ae2f2 100644
--- a/src/operation/overlayng/OverlayLabeller.cpp
+++ b/src/operation/overlayng/OverlayLabeller.cpp
@@ -101,7 +101,7 @@ OverlayLabeller::propagateAreaLocations(OverlayEdge* nodeEdge, int geomIndex)
                 throw util::TopologyException("side location conflict", e->getCoordinate());
             }
             Location locLeft = e->getLocation(geomIndex, Position::LEFT);
-            if (locLeft == Location::UNDEF) {
+            if (locLeft == Location::NONE) {
                 util::Assert::shouldNeverReachHere("found single null side");
             }
             currLoc = locLeft;
diff --git a/src/operation/relate/EdgeEndBundle.cpp b/src/operation/relate/EdgeEndBundle.cpp
index 82e5480..5f95145 100644
--- a/src/operation/relate/EdgeEndBundle.cpp
+++ b/src/operation/relate/EdgeEndBundle.cpp
@@ -89,10 +89,10 @@ EdgeEndBundle::computeLabel(
         }
     }
     if(isArea) {
-        label = Label(Location::UNDEF, Location::UNDEF, Location::UNDEF);
+        label = Label(Location::NONE, Location::NONE, Location::NONE);
     }
     else {
-        label = Label(Location::UNDEF);
+        label = Label(Location::NONE);
     }
     // compute the On label, and the side labels if present
     for(int i = 0; i < 2; i++) {
@@ -121,7 +121,7 @@ EdgeEndBundle::computeLabelOn(int geomIndex, const algorithm::BoundaryNodeRule&
             foundInterior = true;
         }
     }
-    Location loc = Location::UNDEF;
+    Location loc = Location::NONE;
     if(foundInterior) {
         loc = Location::INTERIOR;
     }
diff --git a/tests/unit/geom/LocationTest.cpp b/tests/unit/geom/LocationTest.cpp
index 3a1d0f0..bb65f8b 100644
--- a/tests/unit/geom/LocationTest.cpp
+++ b/tests/unit/geom/LocationTest.cpp
@@ -20,7 +20,7 @@ struct test_location_data {
     geos::geom::Location boundary;
     geos::geom::Location exterior;
     test_location_data()
-        : undef(geos::geom::Location::UNDEF),
+        : undef(geos::geom::Location::NONE),
           interior(geos::geom::Location::INTERIOR),
           boundary(geos::geom::Location::BOUNDARY),
           exterior(geos::geom::Location::EXTERIOR)
@@ -70,7 +70,7 @@ void object::test<2>
     s.str(""); // reset
     s.clear();
 
-    s << Location::UNDEF;
+    s << Location::NONE;
     ensure_equals(s.str(), "-");
 }
 
diff --git a/tests/unit/geomgraph/TopologyLocationTest.cpp b/tests/unit/geomgraph/TopologyLocationTest.cpp
index 6fa0e32..86bc6d6 100644
--- a/tests/unit/geomgraph/TopologyLocationTest.cpp
+++ b/tests/unit/geomgraph/TopologyLocationTest.cpp
@@ -80,17 +80,17 @@ void object::test<3>
 {
     TopologyLocation b(Location::EXTERIOR, Location::INTERIOR, Location::BOUNDARY);
 
-    b.setAllLocations(Location::UNDEF);
+    b.setAllLocations(Location::NONE);
 
-    ensure_equals(b.get(0), Location::UNDEF);
-    ensure_equals(b.get(1), Location::UNDEF);
-    ensure_equals(b.get(2), Location::UNDEF);
+    ensure_equals(b.get(0), Location::NONE);
+    ensure_equals(b.get(1), Location::NONE);
+    ensure_equals(b.get(2), Location::NONE);
 
     b.setLocation(0, Location::BOUNDARY);
 
     ensure_equals(b.get(0), Location::BOUNDARY);
-    ensure_equals(b.get(1), Location::UNDEF);
-    ensure_equals(b.get(2), Location::UNDEF);
+    ensure_equals(b.get(1), Location::NONE);
+    ensure_equals(b.get(2), Location::NONE);
 
     b.setAllLocationsIfNull(Location::EXTERIOR);
 

commit cae4a88412a2c00605bc18be8b2b0bf9092e9314
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Aug 10 12:38:01 2020 -0700

    Error out on failure in ctest call

diff --git a/tools/ci/script.sh b/tools/ci/script.sh
index 1e646ab..78a5318 100755
--- a/tools/ci/script.sh
+++ b/tools/ci/script.sh
@@ -6,7 +6,7 @@
 #
 # This is free software; you can redistribute and/or modify it under
 # the terms of the GNU Lesser General Public Licence as published
-# by the Free Software Foundation. 
+# by the Free Software Foundation.
 # See the COPYING file for more information.
 #
 
diff --git a/tools/ci/script_cmake.sh b/tools/ci/script_cmake.sh
index 34f22f3..f9e154d 100755
--- a/tools/ci/script_cmake.sh
+++ b/tools/ci/script_cmake.sh
@@ -18,6 +18,9 @@ fi
 # source common functions
 . ${TRAVIS_BUILD_DIR}/tools/ci/common.sh
 
+# return on first failure
+set -e
+
 cmake --version
 
 cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_DOCUMENTATION=NO ${TRAVIS_BUILD_DIR}

commit eaa8d1303292ca3023fde2ec91b00509a657a5eb
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Aug 10 12:31:11 2020 -0700

    Make function calls look more like JTS originals, counting on copy elision to avoid overhead of returning vector<>

diff --git a/include/geos/operation/overlayng/EdgeMerger.h b/include/geos/operation/overlayng/EdgeMerger.h
index b9a9458..b67233a 100644
--- a/include/geos/operation/overlayng/EdgeMerger.h
+++ b/include/geos/operation/overlayng/EdgeMerger.h
@@ -76,9 +76,9 @@ public:
     // Methods
     EdgeMerger(std::vector<Edge*>& p_edges);
 
-    static void merge(std::vector<Edge*>& edges, std::vector<Edge*>& medgedEdges);
+    static std::vector<Edge*> merge(std::vector<Edge*>& edges);
 
-    void merge(std::vector<Edge*>& medgedEdges);
+    std::vector<Edge*> merge();
 
 
 };
diff --git a/include/geos/operation/overlayng/EdgeNodingBuilder.h b/include/geos/operation/overlayng/EdgeNodingBuilder.h
index 73314ae..05dd09b 100644
--- a/include/geos/operation/overlayng/EdgeNodingBuilder.h
+++ b/include/geos/operation/overlayng/EdgeNodingBuilder.h
@@ -135,7 +135,7 @@ private:
     * Lines that have few vertices or are covered
     * by the clip extent do not need to be limited.
     */
-    bool isToBeLimited(const LineString* line);
+    bool isToBeLimited(const LineString* line) const;
 
     /**
     * If limiter is provided,
@@ -179,9 +179,8 @@ private:
     * which is used to provide source topology info to the constructed Edges
     * (and is then discarded).
     */
-    void node(std::vector<SegmentString*>* segStrings, std::vector<Edge*>& nodedEdges);
-
-    void createEdges(std::vector<SegmentString*>* segStrings, std::vector<Edge*>& createdEdges);
+    std::vector<Edge*> node(std::vector<SegmentString*>* segStrings);
+    std::vector<Edge*> createEdges(std::vector<SegmentString*>* segStrings);
 
 
 public:
@@ -222,7 +221,7 @@ public:
     * @param geomIndex index of input geometry
     * @return true if there are edges for the geometry
     */
-    bool hasEdgesFor(int geomIndex);
+    bool hasEdgesFor(int geomIndex) const;
 
     /**
     * Creates a set of labelled {Edge}s.
@@ -235,7 +234,7 @@ public:
     * @param geom1 the second geometry
     * @return the noded, merged, labelled edges
     */
-    void build(const Geometry* geom0, const Geometry* geom1, std::vector<Edge*>& builtEdges);
+    std::vector<Edge*> build(const Geometry* geom0, const Geometry* geom1);
 
 
 
diff --git a/src/operation/overlayng/EdgeMerger.cpp b/src/operation/overlayng/EdgeMerger.cpp
index 94ee202..e1a45ed 100644
--- a/src/operation/overlayng/EdgeMerger.cpp
+++ b/src/operation/overlayng/EdgeMerger.cpp
@@ -26,19 +26,20 @@ EdgeMerger::EdgeMerger(std::vector<Edge*>& p_edges)
     : edges(p_edges) {}
 
 /*public static */
-void
-EdgeMerger::merge(std::vector<Edge*>& edges, std::vector<Edge*>& medgedEdges)
+std::vector<Edge*>
+EdgeMerger::merge(std::vector<Edge*>& edges)
 {
     EdgeMerger merger(edges);
-    merger.merge(medgedEdges);
-    return;
+    return merger.merge();
 }
 
 
 /*public static */
-void
-EdgeMerger::merge(std::vector<Edge*>& medgedEdges)
+std::vector<Edge*>
+EdgeMerger::merge()
 {
+    std::vector<Edge*> mergedEdges;
+
     for (Edge* edge : edges) {
         EdgeKey edgeKey(edge);
         auto it = edgeMap.find(edgeKey);
@@ -63,8 +64,9 @@ EdgeMerger::merge(std::vector<Edge*>& medgedEdges)
 
     // copy map values into return vector
     for (auto it: edgeMap) {
-        medgedEdges.push_back(it.second);
+        mergedEdges.push_back(it.second);
     }
+    return mergedEdges;
 }
 
 
diff --git a/src/operation/overlayng/EdgeNodingBuilder.cpp b/src/operation/overlayng/EdgeNodingBuilder.cpp
index e63ad0e..c925dc7 100644
--- a/src/operation/overlayng/EdgeNodingBuilder.cpp
+++ b/src/operation/overlayng/EdgeNodingBuilder.cpp
@@ -72,45 +72,47 @@ EdgeNodingBuilder::setClipEnvelope(const Envelope* p_clipEnv)
 }
 
 /*public*/
-void
-EdgeNodingBuilder::build(const Geometry* geom0, const Geometry* geom1, std::vector<Edge*>& builtEdges)
+std::vector<Edge*>
+EdgeNodingBuilder::build(const Geometry* geom0, const Geometry* geom1)
 {
     add(geom0, 0);
     add(geom1, 1);
-    std::vector<Edge*> nodedEdges;
-    node(inputEdges.get(), nodedEdges);
+    std::vector<Edge*> nodedEdges = node(inputEdges.get());
 
     /**
      * Merge the noded edges to eliminate duplicates.
      * Labels are combined.
      */
-    EdgeMerger::merge(nodedEdges, builtEdges);
-    return;
+    return EdgeMerger::merge(nodedEdges);
 }
 
 /*private*/
-void
-EdgeNodingBuilder::node(std::vector<SegmentString*>* segStrings, std::vector<Edge*>& nodedEdges)
+std::vector<Edge*>
+EdgeNodingBuilder::node(std::vector<SegmentString*>* segStrings)
 {
+    std::vector<Edge*> nodedEdges;
+
     Noder* noder = getNoder();
     noder->computeNodes(segStrings);
 
     std::unique_ptr<std::vector<SegmentString*>> nodedSS(noder->getNodedSubstrings());
 
-    createEdges(nodedSS.get(), nodedEdges);
+    nodedEdges = createEdges(nodedSS.get());
 
     // Clean up now that all the info is transferred to Edges
     for (SegmentString* ss : *nodedSS) {
         delete ss;
     }
 
-    return;
+    return nodedEdges;
 }
 
 /*private*/
-void
-EdgeNodingBuilder::createEdges(std::vector<SegmentString*>* segStrings, std::vector<Edge*>& createdEdges)
+std::vector<Edge*>
+EdgeNodingBuilder::createEdges(std::vector<SegmentString*>* segStrings)
 {
+    std::vector<Edge*> createdEdges;
+
     for (SegmentString* ss : *segStrings) {
         const CoordinateSequence* pts = ss->getCoordinates();
 
@@ -127,12 +129,13 @@ EdgeNodingBuilder::createEdges(std::vector<SegmentString*>* segStrings, std::vec
         Edge* newEdge = &(edgeQue.back());
         createdEdges.push_back(newEdge);
     }
+    return createdEdges;
 }
 
 
 /*public*/
 bool
-EdgeNodingBuilder::hasEdgesFor(int geomIndex)
+EdgeNodingBuilder::hasEdgesFor(int geomIndex) const
 {
     assert(geomIndex >= 0 && geomIndex < 2);
     return hasEdges[geomIndex];
@@ -311,10 +314,10 @@ EdgeNodingBuilder::computeDepthDelta(const LinearRing* ring, bool isHole)
      */
     bool isOriented = true;
     if (!isHole) {
-      isOriented = !isCCW;
+        isOriented = !isCCW;
     }
     else {
-      isOriented = isCCW;
+        isOriented = isCCW;
     }
     /**
      * Depth delta can now be computed.
@@ -363,7 +366,7 @@ EdgeNodingBuilder::addLine(std::unique_ptr<CoordinateArraySequence>& pts, int ge
 
 /*private*/
 bool
-EdgeNodingBuilder::isToBeLimited(const LineString* line)
+EdgeNodingBuilder::isToBeLimited(const LineString* line) const
 {
     const CoordinateSequence* pts = line->getCoordinatesRO();
     if (limiter == nullptr || pts->size() <= MIN_LIMIT_PTS) {
diff --git a/src/operation/overlayng/LineBuilder.cpp b/src/operation/overlayng/LineBuilder.cpp
index e24602d..8406f25 100644
--- a/src/operation/overlayng/LineBuilder.cpp
+++ b/src/operation/overlayng/LineBuilder.cpp
@@ -47,7 +47,7 @@ LineBuilder::markResultLines()
 {
     std::vector<OverlayEdge*>& edges = graph->getEdges();
     for (OverlayEdge* edge : edges) {
-              /**
+        /**
         * If the edge linework is already marked as in the result,
         * it is not included as a line.
         * This occurs when an edge either is in a result area
diff --git a/src/operation/overlayng/OverlayNG.cpp b/src/operation/overlayng/OverlayNG.cpp
index c7f398b..961be62 100644
--- a/src/operation/overlayng/OverlayNG.cpp
+++ b/src/operation/overlayng/OverlayNG.cpp
@@ -166,11 +166,9 @@ OverlayNG::computeEdgeOverlay()
         }
     }
 
-    std::vector<Edge*> edges;
-    nodingBuilder.build(
+    std::vector<Edge*> edges = nodingBuilder.build(
         inputGeom.getGeometry(0),
-        inputGeom.getGeometry(1),
-        edges);
+        inputGeom.getGeometry(1));
 
     /**
      * Record if an input geometry has collapsed.

commit 1a3ca4044be583dff49d01eddc610a0e021a775a
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Mon Aug 10 11:59:02 2020 -0700

    Clean out some old iterator loops in favour of for loops

diff --git a/benchmarks/operation/predicate/RectangleIntersectsPerfTest.cpp b/benchmarks/operation/predicate/RectangleIntersectsPerfTest.cpp
index 8ecfea5..e5e8138 100644
--- a/benchmarks/operation/predicate/RectangleIntersectsPerfTest.cpp
+++ b/benchmarks/operation/predicate/RectangleIntersectsPerfTest.cpp
@@ -86,9 +86,8 @@ private:
         vector<const Geometry*> rects;
         createRectangles(*target.getEnvelopeInternal(), nRect, rectSize, rects);
         test(rects, target);
-        for(vector<const Geometry*>::iterator i = rects.begin(), n = rects.end();
-                i != n; ++i) {
-            delete *i;
+        for (const Geometry* g: rects) {
+            delete g;
         }
     }
 
diff --git a/src/geomgraph/DirectedEdgeStar.cpp b/src/geomgraph/DirectedEdgeStar.cpp
index abb6d72..aa9f499 100644
--- a/src/geomgraph/DirectedEdgeStar.cpp
+++ b/src/geomgraph/DirectedEdgeStar.cpp
@@ -58,10 +58,8 @@ int
 DirectedEdgeStar::getOutgoingDegree()
 {
     int degree = 0;
-    EdgeEndStar::iterator endIt = end();
-    for(EdgeEndStar::iterator it = begin(); it != endIt; ++it) {
-        assert(*it);
-        DirectedEdge* de = detail::down_cast<DirectedEdge*>(*it);
+    for (EdgeEnd* ee: *this) {
+        DirectedEdge* de = detail::down_cast<DirectedEdge*>(ee);
         if(de->isInResult()) {
             ++degree;
         }
diff --git a/src/noding/MCIndexNoder.cpp b/src/noding/MCIndexNoder.cpp
index 543e6f6..504eaf4 100644
--- a/src/noding/MCIndexNoder.cpp
+++ b/src/noding/MCIndexNoder.cpp
@@ -120,11 +120,9 @@ MCIndexNoder::add(SegmentString* segStr)
 
 MCIndexNoder::~MCIndexNoder()
 {
-    for(vector<MonotoneChain*>::iterator
-            i = monoChains.begin(), iEnd = monoChains.end();
-            i != iEnd; ++i) {
-        assert(*i);
-        delete *i;
+    for(MonotoneChain* mc: monoChains) {
+        assert(mc);
+        delete mc;
     }
 }
 
diff --git a/src/noding/SimpleNoder.cpp b/src/noding/SimpleNoder.cpp
index b45218f..81e4f85 100644
--- a/src/noding/SimpleNoder.cpp
+++ b/src/noding/SimpleNoder.cpp
@@ -49,17 +49,12 @@ SimpleNoder::computeNodes(SegmentString::NonConstVect* inputSegmentStrings)
 {
     nodedSegStrings = inputSegmentStrings;
 
-    for(SegmentString::NonConstVect::const_iterator
-            i0 = inputSegmentStrings->begin(), i0End = inputSegmentStrings->end();
-            i0 != i0End; ++i0) {
-        SegmentString* edge0 = *i0;
-        for(SegmentString::NonConstVect::iterator
-                i1 = inputSegmentStrings->begin(), i1End = inputSegmentStrings->end();
-                i1 != i1End; ++i1) {
-            SegmentString* edge1 = *i1;
+    for (SegmentString* edge0: *inputSegmentStrings) {
+        for (SegmentString* edge1: *inputSegmentStrings) {
             computeIntersects(edge0, edge1);
         }
     }
+
 }
 
 
diff --git a/src/noding/snapround/MCIndexSnapRounder.cpp b/src/noding/snapround/MCIndexSnapRounder.cpp
index b7f1757..86b6ec2 100644
--- a/src/noding/snapround/MCIndexSnapRounder.cpp
+++ b/src/noding/snapround/MCIndexSnapRounder.cpp
@@ -51,14 +51,11 @@ MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,
 void
 MCIndexSnapRounder::computeIntersectionSnaps(vector<Coordinate>& snapPts)
 {
-    for(vector<Coordinate>::iterator
-            it = snapPts.begin(), itEnd = snapPts.end();
-            it != itEnd;
-            ++it) {
-        Coordinate& snapPt = *it;
+    for (Coordinate& snapPt: snapPts) {
         HotPixel hotPixel(snapPt, scaleFactor);
         pointSnapper->snap(hotPixel);
     }
+
 }
 
 /*private*/

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

Summary of changes:
 .../predicate/RectangleIntersectsPerfTest.cpp      |  5 +--
 include/geos/geom/Location.h                       |  2 +-
 include/geos/geomgraph/Label.h                     |  6 +--
 include/geos/geomgraph/Label.inl                   | 10 ++---
 include/geos/geomgraph/TopologyLocation.h          |  8 ++--
 include/geos/geomgraph/TopologyLocation.inl        | 10 ++---
 include/geos/operation/overlay/OverlayOp.h         |  2 +-
 include/geos/operation/overlayng/EdgeMerger.h      |  4 +-
 .../geos/operation/overlayng/EdgeNodingBuilder.h   | 11 +++---
 include/geos/operation/overlayng/OverlayLabel.h    |  2 +-
 src/geom/IntersectionMatrix.cpp                    |  2 +-
 src/geom/Location.cpp                              |  2 +-
 src/geom/prep/PreparedPolygonPredicate.cpp         |  4 +-
 src/geomgraph/DirectedEdgeStar.cpp                 | 12 +++---
 src/geomgraph/EdgeEndStar.cpp                      | 24 ++++++------
 src/geomgraph/EdgeRing.cpp                         |  6 +--
 src/geomgraph/Node.cpp                             |  6 +--
 src/geomgraph/TopologyLocation.cpp                 |  6 +--
 src/noding/MCIndexNoder.cpp                        |  8 ++--
 src/noding/SimpleNoder.cpp                         | 11 ++----
 src/noding/snapround/HotPixelIndex.cpp             |  4 +-
 src/noding/snapround/MCIndexSnapRounder.cpp        |  7 +---
 src/noding/snapround/SnapRoundingNoder.cpp         |  2 +-
 src/operation/overlayng/Edge.cpp                   |  8 ++--
 src/operation/overlayng/EdgeMerger.cpp             | 16 ++++----
 src/operation/overlayng/EdgeNodingBuilder.cpp      | 35 +++++++++--------
 src/operation/overlayng/LineBuilder.cpp            |  4 +-
 src/operation/overlayng/OverlayLabeller.cpp        |  2 +-
 src/operation/overlayng/OverlayNG.cpp              |  6 +--
 src/operation/relate/EdgeEndBundle.cpp             |  6 +--
 tests/unit/geom/LocationTest.cpp                   |  4 +-
 tests/unit/geomgraph/TopologyLocationTest.cpp      | 12 +++---
 .../geounion/CascadedPolygonUnionTest.cpp          |  4 +-
 tests/xmltester/XMLTester.cpp                      | 45 ++++++++++++----------
 tests/xmltester/XMLTester.h                        |  3 +-
 tools/ci/script.sh                                 |  2 +-
 tools/ci/script_cmake.sh                           |  5 ++-
 37 files changed, 152 insertions(+), 154 deletions(-)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list