@cpp.js/package-geos 1.0.0-beta.21 → 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/cppjs-package-geos.podspec +1 -1
- package/dist/prebuilt/Android-x86_64/bin/geos-config +79 -0
- package/dist/prebuilt/Android-x86_64/bin/geosop +0 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Angle.h +247 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Area.h +82 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/BoundaryNodeRule.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CGAlgorithmsDD.h +193 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CentralEndpointIntersector.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Centroid.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CircularArcs.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/ConvexHull.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Distance.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/HCoordinate.h +100 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointArea.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointLine.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointPoint.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Interpolate.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Intersection.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Length.h +50 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/LineIntersector.h +667 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumAreaRectangle.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumBoundingCircle.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumDiameter.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/NotRepresentableException.h +43 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Orientation.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointInRing.h +40 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointLocation.h +107 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointLocator.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PolygonNodeTopology.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/RayCrossingCounter.h +173 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Rectangle.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/RobustDeterminant.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/SimplePointInRing.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/IndexedDistanceToPoint.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/IndexedPointInPolygonsLocator.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/LargestEmptyCircle.h +240 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/MaximumInscribedCircle.h +221 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DiscreteFrechetDistance.h +175 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DiscreteHausdorffDistance.h +252 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DistanceToPoint.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/PointPairDistance.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/ConcaveHull.h +309 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/ConcaveHullOfPolygons.h +377 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/HullTri.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/HullTriangulation.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/IndexedPointInAreaLocator.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/PointOnGeometryLocator.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/SimplePointInAreaLocator.h +117 -0
- package/dist/prebuilt/Android-x86_64/include/geos/constants.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/Corner.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageBoundarySegmentFinder.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageEdge.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageGapFinder.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoveragePolygon.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoveragePolygonValidator.h +381 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageRing.h +205 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageRingEdges.h +170 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageSimplifier.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageUnion.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageValidator.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/InvalidSegmentDetector.h +133 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/TPVWSimplifier.h +225 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/VertexRingCounter.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/EdgeGraph.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/EdgeGraphBuilder.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/HalfEdge.h +315 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/MarkHalfEdge.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/export.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CircularArc.h +273 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CircularString.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CompoundCurve.h +121 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Coordinate.h +627 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateFilter.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateList.h +244 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequence.h +807 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequenceFilter.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequenceIterator.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequences.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Curve.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CurvePolygon.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Dimension.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Envelope.h +826 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Geometry.h +1051 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryCollection.h +256 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryComponentFilter.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryFactory.h +542 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryFilter.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryTypeName.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/HeuristicOverlay.h +99 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/IntersectionMatrix.h +383 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LineSegment.h +576 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LineString.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LinearRing.h +128 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Location.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiCurve.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiLineString.h +160 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiPoint.h +150 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiPolygon.h +155 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiSurface.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Point.h +221 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Polygon.h +138 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Position.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/PrecisionModel.h +374 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Quadrant.h +164 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/SimpleCurve.h +142 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Surface.h +115 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/SurfaceImpl.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Triangle.h +230 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/AbstractPreparedPolygonContains.h +144 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/BasicPreparedGeometry.h +214 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedGeometry.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedGeometryFactory.h +93 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineString.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringDistance.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringIntersects.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringNearestPoints.h +54 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPoint.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygon.h +81 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonContains.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonContainsProperly.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonCovers.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonDistance.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonIntersects.h +90 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonPredicate.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/ComponentCoordinateExtracter.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/CoordinateOperation.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/Densifier.h +90 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryCombiner.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryEditor.h +127 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryEditorOperation.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryExtracter.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryFixer.h +169 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryLister.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryMapper.h +115 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryTransformer.h +181 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/LinearComponentExtracter.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/NoOpGeometryOperation.h +52 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PointExtracter.h +63 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PolygonExtracter.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PolygonalExtracter.h +54 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/ShortCircuitedGeometryVisitor.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/SineStarFactory.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Depth.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/DirectedEdge.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/DirectedEdgeStar.h +164 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Edge.h +285 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeEnd.h +187 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeEndStar.h +217 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeIntersection.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeIntersectionList.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeList.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeNodingValidator.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeRing.h +201 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/GeometryGraph.h +251 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/GraphComponent.h +117 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Label.h +290 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Node.h +192 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/NodeFactory.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/NodeMap.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/PlanarGraph.h +203 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/TopologyLocation.h +238 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/EdgeSetIntersector.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChain.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChainEdge.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChainIndexer.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SegmentIntersector.h +176 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleEdgeSetIntersector.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleSweepLineIntersector.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineEvent.h +136 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineEventObj.h +38 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineSegment.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/ItemVisitor.h +38 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/SpatialIndex.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/VertexSequencePackedRtree.h +153 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Bintree.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Interval.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Key.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Node.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/NodeBase.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Root.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChain.h +206 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainBuilder.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainOverlapAction.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainSelectAction.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeBranchNode.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeLeafNode.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeNode.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/SortedPackedIntervalRTree.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdNode.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdNodeVisitor.h +45 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdTree.h +191 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/IntervalSize.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Key.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Node.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/NodeBase.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Quadtree.h +200 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Root.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/AbstractNode.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/AbstractSTRtree.h +324 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/Boundable.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/BoundablePair.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/EnvelopeUtil.h +33 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/GeometryItemDistance.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/Interval.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/ItemBoundable.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/ItemDistance.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SIRtree.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/STRtree.h +177 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRdistance.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRnode.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRtree.h +189 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRNode.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRNodePair.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRtree.h +807 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRtreeDistance.h +233 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineEvent.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineIndex.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineInterval.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineOverlapAction.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ByteOrderDataInStream.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ByteOrderValues.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/CLocalizer.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/CheckOrdinatesFilter.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSON.h +154 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSONReader.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSONWriter.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/OrdinateSet.h +119 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ParseException.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/StringTokenizer.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBConstants.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBReader.h +204 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBStreamReader.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBWriter.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTFileReader.h +46 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTReader.h +165 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTStreamReader.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTWriter.h +342 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/Writer.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/ExtractLineByLocation.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthIndexOfPoint.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthIndexedLine.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthLocationMap.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearGeometryBuilder.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearIterator.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearLocation.h +248 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexOfLine.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexOfPoint.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexedLine.h +276 -0
- package/dist/prebuilt/Android-x86_64/include/geos/math/DD.h +200 -0
- package/dist/prebuilt/Android-x86_64/include/geos/namespaces.h +317 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/BasicSegmentString.h +89 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/BoundaryChainNoder.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/FastNodingValidator.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/FastSegmentSetIntersectionFinder.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/GeometryNoder.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IntersectionAdder.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IntersectionFinderAdder.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IteratedNoder.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/MCIndexNoder.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/MCIndexSegmentSetMutualIntersector.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodableSegmentString.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodedSegmentString.h +218 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/Noder.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodingIntersectionFinder.h +262 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodingValidator.h +109 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/Octant.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/OrientedCoordinateArray.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/ScaledNoder.h +132 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentExtractingNoder.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentIntersectionDetector.h +177 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentIntersector.h +89 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentNode.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentNodeList.h +253 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentPointComparator.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentSetMutualIntersector.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentString.h +199 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentStringUtil.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SimpleNoder.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SinglePassNoder.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/ValidatingNoder.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingIntersectionAdder.h +109 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingNoder.h +121 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingPointIndex.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/HotPixel.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/HotPixelIndex.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/MCIndexPointSnapper.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/MCIndexSnapRounder.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/SnapRoundingIntersectionAdder.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/SnapRoundingNoder.h +167 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/BoundaryOp.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/GeometryGraphOperation.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferBuilder.h +270 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferCurveSetBuilder.h +296 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferInputLineSimplifier.h +180 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferOp.h +307 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferParameters.h +319 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferSubgraph.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurve.h +328 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurveBuilder.h +257 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurveSection.h +111 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetSegmentGenerator.h +390 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetSegmentString.h +215 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/RightmostEdgeFinder.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/SegmentMCIndex.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/SubgraphDepthLocater.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/AbstractClusterFinder.h +136 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/Clusters.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/DBSCANClusterFinder.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/DisjointOperation.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/EnvelopeDistanceClusterFinder.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/EnvelopeIntersectsClusterFinder.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryDistanceClusterFinder.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryFlattener.h +46 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryIntersectsClusterFinder.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/UnionFind.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/ConnectedElementLocationFilter.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/ConnectedElementPointFilter.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/DistanceOp.h +228 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/FacetSequence.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/FacetSequenceTreeBuilder.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/GeometryLocation.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/IndexedFacetDistance.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/Rectangle.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/RectangleIntersection.h +174 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/RectangleIntersectionBuilder.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/EdgeString.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeDirectedEdge.h +78 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeEdge.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeGraph.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMerger.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineSequencer.h +295 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/MaximalEdgeRing.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/MinimalEdgeRing.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/OverlayNodeFactory.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/PolygonBuilder.h +210 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/GeometrySnapper.h +154 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/LineStringSnapper.h +165 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/SnapOverlayOp.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/FuzzyPointLocator.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/OffsetPointGenerator.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/OverlayResultValidator.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/CoverageUnion.h +100 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/Edge.h +345 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeKey.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeMerger.h +81 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeNodingBuilder.h +255 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeSourceInfo.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/ElevationModel.h +170 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/IndexedPointOnLineLocator.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/InputGeometry.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/IntersectionPointBuilder.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/LineBuilder.h +189 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/LineLimiter.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/MaximalEdgeRing.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayEdge.h +279 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayEdgeRing.h +153 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayGraph.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayLabel.h +404 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayLabeller.h +207 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayMixedPoints.h +142 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayNG.h +410 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayNGRobust.h +174 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayPoints.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayUtil.h +213 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PolygonBuilder.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PrecisionReducer.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PrecisionUtil.h +245 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/RingClipper.h +112 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/RobustClipEnvelopeComputer.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/UnaryUnionNG.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/BuildArea.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/EdgeRing.h +350 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/HoleAssigner.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeDirectedEdge.h +127 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeEdge.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeGraph.h +214 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/Polygonizer.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/RectangleContains.h +119 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/RectangleIntersects.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/SegmentIntersectionTester.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBuilder.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBundle.h +104 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBundleStar.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateComputer.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNode.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNodeFactory.h +55 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNodeGraph.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateOp.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/AdjacentEdgeLocator.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/BasicPredicate.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/DimensionLocation.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSegmentIntersector.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSegmentOverlapAction.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSetIntersector.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IMPatternMatcher.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IMPredicate.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IntersectionMatrixPattern.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/LineStringExtracter.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/LinearBoundary.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/NodeSection.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/NodeSections.h +102 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/PolygonNodeConverter.h +112 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateEdge.h +176 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateGeometry.h +272 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateMatrixPredicate.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateNG.h +295 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateNode.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelatePointLocator.h +213 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelatePredicate.h +652 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateSegmentString.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/TopologyComputer.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/TopologyPredicate.h +206 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/sharedpaths/SharedPathsOp.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/CascadedPolygonUnion.h +246 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/CoverageUnion.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/DisjointSubsetUnion.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/OverlapUnion.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/PointGeometryUnion.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/UnaryUnionOp.h +243 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/UnionStrategy.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/ConsistentAreaTester.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedHoleTester.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedPolygonTester.h +111 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IsSimpleOp.h +299 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IsValidOp.h +307 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/MakeValid.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonIntersectionAnalyzer.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRing.h +231 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRingSelfNode.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRingTouch.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonTopologyAnalyzer.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/RepeatedPointRemover.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/RepeatedPointTester.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/TopologyValidationError.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/DirectedEdge.h +237 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/DirectedEdgeStar.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Edge.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/GraphComponent.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Node.h +158 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/NodeMap.h +135 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/PlanarGraph.h +293 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Subgraph.h +181 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/algorithm/ConnectedSubgraphFinder.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBits.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBitsOp.h +172 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBitsRemover.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/EnhancedPrecisionOp.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/GeometryPrecisionReducer.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/MinimumClearance.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PointwisePrecisionReducerTransformer.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PrecisionReducerCoordinateOperation.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PrecisionReducerTransformer.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/SimpleGeometryPrecisionReducer.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/profiler.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/HilbertCode.h +128 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/HilbertEncoder.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/MortonCode.h +140 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/ComponentJumpChecker.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/DouglasPeuckerLineSimplifier.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/DouglasPeuckerSimplifier.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LineSegmentIndex.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LinkedLine.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LinkedRing.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/PolygonHullSimplifier.h +232 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/RingHull.h +209 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/RingHullIndex.h +55 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineSegment.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineString.h +145 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineStringSimplifier.h +178 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLinesSimplifier.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TopologyPreservingSimplifier.h +93 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/DelaunayTriangulationBuilder.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/IncrementalDelaunayTriangulator.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/VoronoiDiagramBuilder.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/ConstrainedDelaunayTriangulator.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonEarClipper.h +218 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonHoleJoiner.h +267 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonNoder.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonTriangulator.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/TriDelaunayImprover.h +147 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LastFoundQuadEdgeLocator.h +63 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LocateFailureException.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdge.h +443 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeLocator.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeQuartet.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h +514 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/TrianglePredicate.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/TriangleVisitor.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/Vertex.h +312 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/Tri.h +186 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriEdge.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriList.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriangulationBuilder.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/unload.h +33 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Assert.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/AssertionFailedException.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/CoordinateArrayFilter.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/GEOSException.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/GeometricShapeFactory.h +198 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/IllegalArgumentException.h +50 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/IllegalStateException.h +42 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Interrupt.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Machine.h +26 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/TopologyException.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/UniqueCoordinateArrayFilter.h +114 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/UnsupportedOperationException.h +52 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/math.h +45 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/string.h +31 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/vend/include_nlohmann_json.hpp +24 -0
- package/dist/prebuilt/Android-x86_64/include/geos/vend/json.hpp +25597 -0
- package/dist/prebuilt/Android-x86_64/include/geos/version.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos.h +40 -0
- package/dist/prebuilt/Android-x86_64/include/geos_c.h +6121 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-config-version.cmake +43 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-config.cmake +11 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-targets-release.cmake +30 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-targets.cmake +124 -0
- package/dist/prebuilt/Android-x86_64/lib/libgeos.so +0 -0
- package/dist/prebuilt/Android-x86_64/lib/libgeos_c.so +0 -0
- package/dist/prebuilt/Android-x86_64/lib/pkgconfig/geos.pc +12 -0
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/Info.plist +0 -0
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/_CodeSignature/CodeResources +1 -1
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/geosop +0 -0
- package/dist/prebuilt/iOS-iphoneos/lib/libgeos.a +0 -0
- package/dist/prebuilt/iOS-iphoneos/lib/libgeos_c.a +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/Info.plist +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/_CodeSignature/CodeResources +1 -1
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/geosop +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/libgeos.a +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/libgeos_c.a +0 -0
- package/geos.xcframework/ios-arm64_arm64e/libgeos.a +0 -0
- package/geos.xcframework/ios-arm64_arm64e_x86_64-simulator/libgeos.a +0 -0
- package/geos_c.xcframework/ios-arm64_arm64e/libgeos_c.a +0 -0
- package/geos_c.xcframework/ios-arm64_arm64e_x86_64-simulator/libgeos_c.a +0 -0
- package/package.json +2 -2
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2023 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/geom/Coordinate.h>
|
|
18
|
+
#include <geos/geom/CoordinateSequence.h>
|
|
19
|
+
#include <geos/algorithm/LineIntersector.h>
|
|
20
|
+
#include <geos/noding/SegmentIntersector.h>
|
|
21
|
+
#include <geos/noding/BasicSegmentString.h>
|
|
22
|
+
#include <geos/noding/SegmentSetMutualIntersector.h>
|
|
23
|
+
#include <geos/constants.h>
|
|
24
|
+
|
|
25
|
+
#include <set>
|
|
26
|
+
#include <limits>
|
|
27
|
+
|
|
28
|
+
// Forward declarations
|
|
29
|
+
namespace geos {
|
|
30
|
+
namespace geom {
|
|
31
|
+
class Envelope;
|
|
32
|
+
class Geometry;
|
|
33
|
+
class LinearRing;
|
|
34
|
+
}
|
|
35
|
+
namespace noding {
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
using geos::geom::Coordinate;
|
|
40
|
+
using geos::geom::CoordinateSequence;
|
|
41
|
+
using geos::geom::Polygon;
|
|
42
|
+
using geos::geom::LinearRing;
|
|
43
|
+
using geos::noding::BasicSegmentString;
|
|
44
|
+
using geos::noding::SegmentSetMutualIntersector;
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
namespace geos {
|
|
48
|
+
namespace triangulate {
|
|
49
|
+
namespace polygon {
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Transforms a polygon with holes into a single self-touching (invalid) ring
|
|
55
|
+
* by joining holes to the exterior shell or to another hole
|
|
56
|
+
* with out-and-back line segments.
|
|
57
|
+
* The holes are added in order of their envelopes (leftmost/lowest first).
|
|
58
|
+
* As the result shell develops, a hole may be added to what was
|
|
59
|
+
* originally another hole.
|
|
60
|
+
*
|
|
61
|
+
* There is no attempt to optimize the quality of the join lines.
|
|
62
|
+
* In particular, holes may be joined by lines longer than is optimal.
|
|
63
|
+
* However, holes which touch the shell or other holes are joined at the touch point.
|
|
64
|
+
*
|
|
65
|
+
* The class does not require the input polygon to have normal
|
|
66
|
+
* orientation (shell CW and rings CCW).
|
|
67
|
+
* The output ring is always CW.
|
|
68
|
+
*/
|
|
69
|
+
class GEOS_DLL PolygonHoleJoiner {
|
|
70
|
+
|
|
71
|
+
private:
|
|
72
|
+
|
|
73
|
+
// Members
|
|
74
|
+
|
|
75
|
+
const Polygon* inputPolygon;
|
|
76
|
+
|
|
77
|
+
//-- normalized, sorted and noded polygon rings
|
|
78
|
+
std::unique_ptr<CoordinateSequence> shellRing;
|
|
79
|
+
std::vector<std::unique_ptr<CoordinateSequence>> holeRings;
|
|
80
|
+
|
|
81
|
+
//-- indicates whether a hole should be testing for touching
|
|
82
|
+
std::vector<bool> isHoleTouchingHint;
|
|
83
|
+
|
|
84
|
+
CoordinateSequence joinedRing;
|
|
85
|
+
|
|
86
|
+
// a sorted and searchable version of the joinedRing
|
|
87
|
+
std::set<Coordinate> joinedPts;
|
|
88
|
+
|
|
89
|
+
std::unique_ptr<SegmentSetMutualIntersector> boundaryIntersector;
|
|
90
|
+
|
|
91
|
+
// holding place for some BasicSegmentStrings
|
|
92
|
+
std::vector<std::unique_ptr<BasicSegmentString>> polySegStringStore;
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
// Classes
|
|
96
|
+
class InteriorIntersectionDetector;
|
|
97
|
+
friend class PolygonHoleJoiner::InteriorIntersectionDetector;
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
void extractOrientedRings(const Polygon* polygon);
|
|
101
|
+
static std::unique_ptr<CoordinateSequence> extractOrientedRing(const LinearRing* ring, bool isCW);
|
|
102
|
+
void nodeRings();
|
|
103
|
+
void joinHoles();
|
|
104
|
+
|
|
105
|
+
void joinHole(std::size_t index, const CoordinateSequence& holeCoords);
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Joins a hole to the shell only if the hole touches the shell.
|
|
109
|
+
* Otherwise, reports the hole is non-touching.
|
|
110
|
+
*
|
|
111
|
+
* @param holeCoords the hole to join
|
|
112
|
+
* @return true if the hole was touching, false if not
|
|
113
|
+
*/
|
|
114
|
+
bool joinTouchingHole(const CoordinateSequence& holeCoords);
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Finds the vertex index of a hole where it touches the
|
|
118
|
+
* current shell (if it does).
|
|
119
|
+
* If a hole does touch, it must touch at a single vertex
|
|
120
|
+
* (otherwise, the polygon is invalid).
|
|
121
|
+
*
|
|
122
|
+
* @param holeCoords the hole
|
|
123
|
+
* @return the index of the touching vertex, or -1 if no touch
|
|
124
|
+
*/
|
|
125
|
+
std::size_t findHoleTouchIndex(const CoordinateSequence& holeCoords);
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Joins a single non-touching hole to the current joined ring.
|
|
129
|
+
*
|
|
130
|
+
* @param holeCoords the hole to join
|
|
131
|
+
*/
|
|
132
|
+
void joinNonTouchingHole(
|
|
133
|
+
const CoordinateSequence& holeCoords);
|
|
134
|
+
|
|
135
|
+
const Coordinate& findJoinableVertex(
|
|
136
|
+
const Coordinate& holeJoinCoord);
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Gets the join ring vertex index that the hole is joined after.
|
|
140
|
+
* A vertex can occur multiple times in the join ring, so it is necessary
|
|
141
|
+
* to choose the one which forms a corner having the
|
|
142
|
+
* join line in the ring interior.
|
|
143
|
+
*
|
|
144
|
+
* @param joinCoord the join ring vertex
|
|
145
|
+
* @param holeJoinCoord the hole join vertex
|
|
146
|
+
* @return the join ring vertex index to join after
|
|
147
|
+
*/
|
|
148
|
+
std::size_t findJoinIndex(
|
|
149
|
+
const Coordinate& joinCoord,
|
|
150
|
+
const Coordinate& holeJoinCoord);
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Tests if a line between a ring corner vertex and a given point
|
|
154
|
+
* is interior to the ring corner.
|
|
155
|
+
*
|
|
156
|
+
* @param ring a ring of points
|
|
157
|
+
* @param ringIndex the index of a ring vertex
|
|
158
|
+
* @param linePt the point to be joined to the ring
|
|
159
|
+
* @return true if the line to the point is interior to the ring corner
|
|
160
|
+
*/
|
|
161
|
+
static bool isLineInterior(
|
|
162
|
+
const CoordinateSequence& ring,
|
|
163
|
+
std::size_t ringIndex,
|
|
164
|
+
const Coordinate& linePt);
|
|
165
|
+
|
|
166
|
+
static std::size_t prev(std::size_t i, std::size_t size);
|
|
167
|
+
static std::size_t next(std::size_t i, std::size_t size);
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Add hole vertices at proper position in shell vertex list.
|
|
171
|
+
* This code assumes that if hole touches (shell or other hole),
|
|
172
|
+
* it touches at a node. This requires an initial noding step.
|
|
173
|
+
* In this case, the code avoids duplicating join vertices.
|
|
174
|
+
*
|
|
175
|
+
* Also adds hole points to ordered coordinates.
|
|
176
|
+
*
|
|
177
|
+
* @param joinIndex index of join vertex in shell
|
|
178
|
+
* @param holeCoords the vertices of the hole to be inserted
|
|
179
|
+
* @param holeJoinIndex index of join vertex in hole
|
|
180
|
+
*/
|
|
181
|
+
void addJoinedHole(
|
|
182
|
+
std::size_t joinIndex,
|
|
183
|
+
const CoordinateSequence& holeCoords,
|
|
184
|
+
std::size_t holeJoinIndex);
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Creates the new section of vertices for ad added hole,
|
|
188
|
+
* including any required vertices from the shell at the join point,
|
|
189
|
+
* and ensuring join vertices are not duplicated.
|
|
190
|
+
*
|
|
191
|
+
* @param holeCoords the hole vertices
|
|
192
|
+
* @param holeJoinIndex the index of the join vertex
|
|
193
|
+
* @param joinPt the shell join vertex
|
|
194
|
+
* @return a list of new vertices to be added
|
|
195
|
+
*/
|
|
196
|
+
std::vector<Coordinate> createHoleSection(
|
|
197
|
+
const CoordinateSequence& holeCoords,
|
|
198
|
+
std::size_t holeJoinIndex,
|
|
199
|
+
const Coordinate& joinPt);
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Sort the hole rings by minimum X, minimum Y.
|
|
203
|
+
*
|
|
204
|
+
* @param poly polygon that contains the holes
|
|
205
|
+
* @return a list of sorted hole rings
|
|
206
|
+
*/
|
|
207
|
+
static std::vector<const LinearRing*> sortHoles(
|
|
208
|
+
const Polygon* poly);
|
|
209
|
+
|
|
210
|
+
static std::size_t findLowestLeftVertexIndex(
|
|
211
|
+
const CoordinateSequence& holeCoords);
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Tests whether the interior of a line segment intersects the polygon boundary.
|
|
215
|
+
* If so, the line is not a valid join line.
|
|
216
|
+
*
|
|
217
|
+
* @param p0 a segment vertex
|
|
218
|
+
* @param p1 the other segment vertex
|
|
219
|
+
* @return true if the segment interior intersects a polygon boundary segment
|
|
220
|
+
*/
|
|
221
|
+
bool intersectsBoundary(
|
|
222
|
+
const Coordinate& p0,
|
|
223
|
+
const Coordinate& p1);
|
|
224
|
+
|
|
225
|
+
std::unique_ptr<SegmentSetMutualIntersector> createBoundaryIntersector();
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
public:
|
|
229
|
+
|
|
230
|
+
PolygonHoleJoiner(const Polygon* p_inputPolygon)
|
|
231
|
+
: inputPolygon(p_inputPolygon)
|
|
232
|
+
, boundaryIntersector(nullptr)
|
|
233
|
+
{};
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Joins the shell and holes of a polygon
|
|
237
|
+
* and returns the result as an (invalid) Polygon.
|
|
238
|
+
*
|
|
239
|
+
* @param p_inputPolygon the polygon to join
|
|
240
|
+
* @return the result polygon
|
|
241
|
+
*/
|
|
242
|
+
static std::unique_ptr<Polygon> joinAsPolygon(
|
|
243
|
+
const Polygon* p_inputPolygon);
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Joins the shell and holes of a polygon
|
|
247
|
+
* and returns the result as sequence of Coordinates.
|
|
248
|
+
*
|
|
249
|
+
* @param p_inputPolygon the polygon to join
|
|
250
|
+
* @return the result coordinates
|
|
251
|
+
*/
|
|
252
|
+
static std::unique_ptr<CoordinateSequence> join(
|
|
253
|
+
const Polygon* p_inputPolygon);
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Computes the joined ring.
|
|
257
|
+
*
|
|
258
|
+
* @return the points in the joined ring
|
|
259
|
+
*/
|
|
260
|
+
std::unique_ptr<CoordinateSequence> compute();
|
|
261
|
+
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
} // namespace geos.triangulate.polygon
|
|
266
|
+
} // namespace geos.triangulate
|
|
267
|
+
} // namespace geos
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2023 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/algorithm/LineIntersector.h>
|
|
18
|
+
// #include <geos/geom/Coordinate.h>
|
|
19
|
+
//#include <geos/geom/CoordinateSequence.h>
|
|
20
|
+
|
|
21
|
+
#include <map>
|
|
22
|
+
|
|
23
|
+
// Forward declarations
|
|
24
|
+
namespace geos {
|
|
25
|
+
namespace geom {
|
|
26
|
+
class Coordinate;
|
|
27
|
+
class CoordinateSequence;
|
|
28
|
+
}
|
|
29
|
+
namespace noding {
|
|
30
|
+
class NodedSegmentString;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
using geos::geom::Coordinate;
|
|
35
|
+
using geos::geom::CoordinateSequence;
|
|
36
|
+
using geos::noding::NodedSegmentString;
|
|
37
|
+
using geos::algorithm::LineIntersector;
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
namespace geos {
|
|
41
|
+
namespace triangulate {
|
|
42
|
+
namespace polygon {
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Adds node vertices to the rings of a polygon
|
|
47
|
+
* where holes touch the shell or each other.
|
|
48
|
+
* The structure of the polygon is preserved.
|
|
49
|
+
*
|
|
50
|
+
* This does not fix invalid polygon topology
|
|
51
|
+
* (such as self-touching or crossing rings).
|
|
52
|
+
* Invalid input remains invalid after noding,
|
|
53
|
+
* and does not trigger an error.
|
|
54
|
+
*/
|
|
55
|
+
class GEOS_DLL PolygonNoder {
|
|
56
|
+
|
|
57
|
+
public:
|
|
58
|
+
|
|
59
|
+
PolygonNoder(
|
|
60
|
+
std::unique_ptr<CoordinateSequence>& shellRing,
|
|
61
|
+
std::vector<std::unique_ptr<CoordinateSequence>>& holeRings);
|
|
62
|
+
|
|
63
|
+
void node();
|
|
64
|
+
bool isShellNoded();
|
|
65
|
+
bool isHoleNoded(std::size_t i);
|
|
66
|
+
std::unique_ptr<CoordinateSequence> getNodedShell();
|
|
67
|
+
std::unique_ptr<CoordinateSequence> getNodedHole(std::size_t i);
|
|
68
|
+
std::vector<bool>& getHolesTouching();
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
private:
|
|
73
|
+
|
|
74
|
+
// Members
|
|
75
|
+
std::vector<bool> isHoleTouching;
|
|
76
|
+
std::map<NodedSegmentString*, std::size_t> nodedRingIndexes;
|
|
77
|
+
std::vector<std::unique_ptr<NodedSegmentString>> nodedRings;
|
|
78
|
+
|
|
79
|
+
// Classes
|
|
80
|
+
class NodeAdder;
|
|
81
|
+
friend class PolygonNoder::NodeAdder;
|
|
82
|
+
|
|
83
|
+
// Methods
|
|
84
|
+
NodedSegmentString*
|
|
85
|
+
createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts, std::size_t i);
|
|
86
|
+
|
|
87
|
+
void createNodedSegmentStrings(
|
|
88
|
+
std::unique_ptr<CoordinateSequence>& shellRing,
|
|
89
|
+
std::vector<std::unique_ptr<CoordinateSequence>>& holeRings);
|
|
90
|
+
|
|
91
|
+
/* Turn off copy constructors for MSVC */
|
|
92
|
+
PolygonNoder(const PolygonNoder&) = delete;
|
|
93
|
+
PolygonNoder& operator=(const PolygonNoder&) = delete;
|
|
94
|
+
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
} // namespace geos.triangulate.polygon
|
|
100
|
+
} // namespace geos.triangulate
|
|
101
|
+
} // namespace geos
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2020 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/triangulate/tri/TriList.h>
|
|
18
|
+
#include <geos/triangulate/tri/Tri.h>
|
|
19
|
+
|
|
20
|
+
// Forward declarations
|
|
21
|
+
namespace geos {
|
|
22
|
+
namespace geom {
|
|
23
|
+
class Geometry;
|
|
24
|
+
class GeometryFactory;
|
|
25
|
+
class Polygon;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
using geos::geom::Geometry;
|
|
30
|
+
using geos::geom::GeometryFactory;
|
|
31
|
+
using geos::geom::Polygon;
|
|
32
|
+
using geos::triangulate::tri::TriList;
|
|
33
|
+
using geos::triangulate::tri::Tri;
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
namespace geos {
|
|
37
|
+
namespace triangulate {
|
|
38
|
+
namespace polygon {
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Computes a triangulation of each polygon in a {@link geos::geom::Geometry}.
|
|
43
|
+
* A polygon triangulation is a non-overlapping set of triangles which
|
|
44
|
+
* cover the polygon and have the same vertices as the polygon.
|
|
45
|
+
* The priority is on performance rather than triangulation quality,
|
|
46
|
+
* so that the output may contain many narrow triangles.
|
|
47
|
+
*
|
|
48
|
+
* Holes are handled by joining them to the shell to form a
|
|
49
|
+
* (self-touching) polygon shell with no holes.
|
|
50
|
+
* Although invalid, this can be triangulated effectively.
|
|
51
|
+
*
|
|
52
|
+
* For better-quality triangulation use geos::triangulate::polygon::ConstrainedDelaunayTriangulator.
|
|
53
|
+
*
|
|
54
|
+
* @see geos::triangulate::polygon::ConstrainedDelaunayTriangulator
|
|
55
|
+
*
|
|
56
|
+
* @author Martin Davis
|
|
57
|
+
*
|
|
58
|
+
*/
|
|
59
|
+
class GEOS_DLL PolygonTriangulator {
|
|
60
|
+
|
|
61
|
+
private:
|
|
62
|
+
|
|
63
|
+
// Members
|
|
64
|
+
|
|
65
|
+
const Geometry* inputGeom;
|
|
66
|
+
const GeometryFactory* geomFact;
|
|
67
|
+
|
|
68
|
+
std::unique_ptr<Geometry> compute();
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Computes the triangulation of a single polygon
|
|
72
|
+
*
|
|
73
|
+
* @return GeometryCollection of triangular polygons
|
|
74
|
+
*/
|
|
75
|
+
void triangulatePolygon(const Polygon* poly, TriList<Tri>& triList);
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
public:
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Constructs a new triangulator.
|
|
82
|
+
*
|
|
83
|
+
* @param p_inputGeom the input geometry
|
|
84
|
+
*/
|
|
85
|
+
PolygonTriangulator(const Geometry* p_inputGeom)
|
|
86
|
+
: inputGeom(p_inputGeom)
|
|
87
|
+
, geomFact(p_inputGeom->getFactory())
|
|
88
|
+
{}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Computes a triangulation of each polygon in a geometry.
|
|
92
|
+
*
|
|
93
|
+
* @param geom a geometry containing polygons
|
|
94
|
+
* @return a GeometryCollection containing the triangle polygons
|
|
95
|
+
*/
|
|
96
|
+
static std::unique_ptr<Geometry> triangulate(const Geometry* geom);
|
|
97
|
+
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
} // namespace geos.triangulate.polygon
|
|
103
|
+
} // namespace geos.triangulate
|
|
104
|
+
} // namespace geos
|
|
105
|
+
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2020 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/triangulate/tri/TriEdge.h>
|
|
18
|
+
#include <geos/triangulate/tri/Tri.h>
|
|
19
|
+
#include <geos/triangulate/tri/TriList.h>
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
// Forward declarations
|
|
23
|
+
namespace geos {
|
|
24
|
+
namespace geom {
|
|
25
|
+
class Coordinate;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
using geos::geom::Coordinate;
|
|
30
|
+
using geos::triangulate::tri::TriList;
|
|
31
|
+
using geos::triangulate::tri::Tri;
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
namespace geos {
|
|
35
|
+
namespace triangulate {
|
|
36
|
+
namespace polygon {
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Improves the quality of a triangulation of Tri via
|
|
41
|
+
* iterated Delaunay flipping.
|
|
42
|
+
* This produces the Constrained Delaunay Triangulation
|
|
43
|
+
* with the constraints being the boundary of the input triangulation.
|
|
44
|
+
*
|
|
45
|
+
* @author mdavis
|
|
46
|
+
*
|
|
47
|
+
*/
|
|
48
|
+
class GEOS_DLL TriDelaunayImprover {
|
|
49
|
+
|
|
50
|
+
private:
|
|
51
|
+
|
|
52
|
+
// Members
|
|
53
|
+
static constexpr std::size_t MAX_ITERATION = 200;
|
|
54
|
+
TriList<Tri>& triList;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Improves a triangulation by examining pairs of adjacent triangles
|
|
58
|
+
* (forming a quadrilateral) and testing if flipping the diagonal of
|
|
59
|
+
* the quadrilateral would produce two new triangles with larger minimum
|
|
60
|
+
* interior angles.
|
|
61
|
+
*
|
|
62
|
+
* @return the number of flips that were made
|
|
63
|
+
*/
|
|
64
|
+
std::size_t improveScan(TriList<Tri>& triList);
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Does a flip of the common edge of two Tris if the Delaunay condition is not met.
|
|
68
|
+
*
|
|
69
|
+
* @param tri0 a Tri
|
|
70
|
+
* @param tri1 a Tri
|
|
71
|
+
* @return true if the triangles were flipped
|
|
72
|
+
*/
|
|
73
|
+
bool improveNonDelaunay(Tri* tri, TriIndex index);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Tests if the quadrilateral formed by two adjacent triangles is convex.
|
|
77
|
+
* opp0-adj0-adj1 and opp1-adj1-adj0 are the triangle corners
|
|
78
|
+
* and hence are known to be convex.
|
|
79
|
+
* The quadrilateral is convex if the other corners opp0-adj0-opp1
|
|
80
|
+
* and opp1-adj1-opp0 have the same orientation (since at least one must be convex).
|
|
81
|
+
*
|
|
82
|
+
* @param adj0 adjacent edge vertex 0
|
|
83
|
+
* @param adj1 adjacent edge vertex 1
|
|
84
|
+
* @param opp0 corner vertex of triangle 0
|
|
85
|
+
* @param opp1 corner vertex of triangle 1
|
|
86
|
+
* @return true if the quadrilateral is convex
|
|
87
|
+
*/
|
|
88
|
+
static bool isConvex(const Coordinate& adj0, const Coordinate& adj1,
|
|
89
|
+
const Coordinate& opp0, const Coordinate& opp1);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Tests if either of a pair of adjacent triangles satisfy the Delaunay condition.
|
|
93
|
+
* The triangles are opp0-adj0-adj1 and opp1-adj1-adj0.
|
|
94
|
+
* The Delaunay condition is not met if one opposite vertex
|
|
95
|
+
* lies is in the circumcircle of the other triangle.
|
|
96
|
+
*
|
|
97
|
+
* @param adj0 adjacent edge vertex 0
|
|
98
|
+
* @param adj1 adjacent edge vertex 1
|
|
99
|
+
* @param opp0 corner vertex of triangle 0
|
|
100
|
+
* @param opp1 corner vertex of triangle 1
|
|
101
|
+
* @return true if the triangles are Delaunay
|
|
102
|
+
*/
|
|
103
|
+
static bool isDelaunay(const Coordinate& adj0, const Coordinate& adj1,
|
|
104
|
+
const Coordinate& opp0, const Coordinate& opp1);
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Tests whether a point p is in the circumcircle of a triangle abc
|
|
108
|
+
* (oriented clockwise).
|
|
109
|
+
* @param a a vertex of the triangle
|
|
110
|
+
* @param b a vertex of the triangle
|
|
111
|
+
* @param c a vertex of the triangle
|
|
112
|
+
* @param p the point
|
|
113
|
+
*
|
|
114
|
+
* @return true if the point is in the circumcircle
|
|
115
|
+
*/
|
|
116
|
+
static bool
|
|
117
|
+
isInCircle(const Coordinate& a, const Coordinate& b,
|
|
118
|
+
const Coordinate& c, const Coordinate& p);
|
|
119
|
+
|
|
120
|
+
void improve();
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
public:
|
|
124
|
+
|
|
125
|
+
TriDelaunayImprover(TriList<Tri>& p_triList)
|
|
126
|
+
: triList(p_triList)
|
|
127
|
+
{};
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Improves the quality of a triangulation of Tri via
|
|
131
|
+
* iterated Delaunay flipping.
|
|
132
|
+
* The Tris are assumed to be linked into a Triangulation
|
|
133
|
+
* (e.g. via TriangulationBuilder).
|
|
134
|
+
*
|
|
135
|
+
* @param triList the list of Tris to flip.
|
|
136
|
+
*/
|
|
137
|
+
static void improve(TriList<Tri>& triList);
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
} // namespace geos.triangulate.polygon
|
|
145
|
+
} // namespace geos.triangulate
|
|
146
|
+
} // namespace geos
|
|
147
|
+
|
package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LastFoundQuadEdgeLocator.h
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2012 Excensus LLC.
|
|
7
|
+
*
|
|
8
|
+
* This is free software; you can redistribute and/or modify it under
|
|
9
|
+
* the terms of the GNU Lesser General Licence as published
|
|
10
|
+
* by the Free Software Foundation.
|
|
11
|
+
* See the COPYING file for more information.
|
|
12
|
+
*
|
|
13
|
+
**********************************************************************
|
|
14
|
+
*
|
|
15
|
+
* Last port: triangulate/quadedge/LastFoundQuadEdgeLocator.java r524
|
|
16
|
+
*
|
|
17
|
+
**********************************************************************/
|
|
18
|
+
|
|
19
|
+
#pragma once
|
|
20
|
+
|
|
21
|
+
#include <geos/triangulate/quadedge/QuadEdge.h>
|
|
22
|
+
#include <geos/triangulate/quadedge/QuadEdgeLocator.h>
|
|
23
|
+
|
|
24
|
+
namespace geos {
|
|
25
|
+
namespace triangulate { //geos.triangulate
|
|
26
|
+
namespace quadedge { //geos.triangulate.quadedge
|
|
27
|
+
|
|
28
|
+
//fwd declarations
|
|
29
|
+
class QuadEdgeSubdivision;
|
|
30
|
+
|
|
31
|
+
/** \brief
|
|
32
|
+
* Locates {@link QuadEdge}s in a {@link QuadEdgeSubdivision}, optimizing the
|
|
33
|
+
* search by starting in the locality of the last edge found.
|
|
34
|
+
*
|
|
35
|
+
* @author JTS: Martin Davis
|
|
36
|
+
* @author Benjamin Campbell
|
|
37
|
+
*/
|
|
38
|
+
class LastFoundQuadEdgeLocator : public QuadEdgeLocator {
|
|
39
|
+
private:
|
|
40
|
+
QuadEdgeSubdivision* subdiv;
|
|
41
|
+
QuadEdge* lastEdge;
|
|
42
|
+
|
|
43
|
+
public:
|
|
44
|
+
LastFoundQuadEdgeLocator(QuadEdgeSubdivision* subdiv);
|
|
45
|
+
|
|
46
|
+
private:
|
|
47
|
+
virtual void init();
|
|
48
|
+
|
|
49
|
+
virtual QuadEdge* findEdge();
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
/**
|
|
53
|
+
* Locates an edge e, such that either v is on e, or e is an edge of a triangle containing v.
|
|
54
|
+
* The search starts from the last located edge amd proceeds on the general direction of v.
|
|
55
|
+
* @return The caller _does not_ take ownership of the returned object.
|
|
56
|
+
*/
|
|
57
|
+
QuadEdge* locate(const Vertex& v) override;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
} //namespace geos.triangulate.quadedge
|
|
61
|
+
} //namespace geos.triangulate
|
|
62
|
+
} //namespace goes
|
|
63
|
+
|