-
Notifications
You must be signed in to change notification settings - Fork 361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proper way to dynamic_cast LineString #285
Comments
Forgot to mention that i'm using libgeos 3.8.0 from brew. On macOS Catalyna 10.15.3, in Xcode 11.3.1 |
This sounds similar to a unit test that also fails on OS X: https://github.com/libgeos/geos/blob/master/tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp#L56 That failure has been reported at least three times and never resolved: |
Black magic. |
Built debug version of geos 3.8.0 from sources. Tried it. It works without issues. Very interesting. And now most of geos_c also won't work correctly because it relies on |
Now I've tried static version from brew. No issues. |
next step. nm -gC libgeos.dylib shows bunch of vtables
no vtable for LineString as you may notice. |
Compiled same version on Ubuntu 18.04 and vtable persists. Looks like a compile issue. macOS:
Ubuntu
|
Please check the list of options from https://lld.llvm.org/missingkeyfunction.html#missing-key-function |
To have a vtable we should have explicit definition of key function. Details: https://lld.llvm.org/missingkeyfunction.html#missing-key-function
@dbaston It works! I have sent pull request. |
To have a vtable we should have explicit definition of key function. Details: https://lld.llvm.org/missingkeyfunction.html#missing-key-function
References libgeos#285 References libgeos#1016
To have a vtable we should have explicit definition of key function. Details: https://lld.llvm.org/missingkeyfunction.html#missing-key-function
Andrew Bell (1): Fix windows compilation issues. Brendan Ward (14): Add GEOSDensify to CAPI Fix geometry variable name Remove guard for null geometry and associated test Move empty check to Densifier; reduce test boilerplate Ensure densify results in segments <= tolerance Make sure that Polygon::compareToSameClass compares holes Expand XML densify tests, reduce boilerplate in C API densify tests Adds several CAPI tests for GEOSDistanceWithin Failing test case for GEOSDistance floating point overflows Prepared geometry predicate exception memory leak (#506) ENH: Add GEOSGeom_createRectangle to C API (#558) Add GEOSHilbertCode to C API (#556) Add GEOSGeom_transformXY to C API Add warning related to #585 (#586) Casper van der Wel (10): C API Headers C API plus tests Some missing includes Test segfaults Fix tests Clean Docstrings Writer WIP Finish C API Clean Daniel Baston (491): Add comment explaining GEOSEqualsExact Avoid throwing exceptions as pointers Minimize heap allocations in IndexedPointInAreaLocator Remove unneeded constructor call Store SortedPackedIntervalRTree leaf and branch nodes in vectors Remove empty file Fix incorrect error return values in CAPI Resolve MSVC warning Fix memory leak in SIRtree Resolve segfault in BinTree Fix memory leak introduced in aefa49cbc Tidy MCPointInRing Resolve unused value warning Fix typo in error message [ci skip] Use unique_ptr in FastSegmentSetIntersectionFinder Make new methods static Fix mem leaks in SIRtreePointInRing Improve orientationIndex performance with fast filter Fix typos in comments Simplify for loop syntax Use unique_ptr for managed Envelopes in LineSegmentIndex Remove C-style casts Simplify for loop definition Store LineSegmentIndex Quadtree as value, not pointer Use unique_ptr for Quadtree-owned envelopes Use std::array for Quadtree nodes Simplify for loop Avoid specifying iterator type Use std::pair instead of length-2 std::vector Optimize intersection testing Change std::map to std::unordered_map in TopologyPreservingSimplifier Update PR to incorporate master branch refactoring Enable commented-out test Complete tuple->struct transition Replace fixed-size std::vector with std::array Update AppVeyor badge URLs Fix conversion error warning in Profiler NEWS entry for GEOSPointOnSurface improvements Add test case for DistanceOp::closestPoints Run make distcheck on Travis Install git2cl for Travis autotools builds Fix make distcheck failures Fix memory leaks in MinimumBoundingCircle Fix memory leak in IndexedFacetDistance Fix memory leaks in GeometryCollection unit test Fix memory leak in GeometryGraph Fix copy-paste error in debug output Add ability to retrieve only valid polygons from Polygonizer. Remove some manual memory management Improve Polygonizer performance for cases with many potential holes Make Polygonizer::findValidRings static Simplify for loops in PolygonizeGraph Add GEOSPolygonize_valid to CAPI Initial implementation of CoverageUnion. Fail on overlapping or incorrectly noded inputs Define a hash function for LineSegment Add GEOSCoverageUnion to C API Polygonizer performance improvements Add GEOSCoverageUnion CAPI test Fix compilation for gcc 4.8 Rework c5c826b340 to match what ultimately landed in JTS NEWS entry Add HoleAssigner to automake files Switch Travis builds to xenial Fix compilation on gcc 4.8 Switch Travis builds to xenial Reduce Travis build matrix Reduce CMake requirement to version installed on AppVeyor Fix warnings in FacetSequence Some updates to README [ci skip] Remove unstable API warnings for tests Disable ttmath ASM for MSVC Revert "Remove unstable API warnings for tests" Revert "Remove unstable API warnings for tests" Update Visual Studio instructions in README.md [ci skip] .gitignore additions [CMake] Exclude perf tests from make check [CMake] Don't package build subdirs of project root Pull removeRepeatedPoints out of CoordinateSequence Use unique_ptr for functions returning CoordinateSequence Fix handling of repeated points in ScaledNoder Use unique_ptr for prepared geometries Remove leftover nmake.opt Remove CoordinateSequence::toVector() Add comment explaining c14208190ad4 Add missing GEOS_DLL for MSVC Remove unneeded Coordinate copies in InteriorPointArea Clear -Wshadow warning in FacetSequence [CMake] Add target for doc/example.cpp Return unique_ptr from Geometry::clone and Geometry::reverse Return unique_ptr from Geometry::convexHull() Return unique_ptr from Geometry::getEnvelope, getBoundary, getCentroid Return unique_ptr from Geometry::relate Make Geometry::relate non-virtual Return unique_ptr from Geometry::getInteriorPoint Make Geometry::getInteriorPoint non-virtual Return unique_ptr from Geometry overlay, buffer methods Fix compilation of example.cpp Fix compilation with gcc 4.8 Report code coverage from Travis Exclude vendored libs from codecov Disable coverage comments on PRs [ci skip] Remove CoordinateSequence::deleteAt Add missing benchmark to CMake build Resolve memory leaks in DistanceOp Add Voronoi perf test Improve performance of VoronoiDiagramBuilder Add make_unique to geos_util.h Remove using geos::detail::make_unique statements Remove some trivial uses of CoordinateSequence::add Implement CoordinateSequence::toString() Move CoordinateSequence::add variants to CoordinateArraySequence Resolve trivial TODO in LineSegment::reverse Remove some unnecessary Coordinate copies Remove additional unnecessary Coordinate copies Add GEOSPreparedContains perf test Use adaptive OrientationIndex in RayCrossingCounter Avoid double-testing all positive PIP results in Avoid performing envelope test against Points Add Point short-circuit to PreparedPolygonPredicate::isAnyTestComponentInTargetInterior Use custom GeometryComponentFilter in PreparedPolygonPredicate to avoid creating vectors Add GeometryComponentFilter::isDone() Use C++11 std::chrono for Profiler Remove manual memory management in Profiler More informative timing output in VoronoiPerfTest Quiet a couple of warnings Add some prepared polygon predicate tests Clarify PIP short-circuits in PreparedPolygonPredicate Avoid relying on numeric ordering of Location Rename location filters Factor out AbstractPreparedPolygonContains::evalPointTestGeom Fix incorrect return from OutermostLocationFilter Handle Polygon rings as LinearRings Add test case for #850 Fix memory leak on GeometryCollection::getCoordinate Remove Puntal, Lineal, and Polygonal classes Reformat Doxygen comment that apparently breaks autotools build Add Geometry::isDimensionStrict Convert Location into an enum class Return unique_ptr from WKTReader and WKBReader Simplify constuction of base class unique_ptr from subclass unique_ptr Remove trivial heap alloc in GeometryPrecisionReducer Use unique_ptr in GeometryEditor Return unique_ptr from GeometryCombiner Fix test build failures Throw unthrown exception Throw another unthrown exception Remove manual memory management from GeometryCollection, Polygon Fix badge format in README.md Remove commented-out code Avoid heap-allocating std::vector in CoordinateArraySequence Remove virtual inheritance in Geometry subclasses Remove use of std::mem_fun Fix always-true conditional [azure-pipelines] Disable C++20 build for XCode 10.x Augment GeometryFactory with a methods taking and returning unique_ptr Add FixedSizeCoordinateSequence Add missing NEWS entry for #873 Catch exception by reference Catch exception by reference [azure-pipelines] Remove MSVC 2017 C++20 build Delaunay performance enhancements Avoid a heap alloc / raw pointer usage Store visit state with each QuadEdge instead of in a set NEWS updates Add envelope test to Distance::segmentToSegment Add failing test for #858 Fix invalid read on exception in IsValidOp Attempt to quiet TUT warnings in both MSVC, gcc Store PrecisionModel as a value Fix doc typos Use empty() instead of size() where possible Add test for #588 Add comment referring to ticket Add test case for #523 Add FixedSizeCoordinateSequence to autotools build Make FixedSizeCoordinateSequence match CoordinateArraySequence dim Mark FixedSizeCoordinateSequence methods as final Use unique_ptr in geomgraph::Edge Use unique_ptr in NodedSegmentString Use unique_ptr in MonotoneChain Remove some heap-allocated vectors Add Doxygen "docs" target to CMake build Add doxygen to Travis Avoid unnecessary sort in SubgraphDepthLocater Add multi-ordinate coordseq setters and getters to C API Clear -Wsuggest-override warnings Add include to IsSimpleOpTest.cpp Add Coordinate::distanceSquared Use uint8_t for TopologyLocation size Avoid Polygon->Geometry conversion in CoverageUnion Remove some unneeded heap allocs in EdgeEndBuilder Simplify MakeValid Improve MinimumDiameter Fix typo in a6edac73 Avoid unneeded Coordinate copies in MinimumBoundingCircle Manage some prepared geometry members with unique_ptr Simplify Geometry methods with new GeometryFactory methods Avoid heap alloc in EdgeRing::toPolygon Simplify ConvexHull::lineOrPolygon Simplify WKTReader::readPolygonText Simplify QuadEdgeSubdivision::getVoronoiCellPolygon Fix gcc 4.8 build Register individual tests with ctest Add overlay perf test Handle triangle coords with unique_ptr in QuadEdgeSubdivsion Return unique_ptr from Envelope->Geometry conversion Simplify BufferBuilder::createEmptyResultGeometry() Store polygonize EdgeRing holes as unique_ptr Store Polygonizer invalid ring lines as unique_ptr Update GeometricShapeFactory Avoid heap-allocating Coordinate vectors in SineStarFactory Store GeometryGraph EdgeRing rings using unique_ptr Simplify GeometryFactory::buildGeometry Simplify GeometryFactory::buildGeometry Return unique_ptr for empty geometry factory methods Use empty geometry constructor in GeometryCombiner Simplify GeometryFactory usage in GeometryEditor Use empty geometry constructors in WKTReader Use empty geom constructor in getBoundary methods Avoid heap alloc in GeometryCollection::reverse Avoid heap alloc in GeometryNoder::toGeometry Avoid vector heap alloc in BuildArea Use simpler GeometryFactory methods in WKBReader Use simpler GeometryFactory methods in CoordinateOperation Add GeometryFactory::buildGeometry signature and simplify implementations Use simpler GeometryFactory methods in GeometryTransformer Simplify FuzzyPointLocator Minor simplification in ConvexHull Return unique_ptr from MinimumBoundingCircle Simplify access to NodeMap Make geos_unit return 1 when called with non-existent test name Standardize test file naming Fix CMake inference of test suite name from file name Remove unused files Inline most methods of TopologyLocation and Label Declare empty destructors as default in header Inline EdgeEnd::getCoordinate Inline AbstractNode and ItemBoundable Reduce heap allocs in EdgeIntersectionList Back EdgeIntersectionList with std::vector Avoid heap alloc in EdgeIntersectionList::createSplitEdge Store OrientedCoordinateArrays in unordered_map Inline many methods of Quadrant Avoid repeated call to CoordinateSequence::getSize() Avoid dynamic_cast in STRtree Reduce size of SweepLineEvent Reduce heap allocations in SimpleMCSweepLineIntersector Remove unused Edge::name Reduce CoordinateSequence::getAt calls in MonotoneChainBuilder Inline many methods of Envelope Optimize Edge Envelope calculation Eagerly calculate Envelope in Edge and MonotoneChain Inline CoordinateArraySequence destructor Inline small methods of Depth Optimize LineString::computeEnvelopeInternal Reuse vector between iterations of MCIndexNoder::intersectChains() Remove heap alloc in EdgeEndBundle Avoid heap alloc in DirectedEdgeStar Inline simple methods of BasicSegmentString Inline short methods of SegmentIntersector Use array instead of vector in SegmentIntersector Fix build for -DDISABLE_GEOS_INLINE=YES Catch exception by reference Add DefaultCoordinateSequenceFactory Add benchmark for unary union of segments Reduce dynamic_cast usage in SimplePointInAreaLocator Remove redundant envelope test Do cascaded union of lines only after standard union fails Update unit tests to accomodate UnaryUnion optimization. Update expected result for issue-geos-392 test NEWS updates Ignore z in Coordinate::HashCode Return specific type from getGeometryN methods Avoid accessing pointer after move Provide more XML test output on failure Show 3.8 branch badges in README.md Avoid access past end of vector Improve Delaunay/Voronoi performance Minor optimization to Vertex::isCCW Avoid returning size-1 CoordinateSequence from empty point Distinguish between 2D and 3D empty Points Catch exception by reference Initialize interval tree with known number of segments Inline SortedPackedIntervalRTree::insert Presize segment vector in IntervalIndexedGeometry Speed up sort in SortedPackedIntervalRTree construction Remove copy-paste error handling in CAPI Disable AzP MSVC C++20 build affected by compiler bug Fix memory leak in PointTest Avoid use of int for boolean in WKBWriter Clear signed->unsigned warnings in CAPI Clear unused variable warning Simplify CAPI polygonizer code Remove heap alloc in GEOSGeom_createCollection_r Simplify GEOSLineMerge_r Avoid MonotoneChain self-compare in SimpleMCSweepLineIntersector Fix MSVC build Fix a few clang conversion warnings Add TopologyLocation tests Avoid indexing polygon shell if we have no holes to test Use unordered_map for GeometryGraph::lineEdgeMap Improve performance of PlanarGraph::findEdgeInSameDirection Add generic perf test for unary operations Lazily build index in IndexedPointInAreaLocator Pull vector declaration out of loop Use spatial index to check shell nesting in IsValidOp Avoid nested shell check for single-part MultiPolygons Optimize IndexedNesterRingTester Build up EdgeRing points in std::vector, not CoordinateSequence Remove using namespace std Disable Travis scan-build job Throw exception for unhandled situation in IndexedNestedShellTester Remove unneeded ctor calls Provide location for GEOSNode failure Add test for MakeValid Fix README badge URLs Fix memory leak in GEOSLineMerge Add test for GEOSversion Make LineMerger noncopyable (fixes MSVC build) Remove unreachable code Update deprecated throw() specifications Declare nan as constexpr Retain component order in MultiLineString::reverse Fix comment typos Add test showing LineString vtable creation Add Envelope::distanceToCoordinate Add envelope distance test in LineStringSnapper Add headers Add envelope check to DistanceOp::computeMinDistance Optimize and inline Envelope::distance Add additional envelope test to DistanceOp::computeMinDistance Clarify variable names Add Envelope::distanceSquared Use reference in Envelope::distance signature Add some tests for Envelope::distance Fix invalid reads in LEC and MIC tests Remove manual memory management from FacetSequenceTreeBuilder Add failing test for GEOSDistance segfault Avoid heap allocs in FacetSequenceTreeBuilder Optimize FacetSequence envelope calculation Skip zero-length segments in FacetSequence::distance Add envelope checks to FacetSequence::distance Add some CAPI tests Remove heap alloc in SegmentNodeList Return SegmentString by unique_ptr Add const to SegmentNodeList methods Fix some memory leaks in tests Add union to UnaryOpPerfTest Inline many methods of OverlayLabel Clear warnings about deprecated assignment operator Remove default arguments for Coordinate constructor Use char array instead of std::istream in WKBReader Inline GeometryFactory::getPrecisionModel Inline PrecisionModel::makePrecise Fix some typos Store SegmentNode values directly in SegmentNodeList Store SegmentNode in std::vector instead of std::map Tidy SegmentNodeList Avoid Coordinate copy in SnapRoundingNoder Inline SegmentNode::compareTo Inline simple methods of LineIntersector Inline short methods of EdgeKey Inline short methods of NodingIntersectionFinder Inline small methods of overlayng::Edge Inline short methods of overlayng::OverlayEdge Inline some methods of NodedSegmentString Fix autotools build Another autotools fix Avoid CoordinateSequence clone in EdgeNodingBuilder Avoid CoordinateSequence clone in OverlayEdgeRing Remove Envelope copy constructor / assignment operator Inline Envelope::expandToInclude methods Address "redundant move" compiler warnings Add test for MakeValid of empty MultiPolygon Inline CGAlgorithmsDD::orientationIndexFilter CMake: Use GNUInstallDirs to set install directories Remove StackWalker Throw exception instead of dumping to stderr [CMake] Make sure that assert() is disabled for any non-Debug build. Remove autotools configuration [CMake] Add -ffloat-store to 32-bit build [CMake] Disable issue-geos-837 test on 32-bit builds Remove old example program Clear compiler warning in GEOSGeom_createPolygon_r Remove Travis configuration [ci skip] Resolve some fussy clang warnings Make some WKTReader methods static Read unsigned integers in WKBReader Quiet warnings in WKTReader Mark WKTReader methods const Quiet more clang warnings Clear more clang warnings Quiet clang warnings Quiet clang warnings Fix doxygen Revert "Fix doxygen" Fix doxygen [CMake] Enable "developer mode" from git worktree [ci skip] Clear clang warnings Mark some methods/parameters const/static Clear clang warnings Clear clang warnings in OverlayNG Mark some methods as static/const Shrink EdgeSourceInfo Clear MSVC warnings Remove some duplicated code in CAPI tests Remove more duplicated code in CAPI tests Exclude vendored libs from GEOS compiler warnings [appveyor] Emit CMake version Avoid install error about ryu? Add comment [ci skip] Restore codecov reports Add some information to side location error message. Add Debug configuration to GitHub Actions Add typed variant of WKTReader::read Add methods to release objects owned by some Geometry types Enable GeometryCombiner to consume its inputs Fix MSVC build Represent empty envelope with NaN Guard against use of meaningless null Envelope bounds Remove outdated doc doc Mark some RayCrossingCounter methods const Add MakeValid test from PostGIS Avoid ElevationModel calcs for 2D geometries Use unordered_map in OverlayGraph Inline EdgeKey constructor Remove redundant check in Octant Add some benchmarks using Google Benchmark library Inline some methods of Envelope and MonotoneChain Inline some LineIntersector methods Add LineIntersector perf test Remove autotools doc build instructions [ci skip] Remove linear CascadedUnion Add IndexedPointInAreaLocator benchmark (WIP) Add MonotoneChainBuilder perf test Reimplment MonotoneChainBuilder as a CoordinateFilter Add -Werror to developer build Clear warnings in WKBReader Fix gcc warnings in geosop Clear WKBReader shadow warning Ignore warning options not supported by compiler Clear gcc warning in RobustLineIntersectorZTest Fix errors in GEOSNormalize doc Quiet CMake warnings when Benchmark library not found Fix warning Add TemplateSTRtree Add SpatialIndex benchmark Switch to templated tree in HoleAssigner Switch to template tree in IndexedNestedShellTester Use template tree in MCIndexNoder Use template tree in MCIndexSegmentSetMutualIntersector Use TemplateSTRtree in IndexedPointInAreaLocator Use TemplateSTRtree in CascadedPolygonUnion Use TemplateSTRtree in IndexedFacetDistance, MinimumClearance Use TemplateSTRtree in IndexedNestedRingTester Use TemplateSTRtree in C API Improve IndexedPointInAreaLocator performance Reduce node size in IndexedPointInAreaLocator tree Remove unused field in IndexedPointInAreaLocator Avoid vector use in MonotoneChain index queries, mark methods const Reduce heap allocs in SegmentNodeList Add mingw-w64 build to GitHub Actions Quiet signed conversion warning Quiet gcc ABI change warning Quiet signed conversion warnings Add CAPI functions to copy coordinate sequences from arrays and buffers Future-proof CoordSeq array API against M values Update branch references in README Restore availability of GEOSversion under GEOS_USE_ONLY_R_API Handle buffers with M in GEOSCoordSeq_copyFromBuffer, Document and test ownership semantics of GEOSSTRtree_insert Add GEOSSTRtree_query thread-safety test NEWS entry [ci skip] Fix memory leak in unit test Fix compilation error in GEOSCoordSeqPerfTest Enable benchmarks in one CI run Fix syntax error in workflow file Fix syntax error in workflow file Test Debug build with MSVC22 (#514) Reduce heap allocations in MonotoneChainBuilder (#520) Add missing include to WKTReader.h Fix MSVC build name in Actions [ci skip] Multiple fixes to STRtree remove method (#545) Perf improvement to GEOSCoordSeq_copyToBuffer (#562) Properly short-circuit STRtree queries (#578) Add test cases for Trac #1134 (#670) Fix crash in GEOSIntersects with empty point inputs (#673) GeometryFactory: Add createMultiPoint(std::vector<Coordinate>&&) Fix RelateOp for empty geometry and closed linear geometry GeometryPrecisionReducer: Avoid returning 3D Polygon on 2D input Darafei Praliaskouski (1): Fix Delaunay robustness by using longer floating point variable on inCircle Dylan Richardson (2): docs: update flags used in tar example (#521) inline: ensure inline.h is included in all .inl includers (#525) EC2 Default User (1): Add fp-contract=off flag to builds to avoid precision mistakes in the double-double code Even Rouault (67): Densifier.h: add missing override keyword Do not compile unused function getIndent() tinyxml2: add missing override keyword astyle: add missing override keyword .travis.yml: use ccache to speed-up builds appveyor.yml: reduce the number of configurations to 2, still testing 2 compiler versions, 2 architectures and 2 makefile generators (fixes #955) InteriorPointAreaPerfTest.cpp: fix MSVC build (fixes #957) Integrate InteriorPointAreaPerfTest.cpp in autoconf builds (fixes #957) tools/astyle/Makefile.am: fixes so that the .tar.gz generated by 'make dist' can be built with cmake src/algorithm/InteriorPointArea.cpp: fix -Wshadow warning (fixes #954) Add operation::polygonize::BuildArea Add operation::valid::MakeValid make check: fix whitespace detection for out-of-tree builds NEWS: mention GEOSBuildArea and GEOSMakeValid Use !std::isfinite() to exclude nan and infinite values Fix a few CLang 9 -Wextra warnings Fix -Wmismatched-tags warning related to WK[T/B][Reader/Writer] Add a geos::detail::down_cast<To>(From*) function include/: add deleted copy constructors and assignment operators Orientation.cpp: fix warning about implicit cast of size_t to int WKBReader.cpp: fix warning about signed vs unsigned comparison GEOSGeom_setPrecisionTest.cpp: fix warning about initialization of members not in the order of their declaration TaggedLineStringSimplifier.cpp: avoid importing whole std namespace to avoid cppcheck confusing the class' remove method with std::remove operator<< on MaximalEdgeRing: remove useless nullptr check Fix cppcheck warnings related to postfixOperator Add tools/cppcheck.sh .azure-pipelines.yml: add a job to run tools/cppcheck.sh EdgeList.cpp: *(&foo)) is equivalent to foo KdTree.cpp: remove useless duplicated condition HotPixel.cpp: fix -Wreorder warning SineStarFactory::createSineStar(): fix compiler warning about signed/unsigned comparison in for() comparison Fix warnings about signed vs unsigned comparisons Fix warnings about implicit int->uint8_t casts Fix wrong use of variable assingment instead of equality comparison Avoid shadowing of member variable pm Mark methods as static Fix "Variable 'xx' is reassigned a value before the old one has been used" type of warnings Fix crash with GEOSPreparedIntersects/Covers on a POINT EMPTY CoverageUnion::polygonize(): remove unneeded use of std::unique_ptr Fix always true tests Remove always false comparisons Just re-throw original object instead of a copy Do not test unsigned variable against being negative Reduce the scope of local variables Declare const parameter Avoid useless comparison against glsz inside loop Remove unneeded explicit .clear() Geometry classes: make clone() return a std::unique_ptr<ActualGeometryType> Suppress casts after clone() that are now useless Replace uses of dynamic_cast<> with detail::down_cast<> when the cast is bound to succeed Add missing nullptr checks after dynamic_cast<> that could fail Remove useless override of equalsExact() in MultiXXXX classes Geometry classes: make reverse() return a std::unique_ptr<ActualGeometryType> Remove useless LineSequencer::reverse() Do get() and release() in same invokation Avoid undefined behavior in casts in Densify(), DiscreteHausdorffDistance and DiscreteFrechetDistance Move impl of setDensifyFraction() impls to .cpp file to avoid linking issue with java_math_round() on Windows OffsetCurveSetBuilder::addRingSide(): fix memleak test/unit: fix memory leaks GEOSMakeValidTest.cpp: fix memory leaks SegmentNodeList::getSplitCoordinates(): fix quadratic performance pattern LineSegment: tiny improvement in project(const LineSegment&, ...) and closestPoint() Remove always true check KdTree::queryNode(): rewrite it to avoid blowing up the stack GeoJSON reader: fix crashes (in debug mode) on invalid GeoJSON OffsetCurve::getBufferOriented(): return poly.clone() when numGeometries == 1 (#557) Boring Cppcheck fixes (#626) Evgen Bodunov (1): Fixed https://trac.osgeo.org/geos/ticket/894 and https://github.com/libgeos/geos/issues/285 Ewout ter Hoeven (1): DOCS: Convert NEWS to NEWS.md enabling Markdown layout (#491) Eyal (2): Add GEOS_CC_LIBS for linking with c++ Remove autotools configuration instructions Fabrice Fontaine (1): CMakeLists.txt: add BUILD_BENCHMARKS GOUJON Évan (2): capi: Fix geometry destructor function name Fix some C API documentation typos Greg Troxel (1): README.md: Clarify installation instructions Grzegorz Szymaszek (2): Update the link to the geos-docker repository Remove redundant EditorConfig properties Howard Butler (9): -DBUILD_SHARED_LIBS=ON for msvc builds in azp intPt is already a member variable. rename local object to ptInt cast type of INSIDE_AREA to match segIndex remove unused variables clean up many implicit bool conversions in the tests clean up more implicit bool conversions clean up implicit bool conversion clean up unused variable warnings check for empty extHandle using nullptr instead of 0 Jared Erickson (24): Add geojson reader and writer Change GeoJSONValue to use a union Fix build Fix build More const, auto, and ParseExceptions Code review comments: build vectors of unique_ptr. Fix build Update copyrights Fix seg fault on linux/gcc Add copy assignment operator Fix builds Add more units tests for reading geojson More const references Include json in dedicated namespace Vendorize and namespace nlohmann json Add c api tests for disjoint and touches Refactor tests Add unit test for GEOSCrosses Add covered by, covers, and overlaps c api unit tests Add capi unit tests for RelatePattern and Relate Add capi tests for to hex, wkb buf and typeid Add capi tests for sym difference Add c api tests for unaryunionprec and unioncascaded Add capi tests for getexeriorring, getgeometryn, and getinteriorringn John K. Harvey (1): 'make check' passes with autoconf 2.63. Joris Van den Bossche (6): DOC: clarify that GEOSProject returns -1 on exception (C API) BUG: Fix GEOSProjectNormalized return -1 on exception Fix return error code of GEOSCoordSeq_setOrdinate (closes #1078) Add XML overlay test Shapely#1061 Fix GEOSSTRtree_query_r to be thread-safe on first call (lock TemplateSTRtreeImpl on build) Add GEOSGeom_getExtent C API function (#555) Justin Bronn (1): Use `#if` instead of `#ifdef` macros for an already defined value, fixes #1116. Kirill Kouzoubov (1): Link against static lib if shared lib is disabled Ko Nagase (1): Added GeoJSON reader/writer support in NEWS.md 3.10.0 section (#537) Krzysztof Dyba (1): add R {geos} to bindings (#576) Marian Krivos (1): Rename geos::M_PI to less intrusive MATH_PI (that don't collide with standard <cmath> name Martin Davis (216): Disable cmake perf tests (#61) Update 'README.md' Build perf tests but don't run them by default Add InteriorPoint Area perf test, Profile enhancement (#63) Fix spaces in InteriorPointAreaPerfTest (#66) Fix more spaces in InteriorPointAreaPerfTest (#67) Port JTS InteriorPointArea improvements Fix declaration for std::sort Add tests README Add XMLTester time output for -v Improve tests README Rework the logic to cope with unsafe unions by envelope Reverting problematic fix for CascadedPolygonUnion Fix QuadEdgeSubdivision remove method Simplify logic for edge erase-remove Add QuadEdge output Remove no-op code from QESubdiv::remove Remove incorrect isoceles heuristic in QuadEdgeSubdivision::TriangleCircumcentreVisitor, fix unit test Remove OverlapUnion from CascadedPolygonUnion Add geosop utility update geosop README Update geosop README Fix some geosop warnings and build issues Improve geosop WKT numeric output Add geosop distance and nearestPoints operations Improve geosop logging Add geosop functions Add geosop delaunay and voronoi ops Fix geosop op help and negative args Update NEWS for geosop Add geosop simplifyDP and simplifyTP Improve geosop timing, add --repeat Fix geosop operation count Add geosop normalize operation Add geosop lineMerge operation Improve geosop number formatting update geosop README Update geosop README Add geosop PreparedGeometryCache class Add geosop isEmpty function Fix OverlayNG line ordering Update NEWS Check for invalid area before fixing polygonal result in Densifier and DPSimplifier Update NEWS Update 'README.md' Update 'README.md' Update 'README.md' Fix OverlayNG handling of flat interior line Update 'NEWS' Update 'README.md' Update 'README.md' Update 'NEWS' Remove geosop dead code Fix Cmake to recognize Apple Clang Fix geosop compile warnings Fix OverlayNG LineBuilder warning Fix geosop formatNum function Add geosop clipRect operation Fix IsValidOp nested shells detection Update NEWS Move IndexedNestedRingTester.h to include Fix BufferOp to avoid artifacts in certain polygon buffers Update NEWS Fix DPSimplifier collapsed ring removal Add geosop largestEmptyCircle Fix IsValidOp for LinearRings Update NEWS Improve geosop function descriptions Add geosop DiscreteFrechetDistance Fix DiscreteFrechetDistance initialization problem Update NEWS Add geosop function categorization Fix DiscreteFrechetDistance method misspelling Add geosop future function code Add geosop constrainedDelaunay Fix geosop op metadata Improve geosop op descriptions Add robust overlay test case Add SnappingNoder seeding Update NEWS Add geosop reducePrecision operations Add geosop help text for negative positional args Switch geosop to new OffsetCurve Update NEWS.md Add geosop concaveHull and concaveHullHoles Fix test READMD.md commands Update README.md Improve tests README Improve doc for building Sync BufferParameters logic with JTS Move doc Usage up Update docs Add doc Tools page Update doc for Tools Fix RelateOp intersects for points near boundary (#570) Add doc Tools section on JTSTestBuilder Update NEWS Remove obsolete code Add doc for Bindings Change doc Go binding link Update NEWS Update NEWS for 3.10 IsValidOp, IsSimpleOp Improve doc for testing Add GEOSBufferTest for issue 1131 Update README Add doc index file; try out Project heading Add doc index files Reorg doc for testing Improve doc Testing page Add doc Testing ctest ref Doc for Testing minor edits Fix IsValidOp to handle repeated node points (JTS-845) Rename IsValidOp methods Improve doc front page Minor doc front page improvements Rename doc project dir Fix doc links, etc Fix doc reference Remove doc extra link char Reorg doc home page Add geosop buildArea operation Improve doc build instructions Fix doc lack of note shortcodes Add doc Install TOC Add doc FAQ Add doc header GitHub link Add doc Cmake warning block Minor doc test update Add doc FAQ entry and images Improve doc FAQ structure Add doc FAQ entries Improve doc Tools page Fix IsSimple for closed lines with repeated endpoints (#591) Remove IsSimpleOp obsolete code Remove more IsSimpleOp dead code Update testing doc Add OverlayNG fix to NEWS Improve unit test runner (#594) Fix LengthIndexedLine for touching MultiLineString (#595) Update NEWS Fix PolygonHoleJoiner (#598) Add geosop operation: equals Add geosop operation fixInvalid Improve doc for C-API Fix C API doc for GEOSOffsetCurve Improve doc for GEOSOffsetCurve Improve C API doc for GEOSNormalize Formatting for C API doc for GEOSOffsetCurve Improve doc for usage Improve C API doc for GEOSEqualsExact Improve doc for Usage Try C API doc grouping Improve PolygonHull to avoid exceeding target param Add C API doc structure Add C API doc section Group C API doc for relate Improve C API doc title Add C API doc Buffer group Change C API doc title Add C API doc groups Add C API STRtree group Add C API doc groups Add C API doc Constuctions group Add C API doc groups Add C API doc groups Add C API doc groups Improve C API wording Add C API doc groups Fix C API doc grouping Add C API groups Add C API group Add C API doc groups for IO Test C API doc formatting Fix C API doc grouping Reorder C API doc groups Add C API doc group Reorder C API doc Validation group Improve C API doc group titles Move C API doc functions Update NEWS.md Fix memory-handling bugs found by GCC 12 (#610) Add checks, assert to FixedSizeCoordSeq.setPoints (#613) Fix MinimumDiameter getMinimumRectangle for flat input (#616) Add MinimumDiameter fix to NEWS Simplify GEOSMinRotatedRectTest Improve doc API section Update doc for Bindings Fix buffer inverted ring check (JTS-878) Update NEWS Minor NEW update Simplify BufferOp test Fix number formatting with comma seps Fix ConcaveHullOfPolygons hole erosion (#628) Fix OverlayNG geomunion to avoid lines in result (#630) Update NEWS Add geosop unionCoverage and unionCoverageNG Fix doc error in GEOSMakeValidParams_setKeepCollapsed Add NEWS items to 3.11 Fix PreparedGeometry for EMPTY elements (#678) Update NEWS.md Fix LineSegment.orientationIndex(LineSegment) (#699) Update NEWS.md Fix DepthSegment comparison op (#707) Update NEWS.md Fix LineSegment.maxX from #715 Fix typo in DepthSegment.compareTo Add OverlayNG support for simple GeometryCollection inputs (#716) Update NEWS.md Fix TPSimplifier to be deterministic (#718) Update NEWS.md Improve ConvexHull radial sort robustness (#724) Update NEWS.md Clean up ConvexHull unit tests More robust Delaunay Triangulation frame size heuristic (#728) Update NEWS.md Fix NEWS Mateusz Łoskot (8): Modernize CMake configuration Add GEOS_DLL_EXPORT to compile definitions for MSVC Fix MSVC warning C4189: local variable not referenced Add GEOS_DLL missing from class RepeatedPointRemover Point CMAKE_*_OUTPUT_DIRECTORY to common location Disable dist and distcheck targets for multi-configuration generators Move tests/perf to new benchmarks directory Add CI builds on Azure Pipelines using CMake Michael Sumner (1): GeosOp.cpp: minor fix explode description (#624) Mike Taves (28): Fix typo in error message Fix CMake build without tests Update geos-config tool for consistency and escape paths Convert tools/ci to use POSIX Shell instead of Bash Restore #!/bin/sh for geos-config.cmake; escape prefix via CMake CMake: Remove NAMELINK_SKIP for C++ lib install Fix CMake Windows install: keep geos-config.cmake Drop SWIG bindings, including for Ruby and Python Feature: add support for pkg-config for GEOS C API (only) Validate complex UnaryUnion test with OverlayNG CMake: re-write GEOS_VERSION and GEOS_VERSION_PATCH after project() Temporarily disable component of TopologyPreservingSimplifier test CI: use different versions of CMake in GitHub Actions matrix CI: add .local/bin to GITHUB_PATH; use make directly Specify full namespace for MSVC C++20 CMake: Configure geos-config and geos.pc using functions CMake: add option BUILD_ASTYLE, with default ON Install geosop using option BUILD_GEOSOP CMake: ensure C99 is enabled for ryu pkg-config: add -lgeos -lstdc++ -lm for static build options Fix unaryUnion to avoid segfault with empty polygon (GH-502) Update NEWS.md for GH-518 [ci skip] Update NEWS.md; fix GH-513 and sort [ci skip] Use relative CMAKE_INSTALL_RPATH for geosop (#572) Resolve MSVC warning C4101: 'e': unreferenced local variable CMake: add option USE_CCACHE=OFF to use ccache to compile C/C++ objs (#573) Add NEWS.md for GH-639 Use HTTPS for download.osgeo.org links (#643) Momtchil Momtchev (1): do not use end() iterators (#508) Niyas Sait (1): Add windows/arm64 cross-compilation stage to Azure pipeline (#588) Oliver Tan (1): WKBWriter: fix -Wsign-conversion compilation error Paul Ramsey (737): Ignore TextMate transient files Update link to php repo Clean up warnings and add CMake build support for tinyxml2 Make test XML more valid Actually, more valid XML uses " for attributes Update to latest tinyxml2 Force destruction of xml document stub on failed loading Update Centroid algorithm to match JTS, and accompanying test file Update handling of EMPTY geometry typing to match JTS current version and update test cases to match. Revert tests/general/TestFunctionAA.xml to previous version, as it requires further ports from JTS to support new behaviour Fix SharePathsOp to deal with Empty results from OverlayOp Formatting changes to please make check (hm) Add TestFunctionAA.xml new tests from JTS Harmonize TestConvexHull.xml with JTS version Harmonize with JTS isSimple behaviour for GeometryCollection Harmonize CMake tests with autotools, using --test-valid-output Remove failing tests from XML for now Implement updated JTS hole assignment code, and associated tests. Update TestRectanglePredicate.xml to current JTS version Harmonize formatting of XML tests with JTS so the files Change PolygonBuilder::findEdgeRingContaining over to an iterator loop One better, use C++11 auto iterator on the vector OK, use a auto const& loop instead, as I read Reorder XML tests in CMakeFile to sort order Add the JTS ./validate XML tests. Add TestEqualsExact.xml and update XMLTester Reformatting pass Add TestMinimumClearance.xml to test set and Clean build of Densifier code only, tests still TBD Complete Densifier port and add in integration XML tests Port from JTS 6e44c5ceb791a939bd54643e38a8fe5ee7b500a6 Partially harmonize with JTS 8e6abedeca3f3c1905c2f58c0a2dccc77f1f2f12 Update AreaLocator classes to return Location Reformatting pass for some wonky formatting Draft port of ttmath and CGAlgorithmsDD from JTS, Add in test for orientation that stresses robustness Add DD orientation test cases Add autoconf support for DD updates Change coordinate list access to an iterator pattern Remove commented out code from example Small clean-ups preparatory for aping the JTS refactor around DD While we work up the nerves to bulk-format the Reformat CGAlgorithmsDD Blind port for RayCrossingCounterDD and some minor Move to 0.9.4 prerelease version of ttmath in hopes of getting Turn off ASM for gcc < 5 and 32-bit builds, as there's Change isValidOp to use IndexedPointInAreaLocator Reformat IsValidOp Add JTS tests from 9fa51113caeea33551fa8ee2f25fcbab60090004 Add autotools support for new LocatePointInRingTest Remove unused typedef A little clean up, but not quite full deprecation Remove MCPointInRing Add test for cCGAlgorithmsDD::signOfDet2x2 Change types in test to double Whoops, forgot the implementation of CGAlgorithmsDD::signOfDet2x2 Remove CentroidArea, CentroidLine, CentroidPoint as per Remove references to RobustDeterminant Try fix build with isfinite macro Delete obsolete PointInRing classes Add L/A optimization for covers and contains Improve optimization of contains and covers for mixed dimension cases Move area functions to Area class Use fabs not abs Change buffer unit failures to more correct message std::abs vs fabs Remove dead comments from Area code Move length functions to Length class Add some robustness failure tests Try to quiet GCC warning about type promotion Quiet warnings from GCC 4.8 Pass by reference for cpp magic Quiet compiler warnings in xmltester Move CGAlgorithms functions into Orientation class Return unused member for now Add some doco Move CGAlgorithms point location functions to PointLocation Remove use of temporary Envelopes in MonotoneChainEdge Temporary envelope removal Remove duplicate header includes Remove base 'using namespace' call in header Refactor CGAlgorithms distance functions into Distance class Remove extra coordinate references in MonotoneChain classes Throw exception by value Deprecate CGAlgorithms and remove all references Avoid using reflection Move version numbers to a single file Fill out other common macros for autotools Really get those CAPI numbers in... Still trying to get past CI Aha, add Version.txt to dist files Harmonize spacing with other entries Prefix version file with srcdir for out-of-tree support Add <algorithm> header for std::min Try and make gitlab-ci happy with the packages we're adding Remove ttmath ASM on Windows/MinGW for now to see if we Add missing header to algorithm Makefile.am Message about not using TTMATH_NOASM Attempt to catch all gcc/windows = mingw cases in one net Simpler windows test Improve overlay noding validation Add test case and fix intersection finger Confirm Fix Overlay polygon building Confirm Polygon.normalize Harmonize test list w/ autotools First draft of MinimumBoundingCircle port Draft tests for MinimumBoundingCircle MinimumBoundingCircle passes tests Add a return value in no-entry portion of code to quite compiler. Use strtod in Envelope constructor Remove autogen.bat, as all our *.vc infra is now gone convert remaining NAN/INF macros to std:: Remove stray references to CGAlgorithms.h Remove spurious reference to MCPointInRing Clean ups for make dist and build bots Fix first appveyor issue Disable copy constructors on classes using vector<std::unique_ptr<>> Remove defunct appveyor nmake-only build Quiet warnings, enable ASM build for win64? Return to original platform detection Add a debugging output to try to fix NMake/CMake issue with ASM file More debugging in aid of NMake/CMake/ASM combo Test to note MSVC+x64 to turn on ASM in ttmath Apply 4-spaces standard indenting, Add reformatting commit to ignorable commits in blame Astyle 3.1 added to source tree for future Add astyle license Address build failure on GitLabCI Quiet clang warnings about Vertex Quiet compiler warnings Quiet compiler warnings Remove vestigial references to io/markup Update to latest JTS version of test file Reorganize some tests and the makefiles Reorganize tests some more Rename ticket to issue Change build files for new ticket names Remove old duplicative test files Just the unique tests from old test cases Rename more tests Fix automake file Harmonize with JTS Add envelope check to SimplePointInAreaLocator Harmonize with JTS empty handling Improvements to IndexedFacetDistance Reformat files after port unpad-header doesn't seem to match the default Strip out commented dead code IndexedFacetDistance withinDistance Include <algorithm> for std::min Fill in the exception error point when a eHoleOutsideShell occurs. Add NaN test to unit, references #963 Add new Cmake files to autoconf file list. Add moved tests to autotools build, fix cmake versions.txt filename Emit cmake version in CI Add geos_revision.h back to dist files Use slightly older CMake syntax in add_executable() Go to old Cmake syntax for add_executable() Change bigtest to add_executable() syntax Add geos_revision.h back to dist files Use USE_UNSTABLE_GEOS_CPP_API in all builds so that non-debug builds aren't noisy. Pretty silly. Work on cmake patterns for 'dist' target Add prototype 'make distcheck' target Remove noisy messages First step to fixing geos-config, generate from separate Automatically omit the build directory from the package Generate git revision hash into geos_c.h Hash should be a string Don't need GenerateRevisionHeader in distribution list anymore Remove reference to repo_revision.sh Remove GIT_COMMIT_HASH entirely Try to get clean appveyor build Fix up autotools build after reorg of benchmark files Quiet warning Minor edits First draft of circumcenterDD support Fix up mistakes in drafting and add simple unit test Add actual test case Add filter to only use DD math is we are in the "danger zone" for circumcenter, namely that we have a potential equally-sided right triangle on our hands. First draft of circumcenterDD support Fix up mistakes in drafting and add simple unit test Add actual test case Add filter to only use DD math is we are in the "danger zone" for circumcenter, namely that we have a potential equally-sided right triangle on our hands. Port https://github.com/locationtech/jts/pull/441 Port JTS PR 462 MonotoneChainBuilder can be refactored to avoid using Port JTS PR 468 Use std::array instead of std::vector in TopologyLocation.cpp Use Release as default cmake build instead of Debug Port JTS improvements to cascaded union. Handle nbits > 63 Improve the bit-shifting logic with good types and so on Allow noop zeroing Match test to behaviour in no-op case (leave -1 in place) Fix MSVC 2017 compilation, from @hobu. Fix test case expected value to match up to results generated now. Be explicit about our literals in enumerations Log the move of issue 488 xml test Add robust determinant test files Harmonize cmake install names with autotools Uncomment the mapping of GEOS_VERSION to VERSION for geos_c.h generation No symlinks on libgeos, only on libgeos_c Add NEWS entries Make inlining status message less opaque Expose MinimumBoundingCircle to CAPI Preserve SRID in constructive geometry functions called via CAPI Add news line about extended precision work Bump to beta version number, update docs with new versioning file (yay) Reorganize release directions Put tag step after verify step Bump versions Change directions for tag push Add trimmed down test case on Voronoi. RC1 release commit Bump version post-release Add in CMake artifacts necessary to build/check in the Bump version number Random guess at what the problem is Add new XML tests to autoconf build Bump versions after release Allocate linesegments on stack for union check Suggestions from PR Try to learn C++ more better MD edit Release version numbers and NEWS Bump versions for master development to 3.9 News entry Match cmake --ldflags output to autotools add unit test for GH290 reorder tests for #1018 add note about trac milestone Fix buffer fillet generation to avoid extra segments JTS-526, https://trac.osgeo.org/geos/ticket/743 Squashed commit of the following: news entry for ttmath retirement Fix bug in DistanceOp for geometries with empty components, Closes #1026 news entry for #1026 Remove undefined behaviour in CPI, closes #1021 Fix crash on WKT write of MULTIPOINT(EMPTY, 1 1) Buffering a specific closed linestring erroneously produces polygon without hole. References #1022 quiet compiler warnings (clang) Add a test to IFD and make it actually a test msvc build? Port MaximumInscribedCircle and LargestEmptyCircle Fixed MinimumBoundingCircle.getMaximumDiameter() to handle case where extremalPts[2]-[0] is longest, JTS 533 use magic for loop iterator avoid some tiny copy overhead using emplace over push Match up parameters names to doc names properly ignore files ending in tilde quiet warning about type coersion? add static check on input array, closes https://github.com/libgeos/geos/issues/261 Remove DoubleBits in favour of exp2 and frexp Add unit tests for empty WKB variants Add boundary argument to CAPI for LargestEmptyCircle Initial build port of HotPixel First port of HotPixelIndex First port of edgegraph Strip out hacked up pool, as we will want a nicer one if we really go that way. Replace array of heap-allocated HalfEdge with deque of stack-allocated HalfEdge Remove unused constant Bring bug fixes from JTS and change storage of HotPixels from the heap to inside the hotPixelMap Bring in further changes to HotPixel from JTS First draft of SnapIntersectionAdder Add SnapIntersectionAdder, remove SimpleSnapRounder KdTree implementation builds Update test for new HotPixel initializer Fix tree initialization error Add KdTreeTest Add EdgeGraphTest Update HotPixelTest to the latest JTS version Move Position and Quadrant to geom/ and update all references and build rename SnapRoundingIntersectionAdder SnapRoundingNoder builds Add developer notes draft Add draft ValidatingNoder SnapRoundingNoderTest builds start debugging SnapRoundingNoder Another big fix for SnapRoundingNoder and updates to KdTree and HotPixelIndex add SnapRoundingNoder tests SnappingNoder initial build Refactor noding test utils out of snapping noder test SnappingNoderTest Reorg vars Fix mistake in update to SegmentNodeList OverlayLabel draft EdgeSourceInfo draft Only run tests in files that end in Test.cpp InputGeometry draft OverlayNoder, LineLimiter, RingClipper, start of OverlayUtil, un-tested drafts that compile RingClipperTest and LineLimiterTest with fix to RingClipper Edge draft builds EdgeKey draft builds EdgeMerger draft OverlayEdge, OverlayEdgeRing, MaximalEdgeRing draft builds OverlayGraph draft builds Add OverlayGraphTest and fix failures, caused by not declaring directionPt() virtual in HalfEdge Refactor OverlayNoder to EdgeNodingBuilder IndexedPointOnLineLocator, IntersectionPointBuilder, LineBuilder, OverlayLabeller, OverlayMixedPoints, OverlayNG, OverlayPoints, PolygonBuilder, RobustClipEnvelopeComputer completed and build! Add OverlayNGTest and first test case, fixes to allow it to run Add more tests on OverlayNGTest Add OverlayNGTest and fix all failing tests Add OverlayNGPointsTest Add OverlayNGMixedPointsTest Add OverlayNGSnappingNoderTest Fix regression due to Point being constructed without rounding Add commentary on compareTo and normalize Stop using ensure_geometry_equals to test non-equal things Strip extraneous header entries Port refactor of OverlayLabeller https://github.com/dr-jts/jts/commit/9ebe2a5acfc0d43357e6e7e569e8da9d33abcefb Add OverlayNGFloatingNoderTest and alter ensure_geometry_equals to test geometry equality in addition to metadata equality. Add OverlayNGSnappingOneTest Add OverlayNGOneTest Added PrecisionUtil and PrecisionUtilTest Add safeguard against infinite loop in decimal check PrecisionReducer and PrecisionReducerText Add XML tests and necessary fixes Move NG tests into alphabetical order Add UnionStrategy and associated refactoring in CascadedUnion. Fix unit test names so cmake tests pass. Manage SegmentNodes inside SegmentNodeList Add UnaryUnionNG and some misc diffs Add OverlayNGSnapIfNeeded Add overlayareatest support. Quiet some gcc warnings Quiet gcc warning Quiet gcc warnings Quiet gcc warnings Quiet gcc warnings Add unionLength op type Quiet gcc warnings Close up memory leak where SegmentStrings are converted to Edges Remove leak in EdgeNodingBuilder quiet debugging output in unit tests manage vector as unique_ptr Switch to unique_ptr Free sublcass? old segmentnodelist behavior Remove memory leak when ValidatingNoder throws TopologyException Remove memory leak in SnappingNoder Fix makefile in overlayng Fix reference to SnappingNoderTest in makefile Add NodingTestUtil to autotools build Quiet gcc warnings about overridden functions Fix snap noding test to use validating noder correctly store segmentnodes in a deque to avoid many teeny allocations Add unionArea test type move TestOverlay-misc-5.xml to new home Add JTS robust/overlay tests comment out unused member variables remove std::move per compiler suggestion remove unused member variable Add compile-time flags to turn on OverlayNG Run a snap-rounded overlay when provided with geometries that have fixed precision model Fix up unit tests were issues of representation (ring order, component order, etc) were causing failures output geometries with a bit more precision Remove unused compile-time options for BinaryOp Tie MakeValid implementation directly to the old overlay operations Use BinaryOp instead of OverlayOp in order to access old fall-back behaviour in overlay. References #1037 Add cstring header to pick up std::strlen Add cstring header to pick up std::strlen Replace forward defns with headers for classes in vector<unique_ptr<>> situations for MSVC Make sure geos::geom namespace is available Make sure there are no forward declarations in templates turn off doco build for now try making geom explicit in CoordinateSequence vector Port https://github.com/dr-jts/jts/commit/2a385fe46dc12e7b765569d010fb50c19e9bca46 Change line output behaviour to preserve noding Use default C++ std out precision Add snap-if-needed intersectionSIN mode to XMLTester that handles the misc-3 test cases. Sever the 2 failing STMLF cases from the 1800 passing ones and move the passing ones back into the active test area. Port https://github.com/dr-jts/jts/commit/ea13dc32415a7cf6e38279354f7a06e5e2aff1ea Switch to outputting all components for intersection op Normalize test results before comparing and use tolerance in comparison. Remove precisionModel from test files to harmonize with JTS. Move failing tests to Prec files, where they are run under a precisionModel again. Clean out some old iterator loops in favour of for loops Make function calls look more like JTS originals, counting on copy elision to avoid overhead of returning vector<> Error out on failure in ctest call Check Location::UNDEF to Location::NONE to match JTS Comment out docs target in cmake Quiet warnings from CI Fix doxygen errors and re-enable CI test Add ARM64 build host to travis matrix Add ARM64 build host to travis matrix Add s390x build target to Travis matrix Quiet some MSVC warnings Output POINT EMPTY in WKB. References #1005 Comment out s390 as seems to hang builds from time to time Add some interrupt checking in MakeValid loop, references https://trac.osgeo.org/postgis/ticket/4582 Support reading WKB that includes M coordinates, but do not actually store the M (because we have nowhere to store it right now). References #460 Add test for geos-1046 When called without options, use OverlayNG for CAPI GEOSGeom_setPrecision Rename the utility test functions to ensure_* and change the struct name to reflect larger goals than just providing helper init/finish code Update script to new JTS cmd setup Remove unused CTS class file Change BufferResultMatcher to static methods Port JTS https://github.com/locationtech/jts/commit/be18a8a797763116346ca605f8d7aedc66153773 Improve Orientation isCCW to handle topology collapse Port https://github.com/dr-jts/jts/commit/feee2334edbc968bf1f7adf0d0de3c11cb2521a2 Port https://github.com/dr-jts/jts/commit/ea45557987f4e992094842e7badde65811ea75cd, Cleanup of mixed result logic Port https://github.com/dr-jts/jts/commit/959a61dcf5c5bb993e9de462f316b14e5c564ed7, Add optimization for line building Port https://github.com/dr-jts/jts/commit/1f41dd9906fb710ac0662423ae2f1a956f92c6e1, unit test testPolygonFlatCollapseIntersection Port https://github.com/dr-jts/jts/commit/c9cd451e7b6f21ae4d8ddde95757433587a4ec76, Add SnapRoundingNoder unit test Allow OverlayNG results to include collapsed edges https://github.com/dr-jts/jts/commit/764bb49cd461686d51d77f743441591b3fe70080 Add SR fallback to snapifneeded NG, https://github.com/dr-jts/jts/commit/a81078568f0c78ab2c7fadbfa0936669d9f09256 Move OverlayNGSnapIfNeeded out of Geometry and into HeuristicOverlay. Rename OverlayNGSnapIfNeeded to OverlayNGRobust, https://github.com/dr-jts/jts/commit/c1277b0658868bf49db0f9583255eebed7d0a757 Unit test and fix for dateline clipping case reported by @roualt Update comments on test Add OverlayNG strict mode, from https://github.com/dr-jts/jts/commit/0da1f61ad6e71c04c7de22853cb06fb1b394bec6 and https://github.com/dr-jts/jts/commit/b0d6f035777de7035cbe915ec18e65c2b9f0838e Private method name change, https://github.com/dr-jts/jts/commit/1def2ed0c80de4243fa81342a5c876c98bc3f987 Improve HotPixel memory usage by dropping some fields https://github.com/locationtech/jts/commit/02f0a258778c840dc257879c18697f2544445f59 Fix HotPixel intersects test https://github.com/locationtech/jts/commit/c1977c8181137e8f705a66f0ea6784f428716953 Minor SnappingNoder performance enhancement by moving test up https://github.com/locationtech/jts/commit/5e9404918adb13796b3d9df7878b0a885cd627c9 Add coordinate sequence to kdtree in random order https://github.com/locationtech/jts/commit/d73c798f8e54f2c8fbff66e27f2fca24a9ebb710 Randomize input to kdtree to avoid unbalanced tree Avoid doxygen linking errors match type in the index to type in the iteration Remove un-needed std::move in return value Create new EMPTY geometry with 2D coordinates by default. Parse Z EMPTY geometry in WKT reader, for simple (non-multi) geometries. Closes #1048 Use shuffle instead of random_shuffle to avoid C++ deprecations, use a type-strong enumeration Comment out accidental test case Enable OverlayNG by default Match doxygen to function signature Add GitHub Actions recipe in preparation for the loss of Travis Add GitHub Actions badge to README add github badges to readme Add output to a test that AppVeyor is failing add output to debug appveyor? Comment out output for AppVeyor, which is failing tests in 32bit windows Remove un-used method Correctly handle higher-dimension empty geometries in the WKB reader. Sort STRtree inputs in the X direction before slicing, then SimpleSTRtree implementation. Functionally the same as STRtree, SimpleSTRtree autotools build. Switch MCIndexNoder and MCIndexSegmentSetMutualIntersector over to Fix type in Makefile.am for SimpleSTRTree test Add nearestNeighbor() to the SimpleSTRtree implementation as well as Change to automatic iter…
Something strange happens with LineString:
but works with point:
Is there any reasonable explanation?
The text was updated successfully, but these errors were encountered: