Skip to content
Commits on Source (4)
......@@ -43,7 +43,6 @@ message(STATUS "Setting C++ requirement to C++${CMAKE_CXX_STANDARD}")
# GEOS release version
# GEOS C++ library SONAME will use these encoding ABI break at every release
set(GEOS_VERSION_PATCH "${GEOS_VERSION_PATCH}dev")
set(GEOS_VERSION "${GEOS_VERSION_MAJOR}.${GEOS_VERSION_MINOR}.${GEOS_VERSION_PATCH}")
set(VERSION "${GEOS_VERSION}")
......
2018-08-19 Regina Obe <lr@pcorp.us>
* NEWS, configure.ac: Prepping for geos 3.7.0rc1 release
2018-08-19 Regina Obe <lr@pcorp.us>
* capi/CMakeLists.txt, src/CMakeLists.txt: Allow building C API as
static lib for CMake. References #878 for GEOS 3.7.0, closes
https://github.com/libgeos/geos/pull/102
2018-08-18 Regina Obe <lr@pcorp.us>
* CMakeLists.txt: Revert change in #914 cause breaks travis and
winnie
2018-08-18 Daniel Baston <dbaston@gmail.com>
* : commit 3db733ddd1b6c4c407561023291cd648741ea79d Merge: 195dba53
1e66be58 Author: Regina Obe <lr@pcorp.us> Date: Fri Aug 17
22:52:49 2018 -0400
2018-08-17 Regina Obe <lr@pcorp.us>
* CMakeLists.txt: Take out the C++11 enforcement causing issue with
finite - see #914. Also take out dev from pathc, its already in
there
2018-08-13 Daniel Baston <dbaston@gmail.com>
* src/index/strtree/AbstractSTRtree.cpp,
tests/unit/capi/GEOSSTRtreeTest.cpp: Avoid segfault when querying
empty tree Closes #730 Closes https://github.com/libgeos/geos/pull/116
2018-08-13 Daniel Baston <dbaston@gmail.com>
* : commit 1fc7f585ed822ebbb685ba848f9537691d864697 Author: Daniel
Baston <dbaston@gmail.com> Date: Tue Aug 7 21:36:39 2018 -0400
2018-08-07 Daniel Baston <dbaston@gmail.com>
* include/geos/algorithm/PointLocator.h,
src/algorithm/PointLocator.cpp,
tests/unit/capi/GEOSIntersectsTest.cpp: Fix predicate crash with
empty collection components Fixes #782 Closes https://github.com/libgeos/geos/pull/114
2018-08-06 Kurt Schwehr <schwehr@google.com>
* : commit c05ad7552dab1b8a9e49bc974a9f557c4c451350 Author: Kurt
Schwehr <schwehr@google.com> Date: Mon Aug 6 11:19:59 2018 -0700
2018-08-06 Regina Obe <lr@pcorp.us>
 
* NEWS, tests/perf/Makefile.am, tests/perf/capi/Makefile.am,
Changes in 3.7.0rc1
2018-08-19
Fixes / enhancements since 3.7.0beta2
- Avoid segfault when querying empty tree (#730, framm)
- Collection with Empty components crashes overlay (#782, Dan Baston)
- Allow static library with C API for CMake builds (#878, Dakota Hawkins)
Changes in 3.7.0beta2
2018-08-06
Fixes since 3.7.0beta1
......
......@@ -21,8 +21,8 @@ set(geos_c_SOURCES
file(GLOB geos_capi_HEADERS ${CMAKE_BINARY_DIR}/capi/*.h) # fix source_group issue
if(NOT GEOS_ENABLE_MACOSX_FRAMEWORK)
# if building OS X framework, CAPI built into C++ library
if(NOT GEOS_ENABLE_MACOSX_FRAMEWORK AND GEOS_BUILD_SHARED)
# if building OS X framework or only building static libs, CAPI built into C++ library
add_library(geos_c SHARED ${geos_c_SOURCES})
target_link_libraries(geos_c geos)
......@@ -57,7 +57,7 @@ else()
DESTINATION include)
endif()
if(NOT GEOS_ENABLE_MACOSX_FRAMEWORK)
if(NOT GEOS_ENABLE_MACOSX_FRAMEWORK AND GEOS_BUILD_SHARED)
install(TARGETS geos_c
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
......
......@@ -70,10 +70,10 @@ extern "C" {
#define GEOS_VERSION_MINOR 7
#endif
#ifndef GEOS_VERSION_PATCH
#define GEOS_VERSION_PATCH 0beta2
#define GEOS_VERSION_PATCH 0rc1
#endif
#ifndef GEOS_VERSION
#define GEOS_VERSION "3.7.0beta2"
#define GEOS_VERSION "3.7.0rc1"
#endif
#ifndef GEOS_JTS_PORT
#define GEOS_JTS_PORT "1.13.0"
......@@ -82,7 +82,7 @@ extern "C" {
#define GEOS_CAPI_VERSION_MAJOR 1
#define GEOS_CAPI_VERSION_MINOR 11
#define GEOS_CAPI_VERSION_PATCH 0
#define GEOS_CAPI_VERSION "3.7.0beta2-CAPI-1.11.0"
#define GEOS_CAPI_VERSION "3.7.0rc1-CAPI-1.11.0"
#endif
#define GEOS_CAPI_FIRST_INTERFACE GEOS_CAPI_VERSION_MAJOR
......
......@@ -2632,7 +2632,7 @@ CAPI_INTERFACE_AGE=11
 
VERSION_MAJOR=3
VERSION_MINOR=7
VERSION_PATCH=0beta2
VERSION_PATCH=0rc1
VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"
VERSION_RELEASE=`echo "$VERSION" | sed -E 's/^([0-9]+\.[0-9]+\.[0-9]+).*?$/\1/'`
 
......
......@@ -24,7 +24,7 @@ dnl -- encoding ABI break at every release
dnl
VERSION_MAJOR=3
VERSION_MINOR=7
VERSION_PATCH=0beta2
VERSION_PATCH=0rc1
VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"
VERSION_RELEASE=`echo "$VERSION" | sed -E 's/^([[0-9]+\.[0-9]+\.[0-9]+]).*?$/\1/'`
......
geos (3.7.0~rc1-1~exp1) experimental; urgency=medium
* New upstream release candidate.
-- Bas Couwenberg <sebastic@debian.org> Sun, 19 Aug 2018 14:30:47 +0200
geos (3.7.0~beta2-1~exp1) experimental; urgency=medium
* New upstream beta release.
......
......@@ -23,7 +23,7 @@ PROJECT_NAME = GEOS
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 3.7.0beta2
PROJECT_NUMBER = 3.7.0rc1
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
......
#define GEOS_REVISION "e7d54545"
#define GEOS_REVISION "49f66217"
......@@ -13,7 +13,7 @@
*
**********************************************************************
*
* Last port: algorithm/PointLocator.java r320 (JTS-1.12)
* Last port: algorithm/PointLocator.java 95fbe34b (JTS-1.15.2-SNAPSHOT)
*
**********************************************************************/
......@@ -51,9 +51,8 @@ namespace algorithm { // geos::algorithm
* Notes:
* - instances of this class are not reentrant.
* - LinearRing objects do not enclose any area
* points inside the ring are still in the EXTERIOR of the ring.
* (points inside the ring are still in the EXTERIOR of the ring.)
*
* Last port: algorithm/PointLocator.java rev. 1.26 (JTS-1.7+)
*/
class GEOS_DLL PointLocator {
public:
......@@ -62,11 +61,9 @@ public:
/**
* Computes the topological relationship (Location) of a single point
* to a Geometry.
* It handles both single-element
* and multi-element Geometries.
* The algorithm for multi-part Geometries
* takes into account the boundaryDetermination rule.
* to a Geometry. It handles both single-element and multi-element Geometries.
* The algorithm for multi-part Geometriestakes into account the SFS
* Boundary Determination rule.
*
* @return the Location of the point relative to the input Geometry
*/
......
......@@ -14,15 +14,16 @@
file(GLOB_RECURSE geos_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
file(GLOB_RECURSE geos_ALL_HEADERS ${CMAKE_SOURCE_DIR}/include/*.h) # fix source_group issue
# Include CAPI in OS X framework binary and in static libs
set(geos_c_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/../capi/geos_c.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../capi/geos_ts_c.cpp)
if(GEOS_ENABLE_MACOSX_FRAMEWORK)
# OS X frameworks don't have static libs
# also 1 binary, so include CAPI here
# and, make name all caps
set(geos_c_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/../capi/geos_c.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../capi/geos_ts_c.cpp)
add_library(GEOS SHARED ${geos_SOURCES} ${geos_c_SOURCES})
math(EXPR CVERSION "${VERSION_MAJOR} + 1")
......@@ -77,7 +78,8 @@ else()
endif()
if(GEOS_BUILD_STATIC)
add_library(geos-static STATIC ${geos_SOURCES} ${geos_ALL_HEADERS})
file(GLOB geos_capi_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/../capi/*.h) # fix source_group issue
add_library(geos-static STATIC ${geos_SOURCES} ${geos_c_SOURCES} ${geos_ALL_HEADERS} ${geos_capi_HEADERS})
set_target_properties(geos-static
PROPERTIES
......@@ -85,6 +87,8 @@ else()
PREFIX "lib"
CLEAN_DIRECT_OUTPUT 1)
add_dependencies(geos-static geos_revision)
install(TARGETS geos-static
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
......
......@@ -13,7 +13,7 @@
*
**********************************************************************
*
* Last port: algorithm/PointLocator.java r320 (JTS-1.12)
* Last port: algorithm/PointLocator.java 95fbe34b (JTS-1.15.2-SNAPSHOT)
*
**********************************************************************/
......@@ -128,6 +128,9 @@ PointLocator::locate(const Coordinate& p, const Point *pt)
int
PointLocator::locate(const Coordinate& p, const LineString *l)
{
if (!l->getEnvelopeInternal()->intersects(p))
return Location::EXTERIOR;
const CoordinateSequence* pt=l->getCoordinatesRO();
if (! l->isClosed()) {
if ((p==pt->getAt(0)) || (p==pt->getAt(pt->getSize()-1))) {
......@@ -143,7 +146,9 @@ PointLocator::locate(const Coordinate& p, const LineString *l)
int
PointLocator::locateInPolygonRing(const Coordinate& p, const LinearRing *ring)
{
// can this test be folded into isPointInRing ?
if (!ring->getEnvelopeInternal()->intersects(p)) {
return Location::EXTERIOR;
}
const CoordinateSequence *cl = ring->getCoordinatesRO();
......
......@@ -95,7 +95,7 @@ CoordinateArraySequence::getDimension() const
if( dimension != 0 )
return dimension;
if( vect->size() == 0 )
if( vect->empty() )
return 3;
if( ISNAN((*vect)[0].z) )
......
......@@ -56,7 +56,7 @@ Coordinate&
EdgeEndStar::getCoordinate()
{
static Coordinate nullCoord(DoubleNotANumber, DoubleNotANumber, DoubleNotANumber);
if (edgeMap.size()==0) return nullCoord;
if (edgeMap.empty()) return nullCoord;
EdgeEndStar::iterator it=begin();
EdgeEnd *e=*it;
......@@ -215,7 +215,7 @@ EdgeEndStar::checkAreaLabelsConsistent(int geomIndex)
// the left side of the edge
// if no edges, trivially consistent
if (edgeMap.size()==0) return true;
if (edgeMap.empty()) return true;
// initialize startLoc to location of last L side (if any)
assert(*rbegin());
......@@ -366,4 +366,3 @@ operator<< (std::ostream& os, const EdgeEndStar& es)
} // namespace geos.geomgraph
} // namespace geos
......@@ -125,7 +125,10 @@ AbstractSTRtree::query(const void* searchBounds, vector<void*>& matches)
{
if (!built) build();
if (itemBoundables->empty()) assert(root->getBounds()==nullptr);
if (itemBoundables->empty()) {
assert(root->getBounds()==nullptr);
return;
}
if (getIntersectsOp()->intersects(root->getBounds(), searchBounds))
{
......@@ -139,7 +142,10 @@ AbstractSTRtree::query(const void* searchBounds, ItemVisitor& visitor)
{
if (!built) build();
if (itemBoundables->empty()) assert(root->getBounds()==nullptr);
if (itemBoundables->empty()) {
assert(root->getBounds()==nullptr);
return;
}
if (getIntersectsOp()->intersects(root->getBounds(),searchBounds))
{
......
......@@ -133,7 +133,7 @@ GeometryNoder::getNoded()
{
for (size_t i=0, n=lineList.size(); i<n; ++i)
delete lineList[i];
throw ex;
throw;
}
std::unique_ptr<geom::Geometry> noded = toGeometry(*nodedEdges);
......
......@@ -148,7 +148,7 @@ SubgraphDepthLocater::getDepth(const Coordinate& p)
findStabbedSegments(p, stabbedSegments);
// if no segments on stabbing line subgraph must be outside all others
if (stabbedSegments.size()==0) return 0;
if (stabbedSegments.empty()) return 0;
sort(stabbedSegments.begin(), stabbedSegments.end(), DepthSegmentLessThen());
......
......@@ -232,7 +232,7 @@ LineSequencer::buildSequencedGeometry(const Sequences& sequences)
}
}
if ( lines->size() == 0 ) {
if ( lines->empty() ) {
return nullptr;
} else {
Geometry::NonConstVect *l=lines.get();
......
......@@ -225,7 +225,7 @@ LineBuilder::propagateZ(CoordinateSequence *cs)
cerr<<" found "<<v3d.size()<<" 3d vertexes"<<endl;
#endif
if ( v3d.size() == 0 )
if ( v3d.empty() )
{
#if GEOS_DEBUG
cerr<<" nothing to do"<<endl;
......@@ -318,4 +318,3 @@ LineBuilder::labelIsolatedLine(Edge *e, int targetIndex)
} // namespace geos.operation.overlay
} // namespace geos.operation
} // namespace geos