@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,328 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2021 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
7
|
+
*
|
|
8
|
+
* This is free software; you can redistribute and/or modify it under
|
|
9
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
10
|
+
* by the Free Software Foundation.
|
|
11
|
+
* See the COPYING file for more information.
|
|
12
|
+
*
|
|
13
|
+
**********************************************************************/
|
|
14
|
+
|
|
15
|
+
#pragma once
|
|
16
|
+
|
|
17
|
+
#include <geos/export.h>
|
|
18
|
+
|
|
19
|
+
#include <geos/operation/buffer/BufferParameters.h>
|
|
20
|
+
#include <geos/geom/GeometryFactory.h>
|
|
21
|
+
#include <geos/constants.h>
|
|
22
|
+
|
|
23
|
+
// Forward declarations
|
|
24
|
+
namespace geos {
|
|
25
|
+
namespace geom {
|
|
26
|
+
class Coordinate;
|
|
27
|
+
class CoordinateSequence;
|
|
28
|
+
class Geometry;
|
|
29
|
+
class LineString;
|
|
30
|
+
class Polygon;
|
|
31
|
+
}
|
|
32
|
+
namespace operation {
|
|
33
|
+
namespace buffer {
|
|
34
|
+
class OffsetCurveSection;
|
|
35
|
+
class SegmentMCIndex;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
using geos::geom::Coordinate;
|
|
41
|
+
using geos::geom::CoordinateSequence;
|
|
42
|
+
using geos::geom::Geometry;
|
|
43
|
+
using geos::geom::GeometryFactory;
|
|
44
|
+
using geos::geom::LineString;
|
|
45
|
+
using geos::geom::Polygon;
|
|
46
|
+
|
|
47
|
+
namespace geos {
|
|
48
|
+
namespace operation {
|
|
49
|
+
namespace buffer {
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Computes an offset curve from a geometry.
|
|
53
|
+
* An offset curve is a linear geometry which is offset a given distance
|
|
54
|
+
* from the input.
|
|
55
|
+
* If the offset distance is positive the curve lies on the left side of the input;
|
|
56
|
+
* if it is negative the curve is on the right side.
|
|
57
|
+
* The curve(s) have the same direction as the input line(s).
|
|
58
|
+
*
|
|
59
|
+
* The offset curve is based on the boundary of the buffer for the geometry
|
|
60
|
+
* at the offset distance (see BufferOp).
|
|
61
|
+
* The normal mode of operation is to return the sections of the buffer boundary
|
|
62
|
+
* which lie on the raw offset curve
|
|
63
|
+
* (obtained via rawOffset(LineString, double).
|
|
64
|
+
* The offset curve will contain multiple sections
|
|
65
|
+
* if the input self-intersects or has close approaches.
|
|
66
|
+
* The computed sections are ordered along the raw offset curve.
|
|
67
|
+
* Sections are disjoint. They never self-intersect, but may be rings.
|
|
68
|
+
*
|
|
69
|
+
* * For a LineString the offset curve is a linear geometry
|
|
70
|
+
* (LineString or MultiLineString).
|
|
71
|
+
* * For a Point or MultiPoint the offset curve is an empty LineString.
|
|
72
|
+
* * For a Polygon the offset curve is the boundary of the polygon buffer (which
|
|
73
|
+
* may be a MultiLineString.
|
|
74
|
+
* * For a collection the output is a MultiLineString containing
|
|
75
|
+
* the offset curves of the elements.
|
|
76
|
+
*
|
|
77
|
+
* In "joined" mode (see setJoined(bool))
|
|
78
|
+
* the sections computed for each input line are joined into a single offset curve line.
|
|
79
|
+
* The joined curve may self-intersect.
|
|
80
|
+
* At larger offset distances the curve may contain "flat-line" artifacts
|
|
81
|
+
* in places where the input self-intersects.
|
|
82
|
+
*
|
|
83
|
+
* Offset curves support setting the number of quadrant segments,
|
|
84
|
+
* the join style, and the mitre limit (if applicable) via
|
|
85
|
+
* the BufferParameters.
|
|
86
|
+
*
|
|
87
|
+
* @author Martin Davis
|
|
88
|
+
*
|
|
89
|
+
*/
|
|
90
|
+
class GEOS_DLL OffsetCurve {
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
private:
|
|
94
|
+
|
|
95
|
+
// Members
|
|
96
|
+
const Geometry& inputGeom;
|
|
97
|
+
double distance;
|
|
98
|
+
bool isJoined = false;
|
|
99
|
+
|
|
100
|
+
BufferParameters bufferParams;
|
|
101
|
+
double matchDistance;
|
|
102
|
+
const GeometryFactory* geomFactory;
|
|
103
|
+
|
|
104
|
+
// Methods
|
|
105
|
+
|
|
106
|
+
std::unique_ptr<Geometry> computeCurve(
|
|
107
|
+
const LineString& lineGeom, double distance);
|
|
108
|
+
|
|
109
|
+
std::vector<std::unique_ptr<OffsetCurveSection>> computeSections(
|
|
110
|
+
const LineString& lineGeom, double distance);
|
|
111
|
+
|
|
112
|
+
std::unique_ptr<LineString> offsetSegment(
|
|
113
|
+
const CoordinateSequence* pts, double distance);
|
|
114
|
+
|
|
115
|
+
static std::unique_ptr<Polygon> getBufferOriented(
|
|
116
|
+
const LineString& geom, double distance,
|
|
117
|
+
BufferParameters& bufParams);
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Extracts the largest polygon by area from a geometry.
|
|
121
|
+
* Used here to avoid issues with non-robust buffer results
|
|
122
|
+
* which have spurious extra polygons.
|
|
123
|
+
*
|
|
124
|
+
* @param geom a geometry
|
|
125
|
+
* @return the polygon element of largest area
|
|
126
|
+
*/
|
|
127
|
+
static const Polygon* extractMaxAreaPolygon(const Geometry* geom);
|
|
128
|
+
|
|
129
|
+
void computeCurveSections(
|
|
130
|
+
const CoordinateSequence* bufferRingPts,
|
|
131
|
+
const CoordinateSequence& rawCurve,
|
|
132
|
+
std::vector<std::unique_ptr<OffsetCurveSection>>& sections);
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Matches the segments in a buffer ring to the raw offset curve
|
|
136
|
+
* to obtain their match positions (if any).
|
|
137
|
+
*
|
|
138
|
+
* @param raw0 a raw curve segment start point
|
|
139
|
+
* @param raw1 a raw curve segment end point
|
|
140
|
+
* @param rawCurveIndex the index of the raw curve segment
|
|
141
|
+
* @param bufferSegIndex the spatial index of the buffer ring segments
|
|
142
|
+
* @param bufferPts the points of the buffer ring
|
|
143
|
+
* @param rawCurvePos the raw curve positions of the buffer ring segments
|
|
144
|
+
* @return the index of the minimum matched buffer segment
|
|
145
|
+
*/
|
|
146
|
+
std::size_t matchSegments(
|
|
147
|
+
const Coordinate& raw0, const Coordinate& raw1,
|
|
148
|
+
std::size_t rawCurveIndex,
|
|
149
|
+
SegmentMCIndex& bufferSegIndex,
|
|
150
|
+
const CoordinateSequence* bufferPts,
|
|
151
|
+
std::vector<double>& rawCurvePos);
|
|
152
|
+
|
|
153
|
+
static double segmentMatchFrac(
|
|
154
|
+
const Coordinate& p0, const Coordinate& p1,
|
|
155
|
+
const Coordinate& seg0, const Coordinate& seg1,
|
|
156
|
+
double matchDistance);
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* This is only called when there is at least one ring segment matched
|
|
160
|
+
* (so rawCurvePos has at least one entry != NOT_IN_CURVE).
|
|
161
|
+
* The start index of the first section must be provided.
|
|
162
|
+
* This is intended to be the section with lowest position
|
|
163
|
+
* along the raw curve.
|
|
164
|
+
* @param ringPts the points in a buffer ring
|
|
165
|
+
* @param rawCurveLoc the position of buffer ring segments along the raw curve
|
|
166
|
+
* @param startIndex the index of the start of a section
|
|
167
|
+
* @param sections the list of extracted offset curve sections
|
|
168
|
+
*/
|
|
169
|
+
void extractSections(
|
|
170
|
+
const CoordinateSequence* ringPts,
|
|
171
|
+
std::vector<double>& rawCurveLoc,
|
|
172
|
+
std::size_t startIndex,
|
|
173
|
+
std::vector<std::unique_ptr<OffsetCurveSection>>& sections);
|
|
174
|
+
|
|
175
|
+
std::size_t findSectionStart(
|
|
176
|
+
const std::vector<double>& loc,
|
|
177
|
+
std::size_t end);
|
|
178
|
+
|
|
179
|
+
std::size_t findSectionEnd(
|
|
180
|
+
const std::vector<double>& loc,
|
|
181
|
+
std::size_t start,
|
|
182
|
+
std::size_t firstStartIndex);
|
|
183
|
+
|
|
184
|
+
static std::size_t nextIndex(std::size_t i, std::size_t size);
|
|
185
|
+
static std::size_t prevIndex(std::size_t i, std::size_t size);
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
public:
|
|
189
|
+
|
|
190
|
+
// Constants
|
|
191
|
+
static constexpr int MATCH_DISTANCE_FACTOR = 10000;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* A QuadSegs minimum value that will prevent generating
|
|
195
|
+
* unwanted offset curve artifacts near end caps.
|
|
196
|
+
*/
|
|
197
|
+
static constexpr int MIN_QUADRANT_SEGMENTS = 8;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Creates a new instance for computing an offset curve for a geometry at a given distance.
|
|
201
|
+
* with default quadrant segments (BufferParameters::DEFAULT_QUADRANT_SEGMENTS)
|
|
202
|
+
* and join style (BufferParameters::JOIN_STYLE).
|
|
203
|
+
*
|
|
204
|
+
* @param geom the geometry to offset
|
|
205
|
+
* @param dist the offset distance (positive for left, negative for right)
|
|
206
|
+
*
|
|
207
|
+
* @see BufferParameters
|
|
208
|
+
*/
|
|
209
|
+
OffsetCurve(const Geometry& geom, double dist)
|
|
210
|
+
: inputGeom(geom)
|
|
211
|
+
, distance(dist)
|
|
212
|
+
, matchDistance(std::abs(dist)/MATCH_DISTANCE_FACTOR)
|
|
213
|
+
, geomFactory(geom.getFactory())
|
|
214
|
+
{
|
|
215
|
+
if (!std::isfinite(dist)) {
|
|
216
|
+
throw util::IllegalArgumentException("OffsetCurve distance must be a finite value");
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Creates a new instance for computing an offset curve for a geometry at a given distance.
|
|
222
|
+
* setting the quadrant segments and join style and mitre limit
|
|
223
|
+
* via {@link BufferParameters}.
|
|
224
|
+
*
|
|
225
|
+
* @param geom the geometry to offset
|
|
226
|
+
* @param dist the offset distance (positive for left, negative for right)
|
|
227
|
+
* @param bp the buffer parameters to use
|
|
228
|
+
*/
|
|
229
|
+
OffsetCurve(const Geometry& geom, double dist, BufferParameters& bp)
|
|
230
|
+
: inputGeom(geom)
|
|
231
|
+
, distance(dist)
|
|
232
|
+
, matchDistance(std::abs(dist)/MATCH_DISTANCE_FACTOR)
|
|
233
|
+
, geomFactory(geom.getFactory())
|
|
234
|
+
{
|
|
235
|
+
if (!std::isfinite(dist)) {
|
|
236
|
+
throw util::IllegalArgumentException("OffsetCurve distance must be a finite value");
|
|
237
|
+
}
|
|
238
|
+
//-- set buffer params, leaving cap style as the default CAP_ROUND
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Prevent using a very small QuadSegs value, to avoid
|
|
242
|
+
* offset curve artifacts near the end caps.
|
|
243
|
+
*/
|
|
244
|
+
int quadSegs = bp.getQuadrantSegments();
|
|
245
|
+
if (quadSegs < MIN_QUADRANT_SEGMENTS) {
|
|
246
|
+
quadSegs = MIN_QUADRANT_SEGMENTS;
|
|
247
|
+
}
|
|
248
|
+
bufferParams.setQuadrantSegments(quadSegs);
|
|
249
|
+
|
|
250
|
+
bufferParams.setJoinStyle( bp.getJoinStyle());
|
|
251
|
+
bufferParams.setMitreLimit( bp.getMitreLimit());
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Computes a single curve line for each input linear component,
|
|
256
|
+
* by joining curve sections in order along the raw offset curve.
|
|
257
|
+
* The default mode is to compute separate curve sections.
|
|
258
|
+
*
|
|
259
|
+
* @param pIsJoined true if joined mode should be used.
|
|
260
|
+
*/
|
|
261
|
+
void setJoined(bool pIsJoined);
|
|
262
|
+
|
|
263
|
+
static std::unique_ptr<Geometry> getCurve(
|
|
264
|
+
const Geometry& geom,
|
|
265
|
+
double dist,
|
|
266
|
+
int quadSegs,
|
|
267
|
+
BufferParameters::JoinStyle joinStyle,
|
|
268
|
+
double mitreLimit);
|
|
269
|
+
|
|
270
|
+
static std::unique_ptr<Geometry> getCurve(
|
|
271
|
+
const Geometry& geom, double dist);
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Computes the offset curve of a geometry at a given distance,
|
|
275
|
+
* joining curve sections into a single line for each input line.
|
|
276
|
+
*
|
|
277
|
+
* @param geom a geometry
|
|
278
|
+
* @param dist the offset distance (positive for left, negative for right)
|
|
279
|
+
* @return the joined offset curve
|
|
280
|
+
*/
|
|
281
|
+
static std::unique_ptr<Geometry> getCurveJoined(
|
|
282
|
+
const Geometry& geom, double dist);
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Gets the computed offset curve lines.
|
|
286
|
+
*
|
|
287
|
+
* @return the offset curve geometry
|
|
288
|
+
*/
|
|
289
|
+
std::unique_ptr<Geometry> getCurve();
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Gets the raw offset curve for a line at a given distance.
|
|
293
|
+
* The quadrant segments, join style and mitre limit can be specified
|
|
294
|
+
* via BufferParameters.
|
|
295
|
+
*
|
|
296
|
+
* The raw offset line may contain loops and other artifacts which are
|
|
297
|
+
* not present in the true offset curve.
|
|
298
|
+
*
|
|
299
|
+
* @param line the line to offset
|
|
300
|
+
* @param distance the offset distance (positive for left, negative for right)
|
|
301
|
+
* @param bufParams the buffer parameters to use
|
|
302
|
+
* @return the raw offset curve points
|
|
303
|
+
*/
|
|
304
|
+
static std::unique_ptr<CoordinateSequence> rawOffsetCurve(
|
|
305
|
+
const LineString& line,
|
|
306
|
+
double distance,
|
|
307
|
+
BufferParameters& bufParams);
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Gets the raw offset curve for a line at a given distance,
|
|
311
|
+
* with default buffer parameters.
|
|
312
|
+
*
|
|
313
|
+
* @param line the line to offset
|
|
314
|
+
* @param distance the offset distance (positive for left, negative for right)
|
|
315
|
+
* @return the raw offset curve points
|
|
316
|
+
*/
|
|
317
|
+
static std::unique_ptr<CoordinateSequence> rawOffset(
|
|
318
|
+
const LineString& line,
|
|
319
|
+
double distance);
|
|
320
|
+
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
} // namespace geos::operation::buffer
|
|
324
|
+
} // namespace geos::operation
|
|
325
|
+
} // namespace geos
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2009-2011 Sandro Santilli <strk@kbt.io>
|
|
7
|
+
* Copyright (C) 2006-2007 Refractions Research Inc.
|
|
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
|
+
* Last port: operation/buffer/OffsetCurveBuilder.java r378 (JTS-1.12)
|
|
17
|
+
*
|
|
18
|
+
**********************************************************************/
|
|
19
|
+
|
|
20
|
+
#pragma once
|
|
21
|
+
|
|
22
|
+
#include <geos/export.h>
|
|
23
|
+
|
|
24
|
+
#include <geos/operation/buffer/BufferParameters.h> // for composition
|
|
25
|
+
#include <geos/operation/buffer/OffsetSegmentGenerator.h>
|
|
26
|
+
|
|
27
|
+
#include <vector>
|
|
28
|
+
#include <memory> // for unique_ptr
|
|
29
|
+
|
|
30
|
+
#ifdef _MSC_VER
|
|
31
|
+
#pragma warning(push)
|
|
32
|
+
#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
// Forward declarations
|
|
36
|
+
namespace geos {
|
|
37
|
+
namespace geom {
|
|
38
|
+
class CoordinateSequence;
|
|
39
|
+
class PrecisionModel;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
using geos::geom::CoordinateSequence;
|
|
44
|
+
using geos::geom::PrecisionModel;
|
|
45
|
+
|
|
46
|
+
namespace geos {
|
|
47
|
+
namespace operation { // geos.operation
|
|
48
|
+
namespace buffer { // geos.operation.buffer
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* \class OffsetCurveBuilder
|
|
52
|
+
*
|
|
53
|
+
* \brief
|
|
54
|
+
* Computes the raw offset curve for a
|
|
55
|
+
* single Geometry component (ring, line or point).
|
|
56
|
+
*
|
|
57
|
+
* A raw offset curve line is not noded -
|
|
58
|
+
* it may contain self-intersections (and usually will).
|
|
59
|
+
* The final buffer polygon is computed by forming a topological graph
|
|
60
|
+
* of all the noded raw curves and tracing outside contours.
|
|
61
|
+
* The points in the raw curve are rounded to a given PrecisionModel.
|
|
62
|
+
*
|
|
63
|
+
* Note: this may not produce correct results if the input
|
|
64
|
+
* contains repeated or invalid points.
|
|
65
|
+
* Repeated points should be removed before calling.
|
|
66
|
+
* See removeRepeatedAndInvalidPoints.
|
|
67
|
+
*/
|
|
68
|
+
class GEOS_DLL OffsetCurveBuilder {
|
|
69
|
+
public:
|
|
70
|
+
|
|
71
|
+
/*
|
|
72
|
+
* @param nBufParams buffer parameters, this object will
|
|
73
|
+
* keep a reference to the passed parameters
|
|
74
|
+
* so caller must make sure the object is
|
|
75
|
+
* kept alive for the whole lifetime of
|
|
76
|
+
* the buffer builder.
|
|
77
|
+
*/
|
|
78
|
+
OffsetCurveBuilder(
|
|
79
|
+
const PrecisionModel* newPrecisionModel,
|
|
80
|
+
const BufferParameters& nBufParams)
|
|
81
|
+
: distance(0.0)
|
|
82
|
+
, precisionModel(newPrecisionModel)
|
|
83
|
+
, bufParams(nBufParams)
|
|
84
|
+
{}
|
|
85
|
+
|
|
86
|
+
/** \brief
|
|
87
|
+
* Gets the buffer parameters being used to generate the curve.
|
|
88
|
+
*
|
|
89
|
+
* @return the buffer parameters being used
|
|
90
|
+
*/
|
|
91
|
+
const BufferParameters&
|
|
92
|
+
getBufferParameters() const
|
|
93
|
+
{
|
|
94
|
+
return bufParams;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Tests whether the offset curve for line or point geometries
|
|
99
|
+
* at the given offset distance is empty (does not exist).
|
|
100
|
+
* This is the case if:
|
|
101
|
+
*
|
|
102
|
+
* * the distance is zero,
|
|
103
|
+
* * the distance is negative, except for the case of singled-sided buffers
|
|
104
|
+
*
|
|
105
|
+
* @param distance the offset curve distance
|
|
106
|
+
* @return true if the offset curve is empty
|
|
107
|
+
*/
|
|
108
|
+
bool isLineOffsetEmpty(double distance);
|
|
109
|
+
|
|
110
|
+
/** \brief
|
|
111
|
+
* This method handles single points as well as lines.
|
|
112
|
+
*
|
|
113
|
+
* Lines are assumed to **not** be closed (the function will not
|
|
114
|
+
* fail for closed lines, but will generate superfluous line caps).
|
|
115
|
+
*
|
|
116
|
+
* @param inputPts input points
|
|
117
|
+
* @param distance offset distance
|
|
118
|
+
* @param lineList the std::vector to which the newly created
|
|
119
|
+
* CoordinateSequences will be pushed_back.
|
|
120
|
+
* Caller is responsible to delete these new elements.
|
|
121
|
+
*/
|
|
122
|
+
void getLineCurve(const CoordinateSequence* inputPts,
|
|
123
|
+
double distance,
|
|
124
|
+
std::vector<CoordinateSequence*>& lineList);
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* This method handles single points as well as LineStrings.
|
|
128
|
+
* LineStrings are assumed <b>not</b> to be closed (the function will not
|
|
129
|
+
* fail for closed lines, but will generate superfluous line caps).
|
|
130
|
+
*
|
|
131
|
+
* @param inputPts the vertices of the line to offset
|
|
132
|
+
* @param pDistance the offset distance
|
|
133
|
+
*
|
|
134
|
+
* @return a Coordinate array representing the curve
|
|
135
|
+
* or null if the curve is empty
|
|
136
|
+
*/
|
|
137
|
+
std::unique_ptr<CoordinateSequence> getLineCurve(
|
|
138
|
+
const CoordinateSequence* inputPts, double pDistance);
|
|
139
|
+
|
|
140
|
+
/** \brief
|
|
141
|
+
* This method handles single points as well as lines.
|
|
142
|
+
*
|
|
143
|
+
* Lines are assumed to **not** be closed (the function will not
|
|
144
|
+
* fail for closed lines, but will generate superfluous line caps).
|
|
145
|
+
*
|
|
146
|
+
* @param inputPts input points
|
|
147
|
+
* @param distance offset distance
|
|
148
|
+
* @param lineList the std::vector to which newly created
|
|
149
|
+
* CoordinateSequences will be pushed_back.
|
|
150
|
+
* Caller will be responsible to delete them.
|
|
151
|
+
* @param leftSide indicates that the left side buffer will be
|
|
152
|
+
* obtained/skipped
|
|
153
|
+
* @param rightSide indicates that the right side buffer will
|
|
154
|
+
* be obtained/skipped
|
|
155
|
+
*
|
|
156
|
+
* @note This is a GEOS extension.
|
|
157
|
+
*/
|
|
158
|
+
void getSingleSidedLineCurve(const CoordinateSequence* inputPts,
|
|
159
|
+
double distance, std::vector<CoordinateSequence*>& lineList,
|
|
160
|
+
bool leftSide, bool rightSide) ;
|
|
161
|
+
|
|
162
|
+
/** \brief
|
|
163
|
+
* This method handles the degenerate cases of single points and lines,
|
|
164
|
+
* as well as rings.
|
|
165
|
+
*
|
|
166
|
+
* @param inputPts input points
|
|
167
|
+
* @param side a [Position](@ref geom::Position)
|
|
168
|
+
* @param distance offset distance
|
|
169
|
+
* @param lineList the std::vector to which CoordinateSequences will
|
|
170
|
+
* be pushed_back
|
|
171
|
+
*/
|
|
172
|
+
void getRingCurve(const CoordinateSequence* inputPts, int side,
|
|
173
|
+
double distance,
|
|
174
|
+
std::vector<CoordinateSequence*>& lineList);
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* This method handles the degenerate cases of single points and lines,
|
|
178
|
+
* as well as valid rings.
|
|
179
|
+
*
|
|
180
|
+
* @param inputPts the coordinates of the ring (must not contain repeated points)
|
|
181
|
+
* @param side side the side Position of the ring on which to construct the buffer line
|
|
182
|
+
* @param pDistance the positive distance at which to create the offset
|
|
183
|
+
* @return a Coordinate array representing the curve,
|
|
184
|
+
* or null if the curve is empty
|
|
185
|
+
*/
|
|
186
|
+
std::unique_ptr<CoordinateSequence> getRingCurve(
|
|
187
|
+
const CoordinateSequence* inputPts,
|
|
188
|
+
int side, double pDistance);
|
|
189
|
+
|
|
190
|
+
void getOffsetCurve(const CoordinateSequence* inputPts,
|
|
191
|
+
double p_distance,
|
|
192
|
+
std::vector<CoordinateSequence*>& lineList);
|
|
193
|
+
|
|
194
|
+
std::unique_ptr<CoordinateSequence> getOffsetCurve(
|
|
195
|
+
const CoordinateSequence* inputPts,
|
|
196
|
+
double pDistance);
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
private:
|
|
200
|
+
|
|
201
|
+
double distance;
|
|
202
|
+
|
|
203
|
+
const PrecisionModel* precisionModel;
|
|
204
|
+
|
|
205
|
+
const BufferParameters& bufParams;
|
|
206
|
+
|
|
207
|
+
/** \brief
|
|
208
|
+
* Use a value which results in a potential distance error which is
|
|
209
|
+
* significantly less than the error due to the quadrant segment discretization.
|
|
210
|
+
*
|
|
211
|
+
* For QS = 8 a value of 100 is reasonable.
|
|
212
|
+
* This should produce a maximum of 1% distance error.
|
|
213
|
+
*/
|
|
214
|
+
static const double SIMPLIFY_FACTOR; // 100.0;
|
|
215
|
+
|
|
216
|
+
/** \brief
|
|
217
|
+
* Computes the distance tolerance to use during input
|
|
218
|
+
* line simplification.
|
|
219
|
+
*
|
|
220
|
+
* @param bufDistance the buffer distance
|
|
221
|
+
* @return the simplification tolerance
|
|
222
|
+
*/
|
|
223
|
+
double simplifyTolerance(double bufDistance);
|
|
224
|
+
|
|
225
|
+
void computeLineBufferCurve(const CoordinateSequence& inputPts,
|
|
226
|
+
OffsetSegmentGenerator& segGen);
|
|
227
|
+
|
|
228
|
+
void computeSingleSidedBufferCurve(const CoordinateSequence& inputPts,
|
|
229
|
+
bool isRightSide,
|
|
230
|
+
OffsetSegmentGenerator& segGen);
|
|
231
|
+
|
|
232
|
+
void computeRingBufferCurve(const CoordinateSequence& inputPts,
|
|
233
|
+
int side, OffsetSegmentGenerator& segGen);
|
|
234
|
+
|
|
235
|
+
void computePointCurve(const geom::Coordinate& pt,
|
|
236
|
+
OffsetSegmentGenerator& segGen);
|
|
237
|
+
|
|
238
|
+
void computeOffsetCurve(
|
|
239
|
+
const CoordinateSequence* inputPts,
|
|
240
|
+
bool isRightSide,
|
|
241
|
+
OffsetSegmentGenerator& segGen);
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
// Declare type as noncopyable
|
|
246
|
+
OffsetCurveBuilder(const OffsetCurveBuilder& other) = delete;
|
|
247
|
+
OffsetCurveBuilder& operator=(const OffsetCurveBuilder& rhs) = delete;
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
} // namespace geos::operation::buffer
|
|
251
|
+
} // namespace geos::operation
|
|
252
|
+
} // namespace geos
|
|
253
|
+
|
|
254
|
+
#ifdef _MSC_VER
|
|
255
|
+
#pragma warning(pop)
|
|
256
|
+
#endif
|
|
257
|
+
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2021 Martin Davis
|
|
7
|
+
* Copyright (C) 2021 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/export.h>
|
|
19
|
+
#include <geos/geom/CoordinateSequence.h> // to materialize CoordinateSequence
|
|
20
|
+
#include <memory>
|
|
21
|
+
#include <vector>
|
|
22
|
+
|
|
23
|
+
// Forward declarations
|
|
24
|
+
namespace geos {
|
|
25
|
+
namespace geom {
|
|
26
|
+
class Coordinate;
|
|
27
|
+
class CoordinateSequence;
|
|
28
|
+
class Geometry;
|
|
29
|
+
class GeometryFactory;
|
|
30
|
+
class LineString;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
using geos::geom::Coordinate;
|
|
35
|
+
using geos::geom::CoordinateSequence;
|
|
36
|
+
using geos::geom::Geometry;
|
|
37
|
+
using geos::geom::GeometryFactory;
|
|
38
|
+
using geos::geom::LineString;
|
|
39
|
+
|
|
40
|
+
namespace geos { // geos.
|
|
41
|
+
namespace operation { // geos.operation
|
|
42
|
+
namespace buffer { // geos.operation.buffer
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Models a section of a raw offset curve,
|
|
46
|
+
* starting at a given location along the raw curve.
|
|
47
|
+
* The location is a decimal number, with the integer part
|
|
48
|
+
* containing the segment index and the fractional part
|
|
49
|
+
* giving the fractional distance along the segment.
|
|
50
|
+
* The location of the last section segment
|
|
51
|
+
* is also kept, to allow optimizing joining sections together.
|
|
52
|
+
*
|
|
53
|
+
* @author mdavis
|
|
54
|
+
*/
|
|
55
|
+
class GEOS_DLL OffsetCurveSection {
|
|
56
|
+
|
|
57
|
+
private:
|
|
58
|
+
|
|
59
|
+
std::unique_ptr<CoordinateSequence> sectionPts;
|
|
60
|
+
double location;
|
|
61
|
+
double locLast;
|
|
62
|
+
|
|
63
|
+
bool isEndInSameSegment(double nextLoc) const;
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
public:
|
|
67
|
+
|
|
68
|
+
OffsetCurveSection(std::unique_ptr<CoordinateSequence> && secPts, double pLoc, double pLocLast)
|
|
69
|
+
: sectionPts(std::move(secPts))
|
|
70
|
+
, location(pLoc)
|
|
71
|
+
, locLast(pLocLast)
|
|
72
|
+
{};
|
|
73
|
+
|
|
74
|
+
const CoordinateSequence* getCoordinates() const;
|
|
75
|
+
std::unique_ptr<CoordinateSequence> releaseCoordinates();
|
|
76
|
+
|
|
77
|
+
double getLocation() const { return location; };
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Joins section coordinates into a LineString.
|
|
81
|
+
* Join vertices which lie in the same raw curve segment
|
|
82
|
+
* are removed, to simplify the result linework.
|
|
83
|
+
*
|
|
84
|
+
* @param sections the sections to join
|
|
85
|
+
* @param geomFactory the geometry factory to use
|
|
86
|
+
* @return the simplified linestring for the joined sections
|
|
87
|
+
*/
|
|
88
|
+
static std::unique_ptr<Geometry> toLine(
|
|
89
|
+
std::vector<std::unique_ptr<OffsetCurveSection>>& sections,
|
|
90
|
+
const GeometryFactory* geomFactory);
|
|
91
|
+
|
|
92
|
+
static std::unique_ptr<Geometry> toGeometry(
|
|
93
|
+
std::vector<std::unique_ptr<OffsetCurveSection>>& sections,
|
|
94
|
+
const GeometryFactory* geomFactory);
|
|
95
|
+
|
|
96
|
+
static std::unique_ptr<OffsetCurveSection> create(
|
|
97
|
+
const CoordinateSequence* srcPts,
|
|
98
|
+
std::size_t start, std::size_t end,
|
|
99
|
+
double loc, double locLast);
|
|
100
|
+
|
|
101
|
+
static bool OffsetCurveSectionComparator(
|
|
102
|
+
const std::unique_ptr<OffsetCurveSection>& a,
|
|
103
|
+
const std::unique_ptr<OffsetCurveSection>& b);
|
|
104
|
+
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
} // namespace geos.operation.buffer
|
|
109
|
+
} // namespace geos.operation
|
|
110
|
+
} // namespace geos
|
|
111
|
+
|