@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.
Files changed (539) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/cppjs-package-geos.podspec +1 -1
  3. package/dist/prebuilt/Android-x86_64/bin/geos-config +79 -0
  4. package/dist/prebuilt/Android-x86_64/bin/geosop +0 -0
  5. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Angle.h +247 -0
  6. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Area.h +82 -0
  7. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/BoundaryNodeRule.h +146 -0
  8. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CGAlgorithmsDD.h +193 -0
  9. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CentralEndpointIntersector.h +161 -0
  10. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Centroid.h +157 -0
  11. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CircularArcs.h +37 -0
  12. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/ConvexHull.h +211 -0
  13. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Distance.h +116 -0
  14. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/HCoordinate.h +100 -0
  15. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointArea.h +110 -0
  16. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointLine.h +79 -0
  17. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointPoint.h +73 -0
  18. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Interpolate.h +182 -0
  19. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Intersection.h +84 -0
  20. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Length.h +50 -0
  21. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/LineIntersector.h +667 -0
  22. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumAreaRectangle.h +159 -0
  23. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumBoundingCircle.h +137 -0
  24. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumDiameter.h +185 -0
  25. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/NotRepresentableException.h +43 -0
  26. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Orientation.h +122 -0
  27. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointInRing.h +40 -0
  28. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointLocation.h +107 -0
  29. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointLocator.h +108 -0
  30. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PolygonNodeTopology.h +149 -0
  31. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/RayCrossingCounter.h +173 -0
  32. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Rectangle.h +96 -0
  33. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/RobustDeterminant.h +66 -0
  34. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/SimplePointInRing.h +44 -0
  35. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/IndexedDistanceToPoint.h +88 -0
  36. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/IndexedPointInPolygonsLocator.h +79 -0
  37. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/LargestEmptyCircle.h +240 -0
  38. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/MaximumInscribedCircle.h +221 -0
  39. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DiscreteFrechetDistance.h +175 -0
  40. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DiscreteHausdorffDistance.h +252 -0
  41. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DistanceToPoint.h +72 -0
  42. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/PointPairDistance.h +151 -0
  43. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/ConcaveHull.h +309 -0
  44. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/ConcaveHullOfPolygons.h +377 -0
  45. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/HullTri.h +156 -0
  46. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/HullTriangulation.h +139 -0
  47. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/IndexedPointInAreaLocator.h +139 -0
  48. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/PointOnGeometryLocator.h +56 -0
  49. package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/SimplePointInAreaLocator.h +117 -0
  50. package/dist/prebuilt/Android-x86_64/include/geos/constants.h +49 -0
  51. package/dist/prebuilt/Android-x86_64/include/geos/coverage/Corner.h +137 -0
  52. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageBoundarySegmentFinder.h +83 -0
  53. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageEdge.h +171 -0
  54. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageGapFinder.h +106 -0
  55. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoveragePolygon.h +57 -0
  56. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoveragePolygonValidator.h +381 -0
  57. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageRing.h +205 -0
  58. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageRingEdges.h +170 -0
  59. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageSimplifier.h +166 -0
  60. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageUnion.h +77 -0
  61. package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageValidator.h +159 -0
  62. package/dist/prebuilt/Android-x86_64/include/geos/coverage/InvalidSegmentDetector.h +133 -0
  63. package/dist/prebuilt/Android-x86_64/include/geos/coverage/TPVWSimplifier.h +225 -0
  64. package/dist/prebuilt/Android-x86_64/include/geos/coverage/VertexRingCounter.h +71 -0
  65. package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/EdgeGraph.h +137 -0
  66. package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/EdgeGraphBuilder.h +91 -0
  67. package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/HalfEdge.h +315 -0
  68. package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/MarkHalfEdge.h +110 -0
  69. package/dist/prebuilt/Android-x86_64/include/geos/export.h +51 -0
  70. package/dist/prebuilt/Android-x86_64/include/geos/geom/CircularArc.h +273 -0
  71. package/dist/prebuilt/Android-x86_64/include/geos/geom/CircularString.h +85 -0
  72. package/dist/prebuilt/Android-x86_64/include/geos/geom/CompoundCurve.h +121 -0
  73. package/dist/prebuilt/Android-x86_64/include/geos/geom/Coordinate.h +627 -0
  74. package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateFilter.h +134 -0
  75. package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateList.h +244 -0
  76. package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequence.h +807 -0
  77. package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequenceFilter.h +116 -0
  78. package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequenceIterator.h +126 -0
  79. package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequences.h +76 -0
  80. package/dist/prebuilt/Android-x86_64/include/geos/geom/Curve.h +71 -0
  81. package/dist/prebuilt/Android-x86_64/include/geos/geom/CurvePolygon.h +58 -0
  82. package/dist/prebuilt/Android-x86_64/include/geos/geom/Dimension.h +64 -0
  83. package/dist/prebuilt/Android-x86_64/include/geos/geom/Envelope.h +826 -0
  84. package/dist/prebuilt/Android-x86_64/include/geos/geom/Geometry.h +1051 -0
  85. package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryCollection.h +256 -0
  86. package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryComponentFilter.h +61 -0
  87. package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryFactory.h +542 -0
  88. package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryFilter.h +74 -0
  89. package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryTypeName.h +110 -0
  90. package/dist/prebuilt/Android-x86_64/include/geos/geom/HeuristicOverlay.h +99 -0
  91. package/dist/prebuilt/Android-x86_64/include/geos/geom/IntersectionMatrix.h +383 -0
  92. package/dist/prebuilt/Android-x86_64/include/geos/geom/LineSegment.h +576 -0
  93. package/dist/prebuilt/Android-x86_64/include/geos/geom/LineString.h +151 -0
  94. package/dist/prebuilt/Android-x86_64/include/geos/geom/LinearRing.h +128 -0
  95. package/dist/prebuilt/Android-x86_64/include/geos/geom/Location.h +64 -0
  96. package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiCurve.h +126 -0
  97. package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiLineString.h +160 -0
  98. package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiPoint.h +150 -0
  99. package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiPolygon.h +155 -0
  100. package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiSurface.h +94 -0
  101. package/dist/prebuilt/Android-x86_64/include/geos/geom/Point.h +221 -0
  102. package/dist/prebuilt/Android-x86_64/include/geos/geom/Polygon.h +138 -0
  103. package/dist/prebuilt/Android-x86_64/include/geos/geom/Position.h +68 -0
  104. package/dist/prebuilt/Android-x86_64/include/geos/geom/PrecisionModel.h +374 -0
  105. package/dist/prebuilt/Android-x86_64/include/geos/geom/Quadrant.h +164 -0
  106. package/dist/prebuilt/Android-x86_64/include/geos/geom/SimpleCurve.h +142 -0
  107. package/dist/prebuilt/Android-x86_64/include/geos/geom/Surface.h +115 -0
  108. package/dist/prebuilt/Android-x86_64/include/geos/geom/SurfaceImpl.h +159 -0
  109. package/dist/prebuilt/Android-x86_64/include/geos/geom/Triangle.h +230 -0
  110. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/AbstractPreparedPolygonContains.h +144 -0
  111. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/BasicPreparedGeometry.h +214 -0
  112. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedGeometry.h +260 -0
  113. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedGeometryFactory.h +93 -0
  114. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineString.h +70 -0
  115. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringDistance.h +57 -0
  116. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringIntersects.h +97 -0
  117. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringNearestPoints.h +54 -0
  118. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPoint.h +56 -0
  119. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygon.h +81 -0
  120. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonContains.h +105 -0
  121. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonContainsProperly.h +101 -0
  122. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonCovers.h +108 -0
  123. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonDistance.h +67 -0
  124. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonIntersects.h +90 -0
  125. package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonPredicate.h +141 -0
  126. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/ComponentCoordinateExtracter.h +69 -0
  127. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/CoordinateOperation.h +70 -0
  128. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/Densifier.h +90 -0
  129. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryCombiner.h +151 -0
  130. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryEditor.h +127 -0
  131. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryEditorOperation.h +65 -0
  132. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryExtracter.h +95 -0
  133. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryFixer.h +169 -0
  134. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryLister.h +92 -0
  135. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryMapper.h +115 -0
  136. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryTransformer.h +181 -0
  137. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/LinearComponentExtracter.h +65 -0
  138. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/NoOpGeometryOperation.h +52 -0
  139. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PointExtracter.h +63 -0
  140. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PolygonExtracter.h +66 -0
  141. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PolygonalExtracter.h +54 -0
  142. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/ShortCircuitedGeometryVisitor.h +66 -0
  143. package/dist/prebuilt/Android-x86_64/include/geos/geom/util/SineStarFactory.h +122 -0
  144. package/dist/prebuilt/Android-x86_64/include/geos/geom.h +146 -0
  145. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Depth.h +143 -0
  146. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/DirectedEdge.h +236 -0
  147. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/DirectedEdgeStar.h +164 -0
  148. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Edge.h +285 -0
  149. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeEnd.h +187 -0
  150. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeEndStar.h +217 -0
  151. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeIntersection.h +149 -0
  152. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeIntersectionList.h +129 -0
  153. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeList.h +124 -0
  154. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeNodingValidator.h +113 -0
  155. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeRing.h +201 -0
  156. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/GeometryGraph.h +251 -0
  157. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/GraphComponent.h +117 -0
  158. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Label.h +290 -0
  159. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Node.h +192 -0
  160. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/NodeFactory.h +51 -0
  161. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/NodeMap.h +143 -0
  162. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/PlanarGraph.h +203 -0
  163. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/TopologyLocation.h +238 -0
  164. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/EdgeSetIntersector.h +68 -0
  165. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChain.h +72 -0
  166. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChainEdge.h +85 -0
  167. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChainIndexer.h +71 -0
  168. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SegmentIntersector.h +176 -0
  169. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleEdgeSetIntersector.h +64 -0
  170. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h +108 -0
  171. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleSweepLineIntersector.h +94 -0
  172. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineEvent.h +136 -0
  173. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineEventObj.h +38 -0
  174. package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineSegment.h +57 -0
  175. package/dist/prebuilt/Android-x86_64/include/geos/index/ItemVisitor.h +38 -0
  176. package/dist/prebuilt/Android-x86_64/include/geos/index/SpatialIndex.h +103 -0
  177. package/dist/prebuilt/Android-x86_64/include/geos/index/VertexSequencePackedRtree.h +153 -0
  178. package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Bintree.h +129 -0
  179. package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Interval.h +61 -0
  180. package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Key.h +71 -0
  181. package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Node.h +74 -0
  182. package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/NodeBase.h +83 -0
  183. package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Root.h +77 -0
  184. package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChain.h +206 -0
  185. package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainBuilder.h +74 -0
  186. package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainOverlapAction.h +86 -0
  187. package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainSelectAction.h +74 -0
  188. package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeBranchNode.h +53 -0
  189. package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeLeafNode.h +58 -0
  190. package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeNode.h +105 -0
  191. package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/SortedPackedIntervalRTree.h +110 -0
  192. package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdNode.h +64 -0
  193. package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdNodeVisitor.h +45 -0
  194. package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdTree.h +191 -0
  195. package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/IntervalSize.h +62 -0
  196. package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Key.h +87 -0
  197. package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Node.h +141 -0
  198. package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/NodeBase.h +161 -0
  199. package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Quadtree.h +200 -0
  200. package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Root.h +87 -0
  201. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/AbstractNode.h +131 -0
  202. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/AbstractSTRtree.h +324 -0
  203. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/Boundable.h +49 -0
  204. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/BoundablePair.h +122 -0
  205. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/EnvelopeUtil.h +33 -0
  206. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/GeometryItemDistance.h +44 -0
  207. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/Interval.h +60 -0
  208. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/ItemBoundable.h +59 -0
  209. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/ItemDistance.h +49 -0
  210. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SIRtree.h +124 -0
  211. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/STRtree.h +177 -0
  212. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRdistance.h +166 -0
  213. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRnode.h +141 -0
  214. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRtree.h +189 -0
  215. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRNode.h +156 -0
  216. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRNodePair.h +74 -0
  217. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRtree.h +807 -0
  218. package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRtreeDistance.h +233 -0
  219. package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineEvent.h +95 -0
  220. package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineIndex.h +87 -0
  221. package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineInterval.h +37 -0
  222. package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineOverlapAction.h +44 -0
  223. package/dist/prebuilt/Android-x86_64/include/geos/io/ByteOrderDataInStream.h +125 -0
  224. package/dist/prebuilt/Android-x86_64/include/geos/io/ByteOrderValues.h +61 -0
  225. package/dist/prebuilt/Android-x86_64/include/geos/io/CLocalizer.h +53 -0
  226. package/dist/prebuilt/Android-x86_64/include/geos/io/CheckOrdinatesFilter.h +68 -0
  227. package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSON.h +154 -0
  228. package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSONReader.h +125 -0
  229. package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSONWriter.h +139 -0
  230. package/dist/prebuilt/Android-x86_64/include/geos/io/OrdinateSet.h +119 -0
  231. package/dist/prebuilt/Android-x86_64/include/geos/io/ParseException.h +53 -0
  232. package/dist/prebuilt/Android-x86_64/include/geos/io/StringTokenizer.h +66 -0
  233. package/dist/prebuilt/Android-x86_64/include/geos/io/WKBConstants.h +57 -0
  234. package/dist/prebuilt/Android-x86_64/include/geos/io/WKBReader.h +204 -0
  235. package/dist/prebuilt/Android-x86_64/include/geos/io/WKBStreamReader.h +49 -0
  236. package/dist/prebuilt/Android-x86_64/include/geos/io/WKBWriter.h +260 -0
  237. package/dist/prebuilt/Android-x86_64/include/geos/io/WKTFileReader.h +46 -0
  238. package/dist/prebuilt/Android-x86_64/include/geos/io/WKTReader.h +165 -0
  239. package/dist/prebuilt/Android-x86_64/include/geos/io/WKTStreamReader.h +48 -0
  240. package/dist/prebuilt/Android-x86_64/include/geos/io/WKTWriter.h +342 -0
  241. package/dist/prebuilt/Android-x86_64/include/geos/io/Writer.h +51 -0
  242. package/dist/prebuilt/Android-x86_64/include/geos/linearref/ExtractLineByLocation.h +88 -0
  243. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthIndexOfPoint.h +87 -0
  244. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthIndexedLine.h +211 -0
  245. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthLocationMap.h +134 -0
  246. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearGeometryBuilder.h +106 -0
  247. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearIterator.h +156 -0
  248. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearLocation.h +248 -0
  249. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexOfLine.h +72 -0
  250. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexOfPoint.h +77 -0
  251. package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexedLine.h +276 -0
  252. package/dist/prebuilt/Android-x86_64/include/geos/math/DD.h +200 -0
  253. package/dist/prebuilt/Android-x86_64/include/geos/namespaces.h +317 -0
  254. package/dist/prebuilt/Android-x86_64/include/geos/noding/BasicSegmentString.h +89 -0
  255. package/dist/prebuilt/Android-x86_64/include/geos/noding/BoundaryChainNoder.h +171 -0
  256. package/dist/prebuilt/Android-x86_64/include/geos/noding/FastNodingValidator.h +129 -0
  257. package/dist/prebuilt/Android-x86_64/include/geos/noding/FastSegmentSetIntersectionFinder.h +80 -0
  258. package/dist/prebuilt/Android-x86_64/include/geos/noding/GeometryNoder.h +69 -0
  259. package/dist/prebuilt/Android-x86_64/include/geos/noding/IntersectionAdder.h +202 -0
  260. package/dist/prebuilt/Android-x86_64/include/geos/noding/IntersectionFinderAdder.h +110 -0
  261. package/dist/prebuilt/Android-x86_64/include/geos/noding/IteratedNoder.h +120 -0
  262. package/dist/prebuilt/Android-x86_64/include/geos/noding/MCIndexNoder.h +141 -0
  263. package/dist/prebuilt/Android-x86_64/include/geos/noding/MCIndexSegmentSetMutualIntersector.h +146 -0
  264. package/dist/prebuilt/Android-x86_64/include/geos/noding/NodableSegmentString.h +56 -0
  265. package/dist/prebuilt/Android-x86_64/include/geos/noding/NodedSegmentString.h +218 -0
  266. package/dist/prebuilt/Android-x86_64/include/geos/noding/Noder.h +79 -0
  267. package/dist/prebuilt/Android-x86_64/include/geos/noding/NodingIntersectionFinder.h +262 -0
  268. package/dist/prebuilt/Android-x86_64/include/geos/noding/NodingValidator.h +109 -0
  269. package/dist/prebuilt/Android-x86_64/include/geos/noding/Octant.h +73 -0
  270. package/dist/prebuilt/Android-x86_64/include/geos/noding/OrientedCoordinateArray.h +113 -0
  271. package/dist/prebuilt/Android-x86_64/include/geos/noding/ScaledNoder.h +132 -0
  272. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentExtractingNoder.h +88 -0
  273. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentIntersectionDetector.h +177 -0
  274. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentIntersector.h +89 -0
  275. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentNode.h +161 -0
  276. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentNodeList.h +253 -0
  277. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentPointComparator.h +120 -0
  278. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentSetMutualIntersector.h +80 -0
  279. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentString.h +199 -0
  280. package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentStringUtil.h +67 -0
  281. package/dist/prebuilt/Android-x86_64/include/geos/noding/SimpleNoder.h +70 -0
  282. package/dist/prebuilt/Android-x86_64/include/geos/noding/SinglePassNoder.h +96 -0
  283. package/dist/prebuilt/Android-x86_64/include/geos/noding/ValidatingNoder.h +74 -0
  284. package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingIntersectionAdder.h +109 -0
  285. package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingNoder.h +121 -0
  286. package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingPointIndex.h +62 -0
  287. package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/HotPixel.h +171 -0
  288. package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/HotPixelIndex.h +116 -0
  289. package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/MCIndexPointSnapper.h +98 -0
  290. package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/MCIndexSnapRounder.h +157 -0
  291. package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/SnapRoundingIntersectionAdder.h +126 -0
  292. package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/SnapRoundingNoder.h +167 -0
  293. package/dist/prebuilt/Android-x86_64/include/geos/operation/BoundaryOp.h +120 -0
  294. package/dist/prebuilt/Android-x86_64/include/geos/operation/GeometryGraphOperation.h +92 -0
  295. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferBuilder.h +270 -0
  296. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferCurveSetBuilder.h +296 -0
  297. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferInputLineSimplifier.h +180 -0
  298. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferOp.h +307 -0
  299. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferParameters.h +319 -0
  300. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferSubgraph.h +202 -0
  301. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurve.h +328 -0
  302. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurveBuilder.h +257 -0
  303. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurveSection.h +111 -0
  304. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetSegmentGenerator.h +390 -0
  305. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetSegmentString.h +215 -0
  306. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/RightmostEdgeFinder.h +105 -0
  307. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/SegmentMCIndex.h +56 -0
  308. package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/SubgraphDepthLocater.h +120 -0
  309. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/AbstractClusterFinder.h +136 -0
  310. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/Clusters.h +72 -0
  311. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/DBSCANClusterFinder.h +59 -0
  312. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/DisjointOperation.h +73 -0
  313. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/EnvelopeDistanceClusterFinder.h +53 -0
  314. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/EnvelopeIntersectsClusterFinder.h +44 -0
  315. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryDistanceClusterFinder.h +59 -0
  316. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryFlattener.h +46 -0
  317. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryIntersectsClusterFinder.h +53 -0
  318. package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/UnionFind.h +137 -0
  319. package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/ConnectedElementLocationFilter.h +76 -0
  320. package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/ConnectedElementPointFilter.h +73 -0
  321. package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/DistanceOp.h +228 -0
  322. package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/FacetSequence.h +84 -0
  323. package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/FacetSequenceTreeBuilder.h +69 -0
  324. package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/GeometryLocation.h +126 -0
  325. package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/IndexedFacetDistance.h +124 -0
  326. package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/Rectangle.h +236 -0
  327. package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/RectangleIntersection.h +174 -0
  328. package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/RectangleIntersectionBuilder.h +159 -0
  329. package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/EdgeString.h +88 -0
  330. package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeDirectedEdge.h +78 -0
  331. package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeEdge.h +62 -0
  332. package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeGraph.h +91 -0
  333. package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMerger.h +149 -0
  334. package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineSequencer.h +295 -0
  335. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/MaximalEdgeRing.h +105 -0
  336. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/MinimalEdgeRing.h +80 -0
  337. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/OverlayNodeFactory.h +56 -0
  338. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/PolygonBuilder.h +210 -0
  339. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/GeometrySnapper.h +154 -0
  340. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/LineStringSnapper.h +165 -0
  341. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/SnapOverlayOp.h +134 -0
  342. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/FuzzyPointLocator.h +97 -0
  343. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/OffsetPointGenerator.h +87 -0
  344. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/OverlayResultValidator.h +131 -0
  345. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/CoverageUnion.h +100 -0
  346. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/Edge.h +345 -0
  347. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeKey.h +120 -0
  348. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeMerger.h +81 -0
  349. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeNodingBuilder.h +255 -0
  350. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeSourceInfo.h +65 -0
  351. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/ElevationModel.h +170 -0
  352. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/IndexedPointOnLineLocator.h +64 -0
  353. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/InputGeometry.h +103 -0
  354. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/IntersectionPointBuilder.h +113 -0
  355. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/LineBuilder.h +189 -0
  356. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/LineLimiter.h +91 -0
  357. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/MaximalEdgeRing.h +134 -0
  358. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayEdge.h +279 -0
  359. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayEdgeRing.h +153 -0
  360. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayGraph.h +143 -0
  361. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayLabel.h +404 -0
  362. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayLabeller.h +207 -0
  363. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayMixedPoints.h +142 -0
  364. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayNG.h +410 -0
  365. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayNGRobust.h +174 -0
  366. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayPoints.h +120 -0
  367. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayUtil.h +213 -0
  368. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PolygonBuilder.h +151 -0
  369. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PrecisionReducer.h +75 -0
  370. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PrecisionUtil.h +245 -0
  371. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/RingClipper.h +112 -0
  372. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/RobustClipEnvelopeComputer.h +84 -0
  373. package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/UnaryUnionNG.h +95 -0
  374. package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/BuildArea.h +75 -0
  375. package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/EdgeRing.h +350 -0
  376. package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/HoleAssigner.h +65 -0
  377. package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeDirectedEdge.h +127 -0
  378. package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeEdge.h +58 -0
  379. package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeGraph.h +214 -0
  380. package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/Polygonizer.h +260 -0
  381. package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/RectangleContains.h +119 -0
  382. package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/RectangleIntersects.h +98 -0
  383. package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/SegmentIntersectionTester.h +91 -0
  384. package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBuilder.h +70 -0
  385. package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBundle.h +104 -0
  386. package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBundleStar.h +65 -0
  387. package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateComputer.h +185 -0
  388. package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNode.h +67 -0
  389. package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNodeFactory.h +55 -0
  390. package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNodeGraph.h +98 -0
  391. package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateOp.h +134 -0
  392. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/AdjacentEdgeLocator.h +124 -0
  393. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/BasicPredicate.h +105 -0
  394. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/DimensionLocation.h +60 -0
  395. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSegmentIntersector.h +80 -0
  396. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSegmentOverlapAction.h +75 -0
  397. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSetIntersector.h +94 -0
  398. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IMPatternMatcher.h +87 -0
  399. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IMPredicate.h +131 -0
  400. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IntersectionMatrixPattern.h +65 -0
  401. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/LineStringExtracter.h +77 -0
  402. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/LinearBoundary.h +88 -0
  403. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/NodeSection.h +166 -0
  404. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/NodeSections.h +102 -0
  405. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/PolygonNodeConverter.h +112 -0
  406. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateEdge.h +176 -0
  407. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateGeometry.h +272 -0
  408. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateMatrixPredicate.h +85 -0
  409. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateNG.h +295 -0
  410. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateNode.h +146 -0
  411. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelatePointLocator.h +213 -0
  412. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelatePredicate.h +652 -0
  413. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateSegmentString.h +161 -0
  414. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/TopologyComputer.h +236 -0
  415. package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/TopologyPredicate.h +206 -0
  416. package/dist/prebuilt/Android-x86_64/include/geos/operation/sharedpaths/SharedPathsOp.h +161 -0
  417. package/dist/prebuilt/Android-x86_64/include/geos/operation/union/CascadedPolygonUnion.h +246 -0
  418. package/dist/prebuilt/Android-x86_64/include/geos/operation/union/CoverageUnion.h +65 -0
  419. package/dist/prebuilt/Android-x86_64/include/geos/operation/union/DisjointSubsetUnion.h +49 -0
  420. package/dist/prebuilt/Android-x86_64/include/geos/operation/union/OverlapUnion.h +139 -0
  421. package/dist/prebuilt/Android-x86_64/include/geos/operation/union/PointGeometryUnion.h +72 -0
  422. package/dist/prebuilt/Android-x86_64/include/geos/operation/union/UnaryUnionOp.h +243 -0
  423. package/dist/prebuilt/Android-x86_64/include/geos/operation/union/UnionStrategy.h +73 -0
  424. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/ConsistentAreaTester.h +137 -0
  425. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedHoleTester.h +83 -0
  426. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedPolygonTester.h +111 -0
  427. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IsSimpleOp.h +299 -0
  428. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IsValidOp.h +307 -0
  429. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/MakeValid.h +76 -0
  430. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonIntersectionAnalyzer.h +125 -0
  431. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRing.h +231 -0
  432. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRingSelfNode.h +84 -0
  433. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRingTouch.h +65 -0
  434. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonTopologyAnalyzer.h +211 -0
  435. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/RepeatedPointRemover.h +60 -0
  436. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/RepeatedPointTester.h +66 -0
  437. package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/TopologyValidationError.h +76 -0
  438. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/DirectedEdge.h +237 -0
  439. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/DirectedEdgeStar.h +149 -0
  440. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Edge.h +141 -0
  441. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/GraphComponent.h +182 -0
  442. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Node.h +158 -0
  443. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/NodeMap.h +135 -0
  444. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/PlanarGraph.h +293 -0
  445. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Subgraph.h +181 -0
  446. package/dist/prebuilt/Android-x86_64/include/geos/planargraph/algorithm/ConnectedSubgraphFinder.h +92 -0
  447. package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBits.h +97 -0
  448. package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBitsOp.h +172 -0
  449. package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBitsRemover.h +92 -0
  450. package/dist/prebuilt/Android-x86_64/include/geos/precision/EnhancedPrecisionOp.h +105 -0
  451. package/dist/prebuilt/Android-x86_64/include/geos/precision/GeometryPrecisionReducer.h +202 -0
  452. package/dist/prebuilt/Android-x86_64/include/geos/precision/MinimumClearance.h +57 -0
  453. package/dist/prebuilt/Android-x86_64/include/geos/precision/PointwisePrecisionReducerTransformer.h +74 -0
  454. package/dist/prebuilt/Android-x86_64/include/geos/precision/PrecisionReducerCoordinateOperation.h +65 -0
  455. package/dist/prebuilt/Android-x86_64/include/geos/precision/PrecisionReducerTransformer.h +95 -0
  456. package/dist/prebuilt/Android-x86_64/include/geos/precision/SimpleGeometryPrecisionReducer.h +88 -0
  457. package/dist/prebuilt/Android-x86_64/include/geos/profiler.h +185 -0
  458. package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/HilbertCode.h +128 -0
  459. package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/HilbertEncoder.h +96 -0
  460. package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/MortonCode.h +140 -0
  461. package/dist/prebuilt/Android-x86_64/include/geos/simplify/ComponentJumpChecker.h +120 -0
  462. package/dist/prebuilt/Android-x86_64/include/geos/simplify/DouglasPeuckerLineSimplifier.h +103 -0
  463. package/dist/prebuilt/Android-x86_64/include/geos/simplify/DouglasPeuckerSimplifier.h +84 -0
  464. package/dist/prebuilt/Android-x86_64/include/geos/simplify/LineSegmentIndex.h +87 -0
  465. package/dist/prebuilt/Android-x86_64/include/geos/simplify/LinkedLine.h +84 -0
  466. package/dist/prebuilt/Android-x86_64/include/geos/simplify/LinkedRing.h +69 -0
  467. package/dist/prebuilt/Android-x86_64/include/geos/simplify/PolygonHullSimplifier.h +232 -0
  468. package/dist/prebuilt/Android-x86_64/include/geos/simplify/RingHull.h +209 -0
  469. package/dist/prebuilt/Android-x86_64/include/geos/simplify/RingHullIndex.h +55 -0
  470. package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineSegment.h +83 -0
  471. package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineString.h +145 -0
  472. package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineStringSimplifier.h +178 -0
  473. package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLinesSimplifier.h +88 -0
  474. package/dist/prebuilt/Android-x86_64/include/geos/simplify/TopologyPreservingSimplifier.h +93 -0
  475. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/DelaunayTriangulationBuilder.h +166 -0
  476. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/IncrementalDelaunayTriangulator.h +106 -0
  477. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/VoronoiDiagramBuilder.h +157 -0
  478. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/ConstrainedDelaunayTriangulator.h +101 -0
  479. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonEarClipper.h +218 -0
  480. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonHoleJoiner.h +267 -0
  481. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonNoder.h +101 -0
  482. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonTriangulator.h +105 -0
  483. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/TriDelaunayImprover.h +147 -0
  484. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LastFoundQuadEdgeLocator.h +63 -0
  485. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LocateFailureException.h +37 -0
  486. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdge.h +443 -0
  487. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeLocator.h +48 -0
  488. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeQuartet.h +64 -0
  489. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h +514 -0
  490. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/TrianglePredicate.h +124 -0
  491. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/TriangleVisitor.h +48 -0
  492. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/Vertex.h +312 -0
  493. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/Tri.h +186 -0
  494. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriEdge.h +80 -0
  495. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriList.h +182 -0
  496. package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriangulationBuilder.h +86 -0
  497. package/dist/prebuilt/Android-x86_64/include/geos/unload.h +33 -0
  498. package/dist/prebuilt/Android-x86_64/include/geos/util/Assert.h +66 -0
  499. package/dist/prebuilt/Android-x86_64/include/geos/util/AssertionFailedException.h +48 -0
  500. package/dist/prebuilt/Android-x86_64/include/geos/util/CoordinateArrayFilter.h +85 -0
  501. package/dist/prebuilt/Android-x86_64/include/geos/util/GEOSException.h +64 -0
  502. package/dist/prebuilt/Android-x86_64/include/geos/util/GeometricShapeFactory.h +198 -0
  503. package/dist/prebuilt/Android-x86_64/include/geos/util/IllegalArgumentException.h +50 -0
  504. package/dist/prebuilt/Android-x86_64/include/geos/util/IllegalStateException.h +42 -0
  505. package/dist/prebuilt/Android-x86_64/include/geos/util/Interrupt.h +71 -0
  506. package/dist/prebuilt/Android-x86_64/include/geos/util/Machine.h +26 -0
  507. package/dist/prebuilt/Android-x86_64/include/geos/util/TopologyException.h +64 -0
  508. package/dist/prebuilt/Android-x86_64/include/geos/util/UniqueCoordinateArrayFilter.h +114 -0
  509. package/dist/prebuilt/Android-x86_64/include/geos/util/UnsupportedOperationException.h +52 -0
  510. package/dist/prebuilt/Android-x86_64/include/geos/util/math.h +45 -0
  511. package/dist/prebuilt/Android-x86_64/include/geos/util/string.h +31 -0
  512. package/dist/prebuilt/Android-x86_64/include/geos/util.h +86 -0
  513. package/dist/prebuilt/Android-x86_64/include/geos/vend/include_nlohmann_json.hpp +24 -0
  514. package/dist/prebuilt/Android-x86_64/include/geos/vend/json.hpp +25597 -0
  515. package/dist/prebuilt/Android-x86_64/include/geos/version.h +37 -0
  516. package/dist/prebuilt/Android-x86_64/include/geos.h +40 -0
  517. package/dist/prebuilt/Android-x86_64/include/geos_c.h +6121 -0
  518. package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-config-version.cmake +43 -0
  519. package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-config.cmake +11 -0
  520. package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-targets-release.cmake +30 -0
  521. package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-targets.cmake +124 -0
  522. package/dist/prebuilt/Android-x86_64/lib/libgeos.so +0 -0
  523. package/dist/prebuilt/Android-x86_64/lib/libgeos_c.so +0 -0
  524. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/geos.pc +12 -0
  525. package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/Info.plist +0 -0
  526. package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/_CodeSignature/CodeResources +1 -1
  527. package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/geosop +0 -0
  528. package/dist/prebuilt/iOS-iphoneos/lib/libgeos.a +0 -0
  529. package/dist/prebuilt/iOS-iphoneos/lib/libgeos_c.a +0 -0
  530. package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/Info.plist +0 -0
  531. package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/_CodeSignature/CodeResources +1 -1
  532. package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/geosop +0 -0
  533. package/dist/prebuilt/iOS-iphonesimulator/lib/libgeos.a +0 -0
  534. package/dist/prebuilt/iOS-iphonesimulator/lib/libgeos_c.a +0 -0
  535. package/geos.xcframework/ios-arm64_arm64e/libgeos.a +0 -0
  536. package/geos.xcframework/ios-arm64_arm64e_x86_64-simulator/libgeos.a +0 -0
  537. package/geos_c.xcframework/ios-arm64_arm64e/libgeos_c.a +0 -0
  538. package/geos_c.xcframework/ios-arm64_arm64e_x86_64-simulator/libgeos_c.a +0 -0
  539. package/package.json +2 -2
@@ -0,0 +1,542 @@
1
+ /**********************************************************************
2
+ *
3
+ * GEOS - Geometry Engine Open Source
4
+ * http://geos.osgeo.org
5
+ *
6
+ * Copyright (C) 2011 Sandro Santilli <strk@kbt.io>
7
+ * Copyright (C) 2006 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: geom/GeometryFactory.java r320 (JTS-1.12)
17
+ *
18
+ **********************************************************************/
19
+
20
+ #pragma once
21
+
22
+ #include <geos/geom/Geometry.h>
23
+ #include <geos/geom/GeometryCollection.h>
24
+ #include <geos/geom/GeometryFactory.h>
25
+ #include <geos/geom/MultiPoint.h>
26
+ #include <geos/geom/MultiLineString.h>
27
+ #include <geos/geom/MultiPolygon.h>
28
+ #include <geos/geom/PrecisionModel.h>
29
+ #include <geos/geom/Polygon.h>
30
+ #include <geos/util/IllegalArgumentException.h>
31
+ #include <geos/export.h>
32
+
33
+ #include <vector>
34
+ #include <memory>
35
+ #include <cassert>
36
+
37
+ namespace geos {
38
+ namespace geom {
39
+ class Coordinate;
40
+ class CircularString;
41
+ class CompoundCurve;
42
+ class CoordinateSequence;
43
+ class Envelope;
44
+ class Geometry;
45
+ class GeometryCollection;
46
+ class LineString;
47
+ class LinearRing;
48
+ class MultiLineString;
49
+ class MultiCurve;
50
+ class MultiPoint;
51
+ class MultiPolygon;
52
+ class MultiSurface;
53
+ class CurvePolygon;
54
+ }
55
+ }
56
+
57
+ namespace geos {
58
+ namespace geom { // geos::geom
59
+
60
+ /**
61
+ * \brief
62
+ * Supplies a set of utility methods for building Geometry objects
63
+ * from CoordinateSequence or other Geometry objects.
64
+ *
65
+ * Note that the factory constructor methods do <b>not</b> change the input
66
+ * coordinates in any way.
67
+ * In particular, they are not rounded to the supplied <tt>PrecisionModel</tt>.
68
+ * It is assumed that input Coordinates meet the given precision.
69
+ */
70
+ class GEOS_DLL GeometryFactory {
71
+ private:
72
+
73
+ struct GeometryFactoryDeleter {
74
+ void
75
+ operator()(GeometryFactory* p) const
76
+ {
77
+ p->destroy();
78
+ }
79
+ };
80
+
81
+ public:
82
+
83
+ using Ptr = std::unique_ptr<GeometryFactory, GeometryFactoryDeleter>;
84
+
85
+ /**
86
+ * \brief
87
+ * Constructs a GeometryFactory that generates Geometries having a
88
+ * floating PrecisionModel and a spatial-reference ID of 0.
89
+ */
90
+ static GeometryFactory::Ptr create();
91
+
92
+ /**
93
+ * \brief
94
+ * Constructs a GeometryFactory that generates Geometries having
95
+ * the given PrecisionModel and the default CoordinateSequence
96
+ * implementation.
97
+ *
98
+ * @param pm the PrecisionModel to use
99
+ */
100
+ static GeometryFactory::Ptr create(const PrecisionModel* pm);
101
+
102
+ /**
103
+ * \brief
104
+ * Constructs a GeometryFactory that generates Geometries having
105
+ * the given {@link PrecisionModel} and spatial-reference ID,
106
+ * and the default CoordinateSequence implementation.
107
+ *
108
+ * @param pm the PrecisionModel to use, will be copied internally
109
+ * @param newSRID the SRID to use
110
+ */
111
+ static GeometryFactory::Ptr create(const PrecisionModel* pm, int newSRID);
112
+
113
+ /**
114
+ * \brief Copy constructor
115
+ *
116
+ * @param gf the GeometryFactory to clone from
117
+ */
118
+ static GeometryFactory::Ptr create(const GeometryFactory& gf);
119
+
120
+ /**
121
+ * \brief
122
+ * Return a pointer to the default GeometryFactory.
123
+ * This is a global shared object instantiated
124
+ * using default constructor.
125
+ */
126
+ static const GeometryFactory*
127
+ getDefaultInstance();
128
+
129
+ //Skipped a lot of list to array converters
130
+
131
+ static std::unique_ptr<Point> createPointFromInternalCoord(const Coordinate* coord,
132
+ const Geometry* exemplar);
133
+
134
+ /// Converts an Envelope to a Geometry.
135
+ ///
136
+ /// Returned Geometry can be a Point, a Polygon or an EMPTY geom.
137
+ ///
138
+ std::unique_ptr<Geometry> toGeometry(const Envelope* envelope) const;
139
+
140
+ /// \brief
141
+ /// Returns the PrecisionModel that Geometries created by this
142
+ /// factory will be associated with.
143
+ const PrecisionModel* getPrecisionModel() const
144
+ {
145
+ return &precisionModel;
146
+ };
147
+
148
+ /// Creates an EMPTY Point
149
+ std::unique_ptr<Point> createPoint(std::size_t coordinateDimension = 2) const;
150
+ std::unique_ptr<Point> createPoint(bool hasZ, bool hasM) const;
151
+
152
+ /// Creates a Point using the given Coordinate
153
+ std::unique_ptr<Point> createPoint(const Coordinate& coordinate) const;
154
+ std::unique_ptr<Point> createPoint(const CoordinateXY& coordinate) const;
155
+ std::unique_ptr<Point> createPoint(const CoordinateXYM& coordinate) const;
156
+ std::unique_ptr<Point> createPoint(const CoordinateXYZM& coordinate) const;
157
+
158
+ /// Creates a Point taking ownership of the given CoordinateSequence
159
+ std::unique_ptr<Point> createPoint(std::unique_ptr<CoordinateSequence>&& coordinates) const;
160
+
161
+ /// Creates a Point with a deep-copy of the given CoordinateSequence.
162
+ std::unique_ptr<Point> createPoint(const CoordinateSequence& coordinates) const;
163
+
164
+ /// Construct an EMPTY GeometryCollection
165
+ std::unique_ptr<GeometryCollection> createGeometryCollection() const;
166
+
167
+ /// Construct the EMPTY Geometry
168
+ std::unique_ptr<Geometry> createEmptyGeometry(GeometryTypeId type = GEOS_GEOMETRYCOLLECTION, bool hasZ=false, bool hasM=false) const;
169
+
170
+ /// Construct a GeometryCollection taking ownership of given arguments
171
+ template<typename T>
172
+ std::unique_ptr<GeometryCollection> createGeometryCollection(
173
+ std::vector<std::unique_ptr<T>> && newGeoms) const {
174
+ // Can't use make_unique because constructor is protected
175
+ return std::unique_ptr<GeometryCollection>(new GeometryCollection(Geometry::toGeometryArray(std::move(newGeoms)), *this));
176
+ }
177
+
178
+ /// Constructs a GeometryCollection with a deep-copy of args
179
+ std::unique_ptr<GeometryCollection> createGeometryCollection(
180
+ const std::vector<const Geometry*>& newGeoms) const;
181
+
182
+ /// Construct an EMPTY MultiLineString
183
+ std::unique_ptr<MultiLineString> createMultiLineString() const;
184
+
185
+ /// Construct a MultiLineString with a deep-copy of given arguments
186
+ std::unique_ptr<MultiLineString> createMultiLineString(
187
+ const std::vector<const Geometry*>& fromLines) const;
188
+
189
+ /// Construct a MultiLineString taking ownership of given arguments
190
+ std::unique_ptr<MultiLineString> createMultiLineString(
191
+ std::vector<std::unique_ptr<LineString>> && fromLines) const;
192
+
193
+ std::unique_ptr<MultiLineString> createMultiLineString(
194
+ std::vector<std::unique_ptr<Geometry>> && fromLines) const;
195
+
196
+ /// Construct an EMPTY MultiCurve
197
+ std::unique_ptr<MultiCurve> createMultiCurve() const;
198
+
199
+ /// Construct a MultiCurve taking ownership of given arguments
200
+ std::unique_ptr<MultiCurve> createMultiCurve(
201
+ std::vector<std::unique_ptr<Geometry>> && fromCurves) const;
202
+
203
+ std::unique_ptr<MultiCurve> createMultiCurve(
204
+ std::vector<std::unique_ptr<Curve>> && fromCurves) const;
205
+
206
+ /// Construct an EMPTY MultiPolygon
207
+ std::unique_ptr<MultiPolygon> createMultiPolygon() const;
208
+
209
+ /// Construct a MultiPolygon with a deep-copy of given arguments
210
+ std::unique_ptr<MultiPolygon> createMultiPolygon(
211
+ const std::vector<const Geometry*>& fromPolys) const;
212
+
213
+ /// Construct a MultiPolygon taking ownership of given arguments
214
+ std::unique_ptr<MultiPolygon> createMultiPolygon(
215
+ std::vector<std::unique_ptr<Polygon>> && fromPolys) const;
216
+
217
+ std::unique_ptr<MultiPolygon> createMultiPolygon(
218
+ std::vector<std::unique_ptr<Geometry>> && fromPolys) const;
219
+
220
+ /// Construct an EMPTY MultiSurface
221
+ std::unique_ptr<MultiSurface> createMultiSurface() const;
222
+
223
+ /// Construct a MultiSurface taking ownership of given arguments
224
+ std::unique_ptr<MultiSurface> createMultiSurface(
225
+ std::vector<std::unique_ptr<Geometry>> && from) const;
226
+
227
+ std::unique_ptr<MultiSurface> createMultiSurface(
228
+ std::vector<std::unique_ptr<Surface>> && from) const;
229
+
230
+ /// Construct an EMPTY LinearRing
231
+ std::unique_ptr<LinearRing> createLinearRing(std::size_t coordinateDimension = 2) const;
232
+ std::unique_ptr<LinearRing> createLinearRing(bool hasZ, bool hasM) const;
233
+
234
+ /// Construct a LinearRing taking ownership of given arguments
235
+ std::unique_ptr<LinearRing> createLinearRing(
236
+ std::unique_ptr<CoordinateSequence> && newCoords) const;
237
+
238
+ /// Construct a LinearRing with a deep-copy of given arguments
239
+ std::unique_ptr<LinearRing> createLinearRing(
240
+ const CoordinateSequence& coordinates) const;
241
+
242
+ /// Constructs an EMPTY <code>MultiPoint</code>.
243
+ std::unique_ptr<MultiPoint> createMultiPoint() const;
244
+
245
+ template<typename T>
246
+ std::unique_ptr<MultiPoint> createMultiPoint(const T& fromCoords) const
247
+ {
248
+ std::vector<std::unique_ptr<Geometry>> pts;
249
+ pts.reserve(fromCoords.size());
250
+ for (const auto& c : fromCoords) {
251
+ pts.emplace_back(createPoint(c));
252
+ }
253
+
254
+ return createMultiPoint(std::move(pts));
255
+ }
256
+
257
+ /// Construct a MultiPoint taking ownership of given arguments
258
+ std::unique_ptr<MultiPoint> createMultiPoint(std::vector<std::unique_ptr<Point>> && newPoints) const;
259
+
260
+ std::unique_ptr<MultiPoint> createMultiPoint(std::vector<std::unique_ptr<Geometry>> && newPoints) const;
261
+
262
+ /// Construct a MultiPoint with a deep-copy of given arguments
263
+ std::unique_ptr<MultiPoint> createMultiPoint(
264
+ const std::vector<const Geometry*>& fromPoints) const;
265
+
266
+ /// \brief
267
+ /// Construct a MultiPoint containing a Point geometry
268
+ /// for each Coordinate in the given list.
269
+ std::unique_ptr<MultiPoint> createMultiPoint(
270
+ const CoordinateSequence& fromCoords) const;
271
+
272
+ /// Construct an EMPTY Polygon
273
+ std::unique_ptr<Polygon> createPolygon(std::size_t coordinateDimension = 2) const;
274
+ std::unique_ptr<Polygon> createPolygon(bool hasZ, bool hasM) const;
275
+
276
+ /// Construct a Polygon taking ownership of given arguments
277
+ std::unique_ptr<Polygon> createPolygon(std::unique_ptr<LinearRing> && shell) const;
278
+
279
+ std::unique_ptr<Polygon> createPolygon(std::unique_ptr<LinearRing> && shell,
280
+ std::vector<std::unique_ptr<LinearRing>> && holes) const;
281
+
282
+ /// Construct a Polygon from a Coordinate vector, taking ownership of the vector
283
+ std::unique_ptr<Polygon> createPolygon(CoordinateSequence && coords) const;
284
+
285
+ /// Construct a Polygon with a deep-copy of given arguments
286
+ Polygon* createPolygon(const LinearRing& shell,
287
+ const std::vector<LinearRing*>& holes) const;
288
+
289
+
290
+ /// Construct an EMPTY CurvePolygon
291
+ std::unique_ptr<CurvePolygon> createCurvePolygon(bool hasZ, bool hasM) const;
292
+
293
+ /// Construct a CurvePolygon taking ownership of given arguments
294
+ std::unique_ptr<CurvePolygon> createCurvePolygon(std::unique_ptr<Curve>&& shell) const;
295
+
296
+ std::unique_ptr<CurvePolygon> createCurvePolygon(std::unique_ptr<Curve>&& shell,
297
+ std::vector<std::unique_ptr<Curve>> && holes) const;
298
+
299
+ /// Construct an EMPTY LineString
300
+ std::unique_ptr<LineString> createLineString(std::size_t coordinateDimension = 2) const;
301
+ std::unique_ptr<LineString> createLineString(bool hasZ, bool hasM) const;
302
+
303
+ /// Copy a LineString
304
+ std::unique_ptr<LineString> createLineString(const LineString& ls) const;
305
+
306
+ /// Construct a LineString taking ownership of given argument
307
+ std::unique_ptr<LineString> createLineString(
308
+ std::unique_ptr<CoordinateSequence> && coordinates) const;
309
+
310
+ /// Construct a LineString with a deep-copy of given argument
311
+ std::unique_ptr<LineString> createLineString(
312
+ const CoordinateSequence& coordinates) const;
313
+
314
+ /// Construct an EMPTY CircularString
315
+ std::unique_ptr<CircularString> createCircularString(bool hasZ, bool hasM) const;
316
+
317
+ /// Copy a CircularString
318
+ std::unique_ptr<CircularString> createCircularString(const CircularString& ls) const;
319
+
320
+ /// Construct a CircularString taking ownership of given argument
321
+ std::unique_ptr<CircularString> createCircularString(
322
+ std::unique_ptr<CoordinateSequence> && coordinates) const;
323
+
324
+ /// Construct a CircularString with a deep-copy of given argument
325
+ std::unique_ptr<CircularString> createCircularString(
326
+ const CoordinateSequence& coordinates) const;
327
+
328
+ /// Construct an EMPTY CompoundCurve
329
+ std::unique_ptr<CompoundCurve> createCompoundCurve() const;
330
+
331
+ /// Construct a CompoundCurve taking ownership of given argument
332
+ std::unique_ptr<CompoundCurve> createCompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&) const;
333
+
334
+ /**
335
+ * Creates an empty atomic geometry of the given dimension.
336
+ * If passed a dimension of -1 will create an empty {@link GeometryCollection}.
337
+ *
338
+ * @param dimension the required dimension (-1, 0, 1 or 2)
339
+ * @return an empty atomic geometry of given dimension
340
+ */
341
+ std::unique_ptr<Geometry> createEmpty(int dimension) const;
342
+
343
+ /**
344
+ * Creates an empty atomic geometry of the given type.
345
+ * @param typeId the desired GeometryTypeId
346
+ * @return an empty atomic geometry of given dimension
347
+ */
348
+ std::unique_ptr<Geometry> createEmpty(GeometryTypeId typeId) const;
349
+
350
+ std::unique_ptr<Geometry> createMulti(std::unique_ptr<Geometry> && geom) const;
351
+
352
+ /**
353
+ * Build an appropriate <code>Geometry</code>, <code>MultiGeometry</code>, or
354
+ * <code>GeometryCollection</code> to contain the <code>Geometry</code>s in
355
+ * it.
356
+ *
357
+ * For example:
358
+ *
359
+ * - If <code>geomList</code> contains a single <code>Polygon</code>,
360
+ * the <code>Polygon</code> is returned.
361
+ * - If <code>geomList</code> contains several <code>Polygon</code>s, a
362
+ * <code>MultiPolygon</code> is returned.
363
+ * - If <code>geomList</code> contains some <code>Polygon</code>s and
364
+ * some <code>LineString</code>s, a <code>GeometryCollection</code> is
365
+ * returned.
366
+ * - If <code>geomList</code> is empty, an empty
367
+ * <code>GeometryCollection</code> is returned
368
+ * .
369
+ *
370
+ * Note that this method does not "flatten" Geometries in the input,
371
+ * and hence if any MultiGeometries are contained in the input a
372
+ * GeometryCollection containing them will be returned.
373
+ *
374
+ * @param geoms the <code>Geometry</code>s to combine
375
+ *
376
+ * @return A <code>Geometry</code> of the "smallest", "most type-specific"
377
+ * class that can contain the elements of <code>geomList</code>.
378
+ *
379
+ * NOTE: the returned Geometry will take ownership of the
380
+ * given vector AND its elements
381
+ */
382
+ std::unique_ptr<Geometry> buildGeometry(std::vector<std::unique_ptr<Geometry>> && geoms) const;
383
+
384
+ std::unique_ptr<Geometry> buildGeometry(std::vector<std::unique_ptr<Point>> && geoms) const;
385
+
386
+ std::unique_ptr<Geometry> buildGeometry(std::vector<std::unique_ptr<LineString>> && geoms) const;
387
+
388
+ std::unique_ptr<Geometry> buildGeometry(std::vector<std::unique_ptr<Polygon>> && geoms) const;
389
+
390
+ /// See buildGeometry(std::vector<Geometry *>&) for semantics
391
+ //
392
+ /// Will clone the geometries accessible through the iterator.
393
+ ///
394
+ /// @tparam T an iterator yielding something which casts to const Geometry*
395
+ /// @param from start iterator
396
+ /// @param toofar end iterator
397
+ ///
398
+ template <class T>
399
+ std::unique_ptr<Geometry>
400
+ buildGeometry(T from, T toofar) const
401
+ {
402
+ bool isHeterogeneous = false;
403
+ std::size_t count = 0;
404
+ int geomClass = -1;
405
+ for(T i = from; i != toofar; ++i) {
406
+ ++count;
407
+ const Geometry* g = *i;
408
+ if(geomClass < 0) {
409
+ geomClass = g->getSortIndex();
410
+ }
411
+ else if(geomClass != g->getSortIndex()) {
412
+ isHeterogeneous = true;
413
+ }
414
+ }
415
+
416
+ // for the empty geometry, return an empty GeometryCollection
417
+ if(count == 0) {
418
+ return std::unique_ptr<Geometry>(createGeometryCollection());
419
+ }
420
+
421
+ // for the single geometry, return a clone
422
+ if(count == 1) {
423
+ return (*from)->clone();
424
+ }
425
+
426
+ // Now we know it is a collection
427
+
428
+ // FIXME:
429
+ // Until we tweak all the createMulti* interfaces
430
+ // to support taking iterators we'll have to build
431
+ // a custom vector here.
432
+ std::vector<std::unique_ptr<Geometry>> fromGeoms;
433
+ for(T i = from; i != toofar; ++i) {
434
+ fromGeoms.push_back((*i)->clone());
435
+ }
436
+
437
+ // for an heterogeneous ...
438
+ if(isHeterogeneous) {
439
+ return createGeometryCollection(std::move(fromGeoms));
440
+ }
441
+
442
+ // At this point we know the collection is not hetereogenous.
443
+ switch((*from)->getDimension()) {
444
+ case Dimension::A: return createMultiPolygon(std::move(fromGeoms));
445
+ case Dimension::L: return createMultiLineString(std::move(fromGeoms));
446
+ case Dimension::P: return createMultiPoint(std::move(fromGeoms));
447
+ default:
448
+ throw geos::util::IllegalArgumentException(std::string("Invalid geometry type."));
449
+ }
450
+ }
451
+
452
+ /** \brief
453
+ * This function does the same thing of the omonimouse function
454
+ * taking vector pointer instead of reference.
455
+ *
456
+ * The difference is that this version will copy needed data
457
+ * leaving ownership to the caller.
458
+ */
459
+ std::unique_ptr<Geometry> buildGeometry(const std::vector<const Geometry*>& geoms) const;
460
+
461
+ int getSRID() const
462
+ {
463
+ return SRID;
464
+ };
465
+
466
+ /// Returns a clone of given Geometry.
467
+ std::unique_ptr<Geometry> createGeometry(const Geometry* g) const;
468
+
469
+ /// Destroy a Geometry, or release it
470
+ void destroyGeometry(Geometry* g) const;
471
+
472
+ /// Request that the instance is deleted.
473
+ ///
474
+ /// It will really be deleted only after last child Geometry is
475
+ /// deleted. Do not use the instance anymore after calling this function
476
+ /// (unless you're a live child!).
477
+ ///
478
+ void destroy();
479
+
480
+ protected:
481
+
482
+ /**
483
+ * \brief
484
+ * Constructs a GeometryFactory that generates Geometries having a
485
+ * floating PrecisionModel and a spatial-reference ID of 0.
486
+ */
487
+ GeometryFactory();
488
+
489
+ /**
490
+ * \brief
491
+ * Constructs a GeometryFactory that generates Geometries having
492
+ * the given PrecisionModel and the default CoordinateSequence
493
+ * implementation.
494
+ *
495
+ * @param pm the PrecisionModel to use
496
+ */
497
+ GeometryFactory(const PrecisionModel* pm);
498
+
499
+ /**
500
+ * \brief
501
+ * Constructs a GeometryFactory that generates Geometries having
502
+ * the given {@link PrecisionModel} and spatial-reference ID,
503
+ * and the default CoordinateSequence implementation.
504
+ *
505
+ * @param pm the PrecisionModel to use, will be copied internally
506
+ * @param newSRID the SRID to use
507
+ */
508
+ GeometryFactory(const PrecisionModel* pm, int newSRID);
509
+
510
+ /**
511
+ * \brief Copy constructor
512
+ *
513
+ * @param gf the GeometryFactory to clone from
514
+ */
515
+ GeometryFactory(const GeometryFactory& gf);
516
+
517
+ /// Destructor
518
+ virtual ~GeometryFactory();
519
+
520
+ private:
521
+
522
+ PrecisionModel precisionModel;
523
+ int SRID;
524
+
525
+ mutable int _refCount;
526
+ bool _autoDestroy;
527
+
528
+ friend class Geometry;
529
+
530
+ void addRef() const;
531
+ void dropRef() const;
532
+
533
+ };
534
+
535
+ } // namespace geos::geom
536
+ } // namespace geos
537
+
538
+
539
+
540
+
541
+
542
+
@@ -0,0 +1,74 @@
1
+ /**********************************************************************
2
+ *
3
+ * GEOS - Geometry Engine Open Source
4
+ * http://geos.osgeo.org
5
+ *
6
+ * Copyright (C) 2001-2002 Vivid Solutions Inc.
7
+ * Copyright (C) 2005 2006 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
+ #pragma once
17
+
18
+ #include <geos/export.h>
19
+
20
+ #include <string>
21
+ #include <vector>
22
+ #include <cassert>
23
+
24
+ namespace geos {
25
+ namespace geom { // geos::geom
26
+ class Geometry;
27
+ }
28
+ }
29
+
30
+ namespace geos {
31
+ namespace geom { // geos::geom
32
+
33
+
34
+ /** \brief
35
+ * Geometry classes support the concept of applying a Geometry
36
+ * filter to the Geometry.
37
+ *
38
+ * In the case of GeometryCollection
39
+ * subclasses, the filter is applied to every element Geometry.
40
+ * A Geometry filter can either record information about the Geometry
41
+ * or change the Geometry in some way.
42
+ * Geometry filters implement the interface GeometryFilter.
43
+ * (GeometryFilter is an example of the Gang-of-Four Visitor pattern).
44
+ */
45
+ class GEOS_DLL GeometryFilter {
46
+ public:
47
+ /*
48
+ * Performs an operation with or on <code>geom</code>.
49
+ *
50
+ * @param geom a <code>Geometry</code> to which the filter
51
+ * is applied.
52
+ *
53
+ * NOTE: this are not pure abstract to allow read-only
54
+ * or read-write-only filters to avoid defining a fake
55
+ * version of the not-implemented kind.
56
+ */
57
+ virtual void
58
+ filter_ro(const Geometry* /*geom*/)
59
+ {
60
+ assert(0);
61
+ }
62
+ virtual void
63
+ filter_rw(Geometry* /*geom*/)
64
+ {
65
+ assert(0);
66
+ }
67
+
68
+ virtual
69
+ ~GeometryFilter() {}
70
+ };
71
+
72
+ } // namespace geos::geom
73
+ } // namespace geos
74
+