Skip to content
Permalink
Browse files

Javadoc updates for release 2.1.3

  • Loading branch information...
gwlucastrig committed Sep 9, 2019
1 parent e69c24b commit 8170a68b760c539a1470ed5806a3199469c71d6f
Showing with 12,114 additions and 1,737 deletions.
  1. +41 −3 core/src/main/java/org/tinfour/common/IIncrementalTin.java
  2. +11 −15 core/src/main/java/org/tinfour/semivirtual/SemiVirtualIncrementalTin.java
  3. +25 −9 core/src/main/java/org/tinfour/standard/IncrementalTin.java
  4. +6 −0 core/src/main/java/org/tinfour/utils/AxisIntervals.java
  5. +15 −3 doc/javadoc/allclasses-frame.html
  6. +15 −3 doc/javadoc/allclasses-noframe.html
  7. +20 −6 doc/javadoc/constant-values.html
  8. +26 −4 doc/javadoc/deprecated-list.html
  9. +4 −4 doc/javadoc/help-doc.html
  10. +596 −77 doc/javadoc/index-all.html
  11. +8 −7 doc/javadoc/index.html
  12. +4 −4 doc/javadoc/org/tinfour/common/BootstrapUtility.BootstrapTestResult.html
  13. +4 −4 doc/javadoc/org/tinfour/common/BootstrapUtility.html
  14. +4 −4 doc/javadoc/org/tinfour/common/Circumcircle.html
  15. +62 −22 doc/javadoc/org/tinfour/common/GeometricOperations.html
  16. +34 −9 doc/javadoc/org/tinfour/common/IConstraint.html
  17. +220 −37 doc/javadoc/org/tinfour/common/IIncrementalTin.html
  18. +391 −0 doc/javadoc/org/tinfour/common/IIncrementalTinNavigator.html
  19. +6 −6 doc/javadoc/org/tinfour/common/IIntegrityCheck.html
  20. +4 −4 doc/javadoc/org/tinfour/common/IMonitorWithCancellation.html
  21. +4 −4 doc/javadoc/org/tinfour/common/INeighborEdgeLocator.html
  22. +4 −4 doc/javadoc/org/tinfour/common/INeighborhoodPointsCollector.html
  23. +4 −4 doc/javadoc/org/tinfour/common/IPolyline.html
  24. +6 −6 doc/javadoc/org/tinfour/common/IProcessUsingTin.html
  25. +51 −11 doc/javadoc/org/tinfour/common/IQuadEdge.html
  26. +4 −4 doc/javadoc/org/tinfour/common/ISamplePoint.html
  27. +37 −10 doc/javadoc/org/tinfour/common/LinearConstraint.html
  28. +429 −0 doc/javadoc/org/tinfour/common/NearestEdgeResult.html
  29. +6 −6 doc/javadoc/org/tinfour/common/NeighborEdgeVertex.html
  30. +5 −5 doc/javadoc/org/tinfour/common/PolyLineConstraintAdapter.html
  31. +36 −9 doc/javadoc/org/tinfour/common/PolygonConstraint.html
  32. +150 −25 doc/javadoc/org/tinfour/common/SimpleTriangle.html
  33. +4 −4 doc/javadoc/org/tinfour/common/Thresholds.html
  34. +4 −4 doc/javadoc/org/tinfour/common/TriangleCount.html
  35. +37 −32 doc/javadoc/org/tinfour/common/Vertex.html
  36. +6 −6 doc/javadoc/org/tinfour/common/VertexAdjustment.html
  37. +4 −4 doc/javadoc/org/tinfour/common/VertexMergerGroup.ResolutionRule.html
  38. +12 −12 doc/javadoc/org/tinfour/common/VertexMergerGroup.html
  39. +6 −6 doc/javadoc/org/tinfour/common/class-use/BootstrapUtility.BootstrapTestResult.html
  40. +6 −6 doc/javadoc/org/tinfour/common/class-use/BootstrapUtility.html
  41. +6 −6 doc/javadoc/org/tinfour/common/class-use/Circumcircle.html
  42. +6 −6 doc/javadoc/org/tinfour/common/class-use/GeometricOperations.html
  43. +133 −8 doc/javadoc/org/tinfour/common/class-use/IConstraint.html
  44. +74 −19 doc/javadoc/org/tinfour/common/class-use/IIncrementalTin.html
  45. +223 −0 doc/javadoc/org/tinfour/common/class-use/IIncrementalTinNavigator.html
  46. +6 −6 doc/javadoc/org/tinfour/common/class-use/IIntegrityCheck.html
  47. +10 −10 doc/javadoc/org/tinfour/common/class-use/IMonitorWithCancellation.html
  48. +6 −6 doc/javadoc/org/tinfour/common/class-use/INeighborEdgeLocator.html
  49. +6 −6 doc/javadoc/org/tinfour/common/class-use/INeighborhoodPointsCollector.html
  50. +6 −6 doc/javadoc/org/tinfour/common/class-use/IPolyline.html
  51. +14 −7 doc/javadoc/org/tinfour/common/class-use/IProcessUsingTin.html
  52. +163 −30 doc/javadoc/org/tinfour/common/class-use/IQuadEdge.html
  53. +6 −6 doc/javadoc/org/tinfour/common/class-use/ISamplePoint.html
  54. +6 −6 doc/javadoc/org/tinfour/common/class-use/LinearConstraint.html
  55. +172 −0 doc/javadoc/org/tinfour/common/class-use/NearestEdgeResult.html
  56. +6 −6 doc/javadoc/org/tinfour/common/class-use/NeighborEdgeVertex.html
  57. +6 −6 doc/javadoc/org/tinfour/common/class-use/PolyLineConstraintAdapter.html
  58. +6 −6 doc/javadoc/org/tinfour/common/class-use/PolygonConstraint.html
  59. +35 −6 doc/javadoc/org/tinfour/common/class-use/SimpleTriangle.html
  60. +10 −10 doc/javadoc/org/tinfour/common/class-use/Thresholds.html
  61. +6 −6 doc/javadoc/org/tinfour/common/class-use/TriangleCount.html
  62. +113 −50 doc/javadoc/org/tinfour/common/class-use/Vertex.html
  63. +6 −6 doc/javadoc/org/tinfour/common/class-use/VertexAdjustment.html
  64. +6 −6 doc/javadoc/org/tinfour/common/class-use/VertexMergerGroup.ResolutionRule.html
  65. +6 −6 doc/javadoc/org/tinfour/common/class-use/VertexMergerGroup.html
  66. +5 −3 doc/javadoc/org/tinfour/common/package-frame.html
  67. +37 −23 doc/javadoc/org/tinfour/common/package-summary.html
  68. +8 −6 doc/javadoc/org/tinfour/common/package-tree.html
  69. +100 −40 doc/javadoc/org/tinfour/common/package-use.html
  70. +358 −0 doc/javadoc/org/tinfour/contour/Contour.ContourType.html
  71. +532 −0 doc/javadoc/org/tinfour/contour/Contour.html
  72. +394 −0 doc/javadoc/org/tinfour/contour/ContourBuilderForTin.html
  73. +357 −0 doc/javadoc/org/tinfour/contour/ContourRegion.ContourRegionType.html
  74. +521 −0 doc/javadoc/org/tinfour/contour/ContourRegion.html
  75. +183 −0 doc/javadoc/org/tinfour/contour/class-use/Contour.ContourType.html
  76. +170 −0 doc/javadoc/org/tinfour/contour/class-use/Contour.html
  77. +126 −0 doc/javadoc/org/tinfour/contour/class-use/ContourBuilderForTin.html
  78. +177 −0 doc/javadoc/org/tinfour/contour/class-use/ContourRegion.ContourRegionType.html
  79. +175 −0 doc/javadoc/org/tinfour/contour/class-use/ContourRegion.html
  80. +28 −0 doc/javadoc/org/tinfour/contour/package-frame.html
  81. +192 −0 doc/javadoc/org/tinfour/contour/package-summary.html
  82. +154 −0 doc/javadoc/org/tinfour/contour/package-tree.html
  83. +179 −0 doc/javadoc/org/tinfour/contour/package-use.html
  84. +138 −21 doc/javadoc/org/tinfour/edge/EdgePool.html
  85. +68 −20 doc/javadoc/org/tinfour/edge/QuadEdge.html
  86. +44 −5 doc/javadoc/org/tinfour/edge/QuadEdgeConstants.html
  87. +4 −4 doc/javadoc/org/tinfour/edge/QuadEdgePinwheel.html
  88. +6 −6 doc/javadoc/org/tinfour/edge/class-use/EdgePool.html
  89. +6 −6 doc/javadoc/org/tinfour/edge/class-use/QuadEdge.html
  90. +6 −6 doc/javadoc/org/tinfour/edge/class-use/QuadEdgeConstants.html
  91. +6 −6 doc/javadoc/org/tinfour/edge/class-use/QuadEdgePinwheel.html
  92. +3 −3 doc/javadoc/org/tinfour/edge/package-frame.html
  93. +6 −6 doc/javadoc/org/tinfour/edge/package-summary.html
  94. +6 −6 doc/javadoc/org/tinfour/edge/package-tree.html
  95. +4 −4 doc/javadoc/org/tinfour/edge/package-use.html
  96. +4 −4 doc/javadoc/org/tinfour/interpolation/IInterpolatorOverTin.html
  97. +5 −5 doc/javadoc/org/tinfour/interpolation/IVertexValuator.html
  98. +5 −5 doc/javadoc/org/tinfour/interpolation/NaturalNeighborInterpolator.html
  99. +4 −4 doc/javadoc/org/tinfour/interpolation/TriangularFacetInterpolator.html
  100. +4 −4 doc/javadoc/org/tinfour/interpolation/VertexValuatorDefault.html
  101. +6 −6 doc/javadoc/org/tinfour/interpolation/class-use/IInterpolatorOverTin.html
  102. +67 −11 doc/javadoc/org/tinfour/interpolation/class-use/IVertexValuator.html
  103. +6 −6 doc/javadoc/org/tinfour/interpolation/class-use/NaturalNeighborInterpolator.html
  104. +6 −6 doc/javadoc/org/tinfour/interpolation/class-use/TriangularFacetInterpolator.html
  105. +6 −6 doc/javadoc/org/tinfour/interpolation/class-use/VertexValuatorDefault.html
  106. +3 −3 doc/javadoc/org/tinfour/interpolation/package-frame.html
  107. +4 −4 doc/javadoc/org/tinfour/interpolation/package-summary.html
  108. +4 −4 doc/javadoc/org/tinfour/interpolation/package-tree.html
  109. +52 −4 doc/javadoc/org/tinfour/interpolation/package-use.html
  110. +4 −4 doc/javadoc/org/tinfour/io/BufferedRandomAccessReader.html
  111. +10 −7 doc/javadoc/org/tinfour/io/DelimitedReader.html
  112. +6 −6 doc/javadoc/org/tinfour/io/class-use/BufferedRandomAccessReader.html
  113. +6 −6 doc/javadoc/org/tinfour/io/class-use/DelimitedReader.html
  114. +3 −3 doc/javadoc/org/tinfour/io/package-frame.html
  115. +4 −4 doc/javadoc/org/tinfour/io/package-summary.html
  116. +4 −4 doc/javadoc/org/tinfour/io/package-tree.html
  117. +4 −4 doc/javadoc/org/tinfour/io/package-use.html
  118. +115 −73 doc/javadoc/org/tinfour/semivirtual/SemiVirtualEdge.html
  119. +200 −45 doc/javadoc/org/tinfour/semivirtual/SemiVirtualIncrementalTin.html
  120. +4 −4 doc/javadoc/org/tinfour/semivirtual/SemiVirtualStochasticLawsonsWalk.html
  121. +20 −21 doc/javadoc/org/tinfour/semivirtual/class-use/SemiVirtualEdge.html
  122. +6 −6 doc/javadoc/org/tinfour/semivirtual/class-use/SemiVirtualIncrementalTin.html
  123. +6 −6 doc/javadoc/org/tinfour/semivirtual/class-use/SemiVirtualStochasticLawsonsWalk.html
  124. +3 −3 doc/javadoc/org/tinfour/semivirtual/package-frame.html
  125. +7 −7 doc/javadoc/org/tinfour/semivirtual/package-summary.html
  126. +4 −4 doc/javadoc/org/tinfour/semivirtual/package-tree.html
  127. +7 −7 doc/javadoc/org/tinfour/semivirtual/package-use.html
  128. +209 −36 doc/javadoc/org/tinfour/standard/IncrementalTin.html
  129. +4 −4 doc/javadoc/org/tinfour/standard/IntegrityCheck.html
  130. +4 −4 doc/javadoc/org/tinfour/standard/StochasticLawsonsWalk.html
  131. +6 −6 doc/javadoc/org/tinfour/standard/class-use/IncrementalTin.html
  132. +6 −6 doc/javadoc/org/tinfour/standard/class-use/IntegrityCheck.html
  133. +6 −6 doc/javadoc/org/tinfour/standard/class-use/StochasticLawsonsWalk.html
  134. +3 −3 doc/javadoc/org/tinfour/standard/package-frame.html
  135. +4 −4 doc/javadoc/org/tinfour/standard/package-summary.html
  136. +4 −4 doc/javadoc/org/tinfour/standard/package-tree.html
  137. +4 −4 doc/javadoc/org/tinfour/standard/package-use.html
  138. +92 −19 doc/javadoc/org/tinfour/utils/AxisIntervals.html
  139. +408 −0 doc/javadoc/org/tinfour/utils/GridFileReader.html
  140. +4 −4 doc/javadoc/org/tinfour/utils/GridSpecification.CellPosition.html
  141. +6 −6 doc/javadoc/org/tinfour/utils/GridSpecification.html
  142. +4 −4 doc/javadoc/org/tinfour/utils/HilbertSort.html
  143. +4 −4 doc/javadoc/org/tinfour/utils/KahanSummation.html
  144. +4 −4 doc/javadoc/org/tinfour/utils/LinearUnits.html
  145. +4 −4 doc/javadoc/org/tinfour/utils/NearestNeighborPointCollector.html
  146. +4 −4 doc/javadoc/org/tinfour/utils/PolylineThinner.html
  147. +6 −6 doc/javadoc/org/tinfour/utils/Polyside.Result.html
  148. +4 −4 doc/javadoc/org/tinfour/utils/Polyside.html
  149. +417 −0 doc/javadoc/org/tinfour/utils/SmoothingFilter.html
  150. +309 −0 doc/javadoc/org/tinfour/utils/SmoothingFilterInitializer.html
  151. +4 −4 doc/javadoc/org/tinfour/utils/TinInstantiationUtility.html
  152. +6 −6 doc/javadoc/org/tinfour/utils/Tincalc.html
  153. +4 −4 doc/javadoc/org/tinfour/utils/TriangleCollector.html
  154. +4 −4 doc/javadoc/org/tinfour/utils/VertexColorizerKempe6.html
  155. +17 −6 doc/javadoc/org/tinfour/utils/class-use/AxisIntervals.html
  156. +126 −0 doc/javadoc/org/tinfour/utils/class-use/GridFileReader.html
  157. +6 −6 doc/javadoc/org/tinfour/utils/class-use/GridSpecification.CellPosition.html
  158. +51 −7 doc/javadoc/org/tinfour/utils/class-use/GridSpecification.html
  159. +6 −6 doc/javadoc/org/tinfour/utils/class-use/HilbertSort.html
  160. +6 −6 doc/javadoc/org/tinfour/utils/class-use/KahanSummation.html
  161. +10 −10 doc/javadoc/org/tinfour/utils/class-use/LinearUnits.html
  162. +6 −6 doc/javadoc/org/tinfour/utils/class-use/NearestNeighborPointCollector.html
  163. +6 −6 doc/javadoc/org/tinfour/utils/class-use/PolylineThinner.html
  164. +6 −6 doc/javadoc/org/tinfour/utils/class-use/Polyside.Result.html
  165. +6 −6 doc/javadoc/org/tinfour/utils/class-use/Polyside.html
  166. +126 −0 doc/javadoc/org/tinfour/utils/class-use/SmoothingFilter.html
  167. +126 −0 doc/javadoc/org/tinfour/utils/class-use/SmoothingFilterInitializer.html
  168. +6 −6 doc/javadoc/org/tinfour/utils/class-use/TinInstantiationUtility.html
  169. +6 −6 doc/javadoc/org/tinfour/utils/class-use/Tincalc.html
  170. +6 −6 doc/javadoc/org/tinfour/utils/class-use/TriangleCollector.html
  171. +6 −6 doc/javadoc/org/tinfour/utils/class-use/VertexColorizerKempe6.html
  172. +4 −4 doc/javadoc/org/tinfour/utils/loaders/CoordinatePair.html
  173. +4 −4 doc/javadoc/org/tinfour/utils/loaders/ICoordinateTransform.html
  174. +4 −4 doc/javadoc/org/tinfour/utils/loaders/IVertexReader.html
  175. +4 −4 doc/javadoc/org/tinfour/utils/loaders/SimpleGeographicTransform.html
  176. +10 −4 doc/javadoc/org/tinfour/utils/loaders/VertexReaderText.html
  177. +16 −16 doc/javadoc/org/tinfour/utils/loaders/class-use/CoordinatePair.html
  178. +10 −10 doc/javadoc/org/tinfour/utils/loaders/class-use/ICoordinateTransform.html
  179. +6 −6 doc/javadoc/org/tinfour/utils/loaders/class-use/IVertexReader.html
  180. +6 −6 doc/javadoc/org/tinfour/utils/loaders/class-use/SimpleGeographicTransform.html
  181. +6 −6 doc/javadoc/org/tinfour/utils/loaders/class-use/VertexReaderText.html
  182. +3 −3 doc/javadoc/org/tinfour/utils/loaders/package-frame.html
  183. +6 −6 doc/javadoc/org/tinfour/utils/loaders/package-summary.html
  184. +6 −6 doc/javadoc/org/tinfour/utils/loaders/package-tree.html
  185. +4 −4 doc/javadoc/org/tinfour/utils/loaders/package-use.html
  186. +6 −3 doc/javadoc/org/tinfour/utils/package-frame.html
  187. +35 −12 doc/javadoc/org/tinfour/utils/package-summary.html
  188. +8 −5 doc/javadoc/org/tinfour/utils/package-tree.html
  189. +12 −6 doc/javadoc/org/tinfour/utils/package-use.html
  190. +477 −0 doc/javadoc/org/tinfour/utils/rendering/RenderingSurfaceAid.html
  191. +407 −0 doc/javadoc/org/tinfour/utils/rendering/RenderingTransformAid.html
  192. +126 −0 doc/javadoc/org/tinfour/utils/rendering/class-use/RenderingSurfaceAid.html
  193. +126 −0 doc/javadoc/org/tinfour/utils/rendering/class-use/RenderingTransformAid.html
  194. +22 −0 doc/javadoc/org/tinfour/utils/rendering/package-frame.html
  195. +165 −0 doc/javadoc/org/tinfour/utils/rendering/package-summary.html
  196. +140 −0 doc/javadoc/org/tinfour/utils/rendering/package-tree.html
  197. +126 −0 doc/javadoc/org/tinfour/utils/rendering/package-use.html
  198. +68 −68 doc/javadoc/org/tinfour/vividsolutions/jts/math/DD.html
  199. +38 −38 doc/javadoc/org/tinfour/vividsolutions/jts/math/class-use/DD.html
  200. +3 −3 doc/javadoc/org/tinfour/vividsolutions/jts/math/package-frame.html
  201. +6 −6 doc/javadoc/org/tinfour/vividsolutions/jts/math/package-summary.html
  202. +6 −6 doc/javadoc/org/tinfour/vividsolutions/jts/math/package-tree.html
  203. +4 −4 doc/javadoc/org/tinfour/vividsolutions/jts/math/package-use.html
  204. +4 −4 doc/javadoc/org/tinfour/voronoi/BoundedVoronoiBuildOptions.html
  205. +4 −4 doc/javadoc/org/tinfour/voronoi/BoundedVoronoiDiagram.html
  206. +4 −4 doc/javadoc/org/tinfour/voronoi/BoundedVoronoiDrawingUtility.html
  207. +4 −4 doc/javadoc/org/tinfour/voronoi/BoundedVoronoiIntegrityCheck.html
  208. +4 −4 doc/javadoc/org/tinfour/voronoi/BoundedVoronoiRenderingType.html
  209. +4 −4 doc/javadoc/org/tinfour/voronoi/BoundedVoronoiStylerAdapter.html
  210. +45 −8 doc/javadoc/org/tinfour/voronoi/BoundedVoronoiStylerDefault.html
  211. +4 −4 doc/javadoc/org/tinfour/voronoi/BoundedVoronoiVertexSymbol.html
  212. +4 −4 doc/javadoc/org/tinfour/voronoi/IBoundedVoronoiStyler.html
  213. +4 −4 doc/javadoc/org/tinfour/voronoi/IBoundedVoronoiVertexSymbol.html
  214. +4 −4 doc/javadoc/org/tinfour/voronoi/ThiessenPolygon.html
  215. +6 −6 doc/javadoc/org/tinfour/voronoi/class-use/BoundedVoronoiBuildOptions.html
  216. +6 −6 doc/javadoc/org/tinfour/voronoi/class-use/BoundedVoronoiDiagram.html
  217. +6 −6 doc/javadoc/org/tinfour/voronoi/class-use/BoundedVoronoiDrawingUtility.html
  218. +6 −6 doc/javadoc/org/tinfour/voronoi/class-use/BoundedVoronoiIntegrityCheck.html
  219. +17 −17 doc/javadoc/org/tinfour/voronoi/class-use/BoundedVoronoiRenderingType.html
  220. +6 −6 doc/javadoc/org/tinfour/voronoi/class-use/BoundedVoronoiStylerAdapter.html
  221. +6 −6 doc/javadoc/org/tinfour/voronoi/class-use/BoundedVoronoiStylerDefault.html
  222. +6 −6 doc/javadoc/org/tinfour/voronoi/class-use/BoundedVoronoiVertexSymbol.html
  223. +6 −6 doc/javadoc/org/tinfour/voronoi/class-use/IBoundedVoronoiStyler.html
  224. +12 −12 doc/javadoc/org/tinfour/voronoi/class-use/IBoundedVoronoiVertexSymbol.html
  225. +31 −31 doc/javadoc/org/tinfour/voronoi/class-use/ThiessenPolygon.html
  226. +3 −3 doc/javadoc/org/tinfour/voronoi/package-frame.html
  227. +4 −4 doc/javadoc/org/tinfour/voronoi/package-summary.html
  228. +4 −4 doc/javadoc/org/tinfour/voronoi/package-tree.html
  229. +4 −4 doc/javadoc/org/tinfour/voronoi/package-use.html
  230. +5 −3 doc/javadoc/overview-frame.html
  231. +24 −11 doc/javadoc/overview-summary.html
  232. +21 −7 doc/javadoc/overview-tree.html
  233. +2 −0 doc/javadoc/package-list
  234. +4 −4 doc/javadoc/serialized-form.html
@@ -36,9 +36,47 @@

/**
* Defines the primary methods used by an incremental TIN
* implementation. The intended purpose of this interface is to support
* automatic testing of different TIN implementations or to compare the
* results of experimental changes.
* implementation.
* <h1>Implementations</h1>
* Currently, the Tinfour software library includes two implementations
* of this interface: IncrementalTin in the package org.tinfour.standard,
* and SemiVirtualIncrementalTin in the package org.tinfour.semivirtual.
* The two classes produce nearly identical output data. The standard
* IncrementalTin implementation is faster and simpler than its counterpart,
* but the semi-virtual implementation reduces memory use by a factor
* of two. Under Java, IncrementalTin requires approximately 244 bytes per
* vertex while the semi-virtual form requires about 120.
* <p>
* The main difference between the two implementations is that standard
* incremental-TIN implementation represents each edge as an explicitly
* constructed pair of objects (using the QuadEdge class) while the semi-virtual
* implementation stores the raw data for vertices in memory and constructs
* edge objects on-the-fly (using the SemiVirtualEdge class).
* The semi-virtual approach has some processing overhead in that each
* time an edge is required, it must be constructed and then allowed to
* go out-of-scope. This approach results in about a 30 percent reduction
* in the speed at which vertices can be added to the TIN. But by relying on
* short-persistence edge objects, the semi-virtual class reduces the
* number of objects kept in memory and the overall memory use.
* The standard implementation classes uses about 7.005 objects per vertex
* (including vertices, edges, and collections for management), while the
* semi-virtual implementation uses about persistent 1.012 objects per vertex.
* <h2>Usage Notes</h2>
* <h3>Purpose of this Interface</h3>
* The intended purpose of this interface is to allow application
* code to use the two classes interchangeably. Applications may select
* which implementation is constructed at run-time based on the size
* of their input data sets.
* <h3>Multi-Threading and Concurrency</h3>
* The process of creating a Delaunay Triangulation (TIN) using an
* incremental-insertion technique is inherently serial. Therefore, application
* code that creates a TIN should not attempt to access the "add" methods
* for this interface in parallel threads. However, this API is designed so
* that once a TIN is complete, it can be accessed by multiple threads
* on a read-only basis.
* Multi-threaded access is particularly useful when performing
* surface-interpolation operations to construct raster (grid) representations
* of data.
*/
public interface IIncrementalTin {

@@ -63,16 +63,16 @@
* information and tactics for using this class,
* see the documentation for the IncrementalTin class.
* <p>
* The IncrementalTin class uses an implementation of the quad-edge structure
* popularized by Guibas and Stolfi. While this structure leads to
* elegant code, the nature of the Java language (and object-oriented coding
* in general) results in relatively expensive memory requirements,
* approximately 244 bytes per vertex inserted into the TIN (counting the
* storage for both edges and vertices). Since it is common for lidar
* data sets to include multiple-millions of points, that memory use
* adds up fast.
* The counterpart to this class, IncrementalTin, uses a direct implementation
* of the quad-edge structure popularized by Guibas and Stolfi. While that
* approach leads to elegant code, the nature of the Java language
* (and object-oriented languages in general) results in relatively expensive
* memory requirements, approximately 244 bytes per vertex inserted into the TIN
* (counting the storage for both edges and vertices). Since it is common for
* many geophysical data sets to include multiple-millions of points,
* that memory use adds up fast.
* <p>
* This implementation reduces memory requirements by representing
* This class reduces memory requirements by representing
* the edge-link relationships with internal integer arrays
* and numerical indexing rather than object references. By keeping the edge
* relationship data in "virtual form", the implementation reduces the
@@ -82,7 +82,7 @@
* of the edge structures.
* <p>
* Unfortunately, this reduction comes with a cost. In testing, the
* virtual implementation requires approximately 60 percent more runtime
* virtual implementation requires approximately 30 percent more runtime
* to process vertices than the direct implementation. Both
* implementations experience a degradation of throughput when the
* memory use approaches the maximum allowed by the JVM (specified
@@ -96,11 +96,7 @@
* objects per vertex (including vertices and edges) while the virtual
* implementation uses only about 1.012. This reduction can be
* valuable in reducing the impact of garbage collection when processing
* large data sets.
* <h1>Support for the Constrained Delaunay Triangulation (CDT)</h1>
* Support for the Constrained Delaunay Triangulation (CDT) is
* not yet implemented for this class. Please use the Standard
* IncrementalTin class when constraints are required.
* large data sets..
* <h1>Methods and References</h1>
* A good review of point location using a stochastic Lawson's walk
* is provided by <cite>Soukal, R.; Ma&#769;lkova&#769;, Kolingerova&#769;
@@ -125,7 +125,7 @@
* bytes per object. Thus for each vertex, it requires (1+3*2)x12 = 84 bytes of
* overhead.
* <h2>Performance</h2>
* <h3>Managing overhead due to object construction</h3>
* <h3>Managing the performance cost of object construction</h3>
* Testing indicates that the most time-consuming part of the TIN construction
* operation is the construction of Java objects. As noted above, this class
* requires 6 edge-related objects per vertex. Although this overhead is
@@ -158,19 +158,25 @@
* nearly same coordinates, this class maintains a "merged group" of vertices.
* Rules for disambiguating the values of a merged group my be specified using a
* call to the setResolutionRuleForMergedVertices() method.
* <h3>Sequential locality</h3>
* <h3>Sequential spatial autocorrelation</h3>
* <p>
* Inserting a vertex into a TIN depends on identifying the triangle that
* contains an insertion vertex (if any). This class uses the Stochastic
* Lawson's Walk algorithm (SLW) that is most efficient when subsequent vertices
* tend to be spaced close together. This condition is usually met by lidar data
* because its measurements are derived from scanning lasers and stored in order
* taken. Other data sources may not be compliant. Randomly generated data
* tend to be spaced close together. Fortunately, this condition is met by
* many real-world data collection systems. For example, airborne-lidar systems
* tend to produce a sequence of samples that are closely spaced in
* terms of horizontal coordinates because they collect measurements
* using scanning lasers and storing them in the order they are
* taken.
* <p>
* Other data sources may not be compliant. Randomly generated data
* points, in particular, may be problematic. For such data, there may be a
* performance benefit in using the HilbertSort class to pre-order points before
* insertion so that sequential locality is provided by the input data.
* insertion so that sequential spatial autocorrelation is provided by the
* input data.
* <p>
* One way to judge the degree of sequential locality in an input set of
* One way to judge the degree of sequential spacial autocorrelation in a set of
* vertices is to view the output of the printDiagnostics() method after
* building a TIN. Under the entry for the SLW statistics, the "average steps to
* completion" indicates how many comparisons were needed to locate vertices. If
@@ -179,7 +185,7 @@
* <h3>Cleaning up when finished</h3>
* <p>
* Because of the complex relationships between objects in a TIN, Java garbage
* collection may require an above average number of passes to clean up memory
* collection may require an above-average number of passes to clean up memory
* when an instance of this class goes out-of-scope. The dispose() method can be
* used to expedite garbage collection. Once the dispose() method is called on a
* TIN, it cannot be reused. Do not confuse dispose() with clear().
@@ -204,6 +210,16 @@
* have to be discarded (and garbage collected) before the entire vertex set was
* processed. Doing so would substantially degrade the performance of this
* class.
* <h3>Multi-Threading and Concurrency</h3>
* The process of creating a Delaunay Triangulation (TIN) using an
* incremental-insertion technique is inherently serial. Therefore, application
* code that creates a TIN should not attempt to access the "add" methods
* for this class in parallel threads. However, this API is designed so
* that once a TIN is complete, it can be accessed by multiple threads
* on a read-only basis.
* Multi-threaded access is particularly useful when performing
* surface-interpolation operations to construct raster (grid) representations
* of data.
* <h1>Methods and References</h1>
* <p>
* A good review of point location using a stochastic Lawson's walk is provided
@@ -1764,7 +1780,7 @@ public void setResolutionRuleForMergedVertices(
return vList;
}

// Code related to the addition of constraints ------------------------

@Override
public boolean isPointInsideTin(double x, double y) {
if (this.isBootstrapped) {
@@ -32,6 +32,12 @@
/**
* Provides a utility for computing the intervals for labeling
* a coordinate axis in a legend or other graph.
* <p>
* This class is used in many of the demonstration applications supplied
* with the Tinfour software library. For example, it is used to select intervals
* for legends in color-coded surface representations. It is used to
* label axes in trend-line graphs. And it is also used to pick contour
* intervals in contour-rendering applications.
*/
@SuppressWarnings("PMD.AvoidDeeplyNestedIfStmts")
public final class AxisIntervals {
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_91) on Wed Jan 23 19:57:31 EST 2019 -->
<!-- Generated by javadoc (1.8.0_211) on Mon Sep 09 05:32:49 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (Core 2.0-SNAPSHOT API)</title>
<meta name="date" content="2019-01-23">
<title>All Classes (Core 2.1.3 API)</title>
<meta name="date" content="2019-09-09">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
@@ -26,11 +26,17 @@ <h1 class="bar">All&nbsp;Classes</h1>
<li><a href="org/tinfour/voronoi/BoundedVoronoiVertexSymbol.html" title="class in org.tinfour.voronoi" target="classFrame">BoundedVoronoiVertexSymbol</a></li>
<li><a href="org/tinfour/io/BufferedRandomAccessReader.html" title="class in org.tinfour.io" target="classFrame">BufferedRandomAccessReader</a></li>
<li><a href="org/tinfour/common/Circumcircle.html" title="class in org.tinfour.common" target="classFrame">Circumcircle</a></li>
<li><a href="org/tinfour/contour/Contour.html" title="class in org.tinfour.contour" target="classFrame">Contour</a></li>
<li><a href="org/tinfour/contour/Contour.ContourType.html" title="enum in org.tinfour.contour" target="classFrame">Contour.ContourType</a></li>
<li><a href="org/tinfour/contour/ContourBuilderForTin.html" title="class in org.tinfour.contour" target="classFrame">ContourBuilderForTin</a></li>
<li><a href="org/tinfour/contour/ContourRegion.html" title="class in org.tinfour.contour" target="classFrame">ContourRegion</a></li>
<li><a href="org/tinfour/contour/ContourRegion.ContourRegionType.html" title="enum in org.tinfour.contour" target="classFrame">ContourRegion.ContourRegionType</a></li>
<li><a href="org/tinfour/utils/loaders/CoordinatePair.html" title="class in org.tinfour.utils.loaders" target="classFrame">CoordinatePair</a></li>
<li><a href="org/tinfour/vividsolutions/jts/math/DD.html" title="class in org.tinfour.vividsolutions.jts.math" target="classFrame">DD</a></li>
<li><a href="org/tinfour/io/DelimitedReader.html" title="class in org.tinfour.io" target="classFrame">DelimitedReader</a></li>
<li><a href="org/tinfour/edge/EdgePool.html" title="class in org.tinfour.edge" target="classFrame">EdgePool</a></li>
<li><a href="org/tinfour/common/GeometricOperations.html" title="class in org.tinfour.common" target="classFrame">GeometricOperations</a></li>
<li><a href="org/tinfour/utils/GridFileReader.html" title="class in org.tinfour.utils" target="classFrame">GridFileReader</a></li>
<li><a href="org/tinfour/utils/GridSpecification.html" title="class in org.tinfour.utils" target="classFrame">GridSpecification</a></li>
<li><a href="org/tinfour/utils/GridSpecification.CellPosition.html" title="enum in org.tinfour.utils" target="classFrame">GridSpecification.CellPosition</a></li>
<li><a href="org/tinfour/utils/HilbertSort.html" title="class in org.tinfour.utils" target="classFrame">HilbertSort</a></li>
@@ -39,6 +45,7 @@ <h1 class="bar">All&nbsp;Classes</h1>
<li><a href="org/tinfour/common/IConstraint.html" title="interface in org.tinfour.common" target="classFrame"><span class="interfaceName">IConstraint</span></a></li>
<li><a href="org/tinfour/utils/loaders/ICoordinateTransform.html" title="interface in org.tinfour.utils.loaders" target="classFrame"><span class="interfaceName">ICoordinateTransform</span></a></li>
<li><a href="org/tinfour/common/IIncrementalTin.html" title="interface in org.tinfour.common" target="classFrame"><span class="interfaceName">IIncrementalTin</span></a></li>
<li><a href="org/tinfour/common/IIncrementalTinNavigator.html" title="interface in org.tinfour.common" target="classFrame"><span class="interfaceName">IIncrementalTinNavigator</span></a></li>
<li><a href="org/tinfour/common/IIntegrityCheck.html" title="interface in org.tinfour.common" target="classFrame"><span class="interfaceName">IIntegrityCheck</span></a></li>
<li><a href="org/tinfour/interpolation/IInterpolatorOverTin.html" title="interface in org.tinfour.interpolation" target="classFrame"><span class="interfaceName">IInterpolatorOverTin</span></a></li>
<li><a href="org/tinfour/common/IMonitorWithCancellation.html" title="interface in org.tinfour.common" target="classFrame"><span class="interfaceName">IMonitorWithCancellation</span></a></li>
@@ -56,6 +63,7 @@ <h1 class="bar">All&nbsp;Classes</h1>
<li><a href="org/tinfour/common/LinearConstraint.html" title="class in org.tinfour.common" target="classFrame">LinearConstraint</a></li>
<li><a href="org/tinfour/utils/LinearUnits.html" title="enum in org.tinfour.utils" target="classFrame">LinearUnits</a></li>
<li><a href="org/tinfour/interpolation/NaturalNeighborInterpolator.html" title="class in org.tinfour.interpolation" target="classFrame">NaturalNeighborInterpolator</a></li>
<li><a href="org/tinfour/common/NearestEdgeResult.html" title="class in org.tinfour.common" target="classFrame">NearestEdgeResult</a></li>
<li><a href="org/tinfour/utils/NearestNeighborPointCollector.html" title="class in org.tinfour.utils" target="classFrame">NearestNeighborPointCollector</a></li>
<li><a href="org/tinfour/common/NeighborEdgeVertex.html" title="class in org.tinfour.common" target="classFrame">NeighborEdgeVertex</a></li>
<li><a href="org/tinfour/common/PolygonConstraint.html" title="class in org.tinfour.common" target="classFrame">PolygonConstraint</a></li>
@@ -66,11 +74,15 @@ <h1 class="bar">All&nbsp;Classes</h1>
<li><a href="org/tinfour/edge/QuadEdge.html" title="class in org.tinfour.edge" target="classFrame">QuadEdge</a></li>
<li><a href="org/tinfour/edge/QuadEdgeConstants.html" title="class in org.tinfour.edge" target="classFrame">QuadEdgeConstants</a></li>
<li><a href="org/tinfour/edge/QuadEdgePinwheel.html" title="class in org.tinfour.edge" target="classFrame">QuadEdgePinwheel</a></li>
<li><a href="org/tinfour/utils/rendering/RenderingSurfaceAid.html" title="class in org.tinfour.utils.rendering" target="classFrame">RenderingSurfaceAid</a></li>
<li><a href="org/tinfour/utils/rendering/RenderingTransformAid.html" title="class in org.tinfour.utils.rendering" target="classFrame">RenderingTransformAid</a></li>
<li><a href="org/tinfour/semivirtual/SemiVirtualEdge.html" title="class in org.tinfour.semivirtual" target="classFrame">SemiVirtualEdge</a></li>
<li><a href="org/tinfour/semivirtual/SemiVirtualIncrementalTin.html" title="class in org.tinfour.semivirtual" target="classFrame">SemiVirtualIncrementalTin</a></li>
<li><a href="org/tinfour/semivirtual/SemiVirtualStochasticLawsonsWalk.html" title="class in org.tinfour.semivirtual" target="classFrame">SemiVirtualStochasticLawsonsWalk</a></li>
<li><a href="org/tinfour/utils/loaders/SimpleGeographicTransform.html" title="class in org.tinfour.utils.loaders" target="classFrame">SimpleGeographicTransform</a></li>
<li><a href="org/tinfour/common/SimpleTriangle.html" title="class in org.tinfour.common" target="classFrame">SimpleTriangle</a></li>
<li><a href="org/tinfour/utils/SmoothingFilter.html" title="class in org.tinfour.utils" target="classFrame">SmoothingFilter</a></li>
<li><a href="org/tinfour/utils/SmoothingFilterInitializer.html" title="class in org.tinfour.utils" target="classFrame">SmoothingFilterInitializer</a></li>
<li><a href="org/tinfour/standard/StochasticLawsonsWalk.html" title="class in org.tinfour.standard" target="classFrame">StochasticLawsonsWalk</a></li>
<li><a href="org/tinfour/voronoi/ThiessenPolygon.html" title="class in org.tinfour.voronoi" target="classFrame">ThiessenPolygon</a></li>
<li><a href="org/tinfour/common/Thresholds.html" title="class in org.tinfour.common" target="classFrame">Thresholds</a></li>

0 comments on commit 8170a68

Please sign in to comment.
You can’t perform that action at this time.