@itwin/core-geometry 4.4.0-dev.8 → 4.5.0-dev.0

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 (299) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/Geometry.d.ts +17 -0
  3. package/lib/cjs/Geometry.d.ts.map +1 -1
  4. package/lib/cjs/Geometry.js +14 -0
  5. package/lib/cjs/Geometry.js.map +1 -1
  6. package/lib/cjs/core-geometry.d.ts +3 -2
  7. package/lib/cjs/core-geometry.d.ts.map +1 -1
  8. package/lib/cjs/core-geometry.js +3 -2
  9. package/lib/cjs/core-geometry.js.map +1 -1
  10. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +2 -2
  11. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +3 -3
  12. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  13. package/lib/cjs/curve/CurveExtendMode.d.ts +7 -6
  14. package/lib/cjs/curve/CurveExtendMode.d.ts.map +1 -1
  15. package/lib/cjs/curve/CurveExtendMode.js +7 -6
  16. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  17. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  18. package/lib/cjs/curve/CurveLocationDetail.js +23 -18
  19. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  20. package/lib/cjs/curve/LineSegment3d.d.ts +14 -4
  21. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  22. package/lib/cjs/curve/LineSegment3d.js +107 -2
  23. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  24. package/lib/cjs/curve/LineString3d.d.ts +41 -8
  25. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  26. package/lib/cjs/curve/LineString3d.js +53 -15
  27. package/lib/cjs/curve/LineString3d.js.map +1 -1
  28. package/lib/cjs/curve/Loop.js +1 -1
  29. package/lib/cjs/curve/Loop.js.map +1 -1
  30. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts +2 -2
  31. package/lib/cjs/curve/Query/PlanarSubdivision.js +2 -2
  32. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  33. package/lib/cjs/curve/RegionOps.d.ts +1 -2
  34. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  35. package/lib/cjs/curve/RegionOps.js.map +1 -1
  36. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts +5 -8
  37. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  38. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +12 -12
  39. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  40. package/lib/cjs/geometry3d/GrowableXYArray.d.ts +2 -2
  41. package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -1
  42. package/lib/cjs/geometry3d/GrowableXYArray.js +1 -1
  43. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  44. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +2 -3
  45. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  46. package/lib/cjs/geometry3d/GrowableXYZArray.js +1 -1
  47. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  48. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +18 -1
  49. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  50. package/lib/cjs/geometry3d/IndexedXYZCollection.js +13 -0
  51. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  52. package/lib/cjs/geometry3d/PointHelpers.d.ts +1 -2
  53. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  54. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  55. package/lib/cjs/geometry3d/PointStreaming.d.ts +1 -1
  56. package/lib/cjs/geometry3d/PointStreaming.d.ts.map +1 -1
  57. package/lib/cjs/geometry3d/PointStreaming.js +3 -1
  58. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  59. package/lib/cjs/geometry3d/PolygonOps.d.ts +68 -1
  60. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  61. package/lib/cjs/geometry3d/PolygonOps.js +152 -4
  62. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  63. package/lib/cjs/geometry3d/PolylineOps.d.ts +23 -1
  64. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  65. package/lib/cjs/geometry3d/PolylineOps.js +73 -1
  66. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  67. package/lib/cjs/geometry3d/Range.d.ts +1 -1
  68. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  69. package/lib/cjs/geometry3d/Range.js.map +1 -1
  70. package/lib/cjs/geometry3d/Transform.js +1 -1
  71. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  72. package/lib/cjs/geometry3d/YawPitchRollAngles.d.ts +7 -5
  73. package/lib/cjs/geometry3d/YawPitchRollAngles.d.ts.map +1 -1
  74. package/lib/cjs/geometry3d/YawPitchRollAngles.js +8 -6
  75. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  76. package/lib/cjs/numerics/Polynomials.d.ts +13 -1
  77. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  78. package/lib/cjs/numerics/Polynomials.js +13 -1
  79. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  80. package/lib/cjs/polyface/FacetLocationDetail.d.ts +28 -5
  81. package/lib/cjs/polyface/FacetLocationDetail.d.ts.map +1 -1
  82. package/lib/cjs/polyface/FacetLocationDetail.js +50 -15
  83. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  84. package/lib/cjs/polyface/Polyface.d.ts +1 -1
  85. package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
  86. package/lib/cjs/polyface/Polyface.js.map +1 -1
  87. package/lib/cjs/polyface/PolyfaceQuery.d.ts +7 -3
  88. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  89. package/lib/cjs/polyface/PolyfaceQuery.js +23 -0
  90. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  91. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.d.ts +52 -0
  92. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.d.ts.map +1 -0
  93. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js +78 -0
  94. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -0
  95. package/lib/cjs/polyface/RangeTree/MinimumValueTester.d.ts +60 -0
  96. package/lib/cjs/polyface/RangeTree/MinimumValueTester.d.ts.map +1 -0
  97. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js +96 -0
  98. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -0
  99. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.d.ts +57 -0
  100. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.d.ts.map +1 -0
  101. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js +73 -0
  102. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -0
  103. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.d.ts +57 -0
  104. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.d.ts.map +1 -0
  105. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js +84 -0
  106. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -0
  107. package/lib/cjs/polyface/RangeTree/RangeTreeNode.d.ts +274 -0
  108. package/lib/cjs/polyface/RangeTree/RangeTreeNode.d.ts.map +1 -0
  109. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js +505 -0
  110. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -0
  111. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.d.ts +204 -0
  112. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.d.ts.map +1 -0
  113. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js +383 -0
  114. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -0
  115. package/lib/cjs/serialization/GeometrySamples.d.ts +36 -3
  116. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  117. package/lib/cjs/serialization/GeometrySamples.js +93 -4
  118. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  119. package/lib/cjs/solid/LinearSweep.d.ts +1 -1
  120. package/lib/cjs/solid/LinearSweep.js +1 -1
  121. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  122. package/lib/cjs/solid/SweepContour.d.ts +2 -2
  123. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  124. package/lib/cjs/solid/SweepContour.js.map +1 -1
  125. package/lib/cjs/topology/Graph.d.ts +5 -6
  126. package/lib/cjs/topology/Graph.d.ts.map +1 -1
  127. package/lib/cjs/topology/Graph.js +7 -6
  128. package/lib/cjs/topology/Graph.js.map +1 -1
  129. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts +4 -4
  130. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js +5 -5
  131. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  132. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts +108 -71
  133. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  134. package/lib/cjs/topology/HalfEdgeGraphSearch.js +223 -109
  135. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  136. package/lib/cjs/topology/Merging.d.ts +1 -1
  137. package/lib/cjs/topology/Merging.d.ts.map +1 -1
  138. package/lib/cjs/topology/Merging.js.map +1 -1
  139. package/lib/cjs/topology/SignedDataSummary.d.ts +13 -13
  140. package/lib/cjs/topology/SignedDataSummary.d.ts.map +1 -1
  141. package/lib/cjs/topology/SignedDataSummary.js +3 -3
  142. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  143. package/lib/cjs/topology/Triangulation.d.ts +1 -12
  144. package/lib/cjs/topology/Triangulation.d.ts.map +1 -1
  145. package/lib/cjs/topology/Triangulation.js.map +1 -1
  146. package/lib/cjs/topology/XYParitySearchContext.d.ts +27 -21
  147. package/lib/cjs/topology/XYParitySearchContext.d.ts.map +1 -1
  148. package/lib/cjs/topology/XYParitySearchContext.js +73 -71
  149. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  150. package/lib/esm/Geometry.d.ts +17 -0
  151. package/lib/esm/Geometry.d.ts.map +1 -1
  152. package/lib/esm/Geometry.js +14 -0
  153. package/lib/esm/Geometry.js.map +1 -1
  154. package/lib/esm/core-geometry.d.ts +3 -2
  155. package/lib/esm/core-geometry.d.ts.map +1 -1
  156. package/lib/esm/core-geometry.js +3 -2
  157. package/lib/esm/core-geometry.js.map +1 -1
  158. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +2 -2
  159. package/lib/esm/curve/CurveChainWithDistanceIndex.js +3 -3
  160. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  161. package/lib/esm/curve/CurveExtendMode.d.ts +7 -6
  162. package/lib/esm/curve/CurveExtendMode.d.ts.map +1 -1
  163. package/lib/esm/curve/CurveExtendMode.js +7 -6
  164. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  165. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  166. package/lib/esm/curve/CurveLocationDetail.js +23 -18
  167. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  168. package/lib/esm/curve/LineSegment3d.d.ts +14 -4
  169. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  170. package/lib/esm/curve/LineSegment3d.js +108 -3
  171. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  172. package/lib/esm/curve/LineString3d.d.ts +41 -8
  173. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  174. package/lib/esm/curve/LineString3d.js +53 -15
  175. package/lib/esm/curve/LineString3d.js.map +1 -1
  176. package/lib/esm/curve/Loop.js +1 -1
  177. package/lib/esm/curve/Loop.js.map +1 -1
  178. package/lib/esm/curve/Query/PlanarSubdivision.d.ts +2 -2
  179. package/lib/esm/curve/Query/PlanarSubdivision.js +2 -2
  180. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  181. package/lib/esm/curve/RegionOps.d.ts +1 -2
  182. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  183. package/lib/esm/curve/RegionOps.js +1 -1
  184. package/lib/esm/curve/RegionOps.js.map +1 -1
  185. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +5 -8
  186. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  187. package/lib/esm/curve/RegionOpsClassificationSweeps.js +12 -12
  188. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  189. package/lib/esm/geometry3d/GrowableXYArray.d.ts +2 -2
  190. package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -1
  191. package/lib/esm/geometry3d/GrowableXYArray.js +1 -1
  192. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  193. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +2 -3
  194. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  195. package/lib/esm/geometry3d/GrowableXYZArray.js +1 -1
  196. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  197. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +18 -1
  198. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  199. package/lib/esm/geometry3d/IndexedXYZCollection.js +13 -0
  200. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  201. package/lib/esm/geometry3d/PointHelpers.d.ts +1 -2
  202. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  203. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  204. package/lib/esm/geometry3d/PointStreaming.d.ts +1 -1
  205. package/lib/esm/geometry3d/PointStreaming.d.ts.map +1 -1
  206. package/lib/esm/geometry3d/PointStreaming.js +3 -1
  207. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  208. package/lib/esm/geometry3d/PolygonOps.d.ts +68 -1
  209. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  210. package/lib/esm/geometry3d/PolygonOps.js +150 -3
  211. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  212. package/lib/esm/geometry3d/PolylineOps.d.ts +23 -1
  213. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  214. package/lib/esm/geometry3d/PolylineOps.js +73 -1
  215. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  216. package/lib/esm/geometry3d/Range.d.ts +1 -1
  217. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  218. package/lib/esm/geometry3d/Range.js.map +1 -1
  219. package/lib/esm/geometry3d/Transform.js +1 -1
  220. package/lib/esm/geometry3d/Transform.js.map +1 -1
  221. package/lib/esm/geometry3d/YawPitchRollAngles.d.ts +7 -5
  222. package/lib/esm/geometry3d/YawPitchRollAngles.d.ts.map +1 -1
  223. package/lib/esm/geometry3d/YawPitchRollAngles.js +8 -6
  224. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  225. package/lib/esm/numerics/Polynomials.d.ts +13 -1
  226. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  227. package/lib/esm/numerics/Polynomials.js +13 -1
  228. package/lib/esm/numerics/Polynomials.js.map +1 -1
  229. package/lib/esm/polyface/FacetLocationDetail.d.ts +28 -5
  230. package/lib/esm/polyface/FacetLocationDetail.d.ts.map +1 -1
  231. package/lib/esm/polyface/FacetLocationDetail.js +48 -14
  232. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  233. package/lib/esm/polyface/Polyface.d.ts +1 -1
  234. package/lib/esm/polyface/Polyface.d.ts.map +1 -1
  235. package/lib/esm/polyface/Polyface.js.map +1 -1
  236. package/lib/esm/polyface/PolyfaceQuery.d.ts +7 -3
  237. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  238. package/lib/esm/polyface/PolyfaceQuery.js +23 -0
  239. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  240. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.d.ts +52 -0
  241. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.d.ts.map +1 -0
  242. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js +74 -0
  243. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -0
  244. package/lib/esm/polyface/RangeTree/MinimumValueTester.d.ts +60 -0
  245. package/lib/esm/polyface/RangeTree/MinimumValueTester.d.ts.map +1 -0
  246. package/lib/esm/polyface/RangeTree/MinimumValueTester.js +92 -0
  247. package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -0
  248. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.d.ts +57 -0
  249. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.d.ts.map +1 -0
  250. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js +69 -0
  251. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -0
  252. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.d.ts +57 -0
  253. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.d.ts.map +1 -0
  254. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js +80 -0
  255. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -0
  256. package/lib/esm/polyface/RangeTree/RangeTreeNode.d.ts +274 -0
  257. package/lib/esm/polyface/RangeTree/RangeTreeNode.d.ts.map +1 -0
  258. package/lib/esm/polyface/RangeTree/RangeTreeNode.js +497 -0
  259. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -0
  260. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.d.ts +204 -0
  261. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.d.ts.map +1 -0
  262. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js +374 -0
  263. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -0
  264. package/lib/esm/serialization/GeometrySamples.d.ts +36 -3
  265. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  266. package/lib/esm/serialization/GeometrySamples.js +93 -4
  267. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  268. package/lib/esm/solid/LinearSweep.d.ts +1 -1
  269. package/lib/esm/solid/LinearSweep.js +1 -1
  270. package/lib/esm/solid/LinearSweep.js.map +1 -1
  271. package/lib/esm/solid/SweepContour.d.ts +2 -2
  272. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  273. package/lib/esm/solid/SweepContour.js.map +1 -1
  274. package/lib/esm/topology/Graph.d.ts +5 -6
  275. package/lib/esm/topology/Graph.d.ts.map +1 -1
  276. package/lib/esm/topology/Graph.js +7 -6
  277. package/lib/esm/topology/Graph.js.map +1 -1
  278. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts +4 -4
  279. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js +5 -5
  280. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  281. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts +108 -71
  282. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  283. package/lib/esm/topology/HalfEdgeGraphSearch.js +223 -109
  284. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  285. package/lib/esm/topology/Merging.d.ts +1 -1
  286. package/lib/esm/topology/Merging.d.ts.map +1 -1
  287. package/lib/esm/topology/Merging.js.map +1 -1
  288. package/lib/esm/topology/SignedDataSummary.d.ts +13 -13
  289. package/lib/esm/topology/SignedDataSummary.d.ts.map +1 -1
  290. package/lib/esm/topology/SignedDataSummary.js +3 -3
  291. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  292. package/lib/esm/topology/Triangulation.d.ts +1 -12
  293. package/lib/esm/topology/Triangulation.d.ts.map +1 -1
  294. package/lib/esm/topology/Triangulation.js.map +1 -1
  295. package/lib/esm/topology/XYParitySearchContext.d.ts +27 -21
  296. package/lib/esm/topology/XYParitySearchContext.d.ts.map +1 -1
  297. package/lib/esm/topology/XYParitySearchContext.js +73 -71
  298. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  299. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeTreeSearchHandlers.js","sourceRoot":"","sources":["../../../../src/polyface/RangeTree/RangeTreeSearchHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RangeSearch\n */\n\nimport { CurveLocationDetail, CurveLocationDetailPair } from \"../../curve/CurveLocationDetail\";\nimport { LineSegment3d } from \"../../curve/LineSegment3d\";\nimport { LineString3d } from \"../../curve/LineString3d\";\nimport { Point3d } from \"../../geometry3d/Point3dVector3d\";\nimport { PolygonLocationDetail, PolygonOps } from \"../../geometry3d/PolygonOps\";\nimport { Range3d } from \"../../geometry3d/Range\";\nimport { ConvexFacetLocationDetail, FacetLocationDetail, FacetLocationDetailPair, NonConvexFacetLocationDetail } from \"../FacetLocationDetail\";\nimport { LineString3dRangeTreeContext } from \"./LineString3dRangeTreeContext\";\nimport { MinimumValueTester } from \"./MinimumValueTester\";\nimport { Point3dArrayRangeTreeContext } from \"./Point3dArrayRangeTreeContext\";\nimport { PolyfaceRangeTreeContext } from \"./PolyfaceRangeTreeContext\";\nimport { SingleTreeSearchHandler, TwoTreeDistanceMinimizationSearchHandler } from \"./RangeTreeNode\";\n\n/**\n * Helper class for searching for the closest point in a set of points.\n * * Future optimization: avoid sqrt by using squared distance throughout (would require refactoring CurveLocationDetail).\n * @internal\n */\nexport class SingleTreeSearchHandlerForClosestPointInArray extends SingleTreeSearchHandler<number> {\n /** The calling context */\n public context: Point3dArrayRangeTreeContext;\n /** Evolving search state */\n public searchState: MinimumValueTester<number>;\n /** Space point for the search */\n public spacePoint: Point3d;\n\n /**\n * Constructor\n * @param spacePoint cloned\n * @param context captured\n * @param maxDist collect points at no more than this distance from spacePoint\n */\n public constructor(spacePoint: Point3d, context: Point3dArrayRangeTreeContext, maxDist?: number) {\n super();\n this.context = context;\n if (maxDist !== undefined && maxDist < 0)\n maxDist = undefined;\n this.searchState = MinimumValueTester.create<number>(maxDist);\n this.spacePoint = spacePoint.clone();\n }\n /** Return the current closest point */\n public getResult(): CurveLocationDetail | undefined {\n if (this.searchState.minValue !== undefined && this.searchState.itemAtMinValue !== undefined) {\n const iPoint = this.searchState.itemAtMinValue;\n const cld = CurveLocationDetail.createCurveFractionPoint(undefined, iPoint, this.context.points[iPoint]);\n cld.a = this.searchState.minValue;\n return cld;\n }\n return undefined;\n }\n /** Return the collected closest points (if collecting) */\n public getSavedItems(): CurveLocationDetail[] | undefined {\n if (this.searchState.savedItems.length === 0)\n return undefined;\n const cldArray: CurveLocationDetail[] = [];\n for (let i = 0; i < this.searchState.savedItems.length; ++i) {\n const iPoint = this.searchState.savedItems[i];\n const cld = CurveLocationDetail.createCurveFractionPoint(undefined, iPoint, this.context.points[iPoint]);\n cld.a = this.searchState.savedValues[i];\n cldArray.push(cld);\n }\n return cldArray;\n }\n /**\n * Return true if appData within the range should be offered to `processAppData`.\n * @param range range containing items to be tested.\n * @returns true if the spacePoint is within the range or close enough that a point in the range could be the closest.\n */\n public override isRangeActive(range: Range3d): boolean {\n const dMin = range.distanceToPoint(this.spacePoint);\n if (this.searchState.isNewMinValue(dMin)) {\n this.context.numRangeTestTrue++;\n return true;\n }\n this.context.numRangeTestFalse++;\n return false;\n }\n /** Test a point indexed in the range tree as candidate for \"closest\" */\n public override processAppData(candidateIndex: number): void {\n const d = this.spacePoint.distance(this.context.points[candidateIndex]);\n this.context.numPointTest++;\n this.searchState.testAndSave(candidateIndex, d);\n }\n}\n\n/**\n * Helper class for searching for the closest approach between sets of points.\n * * Future optimization: avoid sqrt by using squared distance throughout (would require refactoring CurveLocationDetail).\n * @internal\n */\nexport class TwoTreeSearchHandlerForPoint3dArrayPoint3dArrayCloseApproach extends TwoTreeDistanceMinimizationSearchHandler<number> {\n /** Context for first set of points */\n public contextA: Point3dArrayRangeTreeContext;\n /** Context for second set of points */\n public contextB: Point3dArrayRangeTreeContext;\n /** Search state with current min distance point pair */\n public searchState: MinimumValueTester<CurveLocationDetailPair>;\n\n /**\n * Constructor\n * @param contextA captured\n * @param contextB captured\n * @param maxDist collect points at no more than this separation distance\n */\n public constructor(contextA: Point3dArrayRangeTreeContext, contextB: Point3dArrayRangeTreeContext, maxDist?: number) {\n super();\n this.contextA = contextA;\n this.contextB = contextB;\n if (maxDist !== undefined && maxDist < 0)\n maxDist = undefined;\n this.searchState = MinimumValueTester.create<CurveLocationDetailPair>(maxDist);\n }\n /** Return the current closest approach */\n public getResult(): CurveLocationDetailPair | undefined {\n if (this.searchState.minValue !== undefined) {\n return this.searchState.itemAtMinValue;\n }\n return undefined;\n }\n /** Return the collected close approaches (if collecting) */\n public getSavedItems(): CurveLocationDetailPair[] | undefined {\n if (this.searchState.savedItems.length > 0) {\n return this.searchState.savedItems;\n }\n return undefined;\n }\n /** Get current min distance */\n public override getCurrentDistance(): number {\n const d = this.searchState.minValue;\n return d === undefined ? Number.MAX_VALUE : d;\n }\n /** Compute and test the distance between two points, given their indices. */\n public override processAppDataPair(indexA: number, indexB: number): void {\n this.contextA.numPointTest++;\n const pointA = this.contextA.points[indexA];\n const pointB = this.contextB.points[indexB];\n const d = pointA.distance(pointB);\n if (this.searchState.isNewMinOrTrigger(d)) {\n const cldPair = CurveLocationDetailPair.createCapture(\n CurveLocationDetail.createCurveFractionPoint(undefined, indexA, pointA),\n CurveLocationDetail.createCurveFractionPoint(undefined, indexB, pointB),\n );\n cldPair.detailA.a = cldPair.detailB.a = d;\n this.searchState.testAndSave(cldPair, d);\n }\n }\n}\n\n/**\n * Helper class for searching for the closest point in a linestring.\n * * Future optimization: avoid sqrt by using squared distance throughout (would require refactoring CurveLocationDetail).\n * @internal\n */\nexport class SingleTreeSearchHandlerForClosestPointOnLineString3d extends SingleTreeSearchHandler<number> {\n /** The calling context */\n public context: LineString3dRangeTreeContext;\n /** Evolving search state */\n public searchState: MinimumValueTester<CurveLocationDetail>;\n /** Space point for the search */\n public spacePoint: Point3d;\n\n /**\n * Constructor\n * @param spacePoint cloned\n * @param context captured\n * @param maxDist collect points at no more than this distance from spacePoint\n */\n public constructor(spacePoint: Point3d, context: LineString3dRangeTreeContext, maxDist?: number) {\n super();\n this.context = context;\n if (maxDist !== undefined && maxDist < 0)\n maxDist = undefined;\n this.searchState = MinimumValueTester.create<CurveLocationDetail>(maxDist);\n this.spacePoint = spacePoint.clone();\n }\n /** Return the current closest point */\n public getResult(): CurveLocationDetail | undefined {\n if (this.searchState.minValue !== undefined && this.searchState.itemAtMinValue !== undefined) {\n return this.searchState.itemAtMinValue;\n }\n return undefined;\n }\n /** Return the collected closest points (if collecting) */\n public getSavedItems(): CurveLocationDetail[] | undefined {\n if (this.searchState.savedItems.length > 0) {\n return this.searchState.savedItems;\n }\n return undefined;\n }\n /**\n * Return true if appData within the range should be offered to `processAppData`.\n * @param range range containing items to be tested.\n * @returns true if the spacePoint is within the range or close enough that a point in the range could be the closest.\n */\n public override isRangeActive(range: Range3d): boolean {\n const dMin = range.distanceToPoint(this.spacePoint);\n if (this.searchState.isNewMinValue(dMin)) {\n this.context.numRangeTestTrue++;\n return true;\n }\n this.context.numRangeTestFalse++;\n return false;\n }\n private _workSegment?: LineSegment3d;\n /** Test a segment indexed in the range tree as candidate for \"closest\" */\n public override processAppData(candidateIndex: number): void {\n const segment = this._workSegment = this.context.lineString.getIndexedSegment(candidateIndex, this._workSegment)!;\n if (segment) {\n const cld = segment.closestPoint(this.spacePoint, false);\n LineString3d.convertLocalToGlobalDetail(cld, candidateIndex, this.context.lineString.numEdges(), this.context.lineString);\n this.context.numPointTest++;\n this.searchState.testAndSave(cld, cld.a);\n }\n }\n}\n\n/**\n * Helper class for searching for the closest approach between linestrings.\n * * Future optimization: avoid sqrt by using squared distance throughout (would require refactoring CurveLocationDetail).\n * @internal\n */\nexport class TwoTreeSearchHandlerForLineString3dLineString3dCloseApproach extends TwoTreeDistanceMinimizationSearchHandler<number> {\n /** Context for first polyline */\n public contextA: LineString3dRangeTreeContext;\n /** Context for second polyline */\n public contextB: LineString3dRangeTreeContext;\n /** Search state with current min distance point pair */\n public searchState: MinimumValueTester<CurveLocationDetailPair>;\n\n /**\n * Constructor\n * @param contextA captured\n * @param contextB captured\n * @param maxDist collect points at no more than this separation distance\n */\n public constructor(contextA: LineString3dRangeTreeContext, contextB: LineString3dRangeTreeContext, maxDist?: number) {\n super();\n this.contextA = contextA;\n this.contextB = contextB;\n if (maxDist !== undefined && maxDist < 0)\n maxDist = undefined;\n this.searchState = MinimumValueTester.create<CurveLocationDetailPair>(maxDist);\n }\n /**\n * Return the current closest approach.\n * * Details contain linestring *and* segment data, cf. [[LineString3d.convertLocalToGlobalDetail]]\n */\n public getResult(): CurveLocationDetailPair | undefined {\n if (this.searchState.minValue !== undefined) {\n return this.searchState.itemAtMinValue;\n }\n return undefined;\n }\n /** Return the collected close approaches (if collecting) */\n public getSavedItems(): CurveLocationDetailPair[] | undefined {\n if (this.searchState.savedItems.length > 0) {\n return this.searchState.savedItems;\n }\n return undefined;\n }\n /** Get current min distance */\n public override getCurrentDistance(): number {\n const d = this.searchState.minValue;\n return d === undefined ? Number.MAX_VALUE : d;\n }\n private static _workSegmentA?: LineSegment3d;\n private static _workSegmentB?: LineSegment3d;\n /** Compute and test the closest approach between two segments, given their indices. */\n public override processAppDataPair(indexA: number, indexB: number): void {\n this.contextA.numPointTest++;\n const segA = TwoTreeSearchHandlerForLineString3dLineString3dCloseApproach._workSegmentA =\n this.contextA.lineString.getIndexedSegment(indexA, TwoTreeSearchHandlerForLineString3dLineString3dCloseApproach._workSegmentA)!;\n const segB = TwoTreeSearchHandlerForLineString3dLineString3dCloseApproach._workSegmentB =\n this.contextB.lineString.getIndexedSegment(indexB, TwoTreeSearchHandlerForLineString3dLineString3dCloseApproach._workSegmentB)!;\n const cldPair = LineSegment3d.closestApproach(segA, false, segB, false);\n if (cldPair && this.searchState.isNewMinOrTrigger(cldPair.detailA.a)) {\n LineString3d.convertLocalToGlobalDetail(cldPair.detailA, indexA, this.contextA.lineString.numEdges(), this.contextA.lineString);\n LineString3d.convertLocalToGlobalDetail(cldPair.detailB, indexB, this.contextB.lineString.numEdges(), this.contextB.lineString);\n this.searchState.testAndSave(cldPair, cldPair.detailA.a);\n }\n }\n}\n\n/**\n * Helper class for searching for the closest point in a polyface.\n * * Future optimization: avoid sqrt by using squared distance throughout (would require refactoring FacetLocationDetail).\n * @internal\n */\nexport class SingleTreeSearchHandlerForClosestPointOnPolyface extends SingleTreeSearchHandler<number> {\n /** The calling context */\n public context: PolyfaceRangeTreeContext;\n /** Evolving search state */\n public searchState: MinimumValueTester<FacetLocationDetail>;\n /** Space point for the search */\n public spacePoint: Point3d;\n /** Whether to include facet interior in search */\n public searchFacetInterior: boolean;\n\n /**\n * Constructor\n * @param spacePoint cloned\n * @param context captured\n * @param maxDist collect points at no more than this distance from spacePoint\n * @param searchFacetInterior true: search facet interior + boundary; false: just boundary\n */\n public constructor(spacePoint: Point3d, context: PolyfaceRangeTreeContext, maxDist?: number, searchFacetInterior: boolean = false) {\n super();\n this.context = context;\n if (maxDist !== undefined && maxDist < 0)\n maxDist = undefined;\n this.searchState = MinimumValueTester.create<FacetLocationDetail>(maxDist);\n this.spacePoint = spacePoint.clone();\n this.searchFacetInterior = searchFacetInterior;\n }\n /** Return the current closest point */\n public getResult(): FacetLocationDetail | undefined {\n if (this.searchState.minValue !== undefined && this.searchState.itemAtMinValue !== undefined) {\n return this.searchState.itemAtMinValue;\n }\n return undefined;\n }\n /** Return the collected closest points (if collecting) */\n public getSavedItems(): FacetLocationDetail[] | undefined {\n if (this.searchState.savedItems.length > 0) {\n return this.searchState.savedItems;\n }\n return undefined;\n }\n /**\n * Return true if appData within the range should be offered to `processAppData`.\n * @param range range containing items to be tested.\n * @returns true if the spacePoint is within the range or close enough that a point in the range could be the closest.\n */\n public override isRangeActive(range: Range3d): boolean {\n const dMin = range.distanceToPoint(this.spacePoint);\n if (this.searchState.isNewMinValue(dMin)) {\n this.context.numRangeTestTrue++;\n return true;\n }\n this.context.numRangeTestFalse++;\n return false;\n }\n /** Test a facet indexed in the range tree as candidate for \"closest\" */\n public override processAppData(candidateIndex: number): void {\n this.context.visitor.setNumWrap(0); // so edgeCount === pointCount; closure point unnecessary for closestPoint[OnBoundary]\n if (this.context.visitor.moveToReadIndex(candidateIndex)) {\n let pld: PolygonLocationDetail | undefined;\n if (this.searchFacetInterior)\n pld = PolygonOps.closestPoint(this.context.visitor.point, this.spacePoint);\n else\n pld = PolygonOps.closestPointOnBoundary(this.context.visitor.point, this.spacePoint);\n this.context.numFacetTest++;\n if (pld && this.searchState.isNewMinOrTrigger(pld.a)) {\n const edgeCount = this.context.visitor.pointCount;\n const fld = this.context.convexFacets\n ? ConvexFacetLocationDetail.createCapture(this.context.visitor.currentReadIndex(), edgeCount, pld)\n : NonConvexFacetLocationDetail.createCapture(this.context.visitor.currentReadIndex(), edgeCount, pld);\n this.searchState.testAndSave(fld, pld.a);\n }\n }\n }\n}\n/**\n * Helper class for searching for the closest approach between polyfaces.\n * * Future optimization: avoid sqrt by using squared distance throughout (would require refactoring FacetLocationDetail).\n * @internal\n */\nexport class TwoTreeSearchHandlerForFacetFacetCloseApproach extends TwoTreeDistanceMinimizationSearchHandler<number> {\n /** Context for first polyface */\n public contextA: PolyfaceRangeTreeContext;\n /** Context for second polyface */\n public contextB: PolyfaceRangeTreeContext;\n /** Search state with current min distance and facet pair */\n public searchState: MinimumValueTester<FacetLocationDetailPair>;\n /** Whether to include facet interior in search */\n public searchFacetInterior: boolean;\n\n /** Constructor\n * @param contextA captured\n * @param contextB captured\n * @param maxDist collect points at no more than this separation distance\n * @param searchFacetInterior true: search facet interior + boundary; false: just boundary\n */\n public constructor(contextA: PolyfaceRangeTreeContext, contextB: PolyfaceRangeTreeContext, maxDist?: number, searchFacetInterior: boolean = false) {\n super();\n this.contextA = contextA;\n this.contextB = contextB;\n if (maxDist !== undefined && maxDist < 0)\n maxDist = undefined;\n this.searchState = MinimumValueTester.create<FacetLocationDetailPair>(maxDist);\n this.searchFacetInterior = searchFacetInterior && contextA.convexFacets && contextB.convexFacets;\n }\n /** Return the facets with closest approach */\n public getResult(): FacetLocationDetailPair | undefined {\n if (this.searchState.minValue !== undefined) {\n return this.searchState.itemAtMinValue;\n }\n return undefined;\n }\n /** Return the collected close approaches (if collecting) */\n public getSavedItems(): FacetLocationDetailPair[] | undefined {\n if (this.searchState.savedItems.length > 0) {\n return this.searchState.savedItems;\n }\n return undefined;\n }\n /** Get current min distance */\n public override getCurrentDistance(): number {\n const d = this.searchState.minValue;\n return d === undefined ? Number.MAX_VALUE : d;\n }\n /** Compute and test the closest approach between two facets, given their indices. */\n public override processAppDataPair(indexA: number, indexB: number): void {\n this.contextA.visitor.setNumWrap(1); // closed polygons are more efficient for PolygonOps.closestApproach\n this.contextB.visitor.setNumWrap(1);\n if (this.contextA.visitor.moveToReadIndex(indexA) && this.contextB.visitor.moveToReadIndex(indexB)) {\n // ASSUME: not worth sending in maxDist here...\n const pldPair = PolygonOps.closestApproach(this.contextA.visitor.point, this.contextB.visitor.point, undefined, this.searchFacetInterior);\n this.contextA.numFacetTest++;\n if (pldPair && this.searchState.isNewMinOrTrigger(pldPair.detailA.a)) {\n const edgeCountA = this.contextA.visitor.pointCount - 1;\n const edgeCountB = this.contextB.visitor.pointCount - 1;\n const fldPair = FacetLocationDetailPair.create(\n this.contextA.convexFacets ? ConvexFacetLocationDetail.createCapture(indexA, edgeCountA, pldPair.detailA) : NonConvexFacetLocationDetail.createCapture(indexA, edgeCountA, pldPair.detailA),\n this.contextB.convexFacets ? ConvexFacetLocationDetail.createCapture(indexB, edgeCountB, pldPair.detailB) : NonConvexFacetLocationDetail.createCapture(indexB, edgeCountB, pldPair.detailB),\n );\n this.searchState.testAndSave(fldPair, fldPair.detailA.a);\n }\n }\n }\n}\n\n"]}
@@ -631,6 +631,19 @@ export declare class Sample {
631
631
  static createMeshInAnnulus(edgesPerQuadrant: number, center: Point3d, r0: number, r1: number, theta0: Angle, theta1: Angle): IndexedPolyface | undefined;
632
632
  /** Create strokes on an arc at radius r0, then returning at radius r1. */
633
633
  static createAnnulusPolyline(edgesPerQuadrant: number, center: Point3d, r0: number, r1: number, theta0: Angle, theta1: Angle, addClosure: boolean): Point3d[];
634
+ /**
635
+ * Create a grid of lat-long points on a sphere.
636
+ * * If pole latitudes appear in the evaluation, a single point (not a circle) is evaluated.
637
+ * * Circles at various latitudes proceed south to north.
638
+ * * If first and last angles of longitudeSweep match, that meridian is not duplicated.
639
+ * * Longitudes can wrap freely.
640
+ * @param transform local to world
641
+ * @param numLatitudeStep number of latitude steps (poles count if they are in the sweeps)
642
+ * @param numLongitudeStep number of longitude steps
643
+ * @param latitudeSweep angle range for latitudes
644
+ * @param longitudeSweep angle range for longitudes
645
+ */
646
+ static createGridPointsOnEllipsoid(transform: Transform, numLatitudeStep: number, numLongitudeStep: number, latitudeSweep?: AngleSweep, longitudeSweep?: AngleSweep): Point3d[];
634
647
  /**
635
648
  * Return an array of points on a circular arc.
636
649
  * @param edgesPerQuadrant number of edges per 90 degrees
@@ -662,10 +675,30 @@ export declare class Sample {
662
675
  * @param numStroke number of steps to take.
663
676
  */
664
677
  static createZigZag(start: Point3d | Point3d[], steps: Vector3d[], numStroke: number): Point3d[];
665
- /**
666
- * Create a mesh surface from samples of a smooth function over [0,1]x[0,1].
678
+ /** Create a point on the polar parametric curve r = cos(a * theta), aka "rose".
679
+ * @param theta angle
680
+ * @param a period multiplier. If odd, this is the petal count; if even, twice the number of petals.
681
+ * @param z z-coordinate for output
682
+ */
683
+ static createRosePoint3d(theta: number, a: number, z?: number): Point3d;
684
+ /** Create a point on the polar parametric curve r = cos(a * theta), aka "rose".
685
+ * @param theta angle
686
+ * @param a period multiplier. If odd, this is the petal count; if even, twice the number of petals.
687
+ */
688
+ static createRosePoint2d(theta: number, a: number): Point2d;
689
+ /**
690
+ * Create a mesh surface from samples of a smooth real-valued function over [0,1]x[0,1] with multiple humps and dips.
691
+ * * The facets are bilinear quads, so if planar facets are required, set `options.shouldTriangulate = true`.
667
692
  * @param size grid size; the number of intervals on each side of the unit square domain.
693
+ * @param scales = array of 4 (four) numbers to scale the corresponding Franke exponential. If undefined, all scales are 1.
694
+ */
695
+ static createMeshFromFrankeSurface(size: number, options?: StrokeOptions, scales?: number[]): IndexedPolyface | undefined;
696
+ /** Stroke a helix over the unit circle. Place in space via a transform.
697
+ * The various columns of the transform become the critical measures for the (elliptic) helix:
698
+ * The unit cylinder maps to an elliptic cylinder with x and y columns as 0 and 90 degree vectors.
699
+ * the Helix pitch is equal to the length of the z axis in the transform.
700
+ * The completeTurns parameter (which does NOT need to be an integer) is the local z of the last point
668
701
  */
669
- static createMeshFromSmoothSurface(size: number, options?: StrokeOptions): IndexedPolyface | undefined;
702
+ static createHelixPoints(completeTurns: number, numPoints: number, placement?: Transform): Point3d[];
670
703
  }
671
704
  //# sourceMappingURL=GeometrySamples.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeometrySamples.d.ts","sourceRoot":"","sources":["../../../src/serialization/GeometrySamples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeometrySamples.d.ts","sourceRoot":"","sources":["../../../src/serialization/GeometrySamples.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,9 @@ exports.SteppedIndexFunctionFactory = SteppedIndexFunctionFactory;
98
98
  * @internal
99
99
  */
100
100
  class FrankeSurface {
101
+ constructor(scales) {
102
+ this.scales = scales;
103
+ }
101
104
  exp0(u, v) {
102
105
  return Math.exp(-0.25 * (u * u + v * v) + u + v - 2);
103
106
  }
@@ -115,7 +118,21 @@ class FrankeSurface {
115
118
  const f1 = 0.75 * this.exp1(u, v);
116
119
  const f2 = 0.5 * this.exp2(u, v);
117
120
  const f3 = -0.2 * this.exp3(u, v);
118
- return f0 + f1 + f2 + f3;
121
+ if (this.scales !== undefined) {
122
+ const numScale = this.scales.length;
123
+ let f = 0;
124
+ if (numScale >= 1)
125
+ f += this.scales[0] * f0;
126
+ if (numScale >= 2)
127
+ f += this.scales[1] * f1;
128
+ if (numScale >= 3)
129
+ f += this.scales[2] * f2;
130
+ if (numScale >= 4)
131
+ f += this.scales[3] * f3;
132
+ return f;
133
+ }
134
+ else
135
+ return f0 + f1 + f2 + f3;
119
136
  }
120
137
  du(u, v) {
121
138
  const du0 = -3.375 * (u - 2) * this.exp0(u, v);
@@ -2131,6 +2148,40 @@ class Sample {
2131
2148
  point0.push(point0[0].clone());
2132
2149
  return point0;
2133
2150
  }
2151
+ /**
2152
+ * Create a grid of lat-long points on a sphere.
2153
+ * * If pole latitudes appear in the evaluation, a single point (not a circle) is evaluated.
2154
+ * * Circles at various latitudes proceed south to north.
2155
+ * * If first and last angles of longitudeSweep match, that meridian is not duplicated.
2156
+ * * Longitudes can wrap freely.
2157
+ * @param transform local to world
2158
+ * @param numLatitudeStep number of latitude steps (poles count if they are in the sweeps)
2159
+ * @param numLongitudeStep number of longitude steps
2160
+ * @param latitudeSweep angle range for latitudes
2161
+ * @param longitudeSweep angle range for longitudes
2162
+ */
2163
+ static createGridPointsOnEllipsoid(transform, numLatitudeStep, numLongitudeStep, latitudeSweep = AngleSweep_1.AngleSweep.createStartEndDegrees(-90, 90), longitudeSweep = AngleSweep_1.AngleSweep.createStartEndDegrees(0, 360)) {
2164
+ const points = [];
2165
+ const numJ = numLatitudeStep + 1;
2166
+ const jFractionStep = 1.0 / numJ;
2167
+ let numI = numLongitudeStep;
2168
+ const iFractionStep = 1.0 / numI;
2169
+ if (longitudeSweep.isFullCircle)
2170
+ numI--;
2171
+ for (let j = 0; j < numJ; j++) {
2172
+ const phi = latitudeSweep.fractionToRadians(jFractionStep * j);
2173
+ const sinPhi = Math.sin(phi);
2174
+ const cosPhi = Math.cos(phi);
2175
+ const numIThisCircle = Angle_1.Angle.isAlmostEqualRadiansAllowPeriodShift(phi, -90) ? 1 : numI;
2176
+ for (let i = 0; i < numIThisCircle; i++) {
2177
+ const theta = longitudeSweep.fractionToRadians(iFractionStep * i);
2178
+ const cosTheta = Math.cos(theta);
2179
+ const sinTheta = Math.sin(theta);
2180
+ points.push(transform.multiplyXYZ(cosTheta * cosPhi, sinTheta * cosPhi, sinPhi));
2181
+ }
2182
+ }
2183
+ return points;
2184
+ }
2134
2185
  /**
2135
2186
  * Return an array of points on a circular arc.
2136
2187
  * @param edgesPerQuadrant number of edges per 90 degrees
@@ -2221,15 +2272,53 @@ class Sample {
2221
2272
  }
2222
2273
  }
2223
2274
  }
2275
+ /** Create a point on the polar parametric curve r = cos(a * theta), aka "rose".
2276
+ * @param theta angle
2277
+ * @param a period multiplier. If odd, this is the petal count; if even, twice the number of petals.
2278
+ * @param z z-coordinate for output
2279
+ */
2280
+ static createRosePoint3d(theta, a, z = 0) {
2281
+ const r = Math.cos(a * theta);
2282
+ return Point3dVector3d_1.Point3d.create(r * Math.cos(theta), r * Math.sin(theta), z);
2283
+ }
2284
+ /** Create a point on the polar parametric curve r = cos(a * theta), aka "rose".
2285
+ * @param theta angle
2286
+ * @param a period multiplier. If odd, this is the petal count; if even, twice the number of petals.
2287
+ */
2288
+ static createRosePoint2d(theta, a) {
2289
+ return Point2dVector2d_1.Point2d.createFrom(Sample.createRosePoint3d(theta, a));
2290
+ }
2224
2291
  /**
2225
- * Create a mesh surface from samples of a smooth function over [0,1]x[0,1].
2292
+ * Create a mesh surface from samples of a smooth real-valued function over [0,1]x[0,1] with multiple humps and dips.
2293
+ * * The facets are bilinear quads, so if planar facets are required, set `options.shouldTriangulate = true`.
2226
2294
  * @param size grid size; the number of intervals on each side of the unit square domain.
2295
+ * @param scales = array of 4 (four) numbers to scale the corresponding Franke exponential. If undefined, all scales are 1.
2227
2296
  */
2228
- static createMeshFromSmoothSurface(size, options) {
2297
+ static createMeshFromFrankeSurface(size, options, scales) {
2229
2298
  const builder = PolyfaceBuilder_1.PolyfaceBuilder.create(options);
2230
- builder.addUVGridBody(new FrankeSurface(), size, size);
2299
+ builder.addUVGridBody(new FrankeSurface(scales), size, size);
2231
2300
  return builder.claimPolyface(true);
2232
2301
  }
2302
+ /** Stroke a helix over the unit circle. Place in space via a transform.
2303
+ * The various columns of the transform become the critical measures for the (elliptic) helix:
2304
+ * The unit cylinder maps to an elliptic cylinder with x and y columns as 0 and 90 degree vectors.
2305
+ * the Helix pitch is equal to the length of the z axis in the transform.
2306
+ * The completeTurns parameter (which does NOT need to be an integer) is the local z of the last point
2307
+ */
2308
+ static createHelixPoints(completeTurns, numPoints, placement) {
2309
+ const points = [];
2310
+ if (numPoints < 2)
2311
+ numPoints = 2;
2312
+ const dThetaRadians = completeTurns * Math.PI * 2 / (numPoints - 1);
2313
+ const dz = completeTurns / (numPoints - 1);
2314
+ for (let i = 0; i < numPoints; i++) {
2315
+ const thetaRadians = dThetaRadians * i;
2316
+ points.push(Point3dVector3d_1.Point3d.create(Math.cos(thetaRadians), Math.sin(thetaRadians), i * dz));
2317
+ }
2318
+ if (placement)
2319
+ placement.multiplyPoint3dArrayInPlace(points);
2320
+ return points;
2321
+ }
2233
2322
  }
2234
2323
  /** Array with assorted Point2d samples */
2235
2324
  Sample.point2d = [