@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,312 @@
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/Vertex.java r705
16
+ *
17
+ **********************************************************************/
18
+
19
+ #pragma once
20
+
21
+ #include <cmath>
22
+ #include <memory>
23
+ #include <cstring>
24
+
25
+ #include <geos/geom/Coordinate.h>
26
+ #include <geos/algorithm/HCoordinate.h>
27
+ #include <geos/triangulate/quadedge/TrianglePredicate.h>
28
+
29
+
30
+ //fwd declarations
31
+ namespace geos {
32
+ namespace triangulate {
33
+ namespace quadedge {
34
+ class QuadEdge;
35
+ }
36
+ }
37
+ }
38
+
39
+ namespace geos {
40
+ namespace triangulate { //geos.triangulate
41
+ namespace quadedge { //geos.triangulate.quadedge
42
+
43
+ /** \brief
44
+ * Models a site (node) in a QuadEdgeSubdivision.
45
+ *
46
+ * The sites can be points on a line string representing a linear site.
47
+ *
48
+ * The vertex can be considered as a vector with a norm, length, inner product, cross
49
+ * product, etc. Additionally, point relations (e.g., is a point to the left of a line, the circle
50
+ * defined by this point and two others, etc.) are also defined in this class.
51
+ *
52
+ * It is common to want to attach user-defined data to the vertices of a subdivision.
53
+ * One way to do this is to subclass `Vertex` to carry any desired information.
54
+ *
55
+ * @author JTS: David Skea
56
+ * @author JTS: Martin Davis
57
+ * @author Benjamin Campbell
58
+ * */
59
+
60
+ class GEOS_DLL Vertex {
61
+ public:
62
+ static const int LEFT = 0;
63
+ static const int RIGHT = 1;
64
+ static const int BEYOND = 2;
65
+ static const int BEHIND = 3;
66
+ static const int BETWEEN = 4;
67
+ static const int ORIGIN = 5;
68
+ static const int DESTINATION = 6;
69
+ private:
70
+ geom::Coordinate p;
71
+
72
+ public:
73
+ Vertex(double _x, double _y);
74
+
75
+ Vertex(double _x, double _y, double _z);
76
+
77
+ Vertex(const geom::Coordinate& _p);
78
+
79
+ Vertex();
80
+ ~Vertex() {};
81
+
82
+ inline double
83
+ getX() const
84
+ {
85
+ return p.x;
86
+ }
87
+
88
+ inline double
89
+ getY() const
90
+ {
91
+ return p.y;
92
+ }
93
+
94
+ inline double
95
+ getZ() const
96
+ {
97
+ return p.z;
98
+ }
99
+
100
+ inline void
101
+ setZ(double _z)
102
+ {
103
+ p.z = _z;
104
+ }
105
+
106
+ inline const geom::Coordinate&
107
+ getCoordinate() const
108
+ {
109
+ return p;
110
+ }
111
+
112
+ inline bool
113
+ equals(const Vertex& _x) const
114
+ {
115
+ return p.equals2D(_x.p);
116
+ }
117
+
118
+ inline bool
119
+ equals(const Vertex& _x, double tolerance) const
120
+ {
121
+ if(p.distance(_x.getCoordinate()) < tolerance) {
122
+ return true;
123
+ }
124
+ return false;
125
+ }
126
+
127
+ int classify(const Vertex& p0, const Vertex& p1);
128
+
129
+ /**
130
+ * Computes the cross product k = u X v.
131
+ *
132
+ * @param v a vertex
133
+ * @return returns the magnitude of u X v
134
+ */
135
+ inline double
136
+ crossProduct(const Vertex& v) const
137
+ {
138
+ return (p.x * v.getY() - p.y * v.getX());
139
+ }
140
+
141
+ /**
142
+ * Computes the inner or dot product
143
+ *
144
+ * @param v a vertex
145
+ * @return returns the dot product u.v
146
+ */
147
+ inline double
148
+ dot(Vertex v) const
149
+ {
150
+ return (p.x * v.getX() + p.y * v.getY());
151
+ }
152
+
153
+ /**
154
+ * Computes the scalar product c(v)
155
+ *
156
+ * @param c scaling factor
157
+ * @return returns the scaled vector
158
+ */
159
+ inline std::unique_ptr<Vertex>
160
+ times(double c) const
161
+ {
162
+ return std::unique_ptr<Vertex>(new Vertex(c * p.x, c * p.y));
163
+ }
164
+
165
+ /* Vector addition */
166
+ inline std::unique_ptr<Vertex>
167
+ sum(Vertex v) const
168
+ {
169
+ return std::unique_ptr<Vertex>(new Vertex(p.x + v.getX(), p.y + v.getY()));
170
+ }
171
+
172
+ /* and subtraction */
173
+ inline std::unique_ptr<Vertex>
174
+ sub(const Vertex& v) const
175
+ {
176
+ return std::unique_ptr<Vertex>(new Vertex(p.x - v.getX(), p.y - v.getY()));
177
+ }
178
+
179
+ /* magnitude of vector */
180
+ inline double
181
+ magn() const
182
+ {
183
+ return (std::sqrt(p.x * p.x + p.y * p.y));
184
+ }
185
+
186
+ /* returns k X v (cross product). this is a vector perpendicular to v */
187
+ inline std::unique_ptr<Vertex>
188
+ cross() const
189
+ {
190
+ return std::unique_ptr<Vertex>(new Vertex(p.y, -p.x));
191
+ }
192
+
193
+ /** ************************************************************* */
194
+ /***********************************************************************************************
195
+ * Geometric primitives /
196
+ **********************************************************************************************/
197
+
198
+ /**
199
+ * Tests if the vertex is inside the circle defined by
200
+ * the triangle with vertices a, b, c (oriented counter-clockwise).
201
+ *
202
+ * @param a a vertex of the triangle
203
+ * @param b a vertex of the triangle
204
+ * @param c a vertex of the triangle
205
+ * @return true if this vertex is in the circumcircle of (a,b,c)
206
+ */
207
+ bool isInCircle(const Vertex& a, const Vertex& b, const Vertex& c) const {
208
+ return triangulate::quadedge::TrianglePredicate::isInCircleRobust(a.p, b.p, c.p, this->p) == geom::Location::INTERIOR;
209
+ }
210
+
211
+ /**
212
+ * Tests whether the triangle formed by this vertex and two
213
+ * other vertices is in CCW orientation.
214
+ *
215
+ * @param b a vertex
216
+ * @param c a vertex
217
+ * @returns true if the triangle is oriented CCW
218
+ */
219
+ inline bool
220
+ isCCW(const Vertex& b, const Vertex& c) const
221
+ {
222
+ // check if signed area is positive
223
+ return (b.p.x - p.x) * (c.p.y - p.y)
224
+ > (b.p.y - p.y) * (c.p.x - p.x);
225
+ }
226
+
227
+ bool rightOf(const QuadEdge& e) const;
228
+ bool leftOf(const QuadEdge& e) const;
229
+
230
+ private:
231
+ static std::unique_ptr<algorithm::HCoordinate> bisector(const Vertex& a, const Vertex& b);
232
+
233
+ inline double
234
+ distance(const Vertex& v1, const Vertex& v2)
235
+ {
236
+ return std::sqrt(pow(v2.getX() - v1.getX(), 2.0) +
237
+ pow(v2.getY() - v1.getY(), 2.0));
238
+ }
239
+
240
+ /**
241
+ * Computes the value of the ratio of the circumradius to shortest edge. If smaller than some
242
+ * given tolerance B, the associated triangle is considered skinny. For an equal lateral
243
+ * triangle this value is 0.57735. The ratio is related to the minimum triangle angle theta by:
244
+ * circumRadius/shortestEdge = 1/(2sin(theta)).
245
+ *
246
+ * @param b second vertex of the triangle
247
+ * @param c third vertex of the triangle
248
+ * @return ratio of circumradius to shortest edge.
249
+ */
250
+ double circumRadiusRatio(const Vertex& b, const Vertex& c);
251
+
252
+ /**
253
+ * returns a new vertex that is mid-way between this vertex and another end point.
254
+ *
255
+ * @param a the other end point.
256
+ * @return the point mid-way between this and that.
257
+ */
258
+ std::unique_ptr<Vertex> midPoint(const Vertex& a);
259
+
260
+ /**
261
+ * Computes the centre of the circumcircle of this vertex and two others.
262
+ *
263
+ * @param b
264
+ * @param c
265
+ * @return the Coordinate which is the circumcircle of the 3 points.
266
+ */
267
+ std::unique_ptr<Vertex> circleCenter(const Vertex& b, const Vertex& c) const;
268
+
269
+ /**
270
+ * For this vertex enclosed in a triangle defined by three vertices v0, v1 and v2, interpolate
271
+ * a z value from the surrounding vertices.
272
+ */
273
+ double interpolateZValue(const Vertex& v0, const Vertex& v1, const Vertex& v2) const;
274
+
275
+ /**
276
+ * Interpolates the Z-value (height) of a point enclosed in a triangle
277
+ * whose vertices all have Z values.
278
+ * The containing triangle must not be degenerate
279
+ * (in other words, the three vertices must enclose a
280
+ * non-zero area).
281
+ *
282
+ * @param p the point to interpolate the Z value of
283
+ * @param v0 a vertex of a triangle containing the p
284
+ * @param v1 a vertex of a triangle containing the p
285
+ * @param v2 a vertex of a triangle containing the p
286
+ * @return the interpolated Z-value (height) of the point
287
+ */
288
+ static double interpolateZ(const geom::Coordinate& p, const geom::Coordinate& v0,
289
+ const geom::Coordinate& v1, const geom::Coordinate& v2);
290
+
291
+ /**
292
+ * Computes the interpolated Z-value for a point p lying on the segment p0-p1
293
+ *
294
+ * @param p
295
+ * @param p0
296
+ * @param p1
297
+ * @return the interpolated Z value
298
+ */
299
+ static double interpolateZ(const geom::Coordinate& p, const geom::Coordinate& p0,
300
+ const geom::Coordinate& p1);
301
+ };
302
+
303
+ inline bool
304
+ operator<(const Vertex& v1, const Vertex& v2)
305
+ {
306
+ return v1.getCoordinate() < v2.getCoordinate();
307
+ }
308
+
309
+ } //namespace geos.triangulate.quadedge
310
+ } //namespace geos.triangulate
311
+ } //namespace geos
312
+
@@ -0,0 +1,186 @@
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/geom/Coordinate.h>
18
+ #include <geos/triangulate/tri/TriList.h>
19
+
20
+ #include <memory>
21
+
22
+ // Forward declarations
23
+ namespace geos {
24
+ namespace geom {
25
+ class Geometry;
26
+ class GeometryFactory;
27
+ class Polygon;
28
+ }
29
+ }
30
+
31
+ using geos::geom::Coordinate;
32
+ using geos::geom::Polygon;
33
+ using geos::geom::GeometryFactory;
34
+
35
+ namespace geos { // geos.
36
+ namespace triangulate { // geos.triangulate
37
+ namespace tri { // geos.triangulate.tri
38
+
39
+
40
+ /**
41
+ * A memory-efficient representation of a triangle in a triangulation.
42
+ * Contains three vertices, and links to adjacent Tris for each edge.
43
+ * Tris are constructed independently, and if needed linked
44
+ * into a triangulation using {@link TriangulationBuilder}.
45
+ *
46
+ * @author Martin Davis
47
+ *
48
+ */
49
+ class GEOS_DLL Tri {
50
+
51
+ protected:
52
+
53
+ // Members
54
+ Coordinate p0;
55
+ Coordinate p1;
56
+ Coordinate p2;
57
+
58
+ /**
59
+ * triN is the adjacent triangle across the edge pN - pNN.
60
+ * pNN is the next vertex CW from pN.
61
+ */
62
+ Tri* tri0;
63
+ Tri* tri1;
64
+ Tri* tri2;
65
+
66
+ private:
67
+
68
+ /**
69
+ * Replace triOld with triNew
70
+ *
71
+ * @param triOld
72
+ * @param triNew
73
+ */
74
+ void replace(Tri* triOld, Tri* triNew);
75
+ void remove(TriIndex index);
76
+
77
+ /**
78
+ *
79
+ * Order: 0: opp0-adj0 edge, 1: opp0-adj1 edge,
80
+ * 2: opp1-adj0 edge, 3: opp1-adj1 edge
81
+ *
82
+ * @param tri
83
+ * @param index0
84
+ * @param index1
85
+ * @return list of adjactent tris
86
+ */
87
+ std::vector<Tri*> getAdjacentTris(Tri* tri, TriIndex index0, TriIndex index1);
88
+
89
+ void setCoordinates(const Coordinate& p0, const Coordinate& p1, const Coordinate& p2);
90
+
91
+ void flip(Tri* tri, TriIndex index0, TriIndex index1,
92
+ const Coordinate& adj0, const Coordinate& adj1,
93
+ const Coordinate& opp0, const Coordinate& opp1);
94
+
95
+
96
+ public:
97
+
98
+ Tri(const Coordinate& c0, const Coordinate& c1, const Coordinate& c2)
99
+ : p0(c0)
100
+ , p1(c1)
101
+ , p2(c2)
102
+ , tri0(nullptr)
103
+ , tri1(nullptr)
104
+ , tri2(nullptr)
105
+ {};
106
+
107
+ void setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2);
108
+ void setAdjacent(const Coordinate& pt, Tri* tri);
109
+ void setTri(TriIndex edgeIndex, Tri* tri);
110
+
111
+ /**
112
+ * Interchanges the vertices of this triangle and a neighbor
113
+ * so that their common edge
114
+ * becomes the the other diagonal of the quadrilateral they form.
115
+ * Neighbour triangle links are modified accordingly.
116
+ *
117
+ * @param index the index of the adjacent tri to flip with
118
+ */
119
+ void flip(TriIndex index);
120
+
121
+ /**
122
+ * Removes this triangle from a triangulation.
123
+ * All adjacent references and the references to this
124
+ * Tri in the adjacent Tris are set to nullptr.
125
+ */
126
+ void remove();
127
+ void remove(TriList<Tri>& triList);
128
+
129
+ void validate();
130
+ void validateAdjacent(TriIndex index);
131
+
132
+ std::pair<const Coordinate&, const Coordinate&> getEdge(Tri* neighbor) const;
133
+
134
+ const Coordinate& getEdgeStart(TriIndex i) const;
135
+ const Coordinate& getEdgeEnd(TriIndex i) const;
136
+
137
+ bool hasCoordinate(const Coordinate& v) const;
138
+ const Coordinate& getCoordinate(TriIndex i) const;
139
+
140
+ TriIndex getIndex(const Coordinate& p) const;
141
+ TriIndex getIndex(const Tri* tri) const;
142
+
143
+ Tri* getAdjacent(TriIndex i) const;
144
+ bool hasAdjacent(TriIndex i) const;
145
+ bool hasAdjacent() const;
146
+ bool isAdjacent(Tri* tri) const;
147
+
148
+ int numAdjacent() const;
149
+
150
+ static TriIndex next(TriIndex i);
151
+ static TriIndex prev(TriIndex i);
152
+ static TriIndex oppVertex(TriIndex edgeIndex);
153
+ static TriIndex oppEdge(TriIndex vertexIndex);
154
+
155
+ /**
156
+ * Tests if a tri vertex is interior.
157
+ * A vertex of a triangle is interior if it
158
+ * is fully surrounded by other triangles.
159
+ *
160
+ * @param index the vertex index
161
+ * @return true if the vertex is interior
162
+ */
163
+ bool isInteriorVertex(TriIndex index) const;
164
+
165
+ bool isBorder() const;
166
+ bool isBoundary(TriIndex index) const;
167
+ Coordinate midpoint(TriIndex edgeIndex) const;
168
+
169
+ double getArea() const;
170
+ double getLength() const;
171
+ double getLength(TriIndex i) const;
172
+
173
+ std::unique_ptr<Polygon> toPolygon(const GeometryFactory* gf) const;
174
+ static std::unique_ptr<Geometry> toGeometry(std::set<Tri*>& tris, const GeometryFactory* gf);
175
+
176
+ friend std::ostream& operator << (std::ostream& os, const Tri&);
177
+
178
+ };
179
+
180
+
181
+
182
+
183
+ } // namespace geos.triangulate.tri
184
+ } // namespace geos.triangulate
185
+ } // namespace geos
186
+
@@ -0,0 +1,80 @@
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/export.h>
18
+ #include <iostream>
19
+
20
+
21
+ // Forward declarations
22
+ namespace geos {
23
+ namespace geom {
24
+ class Coordinate;
25
+ }
26
+ }
27
+
28
+ using geos::geom::Coordinate;
29
+
30
+ namespace geos { // geos.
31
+ namespace triangulate { // geos.triangulate
32
+ namespace tri { // geos.triangulate.tri
33
+
34
+
35
+ /**
36
+ * Represents an edge in a {@link Tri},
37
+ * to be used as a key for looking up Tris
38
+ * while building a triangulation.
39
+ * The edge value is normalized to allow lookup
40
+ * of adjacent triangles.
41
+ *
42
+ * @author mdavis
43
+ */
44
+ class GEOS_DLL TriEdge {
45
+
46
+ private:
47
+
48
+ void normalize();
49
+
50
+
51
+ public:
52
+
53
+ // Members
54
+ Coordinate p0;
55
+ Coordinate p1;
56
+
57
+ TriEdge(const Coordinate& a, const Coordinate& b)
58
+ : p0(a)
59
+ , p1(b)
60
+ {
61
+ normalize();
62
+ }
63
+
64
+ struct GEOS_DLL HashCode {
65
+ std::size_t operator()(const TriEdge& te) const;
66
+ };
67
+
68
+ friend bool operator == (const TriEdge& te0, const TriEdge& te1);
69
+
70
+ friend std::ostream& operator << (std::ostream& os, const TriEdge& te);
71
+
72
+ };
73
+
74
+
75
+
76
+
77
+ } // namespace geos.triangulate.tri
78
+ } // namespace geos.triangulate
79
+ } // namespace geos
80
+