@cpp.js/package-geos 1.0.0-beta.22 → 1.0.0-beta.23
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 +7 -0
- 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/Info.plist +5 -5
- 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
|
@@ -0,0 +1,652 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2024 Martin Davis
|
|
7
|
+
* Copyright (C) 2024 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
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/geom/Location.h>
|
|
19
|
+
#include <geos/operation/relateng/BasicPredicate.h>
|
|
20
|
+
#include <geos/operation/relateng/IMPatternMatcher.h>
|
|
21
|
+
#include <geos/operation/relateng/IMPredicate.h>
|
|
22
|
+
#include <geos/operation/relateng/RelateGeometry.h>
|
|
23
|
+
#include <geos/geom/Envelope.h>
|
|
24
|
+
#include <geos/export.h>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
using geos::geom::Envelope;
|
|
28
|
+
using geos::geom::Location;
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
namespace geos { // geos.
|
|
32
|
+
namespace operation { // geos.operation.
|
|
33
|
+
namespace relateng { // geos.operation.relateng
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class GEOS_DLL RelatePredicate {
|
|
37
|
+
|
|
38
|
+
public:
|
|
39
|
+
|
|
40
|
+
/************************************************************************
|
|
41
|
+
*
|
|
42
|
+
* Creates a predicate to determine whether two geometries intersect.
|
|
43
|
+
*
|
|
44
|
+
* The intersects predicate has the following equivalent definitions:
|
|
45
|
+
*
|
|
46
|
+
* * The two geometries have at least one point in common
|
|
47
|
+
* * The DE-9IM Intersection Matrix for the two geometries matches
|
|
48
|
+
* at least one of the patterns
|
|
49
|
+
*
|
|
50
|
+
* [T********]
|
|
51
|
+
* [*T*******]
|
|
52
|
+
* [***T*****]
|
|
53
|
+
* [****T****]
|
|
54
|
+
*
|
|
55
|
+
* disjoint() = false
|
|
56
|
+
* (intersects is the inverse of disjoint)
|
|
57
|
+
*
|
|
58
|
+
* @return the predicate instance
|
|
59
|
+
*
|
|
60
|
+
* @see disjoint()
|
|
61
|
+
*/
|
|
62
|
+
class IntersectsPredicate : public BasicPredicate {
|
|
63
|
+
|
|
64
|
+
public:
|
|
65
|
+
|
|
66
|
+
std::string name() const override {
|
|
67
|
+
return std::string("intersects");
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
bool requireSelfNoding() const override {
|
|
71
|
+
//-- self-noding is not required to check for a simple interaction
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
bool requireExteriorCheck(bool isSourceA) const override {
|
|
76
|
+
(void)isSourceA;
|
|
77
|
+
//-- intersects only requires testing interaction
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
void init(const Envelope& envA, const Envelope& envB) override {
|
|
82
|
+
require(envA.intersects(envB));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void updateDimension(Location locA, Location locB, int dimension) override {
|
|
86
|
+
(void)dimension;
|
|
87
|
+
setValueIf(true, isIntersection(locA, locB));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
void finish() override {
|
|
91
|
+
//-- if no intersecting locations were found
|
|
92
|
+
setValue(false);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
static std::unique_ptr<BasicPredicate> intersects();
|
|
98
|
+
|
|
99
|
+
/************************************************************************
|
|
100
|
+
*
|
|
101
|
+
* Creates a predicate to determine whether two geometries are disjoint.
|
|
102
|
+
*
|
|
103
|
+
* The disjoint predicate has the following equivalent definitions:
|
|
104
|
+
*
|
|
105
|
+
* * The two geometries have no point in common
|
|
106
|
+
* * The DE-9IM Intersection Matrix for the two geometries matches
|
|
107
|
+
* [FF*FF****]
|
|
108
|
+
* * intersects() = false
|
|
109
|
+
* (disjoint is the inverse of intersects)
|
|
110
|
+
*
|
|
111
|
+
* @return the predicate instance
|
|
112
|
+
*
|
|
113
|
+
* @see intersects()
|
|
114
|
+
*/
|
|
115
|
+
class DisjointPredicate : public BasicPredicate {
|
|
116
|
+
|
|
117
|
+
std::string name() const override {
|
|
118
|
+
return std::string("disjoint");
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
bool requireSelfNoding() const override {
|
|
122
|
+
//-- self-noding is not required to check for a simple interaction
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
bool requireInteraction() const override {
|
|
127
|
+
//-- ensure entire matrix is computed
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
bool requireExteriorCheck(bool isSourceA) const override {
|
|
132
|
+
(void)isSourceA;
|
|
133
|
+
//-- intersects only requires testing interaction
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
void init(const Envelope& envA, const Envelope& envB) override {
|
|
138
|
+
setValueIf(true, envA.disjoint(envB));
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
void updateDimension(Location locA, Location locB, int dimension) override {
|
|
142
|
+
(void)dimension;
|
|
143
|
+
setValueIf(false, isIntersection(locA, locB));
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
void finish() override {
|
|
147
|
+
//-- if no intersecting locations were found
|
|
148
|
+
setValue(true);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
static std::unique_ptr<BasicPredicate> disjoint();
|
|
153
|
+
|
|
154
|
+
/************************************************************************
|
|
155
|
+
* Creates a predicate to determine whether a geometry contains another geometry.
|
|
156
|
+
*
|
|
157
|
+
* The contains predicate has the following equivalent definitions:
|
|
158
|
+
*
|
|
159
|
+
* * Every point of the other geometry is a point of this geometry,
|
|
160
|
+
* and the interiors of the two geometries have at least one point in common.
|
|
161
|
+
* * The DE-9IM Intersection Matrix for the two geometries matches
|
|
162
|
+
* the pattern
|
|
163
|
+
* [T*****FF*]
|
|
164
|
+
* * within(B, A) = true
|
|
165
|
+
* (contains is the converse of within)
|
|
166
|
+
*
|
|
167
|
+
* An implication of the definition is that "Geometries do not
|
|
168
|
+
* contain their boundary". In other words, if a geometry A is a subset of
|
|
169
|
+
* the points in the boundary of a geometry B, B.contains(A) = false.
|
|
170
|
+
* (As a concrete example, take A to be a LineString which lies in the boundary of a Polygon B.)
|
|
171
|
+
* For a predicate with similar behavior but avoiding
|
|
172
|
+
* this subtle limitation, see covers().
|
|
173
|
+
*
|
|
174
|
+
* @return the predicate instance
|
|
175
|
+
*
|
|
176
|
+
* @see within()
|
|
177
|
+
*/
|
|
178
|
+
class ContainsPredicate : public IMPredicate {
|
|
179
|
+
|
|
180
|
+
std::string name() const override {
|
|
181
|
+
return std::string("contains");
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
bool requireCovers(bool isSourceA) override {
|
|
185
|
+
return isSourceA == RelateGeometry::GEOM_A;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
bool requireExteriorCheck(bool isSourceA) const override {
|
|
189
|
+
//-- only need to check B against Exterior of A
|
|
190
|
+
return isSourceA == RelateGeometry::GEOM_B;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
void init(int _dimA, int _dimB) override {
|
|
194
|
+
IMPredicate::init(_dimA, _dimB);
|
|
195
|
+
require(isDimsCompatibleWithCovers(dimA, dimB));
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
void init(const Envelope& envA, const Envelope& envB) override {
|
|
199
|
+
BasicPredicate::requireCovers(envA, envB);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
bool isDetermined() const override {
|
|
203
|
+
return intersectsExteriorOf(RelateGeometry::GEOM_A);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
bool valueIM() override {
|
|
207
|
+
return intMatrix.isContains();
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
static std::unique_ptr<IMPredicate> contains();
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
/************************************************************************
|
|
216
|
+
* Creates a predicate to determine whether a geometry is within another geometry.
|
|
217
|
+
*
|
|
218
|
+
* The within predicate has the following equivalent definitions:
|
|
219
|
+
*
|
|
220
|
+
* * Every point of this geometry is a point of the other geometry,
|
|
221
|
+
* and the interiors of the two geometries have at least one point in common.
|
|
222
|
+
* * The DE-9IM Intersection Matrix for the two geometries matches
|
|
223
|
+
* [T*F**F***]
|
|
224
|
+
* * contains(B, A) = true
|
|
225
|
+
* (within is the converse of contains())
|
|
226
|
+
*
|
|
227
|
+
* An implication of the definition is that
|
|
228
|
+
* "The boundary of a Geometry is not within the Geometry".
|
|
229
|
+
* In other words, if a geometry A is a subset of
|
|
230
|
+
* the points in the boundary of a geometry B, within(B, A) = false
|
|
231
|
+
* (As a concrete example, take A to be a LineString which lies in the boundary of a Polygon B.)
|
|
232
|
+
* For a predicate with similar behavior but avoiding
|
|
233
|
+
* this subtle limitation, see coveredimBy().
|
|
234
|
+
*
|
|
235
|
+
* @return the predicate instance
|
|
236
|
+
*
|
|
237
|
+
* @see #contains()
|
|
238
|
+
*/
|
|
239
|
+
class WithinPredicate : public IMPredicate {
|
|
240
|
+
|
|
241
|
+
std::string name() const override {
|
|
242
|
+
return std::string("within");
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
bool requireCovers(bool isSourceA) override {
|
|
246
|
+
return isSourceA == RelateGeometry::GEOM_B;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
bool requireExteriorCheck(bool isSourceA) const override {
|
|
250
|
+
//-- only need to check B against Exterior of A
|
|
251
|
+
return isSourceA == RelateGeometry::GEOM_A;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
void init(int _dimA, int _dimB) override {
|
|
255
|
+
IMPredicate::init(_dimA, _dimB);
|
|
256
|
+
require(isDimsCompatibleWithCovers(dimB, dimA));
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
void init(const Envelope& envA, const Envelope& envB) override {
|
|
260
|
+
BasicPredicate::requireCovers(envB, envA);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
bool isDetermined() const override {
|
|
264
|
+
return intersectsExteriorOf(RelateGeometry::GEOM_B);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
bool valueIM() override {
|
|
268
|
+
return intMatrix.isWithin();
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
static std::unique_ptr<IMPredicate> within();
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
/************************************************************************
|
|
277
|
+
* Creates a predicate to determine whether a geometry covers another geometry.
|
|
278
|
+
*
|
|
279
|
+
* The covers predicate has the following equivalent definitions:
|
|
280
|
+
*
|
|
281
|
+
* Every point of the other geometry is a point of this geometry.
|
|
282
|
+
* The DE-9IM Intersection Matrix for the two geometries matches
|
|
283
|
+
* at least one of the following patterns:
|
|
284
|
+
*
|
|
285
|
+
* * [T*****FF*]
|
|
286
|
+
* * [*T****FF*]
|
|
287
|
+
* * [***T**FF*]
|
|
288
|
+
* * [****T*FF*]
|
|
289
|
+
*
|
|
290
|
+
* coveredimBy(b, a) = true
|
|
291
|
+
* (covers is the converse of coveredimBy())
|
|
292
|
+
*
|
|
293
|
+
* If either geometry is empty, the value of this predicate is false.
|
|
294
|
+
*
|
|
295
|
+
* This predicate is similar to contains(),
|
|
296
|
+
* but is more inclusive (i.e. returns true for more cases).
|
|
297
|
+
* In particular, unlike contains it does not distinguish between
|
|
298
|
+
* points in the boundary and in the interior of geometries.
|
|
299
|
+
* For most cases, covers should be used in preference to contains.
|
|
300
|
+
* As an added benefit, covers is more amenable to optimization,
|
|
301
|
+
* and hence should be more performant.
|
|
302
|
+
*
|
|
303
|
+
* @return the predicate instance
|
|
304
|
+
*
|
|
305
|
+
* @see #coveredimBy()
|
|
306
|
+
*/
|
|
307
|
+
class CoversPredicate : public IMPredicate {
|
|
308
|
+
|
|
309
|
+
std::string name() const override {
|
|
310
|
+
return std::string("covers");
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
bool requireCovers(bool isSourceA) override {
|
|
314
|
+
return isSourceA == RelateGeometry::GEOM_A;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
bool requireExteriorCheck(bool isSourceA) const override {
|
|
318
|
+
//-- only need to check B against Exterior of A
|
|
319
|
+
return isSourceA == RelateGeometry::GEOM_B;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
void init(int _dimA, int _dimB) override {
|
|
323
|
+
IMPredicate::init(_dimA, _dimB);
|
|
324
|
+
require(isDimsCompatibleWithCovers(dimA, dimB));
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
void init(const Envelope& envA, const Envelope& envB) override {
|
|
328
|
+
BasicPredicate::requireCovers(envA, envB);
|
|
329
|
+
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
bool isDetermined() const override {
|
|
333
|
+
return intersectsExteriorOf(RelateGeometry::GEOM_A);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
bool valueIM() override {
|
|
337
|
+
return intMatrix.isCovers();
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
static std::unique_ptr<IMPredicate> covers();
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
/************************************************************************
|
|
345
|
+
* Creates a predicate to determine whether a geometry is covered
|
|
346
|
+
* by another geometry.
|
|
347
|
+
*
|
|
348
|
+
* The coveredimBy predicate has the following equivalent definitions:
|
|
349
|
+
*
|
|
350
|
+
* Every point of this geometry is a point of the other geometry.
|
|
351
|
+
* The DE-9IM Intersection Matrix for the two geometries matches
|
|
352
|
+
* at least one of the following patterns:
|
|
353
|
+
*
|
|
354
|
+
* [T*F**F***]
|
|
355
|
+
* [*TF**F***]
|
|
356
|
+
* [**FT*F***]
|
|
357
|
+
* [**F*TF***]
|
|
358
|
+
*
|
|
359
|
+
* covers(B, A) = true
|
|
360
|
+
* (coveredimBy is the converse of covers())
|
|
361
|
+
*
|
|
362
|
+
* If either geometry is empty, the value of this predicate is false.
|
|
363
|
+
*
|
|
364
|
+
* This predicate is similar to within(),
|
|
365
|
+
* but is more inclusive (i.e. returns true for more cases).
|
|
366
|
+
*
|
|
367
|
+
* @return the predicate instance
|
|
368
|
+
*
|
|
369
|
+
* @see #covers()
|
|
370
|
+
*/
|
|
371
|
+
class CoveredByPredicate : public IMPredicate {
|
|
372
|
+
|
|
373
|
+
std::string name() const override {
|
|
374
|
+
return std::string("coveredBy");
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
bool requireCovers(bool isSourceA) override {
|
|
378
|
+
return isSourceA == RelateGeometry::GEOM_B;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
bool requireExteriorCheck(bool isSourceA) const override {
|
|
382
|
+
//-- only need to check B against Exterior of A
|
|
383
|
+
return isSourceA == RelateGeometry::GEOM_A;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
void init(int _dimA, int _dimB) override {
|
|
387
|
+
IMPredicate::init(_dimA, _dimB);
|
|
388
|
+
require(isDimsCompatibleWithCovers(dimB, dimA));
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
void init(const Envelope& envA, const Envelope& envB) override {
|
|
392
|
+
BasicPredicate::requireCovers(envB, envA);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
bool isDetermined() const override {
|
|
396
|
+
return intersectsExteriorOf(RelateGeometry::GEOM_B);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
bool valueIM() override {
|
|
400
|
+
return intMatrix.isCoveredBy();
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
};
|
|
404
|
+
|
|
405
|
+
static std::unique_ptr<IMPredicate> coveredBy();
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
/************************************************************************
|
|
409
|
+
* Creates a predicate to determine whether a geometry crosses another geometry.
|
|
410
|
+
*
|
|
411
|
+
* The crosses predicate has the following equivalent definitions:
|
|
412
|
+
*
|
|
413
|
+
* The geometries have some but not all interior points in common.
|
|
414
|
+
* The DE-9IM Intersection Matrix for the two geometries matches
|
|
415
|
+
* one of the following patterns:
|
|
416
|
+
*
|
|
417
|
+
* [T*T******] (for P/L, P/A, and L/A cases)
|
|
418
|
+
* [T*****T**] (for L/P, A/P, and A/L cases)
|
|
419
|
+
* [0********] (for L/L cases)
|
|
420
|
+
*
|
|
421
|
+
*
|
|
422
|
+
* For the A/A and P/P cases this predicate returns false.
|
|
423
|
+
*
|
|
424
|
+
* The SFS defined this predicate only for P/L, P/A, L/L, and L/A cases.
|
|
425
|
+
* To make the relation symmetric
|
|
426
|
+
* JTS extends the definition to apply to L/P, A/P and A/L cases as well.
|
|
427
|
+
*
|
|
428
|
+
* @return the predicate instance
|
|
429
|
+
*/
|
|
430
|
+
|
|
431
|
+
class CrossesPredicate : public IMPredicate {
|
|
432
|
+
|
|
433
|
+
std::string name() const override {
|
|
434
|
+
return std::string("crosses");
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
void init(int _dimA, int _dimB) override {
|
|
438
|
+
IMPredicate::init(_dimA, _dimB);
|
|
439
|
+
bool isBothPointsOrAreas =
|
|
440
|
+
(dimA == Dimension::P && dimB == Dimension::P) ||
|
|
441
|
+
(dimA == Dimension::A && dimB == Dimension::A);
|
|
442
|
+
require(!isBothPointsOrAreas);
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
bool isDetermined() const override {
|
|
446
|
+
if (dimA == Dimension::L && dimB == Dimension::L) {
|
|
447
|
+
//-- L/L interaction can only be dim = P
|
|
448
|
+
if (getDimension(Location::INTERIOR, Location::INTERIOR) > Dimension::P)
|
|
449
|
+
return true;
|
|
450
|
+
}
|
|
451
|
+
else if (dimA < dimB) {
|
|
452
|
+
if (isIntersects(Location::INTERIOR, Location::INTERIOR) &&
|
|
453
|
+
isIntersects(Location::INTERIOR, Location::EXTERIOR)) {
|
|
454
|
+
return true;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
else if (dimA > dimB) {
|
|
458
|
+
if (isIntersects(Location::INTERIOR, Location::INTERIOR) &&
|
|
459
|
+
isIntersects(Location::EXTERIOR, Location::INTERIOR)) {
|
|
460
|
+
return true;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
return false;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
bool valueIM() override {
|
|
467
|
+
return intMatrix.isCrosses(dimA, dimB);
|
|
468
|
+
}
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
static std::unique_ptr<IMPredicate> crosses();
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
/************************************************************************
|
|
475
|
+
* Creates a predicate to determine whether two geometries are
|
|
476
|
+
* topologically equal.
|
|
477
|
+
*
|
|
478
|
+
* The equals predicate has the following equivalent definitions:
|
|
479
|
+
*
|
|
480
|
+
* The two geometries have at least one point in common,
|
|
481
|
+
* and no point of either geometry lies in the exterior of the other geometry.
|
|
482
|
+
* The DE-9IM Intersection Matrix for the two geometries matches
|
|
483
|
+
* the pattern T*F**FFF*
|
|
484
|
+
*
|
|
485
|
+
* @return the predicate instance
|
|
486
|
+
*/
|
|
487
|
+
class EqualsTopoPredicate : public IMPredicate {
|
|
488
|
+
|
|
489
|
+
std::string name() const override {
|
|
490
|
+
return std::string("equals");
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
bool requireInteraction() const override {
|
|
494
|
+
//-- allow EMPTY = EMPTY
|
|
495
|
+
return false;
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
void init(int _dimA, int _dimB) override {
|
|
499
|
+
IMPredicate::init(_dimA, _dimB);
|
|
500
|
+
//-- don't require equal dims, because EMPTY = EMPTY for all dims
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
void init(const Envelope& envA, const Envelope& envB) override {
|
|
504
|
+
//-- handle EMPTY = EMPTY cases
|
|
505
|
+
setValueIf(true, envA.isNull() && envB.isNull());
|
|
506
|
+
|
|
507
|
+
require(envA.equals(&envB));
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
bool isDetermined() const override {
|
|
511
|
+
bool isEitherExteriorIntersects =
|
|
512
|
+
isIntersects(Location::INTERIOR, Location::EXTERIOR) ||
|
|
513
|
+
isIntersects(Location::BOUNDARY, Location::EXTERIOR) ||
|
|
514
|
+
isIntersects(Location::EXTERIOR, Location::INTERIOR) ||
|
|
515
|
+
isIntersects(Location::EXTERIOR, Location::BOUNDARY);
|
|
516
|
+
|
|
517
|
+
return isEitherExteriorIntersects;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
bool valueIM() override {
|
|
521
|
+
return intMatrix.isEquals(dimA, dimB);
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
static std::unique_ptr<IMPredicate> equalsTopo();
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
/************************************************************************
|
|
530
|
+
* Creates a predicate to determine whether a geometry overlaps another geometry.
|
|
531
|
+
*
|
|
532
|
+
* The overlaps predicate has the following equivalent definitions:
|
|
533
|
+
*
|
|
534
|
+
* The geometries have at least one point each not shared by the other
|
|
535
|
+
* (or equivalently neither covers the other),
|
|
536
|
+
* they have the same dimension,
|
|
537
|
+
* and the intersection of the interiors of the two geometries has
|
|
538
|
+
* the same dimension as the geometries themselves.
|
|
539
|
+
* The DE-9IM Intersection Matrix for the two geometries matches
|
|
540
|
+
* [T*T***T**] (for P/P and A/A cases)
|
|
541
|
+
* or [1*T***T**] (for L/L cases)
|
|
542
|
+
*
|
|
543
|
+
* If the geometries are of different dimension this predicate returns false.
|
|
544
|
+
* This predicate is symmetric.
|
|
545
|
+
*
|
|
546
|
+
* @return the predicate instance
|
|
547
|
+
*/
|
|
548
|
+
class OverlapsPredicate : public IMPredicate {
|
|
549
|
+
|
|
550
|
+
std::string name() const override {
|
|
551
|
+
return std::string("overlaps");
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
void init(int _dimA, int _dimB) override {
|
|
555
|
+
IMPredicate::init(_dimA, _dimB);
|
|
556
|
+
require(dimA == dimB);
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
bool isDetermined() const override {
|
|
560
|
+
if (dimA == Dimension::A || dimA == Dimension::P) {
|
|
561
|
+
if (isIntersects(Location::INTERIOR, Location::INTERIOR) &&
|
|
562
|
+
isIntersects(Location::INTERIOR, Location::EXTERIOR) &&
|
|
563
|
+
isIntersects(Location::EXTERIOR, Location::INTERIOR))
|
|
564
|
+
return true;
|
|
565
|
+
}
|
|
566
|
+
if (dimA == Dimension::L) {
|
|
567
|
+
if (isDimension(Location::INTERIOR, Location::INTERIOR, Dimension::L) &&
|
|
568
|
+
isIntersects(Location::INTERIOR, Location::EXTERIOR) &&
|
|
569
|
+
isIntersects(Location::EXTERIOR, Location::INTERIOR))
|
|
570
|
+
return true;
|
|
571
|
+
}
|
|
572
|
+
return false;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
bool valueIM() override {
|
|
576
|
+
return intMatrix.isOverlaps(dimA, dimB);
|
|
577
|
+
}
|
|
578
|
+
};
|
|
579
|
+
|
|
580
|
+
static std::unique_ptr<IMPredicate> overlaps();
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
/************************************************************************
|
|
587
|
+
* Creates a predicate to determine whether a geometry touches another geometry.
|
|
588
|
+
*
|
|
589
|
+
* The touches predicate has the following equivalent definitions:
|
|
590
|
+
*
|
|
591
|
+
* The geometries have at least one point in common,
|
|
592
|
+
* but their interiors do not intersect.
|
|
593
|
+
* The DE-9IM Intersection Matrix for the two geometries matches
|
|
594
|
+
* at least one of the following patterns
|
|
595
|
+
*
|
|
596
|
+
* [FT*******]
|
|
597
|
+
* [F**T*****]
|
|
598
|
+
* [F***T****]
|
|
599
|
+
*
|
|
600
|
+
*
|
|
601
|
+
* If both geometries have dimension 0, the predicate returns false,
|
|
602
|
+
* since points have only interiors.
|
|
603
|
+
* This predicate is symmetric.
|
|
604
|
+
*
|
|
605
|
+
* @return the predicate instance
|
|
606
|
+
*/
|
|
607
|
+
class TouchesPredicate : public IMPredicate {
|
|
608
|
+
|
|
609
|
+
std::string name() const override {
|
|
610
|
+
return std::string("touches");
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
void init(int _dimA, int _dimB) override {
|
|
614
|
+
IMPredicate::init(_dimA, _dimB);
|
|
615
|
+
bool isBothPoints = (dimA == 0 && dimB == 0);
|
|
616
|
+
require(! isBothPoints);
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
bool isDetermined() const override {
|
|
620
|
+
bool isInteriorsIntersects = isIntersects(Location::INTERIOR, Location::INTERIOR);
|
|
621
|
+
return isInteriorsIntersects;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
bool valueIM() override {
|
|
625
|
+
return intMatrix.isTouches(dimA, dimB);
|
|
626
|
+
}
|
|
627
|
+
};
|
|
628
|
+
|
|
629
|
+
static std::unique_ptr<IMPredicate> touches();
|
|
630
|
+
|
|
631
|
+
/**
|
|
632
|
+
* Creates a predicate that matches a DE-9IM matrix pattern.
|
|
633
|
+
*
|
|
634
|
+
* @param imPattern the pattern to match
|
|
635
|
+
* @return a predicate that matches the pattern
|
|
636
|
+
*
|
|
637
|
+
* @see IntersectionMatrixPattern
|
|
638
|
+
*/
|
|
639
|
+
static std::unique_ptr<TopologyPredicate> matches(const std::string& imPattern)
|
|
640
|
+
{
|
|
641
|
+
return std::unique_ptr<TopologyPredicate>(new IMPatternMatcher(imPattern));
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
}; // !RelatePredicate
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
} // namespace geos.operation.relateng
|
|
650
|
+
} // namespace geos.operation
|
|
651
|
+
} // namespace geos
|
|
652
|
+
|