@cpp.js/package-geos 1.0.0-beta.22 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +1 -1
- package/dist/prebuilt/Android-x86_64/bin/geos-config +79 -0
- package/dist/prebuilt/Android-x86_64/bin/geosop +0 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Angle.h +247 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Area.h +82 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/BoundaryNodeRule.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CGAlgorithmsDD.h +193 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CentralEndpointIntersector.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Centroid.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CircularArcs.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/ConvexHull.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Distance.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/HCoordinate.h +100 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointArea.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointLine.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointPoint.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Interpolate.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Intersection.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Length.h +50 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/LineIntersector.h +667 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumAreaRectangle.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumBoundingCircle.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumDiameter.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/NotRepresentableException.h +43 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Orientation.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointInRing.h +40 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointLocation.h +107 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointLocator.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PolygonNodeTopology.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/RayCrossingCounter.h +173 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Rectangle.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/RobustDeterminant.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/SimplePointInRing.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/IndexedDistanceToPoint.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/IndexedPointInPolygonsLocator.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/LargestEmptyCircle.h +240 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/MaximumInscribedCircle.h +221 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DiscreteFrechetDistance.h +175 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DiscreteHausdorffDistance.h +252 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DistanceToPoint.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/PointPairDistance.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/ConcaveHull.h +309 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/ConcaveHullOfPolygons.h +377 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/HullTri.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/HullTriangulation.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/IndexedPointInAreaLocator.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/PointOnGeometryLocator.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/SimplePointInAreaLocator.h +117 -0
- package/dist/prebuilt/Android-x86_64/include/geos/constants.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/Corner.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageBoundarySegmentFinder.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageEdge.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageGapFinder.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoveragePolygon.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoveragePolygonValidator.h +381 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageRing.h +205 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageRingEdges.h +170 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageSimplifier.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageUnion.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageValidator.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/InvalidSegmentDetector.h +133 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/TPVWSimplifier.h +225 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/VertexRingCounter.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/EdgeGraph.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/EdgeGraphBuilder.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/HalfEdge.h +315 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/MarkHalfEdge.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/export.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CircularArc.h +273 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CircularString.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CompoundCurve.h +121 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Coordinate.h +627 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateFilter.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateList.h +244 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequence.h +807 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequenceFilter.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequenceIterator.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequences.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Curve.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CurvePolygon.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Dimension.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Envelope.h +826 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Geometry.h +1051 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryCollection.h +256 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryComponentFilter.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryFactory.h +542 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryFilter.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryTypeName.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/HeuristicOverlay.h +99 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/IntersectionMatrix.h +383 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LineSegment.h +576 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LineString.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LinearRing.h +128 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Location.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiCurve.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiLineString.h +160 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiPoint.h +150 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiPolygon.h +155 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiSurface.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Point.h +221 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Polygon.h +138 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Position.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/PrecisionModel.h +374 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Quadrant.h +164 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/SimpleCurve.h +142 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Surface.h +115 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/SurfaceImpl.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Triangle.h +230 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/AbstractPreparedPolygonContains.h +144 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/BasicPreparedGeometry.h +214 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedGeometry.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedGeometryFactory.h +93 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineString.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringDistance.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringIntersects.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringNearestPoints.h +54 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPoint.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygon.h +81 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonContains.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonContainsProperly.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonCovers.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonDistance.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonIntersects.h +90 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonPredicate.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/ComponentCoordinateExtracter.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/CoordinateOperation.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/Densifier.h +90 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryCombiner.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryEditor.h +127 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryEditorOperation.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryExtracter.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryFixer.h +169 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryLister.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryMapper.h +115 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryTransformer.h +181 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/LinearComponentExtracter.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/NoOpGeometryOperation.h +52 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PointExtracter.h +63 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PolygonExtracter.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PolygonalExtracter.h +54 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/ShortCircuitedGeometryVisitor.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/SineStarFactory.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Depth.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/DirectedEdge.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/DirectedEdgeStar.h +164 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Edge.h +285 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeEnd.h +187 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeEndStar.h +217 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeIntersection.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeIntersectionList.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeList.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeNodingValidator.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeRing.h +201 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/GeometryGraph.h +251 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/GraphComponent.h +117 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Label.h +290 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Node.h +192 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/NodeFactory.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/NodeMap.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/PlanarGraph.h +203 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/TopologyLocation.h +238 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/EdgeSetIntersector.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChain.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChainEdge.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChainIndexer.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SegmentIntersector.h +176 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleEdgeSetIntersector.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleSweepLineIntersector.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineEvent.h +136 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineEventObj.h +38 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineSegment.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/ItemVisitor.h +38 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/SpatialIndex.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/VertexSequencePackedRtree.h +153 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Bintree.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Interval.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Key.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Node.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/NodeBase.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Root.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChain.h +206 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainBuilder.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainOverlapAction.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainSelectAction.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeBranchNode.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeLeafNode.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeNode.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/SortedPackedIntervalRTree.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdNode.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdNodeVisitor.h +45 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdTree.h +191 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/IntervalSize.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Key.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Node.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/NodeBase.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Quadtree.h +200 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Root.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/AbstractNode.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/AbstractSTRtree.h +324 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/Boundable.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/BoundablePair.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/EnvelopeUtil.h +33 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/GeometryItemDistance.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/Interval.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/ItemBoundable.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/ItemDistance.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SIRtree.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/STRtree.h +177 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRdistance.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRnode.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRtree.h +189 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRNode.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRNodePair.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRtree.h +807 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRtreeDistance.h +233 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineEvent.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineIndex.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineInterval.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineOverlapAction.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ByteOrderDataInStream.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ByteOrderValues.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/CLocalizer.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/CheckOrdinatesFilter.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSON.h +154 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSONReader.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSONWriter.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/OrdinateSet.h +119 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ParseException.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/StringTokenizer.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBConstants.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBReader.h +204 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBStreamReader.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBWriter.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTFileReader.h +46 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTReader.h +165 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTStreamReader.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTWriter.h +342 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/Writer.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/ExtractLineByLocation.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthIndexOfPoint.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthIndexedLine.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthLocationMap.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearGeometryBuilder.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearIterator.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearLocation.h +248 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexOfLine.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexOfPoint.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexedLine.h +276 -0
- package/dist/prebuilt/Android-x86_64/include/geos/math/DD.h +200 -0
- package/dist/prebuilt/Android-x86_64/include/geos/namespaces.h +317 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/BasicSegmentString.h +89 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/BoundaryChainNoder.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/FastNodingValidator.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/FastSegmentSetIntersectionFinder.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/GeometryNoder.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IntersectionAdder.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IntersectionFinderAdder.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IteratedNoder.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/MCIndexNoder.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/MCIndexSegmentSetMutualIntersector.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodableSegmentString.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodedSegmentString.h +218 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/Noder.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodingIntersectionFinder.h +262 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodingValidator.h +109 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/Octant.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/OrientedCoordinateArray.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/ScaledNoder.h +132 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentExtractingNoder.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentIntersectionDetector.h +177 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentIntersector.h +89 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentNode.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentNodeList.h +253 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentPointComparator.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentSetMutualIntersector.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentString.h +199 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentStringUtil.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SimpleNoder.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SinglePassNoder.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/ValidatingNoder.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingIntersectionAdder.h +109 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingNoder.h +121 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingPointIndex.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/HotPixel.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/HotPixelIndex.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/MCIndexPointSnapper.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/MCIndexSnapRounder.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/SnapRoundingIntersectionAdder.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/SnapRoundingNoder.h +167 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/BoundaryOp.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/GeometryGraphOperation.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferBuilder.h +270 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferCurveSetBuilder.h +296 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferInputLineSimplifier.h +180 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferOp.h +307 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferParameters.h +319 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferSubgraph.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurve.h +328 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurveBuilder.h +257 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurveSection.h +111 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetSegmentGenerator.h +390 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetSegmentString.h +215 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/RightmostEdgeFinder.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/SegmentMCIndex.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/SubgraphDepthLocater.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/AbstractClusterFinder.h +136 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/Clusters.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/DBSCANClusterFinder.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/DisjointOperation.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/EnvelopeDistanceClusterFinder.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/EnvelopeIntersectsClusterFinder.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryDistanceClusterFinder.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryFlattener.h +46 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryIntersectsClusterFinder.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/UnionFind.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/ConnectedElementLocationFilter.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/ConnectedElementPointFilter.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/DistanceOp.h +228 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/FacetSequence.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/FacetSequenceTreeBuilder.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/GeometryLocation.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/IndexedFacetDistance.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/Rectangle.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/RectangleIntersection.h +174 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/RectangleIntersectionBuilder.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/EdgeString.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeDirectedEdge.h +78 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeEdge.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeGraph.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMerger.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineSequencer.h +295 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/MaximalEdgeRing.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/MinimalEdgeRing.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/OverlayNodeFactory.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/PolygonBuilder.h +210 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/GeometrySnapper.h +154 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/LineStringSnapper.h +165 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/SnapOverlayOp.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/FuzzyPointLocator.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/OffsetPointGenerator.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/OverlayResultValidator.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/CoverageUnion.h +100 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/Edge.h +345 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeKey.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeMerger.h +81 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeNodingBuilder.h +255 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeSourceInfo.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/ElevationModel.h +170 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/IndexedPointOnLineLocator.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/InputGeometry.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/IntersectionPointBuilder.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/LineBuilder.h +189 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/LineLimiter.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/MaximalEdgeRing.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayEdge.h +279 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayEdgeRing.h +153 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayGraph.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayLabel.h +404 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayLabeller.h +207 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayMixedPoints.h +142 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayNG.h +410 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayNGRobust.h +174 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayPoints.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayUtil.h +213 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PolygonBuilder.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PrecisionReducer.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PrecisionUtil.h +245 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/RingClipper.h +112 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/RobustClipEnvelopeComputer.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/UnaryUnionNG.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/BuildArea.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/EdgeRing.h +350 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/HoleAssigner.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeDirectedEdge.h +127 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeEdge.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeGraph.h +214 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/Polygonizer.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/RectangleContains.h +119 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/RectangleIntersects.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/SegmentIntersectionTester.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBuilder.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBundle.h +104 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBundleStar.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateComputer.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNode.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNodeFactory.h +55 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNodeGraph.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateOp.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/AdjacentEdgeLocator.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/BasicPredicate.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/DimensionLocation.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSegmentIntersector.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSegmentOverlapAction.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSetIntersector.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IMPatternMatcher.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IMPredicate.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IntersectionMatrixPattern.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/LineStringExtracter.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/LinearBoundary.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/NodeSection.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/NodeSections.h +102 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/PolygonNodeConverter.h +112 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateEdge.h +176 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateGeometry.h +272 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateMatrixPredicate.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateNG.h +295 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateNode.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelatePointLocator.h +213 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelatePredicate.h +652 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateSegmentString.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/TopologyComputer.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/TopologyPredicate.h +206 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/sharedpaths/SharedPathsOp.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/CascadedPolygonUnion.h +246 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/CoverageUnion.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/DisjointSubsetUnion.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/OverlapUnion.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/PointGeometryUnion.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/UnaryUnionOp.h +243 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/UnionStrategy.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/ConsistentAreaTester.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedHoleTester.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedPolygonTester.h +111 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IsSimpleOp.h +299 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IsValidOp.h +307 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/MakeValid.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonIntersectionAnalyzer.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRing.h +231 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRingSelfNode.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRingTouch.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonTopologyAnalyzer.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/RepeatedPointRemover.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/RepeatedPointTester.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/TopologyValidationError.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/DirectedEdge.h +237 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/DirectedEdgeStar.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Edge.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/GraphComponent.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Node.h +158 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/NodeMap.h +135 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/PlanarGraph.h +293 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Subgraph.h +181 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/algorithm/ConnectedSubgraphFinder.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBits.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBitsOp.h +172 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBitsRemover.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/EnhancedPrecisionOp.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/GeometryPrecisionReducer.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/MinimumClearance.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PointwisePrecisionReducerTransformer.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PrecisionReducerCoordinateOperation.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PrecisionReducerTransformer.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/SimpleGeometryPrecisionReducer.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/profiler.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/HilbertCode.h +128 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/HilbertEncoder.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/MortonCode.h +140 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/ComponentJumpChecker.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/DouglasPeuckerLineSimplifier.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/DouglasPeuckerSimplifier.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LineSegmentIndex.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LinkedLine.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LinkedRing.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/PolygonHullSimplifier.h +232 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/RingHull.h +209 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/RingHullIndex.h +55 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineSegment.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineString.h +145 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineStringSimplifier.h +178 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLinesSimplifier.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TopologyPreservingSimplifier.h +93 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/DelaunayTriangulationBuilder.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/IncrementalDelaunayTriangulator.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/VoronoiDiagramBuilder.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/ConstrainedDelaunayTriangulator.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonEarClipper.h +218 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonHoleJoiner.h +267 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonNoder.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonTriangulator.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/TriDelaunayImprover.h +147 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LastFoundQuadEdgeLocator.h +63 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LocateFailureException.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdge.h +443 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeLocator.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeQuartet.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h +514 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/TrianglePredicate.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/TriangleVisitor.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/Vertex.h +312 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/Tri.h +186 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriEdge.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriList.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriangulationBuilder.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/unload.h +33 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Assert.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/AssertionFailedException.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/CoordinateArrayFilter.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/GEOSException.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/GeometricShapeFactory.h +198 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/IllegalArgumentException.h +50 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/IllegalStateException.h +42 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Interrupt.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Machine.h +26 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/TopologyException.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/UniqueCoordinateArrayFilter.h +114 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/UnsupportedOperationException.h +52 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/math.h +45 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/string.h +31 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/vend/include_nlohmann_json.hpp +24 -0
- package/dist/prebuilt/Android-x86_64/include/geos/vend/json.hpp +25597 -0
- package/dist/prebuilt/Android-x86_64/include/geos/version.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos.h +40 -0
- package/dist/prebuilt/Android-x86_64/include/geos_c.h +6121 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-config-version.cmake +43 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-config.cmake +11 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-targets-release.cmake +30 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-targets.cmake +124 -0
- package/dist/prebuilt/Android-x86_64/lib/libgeos.so +0 -0
- package/dist/prebuilt/Android-x86_64/lib/libgeos_c.so +0 -0
- package/dist/prebuilt/Android-x86_64/lib/pkgconfig/geos.pc +12 -0
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/Info.plist +0 -0
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/_CodeSignature/CodeResources +1 -1
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/geosop +0 -0
- package/dist/prebuilt/iOS-iphoneos/lib/libgeos.a +0 -0
- package/dist/prebuilt/iOS-iphoneos/lib/libgeos_c.a +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/Info.plist +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/_CodeSignature/CodeResources +1 -1
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/geosop +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/libgeos.a +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/libgeos_c.a +0 -0
- package/geos.xcframework/ios-arm64_arm64e/libgeos.a +0 -0
- package/geos.xcframework/ios-arm64_arm64e_x86_64-simulator/libgeos.a +0 -0
- package/geos_c.xcframework/ios-arm64_arm64e/libgeos_c.a +0 -0
- package/geos_c.xcframework/ios-arm64_arm64e_x86_64-simulator/libgeos_c.a +0 -0
- package/package.json +2 -2
package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedPolygonTester.h
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2021 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
7
|
+
* Copyright (C) 2021 Martin Davis
|
|
8
|
+
*
|
|
9
|
+
* This is free software; you can redistribute and/or modify it under
|
|
10
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
11
|
+
* by the Free Software Foundation.
|
|
12
|
+
* See the COPYING file for more information.
|
|
13
|
+
*
|
|
14
|
+
**********************************************************************/
|
|
15
|
+
|
|
16
|
+
#pragma once
|
|
17
|
+
|
|
18
|
+
#include <geos/export.h>
|
|
19
|
+
#include <geos/index/strtree/TemplateSTRtree.h>
|
|
20
|
+
#include <geos/algorithm/locate/IndexedPointInAreaLocator.h>
|
|
21
|
+
|
|
22
|
+
#include <memory>
|
|
23
|
+
#include <map>
|
|
24
|
+
|
|
25
|
+
// Forward declarations
|
|
26
|
+
namespace geos {
|
|
27
|
+
namespace geom {
|
|
28
|
+
class Coordinate;
|
|
29
|
+
class Polygon;
|
|
30
|
+
class LinearRing;
|
|
31
|
+
class MultiPolygon;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
namespace geos { // geos.
|
|
37
|
+
namespace operation { // geos.operation
|
|
38
|
+
namespace valid { // geos.operation.valid
|
|
39
|
+
|
|
40
|
+
using geos::geom::Polygon;
|
|
41
|
+
using geos::geom::MultiPolygon;
|
|
42
|
+
using geos::geom::LinearRing;
|
|
43
|
+
using geos::geom::CoordinateXY;
|
|
44
|
+
using algorithm::locate::IndexedPointInAreaLocator;
|
|
45
|
+
using index::strtree::TemplateSTRtree;
|
|
46
|
+
|
|
47
|
+
class GEOS_DLL IndexedNestedPolygonTester {
|
|
48
|
+
|
|
49
|
+
private:
|
|
50
|
+
|
|
51
|
+
const MultiPolygon* multiPoly;
|
|
52
|
+
TemplateSTRtree<const Polygon*> index;
|
|
53
|
+
// std::vector<IndexedPointInAreaLocator> locators;
|
|
54
|
+
std::map<const Polygon*, IndexedPointInAreaLocator> locators;
|
|
55
|
+
CoordinateXY nestedPt;
|
|
56
|
+
|
|
57
|
+
void loadIndex();
|
|
58
|
+
|
|
59
|
+
IndexedPointInAreaLocator& getLocator(const Polygon* poly);
|
|
60
|
+
|
|
61
|
+
bool findNestedPoint(const LinearRing* shell,
|
|
62
|
+
const Polygon* possibleOuterPoly,
|
|
63
|
+
IndexedPointInAreaLocator& locator,
|
|
64
|
+
CoordinateXY& coordNested);
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Finds a point of a shell segment which lies inside a polygon, if any.
|
|
68
|
+
* The shell is assume to touch the polyon only at shell vertices,
|
|
69
|
+
* and does not cross the polygon.
|
|
70
|
+
*
|
|
71
|
+
* @param the shell to test
|
|
72
|
+
* @param the polygon to test against
|
|
73
|
+
* @param coordNested return parameter for found coordinate
|
|
74
|
+
* @return an interior segment point, or null if the shell is nested correctly
|
|
75
|
+
*/
|
|
76
|
+
static bool findIncidentSegmentNestedPoint(
|
|
77
|
+
const LinearRing* shell,
|
|
78
|
+
const Polygon* poly,
|
|
79
|
+
CoordinateXY& coordNested);
|
|
80
|
+
|
|
81
|
+
// Declare type as noncopyable
|
|
82
|
+
IndexedNestedPolygonTester(const IndexedNestedPolygonTester& other) = delete;
|
|
83
|
+
IndexedNestedPolygonTester& operator=(const IndexedNestedPolygonTester& rhs) = delete;
|
|
84
|
+
|
|
85
|
+
public:
|
|
86
|
+
|
|
87
|
+
IndexedNestedPolygonTester(const MultiPolygon* p_multiPoly);
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Gets a point on a nested polygon, if one exists.
|
|
91
|
+
*
|
|
92
|
+
* @return a point on a nested polygon, or null if none are nested
|
|
93
|
+
*/
|
|
94
|
+
const CoordinateXY& getNestedPoint() const { return nestedPt; }
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Tests if any polygon is nested (contained) within another polygon.
|
|
98
|
+
* This is invalid.
|
|
99
|
+
* The nested point will be set to reflect this.
|
|
100
|
+
* @return true if some polygon is nested
|
|
101
|
+
*/
|
|
102
|
+
bool isNested();
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
} // namespace geos.operation.valid
|
|
110
|
+
} // namespace geos.operation
|
|
111
|
+
} // namespace geos
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2001-2002 Vivid Solutions Inc.
|
|
7
|
+
* Copyright (C) 2009 Sandro Santilli <strk@kbt.io>
|
|
8
|
+
* Copyright (C) 2005-2006 Refractions Research Inc.
|
|
9
|
+
* Copyright (C) 2021 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
10
|
+
*
|
|
11
|
+
* This is free software; you can redistribute and/or modify it under
|
|
12
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
13
|
+
* by the Free Software Foundation.
|
|
14
|
+
* See the COPYING file for more information.
|
|
15
|
+
*
|
|
16
|
+
**********************************************************************/
|
|
17
|
+
|
|
18
|
+
#pragma once
|
|
19
|
+
|
|
20
|
+
#include <memory>
|
|
21
|
+
|
|
22
|
+
#include <geos/algorithm/LineIntersector.h>
|
|
23
|
+
#include <geos/algorithm/BoundaryNodeRule.h>
|
|
24
|
+
#include <geos/noding/SegmentIntersector.h>
|
|
25
|
+
|
|
26
|
+
// Forward declarations
|
|
27
|
+
namespace geos {
|
|
28
|
+
namespace noding {
|
|
29
|
+
class SegmentString;
|
|
30
|
+
class BasicSegmentString;
|
|
31
|
+
}
|
|
32
|
+
// namespace algorithm {
|
|
33
|
+
// class BoundaryNodeRule;
|
|
34
|
+
// }
|
|
35
|
+
namespace geom {
|
|
36
|
+
class LineString;
|
|
37
|
+
class LinearRing;
|
|
38
|
+
class MultiLineString;
|
|
39
|
+
class MultiPoint;
|
|
40
|
+
class Geometry;
|
|
41
|
+
class Polygon;
|
|
42
|
+
class GeometryCollection;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
namespace geos { // geos
|
|
48
|
+
namespace operation { // geos.operation
|
|
49
|
+
namespace valid { // geos.operation.valid
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Tests whether a Geometry is simple as defined by the OGC SFS specification.
|
|
53
|
+
*
|
|
54
|
+
* Simplicity is defined for each geom::Geometry type as follows:
|
|
55
|
+
*
|
|
56
|
+
* * geom::Point geometries are simple.
|
|
57
|
+
* * geom::MultiPoint geometries are simple if every point is unique
|
|
58
|
+
* * geom::LineString geometries are simple if they do not self-intersect at interior points
|
|
59
|
+
* (i.e. points other than the endpoints).
|
|
60
|
+
* * geom::MultiLineString geometries are simple if
|
|
61
|
+
* their elements are simple and they intersect only at points
|
|
62
|
+
* which are boundary points of both elements.
|
|
63
|
+
* (The notion of boundary points can be user-specified - see below).
|
|
64
|
+
* * Polygonal geometries have no definition of simplicity.
|
|
65
|
+
* The isSimple code checks if all polygon rings are simple.
|
|
66
|
+
* (Note: this means that isSimple cannot be used to test
|
|
67
|
+
* for ALL self-intersections in Polygons.
|
|
68
|
+
* In order to check if a Polygonal geometry has self-intersections,
|
|
69
|
+
* use geom::Geometry::isValid()).
|
|
70
|
+
* * geom::GeometryCollection geometries are simple if all their elements are simple.
|
|
71
|
+
* * Empty geometries are simple
|
|
72
|
+
*
|
|
73
|
+
* For linear geometries the evaluation of simplicity
|
|
74
|
+
* can be customized by supplying a BoundaryNodeRule
|
|
75
|
+
* to define how boundary points are determined.
|
|
76
|
+
* The default is the SFS-standard.
|
|
77
|
+
*
|
|
78
|
+
* Note that under the Mod-2 rule, closed LineStrings (rings)
|
|
79
|
+
* have no boundary.
|
|
80
|
+
* This means that an intersection at their endpoints makes the geometry non-simple.
|
|
81
|
+
* If it is required to test whether a set of LineStrings touch
|
|
82
|
+
* only at their endpoints, use BoundaryNodeRule::getBoundaryEndPoint().
|
|
83
|
+
* For example, this can be used to validate that a collection of lines
|
|
84
|
+
* form a topologically valid linear network.
|
|
85
|
+
*
|
|
86
|
+
* By default this class finds a single non-simple location.
|
|
87
|
+
* To find all non-simple locations, set setFindAllLocations(bool)
|
|
88
|
+
* before calling isSimple(), and retrieve the locations
|
|
89
|
+
* via getNonSimpleLocations().
|
|
90
|
+
* This can be used to find all intersection points in a linear network.
|
|
91
|
+
*
|
|
92
|
+
* @see BoundaryNodeRule
|
|
93
|
+
*/
|
|
94
|
+
class GEOS_DLL IsSimpleOp {
|
|
95
|
+
|
|
96
|
+
private:
|
|
97
|
+
|
|
98
|
+
const geom::Geometry& inputGeom;
|
|
99
|
+
bool isClosedEndpointsInInterior = true;
|
|
100
|
+
bool isFindAllLocations = false;
|
|
101
|
+
bool isSimpleResult = false;
|
|
102
|
+
std::vector<geom::CoordinateXY> nonSimplePts;
|
|
103
|
+
bool computed = false;
|
|
104
|
+
|
|
105
|
+
void compute();
|
|
106
|
+
|
|
107
|
+
bool computeSimple(const geom::Geometry& geom);
|
|
108
|
+
|
|
109
|
+
bool isSimpleMultiPoint(const geom::MultiPoint& mp);
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Computes simplicity for polygonal geometries.
|
|
113
|
+
* Polygonal geometries are simple if and only if
|
|
114
|
+
* all of their component rings are simple.
|
|
115
|
+
*
|
|
116
|
+
* @param geom a Polygonal geometry
|
|
117
|
+
* @return true if the geometry is simple
|
|
118
|
+
*/
|
|
119
|
+
bool isSimplePolygonal(const geom::Geometry& geom);
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Semantics for GeometryCollection is
|
|
123
|
+
* simple iff all components are simple.
|
|
124
|
+
*
|
|
125
|
+
* @param geom
|
|
126
|
+
* @return true if the geometry is simple
|
|
127
|
+
*/
|
|
128
|
+
bool isSimpleGeometryCollection(const geom::Geometry& geom);
|
|
129
|
+
|
|
130
|
+
bool isSimpleLinearGeometry(const geom::Geometry& geom);
|
|
131
|
+
|
|
132
|
+
static std::vector<std::unique_ptr<geos::geom::CoordinateSequence>>
|
|
133
|
+
removeRepeatedPts(const geom::Geometry& geom);
|
|
134
|
+
|
|
135
|
+
static std::vector<std::unique_ptr<noding::SegmentString>>
|
|
136
|
+
createSegmentStrings(std::vector<std::unique_ptr<geos::geom::CoordinateSequence>>& seqs);
|
|
137
|
+
|
|
138
|
+
class NonSimpleIntersectionFinder : public noding::SegmentIntersector
|
|
139
|
+
{
|
|
140
|
+
|
|
141
|
+
private:
|
|
142
|
+
|
|
143
|
+
bool isClosedEndpointsInInterior;
|
|
144
|
+
bool isFindAll = false;
|
|
145
|
+
|
|
146
|
+
std::vector<geom::CoordinateXY>& intersectionPts;
|
|
147
|
+
algorithm::LineIntersector li;
|
|
148
|
+
|
|
149
|
+
// bool hasInteriorInt;
|
|
150
|
+
// bool hasInteriorVertexInt;
|
|
151
|
+
// bool hasEqualSegments;
|
|
152
|
+
// bool hasInteriorEndpointInt;
|
|
153
|
+
|
|
154
|
+
bool findIntersection(
|
|
155
|
+
noding::SegmentString* ss0, std::size_t segIndex0,
|
|
156
|
+
noding::SegmentString* ss1, std::size_t segIndex1,
|
|
157
|
+
const geom::CoordinateXY& p00, const geom::CoordinateXY& p01,
|
|
158
|
+
const geom::CoordinateXY& p10, const geom::CoordinateXY& p11);
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Tests whether an intersection vertex is an endpoint of a segment string.
|
|
162
|
+
*
|
|
163
|
+
* @param ss the segmentString
|
|
164
|
+
* @param ssIndex index of segment in segmentString
|
|
165
|
+
* @param li the line intersector
|
|
166
|
+
* @param liSegmentIndex index of segment in intersector
|
|
167
|
+
* @return true if the intersection vertex is an endpoint
|
|
168
|
+
*/
|
|
169
|
+
bool isIntersectionEndpoint(
|
|
170
|
+
const noding::SegmentString* ss, std::size_t ssIndex,
|
|
171
|
+
const algorithm::LineIntersector& li, std::size_t liSegmentIndex) const;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Finds the vertex index in a segment of an intersection
|
|
175
|
+
* which is known to be a vertex.
|
|
176
|
+
*
|
|
177
|
+
* @param li the line intersector
|
|
178
|
+
* @param segmentIndex the intersection segment index
|
|
179
|
+
* @return the vertex index (0 or 1) in the segment vertex of the intersection point
|
|
180
|
+
*/
|
|
181
|
+
std::size_t intersectionVertexIndex(
|
|
182
|
+
const algorithm::LineIntersector& li, std::size_t segmentIndex) const;
|
|
183
|
+
|
|
184
|
+
public:
|
|
185
|
+
|
|
186
|
+
NonSimpleIntersectionFinder(
|
|
187
|
+
bool p_isClosedEndpointsInInterior,
|
|
188
|
+
bool p_isFindAll,
|
|
189
|
+
std::vector<geom::CoordinateXY>& p_intersectionPts)
|
|
190
|
+
: isClosedEndpointsInInterior(p_isClosedEndpointsInInterior)
|
|
191
|
+
, isFindAll(p_isFindAll)
|
|
192
|
+
, intersectionPts(p_intersectionPts)
|
|
193
|
+
{};
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Tests whether an intersection was found.
|
|
197
|
+
*
|
|
198
|
+
* @return true if an intersection was found
|
|
199
|
+
*/
|
|
200
|
+
bool hasIntersection() const;
|
|
201
|
+
|
|
202
|
+
void processIntersections(
|
|
203
|
+
noding::SegmentString* ss0, std::size_t segIndex0,
|
|
204
|
+
noding::SegmentString* ss1, std::size_t segIndex1) override;
|
|
205
|
+
|
|
206
|
+
bool isDone() const override;
|
|
207
|
+
|
|
208
|
+
}; // NonSimpleIntersectionFinder
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
public:
|
|
212
|
+
|
|
213
|
+
IsSimpleOp(const geom::Geometry* geom)
|
|
214
|
+
: IsSimpleOp(*geom)
|
|
215
|
+
{};
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Creates a simplicity checker using the default SFS Mod-2 Boundary Node Rule
|
|
219
|
+
*
|
|
220
|
+
* @param geom the geometry to test
|
|
221
|
+
*/
|
|
222
|
+
IsSimpleOp(const geom::Geometry& geom)
|
|
223
|
+
: IsSimpleOp(geom, algorithm::BoundaryNodeRule::getBoundaryRuleMod2())
|
|
224
|
+
{};
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Creates a simplicity checker using a given {@link algorithm::BoundaryNodeRule}
|
|
228
|
+
*
|
|
229
|
+
* @param geom the geometry to test
|
|
230
|
+
* @param p_boundaryNodeRule the boundary node rule to use.
|
|
231
|
+
*/
|
|
232
|
+
IsSimpleOp(const geom::Geometry& geom, const algorithm::BoundaryNodeRule& p_boundaryNodeRule)
|
|
233
|
+
: inputGeom(geom)
|
|
234
|
+
, isClosedEndpointsInInterior(! p_boundaryNodeRule.isInBoundary(2))
|
|
235
|
+
, isFindAllLocations(false)
|
|
236
|
+
, computed(false)
|
|
237
|
+
{};
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Tests whether a geometry is simple.
|
|
241
|
+
*
|
|
242
|
+
* @param geom the geometry to test
|
|
243
|
+
* @return true if the geometry is simple
|
|
244
|
+
*/
|
|
245
|
+
static bool isSimple(const geom::Geometry& geom);
|
|
246
|
+
|
|
247
|
+
static bool isSimple(const geom::Geometry* geom) {
|
|
248
|
+
if (!geom) return false;
|
|
249
|
+
return isSimple(*geom);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Gets a non-simple location in a geometry, if any.
|
|
254
|
+
*
|
|
255
|
+
* @param geom the input geometry
|
|
256
|
+
* @return a non-simple location, or null if the geometry is simple
|
|
257
|
+
*/
|
|
258
|
+
geom::CoordinateXY getNonSimpleLocation(const geom::Geometry& geom);
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Sets whether all non-simple intersection points
|
|
262
|
+
* will be found.
|
|
263
|
+
*
|
|
264
|
+
* @param isFindAll whether to find all non-simple points
|
|
265
|
+
*/
|
|
266
|
+
void setFindAllLocations(bool isFindAll);
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Tests whether the geometry is simple.
|
|
270
|
+
*
|
|
271
|
+
* @return true if the geometry is simple
|
|
272
|
+
*/
|
|
273
|
+
bool isSimple();
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Gets the coordinate for an location where the geometry
|
|
277
|
+
* fails to be simple.
|
|
278
|
+
* (i.e. where it has a non-boundary self-intersection).
|
|
279
|
+
*
|
|
280
|
+
* @return a coordinate for the location of the non-boundary self-intersection
|
|
281
|
+
* or null if the geometry is simple
|
|
282
|
+
*/
|
|
283
|
+
geom::CoordinateXY getNonSimpleLocation();
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Gets all non-simple intersection locations.
|
|
287
|
+
*
|
|
288
|
+
* @return a list of the coordinates of non-simple locations
|
|
289
|
+
*/
|
|
290
|
+
const std::vector<geom::CoordinateXY>& getNonSimpleLocations();
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
}; // IsSimpleOp
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
} // namespace geos.operation.valid
|
|
298
|
+
} // namespace geos.operation
|
|
299
|
+
} // namespace geos
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2021 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
7
|
+
* Copyright (C) 2021 Martin Davis
|
|
8
|
+
*
|
|
9
|
+
* This is free software; you can redistribute and/or modify it under
|
|
10
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
11
|
+
* by the Free Software Foundation.
|
|
12
|
+
* See the COPYING file for more information.
|
|
13
|
+
*
|
|
14
|
+
**********************************************************************/
|
|
15
|
+
|
|
16
|
+
#pragma once
|
|
17
|
+
|
|
18
|
+
#include <geos/export.h>
|
|
19
|
+
|
|
20
|
+
#include <geos/operation/valid/PolygonTopologyAnalyzer.h>
|
|
21
|
+
#include <geos/operation/valid/TopologyValidationError.h>
|
|
22
|
+
#include <geos/util.h>
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
// Forward declarations
|
|
26
|
+
namespace geos {
|
|
27
|
+
namespace geom {
|
|
28
|
+
class CoordinateXY;
|
|
29
|
+
class Geometry;
|
|
30
|
+
class Point;
|
|
31
|
+
class MultiPoint;
|
|
32
|
+
class LineString;
|
|
33
|
+
class LinearRing;
|
|
34
|
+
class Polygon;
|
|
35
|
+
class MultiPolygon;
|
|
36
|
+
class GeometryCollection;
|
|
37
|
+
}
|
|
38
|
+
namespace algorithm {
|
|
39
|
+
namespace locate {
|
|
40
|
+
class IndexedPointInAreaLocator;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
namespace geos { // geos.
|
|
47
|
+
namespace operation { // geos.operation
|
|
48
|
+
namespace valid { // geos.operation.valid
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Implements the algorithms required to compute the <code>isValid()</code> method
|
|
52
|
+
* for Geometry.
|
|
53
|
+
* See the documentation for the various geometry types for a specification of validity.
|
|
54
|
+
*
|
|
55
|
+
* @version 1.7
|
|
56
|
+
*/
|
|
57
|
+
class GEOS_DLL IsValidOp {
|
|
58
|
+
|
|
59
|
+
private:
|
|
60
|
+
|
|
61
|
+
static constexpr int MIN_SIZE_LINESTRING = 2;
|
|
62
|
+
static constexpr int MIN_SIZE_RING = 4;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The geometry being validated
|
|
66
|
+
*/
|
|
67
|
+
const geom::Geometry* inputGeometry;
|
|
68
|
+
/**
|
|
69
|
+
* If the following condition is true GEOS will validate
|
|
70
|
+
* inverted shells and exverted holes (the ESRI SDE model)
|
|
71
|
+
*/
|
|
72
|
+
bool isInvertedRingValid = false;
|
|
73
|
+
std::unique_ptr<TopologyValidationError> validErr;
|
|
74
|
+
|
|
75
|
+
bool hasInvalidError()
|
|
76
|
+
{
|
|
77
|
+
return validErr != nullptr;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
void logInvalid(int code, const geom::CoordinateXY& pt);
|
|
81
|
+
|
|
82
|
+
bool isValidGeometry(const geom::Geometry* g);
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Tests validity of a Point.
|
|
86
|
+
*/
|
|
87
|
+
bool isValid(const geom::Point* g);
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Tests validity of a MultiPoint.
|
|
91
|
+
*/
|
|
92
|
+
bool isValid(const geom::MultiPoint* g);
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Tests validity of a LineString.
|
|
96
|
+
* Almost anything goes for linestrings!
|
|
97
|
+
*/
|
|
98
|
+
bool isValid(const geom::LineString* g);
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Tests validity of a LinearRing.
|
|
102
|
+
*/
|
|
103
|
+
bool isValid(const geom::LinearRing* g);
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Tests the validity of a polygon.
|
|
107
|
+
* Sets the validErr flag.
|
|
108
|
+
*/
|
|
109
|
+
bool isValid(const geom::Polygon* g);
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Tests validity of a MultiPolygon.
|
|
113
|
+
*
|
|
114
|
+
* @param g
|
|
115
|
+
* @return
|
|
116
|
+
*/
|
|
117
|
+
bool isValid(const geom::MultiPolygon* g);
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Tests validity of a GeometryCollection.
|
|
121
|
+
*
|
|
122
|
+
* @param gc
|
|
123
|
+
* @return
|
|
124
|
+
*/
|
|
125
|
+
bool isValid(const geom::GeometryCollection* gc);
|
|
126
|
+
|
|
127
|
+
void checkCoordinatesValid(const geom::CoordinateSequence* coords);
|
|
128
|
+
void checkCoordinatesValid(const geom::Polygon* poly);
|
|
129
|
+
void checkRingClosed(const geom::LinearRing* ring);
|
|
130
|
+
void checkRingsClosed(const geom::Polygon* poly);
|
|
131
|
+
void checkRingsPointSize(const geom::Polygon* poly);
|
|
132
|
+
void checkRingPointSize(const geom::LinearRing* ring);
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Check the number of non-repeated points is at least a given size.
|
|
136
|
+
*
|
|
137
|
+
* @param line
|
|
138
|
+
* @param minSize
|
|
139
|
+
*/
|
|
140
|
+
void checkTooFewPoints(const geom::LineString* line, std::size_t minSize);
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Test if the number of non-repeated points in a line
|
|
144
|
+
* is at least a given minimum size.
|
|
145
|
+
*
|
|
146
|
+
* @param line the line to test
|
|
147
|
+
* @param minSize the minimum line size
|
|
148
|
+
* @return true if the line has the required number of non-repeated points
|
|
149
|
+
*/
|
|
150
|
+
bool isNonRepeatedSizeAtLeast(const geom::LineString* line, std::size_t minSize);
|
|
151
|
+
|
|
152
|
+
void checkAreaIntersections(PolygonTopologyAnalyzer& areaAnalyzer);
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Check whether a ring self-intersects (except at its endpoints).
|
|
156
|
+
*
|
|
157
|
+
* @param ring the linear ring to check
|
|
158
|
+
*/
|
|
159
|
+
void checkRingSimple(const geom::LinearRing* ring);
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Tests that each hole is inside the polygon shell.
|
|
164
|
+
* This routine assumes that the holes have previously been tested
|
|
165
|
+
* to ensure that all vertices lie on the shell or on the same side of it
|
|
166
|
+
* (i.e. that the hole rings do not cross the shell ring).
|
|
167
|
+
* Given this, a simple point-in-polygon test of a single point in the hole can be used,
|
|
168
|
+
* provided the point is chosen such that it does not lie on the shell.
|
|
169
|
+
*
|
|
170
|
+
* @param poly the polygon to be tested for hole inclusion
|
|
171
|
+
*/
|
|
172
|
+
void checkHolesInShell(const geom::Polygon* poly);
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Checks if a polygon hole lies inside its shell
|
|
176
|
+
* and if not returns a point indicating this.
|
|
177
|
+
* The hole is known to be wholly inside or outside the shell,
|
|
178
|
+
* so it suffices to find a single point which is interior or exterior,
|
|
179
|
+
* or check the edge topology at a point on the boundary of the shell.
|
|
180
|
+
*
|
|
181
|
+
* @param hole the hole to test
|
|
182
|
+
* @param shell the polygon shell to test against
|
|
183
|
+
* @return a hole point outside the shell, or null if it is inside
|
|
184
|
+
*/
|
|
185
|
+
const CoordinateXY* findHoleOutsideShellPoint(
|
|
186
|
+
const geom::LinearRing* hole,
|
|
187
|
+
const geom::LinearRing* shell);
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Checks if any polygon hole is nested inside another.
|
|
191
|
+
* Assumes that holes do not cross (overlap),
|
|
192
|
+
* This is checked earlier.
|
|
193
|
+
*
|
|
194
|
+
* @param poly the polygon with holes to test
|
|
195
|
+
*/
|
|
196
|
+
void checkHolesNotNested(const geom::Polygon* poly);
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Checks that no element polygon is in the interior of another element polygon.
|
|
200
|
+
*
|
|
201
|
+
* Preconditions:
|
|
202
|
+
*
|
|
203
|
+
* * shells do not partially overlap
|
|
204
|
+
* * shells do not touch along an edge
|
|
205
|
+
* * no duplicate rings exist
|
|
206
|
+
*
|
|
207
|
+
* These have been confirmed by the PolygonTopologyAnalyzer.
|
|
208
|
+
*/
|
|
209
|
+
void checkShellsNotNested(const geom::MultiPolygon* mp);
|
|
210
|
+
|
|
211
|
+
void checkInteriorConnected(PolygonTopologyAnalyzer& areaAnalyzer);
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
public:
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Creates a new validator for a geometry.
|
|
218
|
+
*
|
|
219
|
+
* @param p_inputGeometry the geometry to validate
|
|
220
|
+
*/
|
|
221
|
+
IsValidOp(const geom::Geometry* p_inputGeometry)
|
|
222
|
+
: inputGeometry(p_inputGeometry)
|
|
223
|
+
, validErr(nullptr)
|
|
224
|
+
{};
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Sets whether polygons using <b>Self-Touching Rings</b> to form
|
|
228
|
+
* holes are reported as valid.
|
|
229
|
+
* If this flag is set, the following Self-Touching conditions
|
|
230
|
+
* are treated as being valid:
|
|
231
|
+
*
|
|
232
|
+
* * the shell ring self-touches to create a hole touching the shell
|
|
233
|
+
* * a hole ring self-touches to create two holes touching at a point
|
|
234
|
+
*
|
|
235
|
+
* The default (following the OGC SFS standard)
|
|
236
|
+
* is that this condition is not valid (false).
|
|
237
|
+
*
|
|
238
|
+
* Self-Touching Rings which disconnect the
|
|
239
|
+
* the polygon interior are still considered to be invalid
|
|
240
|
+
* (these are <b>invalid</b> under the SFS, and many other
|
|
241
|
+
* spatial models as well).
|
|
242
|
+
* This includes:
|
|
243
|
+
*
|
|
244
|
+
* * exverted ("bow-tie") shells which self-touch at a single point
|
|
245
|
+
* * inverted shells with the inversion touching the shell at another point
|
|
246
|
+
* * exverted holes with exversion touching the hole at another point
|
|
247
|
+
* * inverted ("C-shaped") holes which self-touch at a single point causing an island to be formed
|
|
248
|
+
* * inverted shells or exverted holes which form part of a chain of touching rings
|
|
249
|
+
* (which disconnect the interior)
|
|
250
|
+
*
|
|
251
|
+
* @param p_isValid states whether geometry with this condition is valid
|
|
252
|
+
*/
|
|
253
|
+
void setSelfTouchingRingFormingHoleValid(bool p_isValid)
|
|
254
|
+
{
|
|
255
|
+
isInvertedRingValid = p_isValid;
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Tests whether a Geometry is valid.
|
|
260
|
+
* @param geom the Geometry to test
|
|
261
|
+
* @return true if the geometry is valid
|
|
262
|
+
*/
|
|
263
|
+
static bool isValid(const geom::Geometry* geom)
|
|
264
|
+
{
|
|
265
|
+
IsValidOp ivo(geom);
|
|
266
|
+
return ivo.isValid();
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
static bool isValid(const geom::CoordinateXY& coord)
|
|
270
|
+
{
|
|
271
|
+
return isValid(&coord);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Tests the validity of the input geometry.
|
|
276
|
+
*
|
|
277
|
+
* @return true if the geometry is valid
|
|
278
|
+
*/
|
|
279
|
+
bool isValid();
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Checks whether a coordinate is valid for processing.
|
|
283
|
+
* Coordinates are valid if their x and y ordinates are in the
|
|
284
|
+
* range of the floating point representation.
|
|
285
|
+
*
|
|
286
|
+
* @param coord the coordinate to validate
|
|
287
|
+
* @return <code>true</code> if the coordinate is valid
|
|
288
|
+
*/
|
|
289
|
+
static bool isValid(const geom::CoordinateXY* coord);
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Computes the validity of the geometry,
|
|
293
|
+
* and if not valid returns the validation error for the geometry,
|
|
294
|
+
* or null if the geometry is valid.
|
|
295
|
+
*
|
|
296
|
+
* @return the validation error, if the geometry is invalid
|
|
297
|
+
* or null if the geometry is valid
|
|
298
|
+
*/
|
|
299
|
+
const TopologyValidationError* getValidationError();
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
} // namespace geos.operation.valid
|
|
306
|
+
} // namespace geos.operation
|
|
307
|
+
} // namespace geos
|