[geos-commits] [SCM] GEOS branch svn-3.5 updated. 781fab7f6ff0ee4c3beb80be57391738c270e71f
git at osgeo.org
git at osgeo.org
Fri Sep 13 11:11:41 PDT 2019
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, svn-3.5 has been updated
via 781fab7f6ff0ee4c3beb80be57391738c270e71f (commit)
from 1810626b18a15200d7419b99b56c580741e7f117 (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 781fab7f6ff0ee4c3beb80be57391738c270e71f
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date: Fri Sep 13 11:11:16 2019 -0700
Change from using std::array to int[]
References #986
diff --git a/include/geos/geomgraph/TopologyLocation.h b/include/geos/geomgraph/TopologyLocation.h
index f0b5f8d..874357c 100644
--- a/include/geos/geomgraph/TopologyLocation.h
+++ b/include/geos/geomgraph/TopologyLocation.h
@@ -8,7 +8,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.
*
**********************************************************************
@@ -25,7 +25,6 @@
#include <geos/inline.h>
#include <vector>
-#include <array>
#include <string>
#ifdef _MSC_VER
@@ -39,14 +38,14 @@ namespace geomgraph { // geos.geomgraph
/** \brief
* A TopologyLocation is the labelling of a
* GraphComponent's topological relationship to a single Geometry.
- *
+ *
* If the parent component is an area edge, each side and the edge itself
* have a topological location. These locations are named
- *
+ *
* - ON: on the edge
* - LEFT: left-hand side of the edge
* - RIGHT: right-hand side
- *
+ *
* If the parent component is a line edge or node, there is a single
* topological relationship attribute, ON.
*
@@ -72,7 +71,7 @@ public:
* Geometry.
*
* Possible values for the
- * parameters are Location::UNDEF, Location::EXTERIOR, Location::BOUNDARY,
+ * parameters are Location::UNDEF, Location::EXTERIOR, Location::BOUNDARY,
* and Location::INTERIOR.
*
* @see Location
@@ -114,7 +113,7 @@ public:
void setLocation(int locValue);
/// Warning: returns reference to owned memory
- const std::array<int, 3>& getLocations() const;
+ const int* getLocations() const;
void setLocations(int on, int left, int right);
@@ -130,7 +129,7 @@ public:
private:
- std::array<int, 3> location;
+ int location[3];
std::size_t locationSize;
};
diff --git a/src/geomgraph/TopologyLocation.cpp b/src/geomgraph/TopologyLocation.cpp
index 873ccb2..b5bd303 100644
--- a/src/geomgraph/TopologyLocation.cpp
+++ b/src/geomgraph/TopologyLocation.cpp
@@ -8,7 +8,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.
*
**********************************************************************
@@ -55,24 +55,26 @@ TopologyLocation::TopologyLocation(int on, int left, int right):
TopologyLocation::TopologyLocation(int on):
locationSize(1)
{
- location.fill(Location::UNDEF);
location[Position::ON] = on;
}
/*public*/
-TopologyLocation::TopologyLocation(const TopologyLocation &gl)
- :
- location(gl.location),
- locationSize(gl.locationSize)
+TopologyLocation::TopologyLocation(const TopologyLocation &gl):
+ locationSize(gl.locationSize)
{
+ for (size_t i=0; i<locationSize; ++i) {
+ location[i] = gl.location[i];
+ }
}
/*public*/
TopologyLocation&
TopologyLocation::operator= (const TopologyLocation &gl)
{
- location = gl.location;
locationSize = gl.locationSize;
+ for (size_t i=0; i<locationSize; ++i) {
+ location[i] = gl.location[i];
+ }
return *this;
}
@@ -140,7 +142,9 @@ TopologyLocation::flip()
void
TopologyLocation::setAllLocations(int locValue)
{
- location.fill(locValue);
+ for (size_t i=0; i<locationSize; ++i) {
+ location[i]=locValue;
+ }
}
/*public*/
@@ -167,7 +171,7 @@ TopologyLocation::setLocation(int locValue)
}
/*public*/
-const std::array<int, 3>&
+const int*
TopologyLocation::getLocations() const
{
return location;
-----------------------------------------------------------------------
Summary of changes:
include/geos/geomgraph/TopologyLocation.h | 15 +++++++--------
src/geomgraph/TopologyLocation.cpp | 22 +++++++++++++---------
2 files changed, 20 insertions(+), 17 deletions(-)
hooks/post-receive
--
GEOS
More information about the geos-commits
mailing list