@itwin/core-geometry 4.1.0-dev.8 → 4.1.0-dev.80

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 (896) hide show
  1. package/CHANGELOG.md +87 -1
  2. package/lib/cjs/Constant.js.map +1 -1
  3. package/lib/cjs/Geometry.js.map +1 -1
  4. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
  5. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  6. package/lib/cjs/bspline/BSplineCurve.d.ts +1 -1
  7. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  8. package/lib/cjs/bspline/BSplineCurve.js +2 -2
  9. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  10. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  11. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
  12. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  13. package/lib/cjs/bspline/BSplineSurface.js +1 -1
  14. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  15. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  16. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  17. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  18. package/lib/cjs/bspline/BezierCurveBase.d.ts +1 -1
  19. package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
  20. package/lib/cjs/bspline/BezierCurveBase.js +2 -2
  21. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  22. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  23. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  24. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
  25. package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts +15 -17
  26. package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
  27. package/lib/cjs/clipping/AlternatingConvexClipTree.js +24 -20
  28. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  29. package/lib/cjs/clipping/BooleanClipFactory.d.ts +28 -28
  30. package/lib/cjs/clipping/BooleanClipFactory.d.ts.map +1 -1
  31. package/lib/cjs/clipping/BooleanClipFactory.js +28 -28
  32. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  33. package/lib/cjs/clipping/BooleanClipNode.d.ts +11 -11
  34. package/lib/cjs/clipping/BooleanClipNode.d.ts.map +1 -1
  35. package/lib/cjs/clipping/BooleanClipNode.js +11 -11
  36. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  37. package/lib/cjs/clipping/ClipPlane.d.ts +73 -76
  38. package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -1
  39. package/lib/cjs/clipping/ClipPlane.js +105 -86
  40. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  41. package/lib/cjs/clipping/ClipPrimitive.d.ts +78 -47
  42. package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -1
  43. package/lib/cjs/clipping/ClipPrimitive.js +112 -54
  44. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  45. package/lib/cjs/clipping/ClipUtils.d.ts +54 -44
  46. package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -1
  47. package/lib/cjs/clipping/ClipUtils.js +33 -29
  48. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  49. package/lib/cjs/clipping/ClipVector.d.ts +39 -25
  50. package/lib/cjs/clipping/ClipVector.d.ts.map +1 -1
  51. package/lib/cjs/clipping/ClipVector.js +35 -23
  52. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  53. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts +61 -38
  54. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  55. package/lib/cjs/clipping/ConvexClipPlaneSet.js +64 -41
  56. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  57. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts +49 -30
  58. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
  59. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js +50 -30
  60. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  61. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +2 -2
  62. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
  63. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
  64. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  65. package/lib/cjs/core-geometry.d.ts +5 -1
  66. package/lib/cjs/core-geometry.d.ts.map +1 -1
  67. package/lib/cjs/core-geometry.js +5 -1
  68. package/lib/cjs/core-geometry.js.map +1 -1
  69. package/lib/cjs/curve/Arc3d.d.ts +4 -3
  70. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  71. package/lib/cjs/curve/Arc3d.js +7 -5
  72. package/lib/cjs/curve/Arc3d.js.map +1 -1
  73. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  74. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  75. package/lib/cjs/curve/CurveChain.js.map +1 -1
  76. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +62 -42
  77. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  78. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +71 -48
  79. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  80. package/lib/cjs/curve/CurveCollection.d.ts +36 -26
  81. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  82. package/lib/cjs/curve/CurveCollection.js +46 -39
  83. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  84. package/lib/cjs/curve/CurveCurve.d.ts +6 -2
  85. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  86. package/lib/cjs/curve/CurveCurve.js +13 -9
  87. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  88. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts +74 -68
  89. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts.map +1 -1
  90. package/lib/cjs/curve/CurveCurveCloseApproachXY.js +100 -108
  91. package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -1
  92. package/lib/cjs/curve/CurveCurveIntersectXY.d.ts +46 -48
  93. package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -1
  94. package/lib/cjs/curve/CurveCurveIntersectXY.js +72 -61
  95. package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
  96. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts +32 -38
  97. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
  98. package/lib/cjs/curve/CurveCurveIntersectXYZ.js +86 -97
  99. package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -1
  100. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  101. package/lib/cjs/curve/CurveFactory.d.ts +67 -3
  102. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  103. package/lib/cjs/curve/CurveFactory.js +75 -7
  104. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  105. package/lib/cjs/curve/CurveLocationDetail.d.ts +6 -6
  106. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  107. package/lib/cjs/curve/CurveLocationDetail.js +9 -7
  108. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  109. package/lib/cjs/curve/CurveOps.d.ts +77 -0
  110. package/lib/cjs/curve/CurveOps.d.ts.map +1 -0
  111. package/lib/cjs/curve/CurveOps.js +160 -0
  112. package/lib/cjs/curve/CurveOps.js.map +1 -0
  113. package/lib/cjs/curve/CurvePrimitive.d.ts +26 -18
  114. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  115. package/lib/cjs/curve/CurvePrimitive.js +4 -3
  116. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  117. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  118. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  119. package/lib/cjs/curve/GeometryQuery.d.ts +2 -2
  120. package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -1
  121. package/lib/cjs/curve/GeometryQuery.js +2 -2
  122. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  123. package/lib/cjs/curve/LineSegment3d.d.ts +7 -5
  124. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  125. package/lib/cjs/curve/LineSegment3d.js +6 -6
  126. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  127. package/lib/cjs/curve/LineString3d.d.ts +2 -2
  128. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  129. package/lib/cjs/curve/LineString3d.js +3 -3
  130. package/lib/cjs/curve/LineString3d.js.map +1 -1
  131. package/lib/cjs/curve/Loop.d.ts +7 -5
  132. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  133. package/lib/cjs/curve/Loop.js +18 -6
  134. package/lib/cjs/curve/Loop.js.map +1 -1
  135. package/lib/cjs/curve/OffsetOptions.d.ts +97 -0
  136. package/lib/cjs/curve/OffsetOptions.d.ts.map +1 -0
  137. package/lib/cjs/curve/OffsetOptions.js +166 -0
  138. package/lib/cjs/curve/OffsetOptions.js.map +1 -0
  139. package/lib/cjs/curve/ParityRegion.d.ts +7 -7
  140. package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
  141. package/lib/cjs/curve/ParityRegion.js +19 -11
  142. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  143. package/lib/cjs/curve/Path.d.ts +6 -6
  144. package/lib/cjs/curve/Path.d.ts.map +1 -1
  145. package/lib/cjs/curve/Path.js +15 -9
  146. package/lib/cjs/curve/Path.js.map +1 -1
  147. package/lib/cjs/curve/PointString3d.js.map +1 -1
  148. package/lib/cjs/curve/ProxyCurve.d.ts +5 -7
  149. package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
  150. package/lib/cjs/curve/ProxyCurve.js +7 -7
  151. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  152. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  153. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  154. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  155. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  156. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  157. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  158. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  159. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  160. package/lib/cjs/curve/RegionOps.d.ts +76 -56
  161. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  162. package/lib/cjs/curve/RegionOps.js +83 -60
  163. package/lib/cjs/curve/RegionOps.js.map +1 -1
  164. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +2 -2
  165. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  166. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
  167. package/lib/cjs/curve/StrokeOptions.js +6 -2
  168. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  169. package/lib/cjs/curve/UnionRegion.d.ts +6 -5
  170. package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
  171. package/lib/cjs/curve/UnionRegion.js +17 -8
  172. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  173. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  174. package/lib/cjs/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
  175. package/lib/cjs/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
  176. package/lib/cjs/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
  177. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -0
  178. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  179. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  180. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  181. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  182. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  183. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  184. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts +2 -1
  185. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  186. package/lib/cjs/curve/internalContexts/GapSearchContext.js +6 -2
  187. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  188. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +59 -70
  189. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  190. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +130 -220
  191. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  192. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  193. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  194. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  195. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  196. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  197. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
  198. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  199. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +89 -178
  200. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  201. package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  202. package/lib/cjs/curve/internalContexts/SumLengthsContext.js +4 -1
  203. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  204. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  205. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  206. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  207. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  208. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  209. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  210. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  211. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +1 -1
  212. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  213. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  214. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  215. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  216. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  217. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +1 -1
  218. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  219. package/lib/cjs/curve/spiral/TransitionSpiral3d.js +2 -2
  220. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  221. package/lib/cjs/curve/spiral/XYCurveEvaluator.js +1 -1
  222. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  223. package/lib/cjs/geometry3d/Angle.d.ts +9 -0
  224. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
  225. package/lib/cjs/geometry3d/Angle.js +13 -0
  226. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  227. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  228. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  229. package/lib/cjs/geometry3d/BilinearPatch.d.ts +43 -48
  230. package/lib/cjs/geometry3d/BilinearPatch.d.ts.map +1 -1
  231. package/lib/cjs/geometry3d/BilinearPatch.js +51 -55
  232. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  233. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  234. package/lib/cjs/geometry3d/Ellipsoid.d.ts +1 -1
  235. package/lib/cjs/geometry3d/Ellipsoid.js +1 -1
  236. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  237. package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -1
  238. package/lib/cjs/geometry3d/FrameBuilder.js +13 -11
  239. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  240. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  241. package/lib/cjs/geometry3d/GeometryHandler.d.ts +103 -97
  242. package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -1
  243. package/lib/cjs/geometry3d/GeometryHandler.js +247 -124
  244. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  245. package/lib/cjs/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
  246. package/lib/cjs/geometry3d/GrowableBlockedArray.js +1 -1
  247. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  248. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  249. package/lib/cjs/geometry3d/GrowableFloat64Array.js +1 -1
  250. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  251. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  252. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  253. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  254. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  255. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  256. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  257. package/lib/cjs/geometry3d/Matrix3d.d.ts +18 -0
  258. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  259. package/lib/cjs/geometry3d/Matrix3d.js +32 -5
  260. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  261. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  262. package/lib/cjs/geometry3d/Plane3d.d.ts +41 -32
  263. package/lib/cjs/geometry3d/Plane3d.d.ts.map +1 -1
  264. package/lib/cjs/geometry3d/Plane3d.js +11 -8
  265. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  266. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
  267. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  268. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
  269. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  270. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  271. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  272. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +37 -32
  273. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  274. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  275. package/lib/cjs/geometry3d/Point2dVector2d.d.ts +8 -9
  276. package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -1
  277. package/lib/cjs/geometry3d/Point2dVector2d.js +9 -10
  278. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  279. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  280. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +12 -4
  281. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  282. package/lib/cjs/geometry3d/Point3dVector3d.js +18 -5
  283. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  284. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  285. package/lib/cjs/geometry3d/PointHelpers.js +5 -5
  286. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  287. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  288. package/lib/cjs/geometry3d/PolygonOps.d.ts +6 -2
  289. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  290. package/lib/cjs/geometry3d/PolygonOps.js +31 -22
  291. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  292. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  293. package/lib/cjs/geometry3d/PolylineOps.d.ts +16 -1
  294. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  295. package/lib/cjs/geometry3d/PolylineOps.js +55 -0
  296. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  297. package/lib/cjs/geometry3d/Range.d.ts +134 -94
  298. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  299. package/lib/cjs/geometry3d/Range.js +297 -145
  300. package/lib/cjs/geometry3d/Range.js.map +1 -1
  301. package/lib/cjs/geometry3d/Ray2d.d.ts +69 -0
  302. package/lib/cjs/geometry3d/Ray2d.d.ts.map +1 -0
  303. package/lib/cjs/geometry3d/Ray2d.js +146 -0
  304. package/lib/cjs/geometry3d/Ray2d.js.map +1 -0
  305. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  306. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  307. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  308. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  309. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  310. package/lib/cjs/geometry3d/Transform.d.ts +10 -3
  311. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  312. package/lib/cjs/geometry3d/Transform.js +18 -6
  313. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  314. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  315. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  316. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  317. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  318. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  319. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  320. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  321. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  322. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  323. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  324. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  325. package/lib/cjs/numerics/Complex.js.map +1 -1
  326. package/lib/cjs/numerics/ConvexPolygon2d.d.ts +7 -49
  327. package/lib/cjs/numerics/ConvexPolygon2d.d.ts.map +1 -1
  328. package/lib/cjs/numerics/ConvexPolygon2d.js +16 -107
  329. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  330. package/lib/cjs/numerics/Newton.js.map +1 -1
  331. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  332. package/lib/cjs/numerics/PolarData.js.map +1 -1
  333. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  334. package/lib/cjs/numerics/Polynomials.js +0 -2
  335. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  336. package/lib/cjs/numerics/Quadrature.js +5 -5
  337. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  338. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  339. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  340. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  341. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  342. package/lib/cjs/polyface/AuxData.js.map +1 -1
  343. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  344. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  345. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  346. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  347. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  348. package/lib/cjs/polyface/IndexedEdgeMatcher.js +1 -1
  349. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  350. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  351. package/lib/cjs/polyface/Polyface.js.map +1 -1
  352. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  353. package/lib/cjs/polyface/PolyfaceBuilder.js +2 -2
  354. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  355. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  356. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  357. package/lib/cjs/polyface/PolyfaceQuery.d.ts +93 -14
  358. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  359. package/lib/cjs/polyface/PolyfaceQuery.js +173 -34
  360. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  361. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  362. package/lib/cjs/polyface/TaggedNumericData.js +1 -1
  363. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  364. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  365. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
  366. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  367. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +27 -19
  368. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -1
  369. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js +30 -12
  370. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  371. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +12 -8
  372. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -1
  373. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +18 -4
  374. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  375. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts +3 -4
  376. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -1
  377. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js +3 -5
  378. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  379. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  380. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts +15 -12
  381. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -1
  382. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  383. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  384. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts +38 -0
  385. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  386. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +104 -1
  387. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  388. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  389. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  390. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  391. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  392. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  393. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  394. package/lib/cjs/serialization/GeometrySamples.d.ts +11 -0
  395. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  396. package/lib/cjs/serialization/GeometrySamples.js +30 -0
  397. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  398. package/lib/cjs/serialization/IModelJsonSchema.d.ts +2 -7
  399. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  400. package/lib/cjs/serialization/IModelJsonSchema.js +2 -7
  401. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  402. package/lib/cjs/solid/Box.js.map +1 -1
  403. package/lib/cjs/solid/Cone.js.map +1 -1
  404. package/lib/cjs/solid/LinearSweep.d.ts +2 -1
  405. package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
  406. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  407. package/lib/cjs/solid/RotationalSweep.d.ts +2 -1
  408. package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
  409. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  410. package/lib/cjs/solid/RuledSweep.d.ts +2 -1
  411. package/lib/cjs/solid/RuledSweep.d.ts.map +1 -1
  412. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  413. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  414. package/lib/cjs/solid/Sphere.js.map +1 -1
  415. package/lib/cjs/solid/SweepContour.d.ts +2 -2
  416. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  417. package/lib/cjs/solid/SweepContour.js +9 -0
  418. package/lib/cjs/solid/SweepContour.js.map +1 -1
  419. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  420. package/lib/cjs/topology/ChainMerge.js +1 -1
  421. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  422. package/lib/cjs/topology/Graph.js.map +1 -1
  423. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  424. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  425. package/lib/cjs/topology/HalfEdgeGraphSearch.js +1 -1
  426. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  427. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js +1 -1
  428. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  429. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  430. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  431. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  432. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  433. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  434. package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  435. package/lib/cjs/topology/HalfEdgePriorityQueue.js +1 -1
  436. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  437. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  438. package/lib/cjs/topology/MaskManager.js.map +1 -1
  439. package/lib/cjs/topology/Merging.js.map +1 -1
  440. package/lib/cjs/topology/RegularizeFace.js +3 -3
  441. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  442. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  443. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  444. package/lib/cjs/topology/Triangulation.js +1 -1
  445. package/lib/cjs/topology/Triangulation.js.map +1 -1
  446. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  447. package/lib/esm/Constant.js.map +1 -1
  448. package/lib/esm/Geometry.js.map +1 -1
  449. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  450. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  451. package/lib/esm/bspline/BSplineCurve.d.ts +1 -1
  452. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  453. package/lib/esm/bspline/BSplineCurve.js +1 -1
  454. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  455. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  456. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  457. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  458. package/lib/esm/bspline/BSplineSurface.js +1 -1
  459. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  460. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  461. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  462. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  463. package/lib/esm/bspline/BezierCurveBase.d.ts +1 -1
  464. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
  465. package/lib/esm/bspline/BezierCurveBase.js +1 -1
  466. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  467. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  468. package/lib/esm/bspline/KnotVector.js.map +1 -1
  469. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  470. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts +15 -17
  471. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
  472. package/lib/esm/clipping/AlternatingConvexClipTree.js +24 -20
  473. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  474. package/lib/esm/clipping/BooleanClipFactory.d.ts +28 -28
  475. package/lib/esm/clipping/BooleanClipFactory.d.ts.map +1 -1
  476. package/lib/esm/clipping/BooleanClipFactory.js +28 -28
  477. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  478. package/lib/esm/clipping/BooleanClipNode.d.ts +11 -11
  479. package/lib/esm/clipping/BooleanClipNode.d.ts.map +1 -1
  480. package/lib/esm/clipping/BooleanClipNode.js +11 -11
  481. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  482. package/lib/esm/clipping/ClipPlane.d.ts +73 -76
  483. package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
  484. package/lib/esm/clipping/ClipPlane.js +105 -86
  485. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  486. package/lib/esm/clipping/ClipPrimitive.d.ts +78 -47
  487. package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -1
  488. package/lib/esm/clipping/ClipPrimitive.js +112 -54
  489. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  490. package/lib/esm/clipping/ClipUtils.d.ts +54 -44
  491. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
  492. package/lib/esm/clipping/ClipUtils.js +33 -29
  493. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  494. package/lib/esm/clipping/ClipVector.d.ts +39 -25
  495. package/lib/esm/clipping/ClipVector.d.ts.map +1 -1
  496. package/lib/esm/clipping/ClipVector.js +35 -23
  497. package/lib/esm/clipping/ClipVector.js.map +1 -1
  498. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +61 -38
  499. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  500. package/lib/esm/clipping/ConvexClipPlaneSet.js +64 -41
  501. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  502. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts +49 -30
  503. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
  504. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js +50 -30
  505. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  506. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +2 -2
  507. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
  508. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
  509. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  510. package/lib/esm/core-geometry.d.ts +5 -1
  511. package/lib/esm/core-geometry.d.ts.map +1 -1
  512. package/lib/esm/core-geometry.js +5 -1
  513. package/lib/esm/core-geometry.js.map +1 -1
  514. package/lib/esm/curve/Arc3d.d.ts +4 -3
  515. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  516. package/lib/esm/curve/Arc3d.js +6 -4
  517. package/lib/esm/curve/Arc3d.js.map +1 -1
  518. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  519. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  520. package/lib/esm/curve/CurveChain.js.map +1 -1
  521. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +62 -42
  522. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  523. package/lib/esm/curve/CurveChainWithDistanceIndex.js +70 -47
  524. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  525. package/lib/esm/curve/CurveCollection.d.ts +36 -26
  526. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  527. package/lib/esm/curve/CurveCollection.js +46 -39
  528. package/lib/esm/curve/CurveCollection.js.map +1 -1
  529. package/lib/esm/curve/CurveCurve.d.ts +6 -2
  530. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  531. package/lib/esm/curve/CurveCurve.js +13 -9
  532. package/lib/esm/curve/CurveCurve.js.map +1 -1
  533. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts +74 -68
  534. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts.map +1 -1
  535. package/lib/esm/curve/CurveCurveCloseApproachXY.js +100 -108
  536. package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -1
  537. package/lib/esm/curve/CurveCurveIntersectXY.d.ts +46 -48
  538. package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -1
  539. package/lib/esm/curve/CurveCurveIntersectXY.js +72 -61
  540. package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
  541. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts +32 -38
  542. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
  543. package/lib/esm/curve/CurveCurveIntersectXYZ.js +86 -97
  544. package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -1
  545. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  546. package/lib/esm/curve/CurveFactory.d.ts +67 -3
  547. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  548. package/lib/esm/curve/CurveFactory.js +74 -6
  549. package/lib/esm/curve/CurveFactory.js.map +1 -1
  550. package/lib/esm/curve/CurveLocationDetail.d.ts +6 -6
  551. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  552. package/lib/esm/curve/CurveLocationDetail.js +9 -7
  553. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  554. package/lib/esm/curve/CurveOps.d.ts +77 -0
  555. package/lib/esm/curve/CurveOps.d.ts.map +1 -0
  556. package/lib/esm/curve/CurveOps.js +156 -0
  557. package/lib/esm/curve/CurveOps.js.map +1 -0
  558. package/lib/esm/curve/CurvePrimitive.d.ts +26 -18
  559. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  560. package/lib/esm/curve/CurvePrimitive.js +4 -3
  561. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  562. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  563. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  564. package/lib/esm/curve/GeometryQuery.d.ts +2 -2
  565. package/lib/esm/curve/GeometryQuery.d.ts.map +1 -1
  566. package/lib/esm/curve/GeometryQuery.js +2 -2
  567. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  568. package/lib/esm/curve/LineSegment3d.d.ts +7 -5
  569. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  570. package/lib/esm/curve/LineSegment3d.js +5 -5
  571. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  572. package/lib/esm/curve/LineString3d.d.ts +2 -2
  573. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  574. package/lib/esm/curve/LineString3d.js +2 -2
  575. package/lib/esm/curve/LineString3d.js.map +1 -1
  576. package/lib/esm/curve/Loop.d.ts +7 -5
  577. package/lib/esm/curve/Loop.d.ts.map +1 -1
  578. package/lib/esm/curve/Loop.js +18 -6
  579. package/lib/esm/curve/Loop.js.map +1 -1
  580. package/lib/esm/curve/OffsetOptions.d.ts +97 -0
  581. package/lib/esm/curve/OffsetOptions.d.ts.map +1 -0
  582. package/lib/esm/curve/OffsetOptions.js +161 -0
  583. package/lib/esm/curve/OffsetOptions.js.map +1 -0
  584. package/lib/esm/curve/ParityRegion.d.ts +7 -7
  585. package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
  586. package/lib/esm/curve/ParityRegion.js +19 -11
  587. package/lib/esm/curve/ParityRegion.js.map +1 -1
  588. package/lib/esm/curve/Path.d.ts +6 -6
  589. package/lib/esm/curve/Path.d.ts.map +1 -1
  590. package/lib/esm/curve/Path.js +15 -9
  591. package/lib/esm/curve/Path.js.map +1 -1
  592. package/lib/esm/curve/PointString3d.js.map +1 -1
  593. package/lib/esm/curve/ProxyCurve.d.ts +5 -7
  594. package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
  595. package/lib/esm/curve/ProxyCurve.js +7 -7
  596. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  597. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  598. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  599. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  600. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  601. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  602. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  603. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  604. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  605. package/lib/esm/curve/RegionOps.d.ts +76 -56
  606. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  607. package/lib/esm/curve/RegionOps.js +84 -61
  608. package/lib/esm/curve/RegionOps.js.map +1 -1
  609. package/lib/esm/curve/RegionOpsClassificationSweeps.js +2 -2
  610. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  611. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
  612. package/lib/esm/curve/StrokeOptions.js +6 -2
  613. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  614. package/lib/esm/curve/UnionRegion.d.ts +6 -5
  615. package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
  616. package/lib/esm/curve/UnionRegion.js +17 -8
  617. package/lib/esm/curve/UnionRegion.js.map +1 -1
  618. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  619. package/lib/esm/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
  620. package/lib/esm/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
  621. package/lib/esm/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
  622. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -0
  623. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  624. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  625. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  626. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  627. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  628. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  629. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +2 -1
  630. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  631. package/lib/esm/curve/internalContexts/GapSearchContext.js +6 -2
  632. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  633. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +59 -70
  634. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  635. package/lib/esm/curve/internalContexts/MultiChainCollector.js +129 -218
  636. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  637. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  638. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  639. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  640. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  641. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  642. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
  643. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  644. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +86 -173
  645. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  646. package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  647. package/lib/esm/curve/internalContexts/SumLengthsContext.js +4 -1
  648. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  649. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  650. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  651. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  652. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  653. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  654. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  655. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  656. package/lib/esm/curve/spiral/IntegratedSpiral3d.js +1 -1
  657. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  658. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  659. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  660. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  661. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  662. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +1 -1
  663. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  664. package/lib/esm/curve/spiral/TransitionSpiral3d.js +1 -1
  665. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  666. package/lib/esm/curve/spiral/XYCurveEvaluator.js +1 -1
  667. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  668. package/lib/esm/geometry3d/Angle.d.ts +9 -0
  669. package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
  670. package/lib/esm/geometry3d/Angle.js +13 -0
  671. package/lib/esm/geometry3d/Angle.js.map +1 -1
  672. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  673. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  674. package/lib/esm/geometry3d/BilinearPatch.d.ts +43 -48
  675. package/lib/esm/geometry3d/BilinearPatch.d.ts.map +1 -1
  676. package/lib/esm/geometry3d/BilinearPatch.js +51 -55
  677. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  678. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  679. package/lib/esm/geometry3d/Ellipsoid.d.ts +1 -1
  680. package/lib/esm/geometry3d/Ellipsoid.js +1 -1
  681. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  682. package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -1
  683. package/lib/esm/geometry3d/FrameBuilder.js +13 -11
  684. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  685. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  686. package/lib/esm/geometry3d/GeometryHandler.d.ts +103 -97
  687. package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -1
  688. package/lib/esm/geometry3d/GeometryHandler.js +247 -124
  689. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  690. package/lib/esm/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
  691. package/lib/esm/geometry3d/GrowableBlockedArray.js +1 -1
  692. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  693. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  694. package/lib/esm/geometry3d/GrowableFloat64Array.js +1 -1
  695. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  696. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  697. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  698. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  699. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  700. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  701. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  702. package/lib/esm/geometry3d/Matrix3d.d.ts +18 -0
  703. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  704. package/lib/esm/geometry3d/Matrix3d.js +32 -5
  705. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  706. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  707. package/lib/esm/geometry3d/Plane3d.d.ts +41 -32
  708. package/lib/esm/geometry3d/Plane3d.d.ts.map +1 -1
  709. package/lib/esm/geometry3d/Plane3d.js +11 -8
  710. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  711. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
  712. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  713. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
  714. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  715. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  716. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  717. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +37 -32
  718. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  719. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  720. package/lib/esm/geometry3d/Point2dVector2d.d.ts +8 -9
  721. package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -1
  722. package/lib/esm/geometry3d/Point2dVector2d.js +9 -10
  723. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  724. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  725. package/lib/esm/geometry3d/Point3dVector3d.d.ts +12 -4
  726. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  727. package/lib/esm/geometry3d/Point3dVector3d.js +18 -5
  728. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  729. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  730. package/lib/esm/geometry3d/PointHelpers.js +5 -5
  731. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  732. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  733. package/lib/esm/geometry3d/PolygonOps.d.ts +6 -2
  734. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  735. package/lib/esm/geometry3d/PolygonOps.js +31 -22
  736. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  737. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  738. package/lib/esm/geometry3d/PolylineOps.d.ts +16 -1
  739. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  740. package/lib/esm/geometry3d/PolylineOps.js +56 -1
  741. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  742. package/lib/esm/geometry3d/Range.d.ts +134 -94
  743. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  744. package/lib/esm/geometry3d/Range.js +297 -145
  745. package/lib/esm/geometry3d/Range.js.map +1 -1
  746. package/lib/esm/geometry3d/Ray2d.d.ts +69 -0
  747. package/lib/esm/geometry3d/Ray2d.d.ts.map +1 -0
  748. package/lib/esm/geometry3d/Ray2d.js +142 -0
  749. package/lib/esm/geometry3d/Ray2d.js.map +1 -0
  750. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  751. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  752. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  753. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  754. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  755. package/lib/esm/geometry3d/Transform.d.ts +10 -3
  756. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  757. package/lib/esm/geometry3d/Transform.js +18 -6
  758. package/lib/esm/geometry3d/Transform.js.map +1 -1
  759. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  760. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  761. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  762. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  763. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  764. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  765. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  766. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  767. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  768. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  769. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  770. package/lib/esm/numerics/Complex.js.map +1 -1
  771. package/lib/esm/numerics/ConvexPolygon2d.d.ts +7 -49
  772. package/lib/esm/numerics/ConvexPolygon2d.d.ts.map +1 -1
  773. package/lib/esm/numerics/ConvexPolygon2d.js +14 -104
  774. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  775. package/lib/esm/numerics/Newton.js.map +1 -1
  776. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  777. package/lib/esm/numerics/PolarData.js.map +1 -1
  778. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  779. package/lib/esm/numerics/Polynomials.js +0 -2
  780. package/lib/esm/numerics/Polynomials.js.map +1 -1
  781. package/lib/esm/numerics/Quadrature.js +5 -5
  782. package/lib/esm/numerics/Quadrature.js.map +1 -1
  783. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  784. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  785. package/lib/esm/numerics/UnionFind.js.map +1 -1
  786. package/lib/esm/numerics/UsageSums.js.map +1 -1
  787. package/lib/esm/polyface/AuxData.js.map +1 -1
  788. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  789. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  790. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  791. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  792. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  793. package/lib/esm/polyface/IndexedEdgeMatcher.js +1 -1
  794. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  795. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  796. package/lib/esm/polyface/Polyface.js.map +1 -1
  797. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  798. package/lib/esm/polyface/PolyfaceBuilder.js +2 -2
  799. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  800. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  801. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  802. package/lib/esm/polyface/PolyfaceQuery.d.ts +93 -14
  803. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  804. package/lib/esm/polyface/PolyfaceQuery.js +173 -35
  805. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  806. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  807. package/lib/esm/polyface/TaggedNumericData.js +1 -1
  808. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  809. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  810. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
  811. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  812. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +27 -19
  813. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -1
  814. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js +30 -12
  815. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  816. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +12 -8
  817. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -1
  818. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +18 -4
  819. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  820. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts +3 -4
  821. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -1
  822. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js +3 -5
  823. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  824. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  825. package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts +15 -12
  826. package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -1
  827. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  828. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  829. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +38 -0
  830. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  831. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +102 -1
  832. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  833. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  834. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  835. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  836. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  837. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  838. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  839. package/lib/esm/serialization/GeometrySamples.d.ts +11 -0
  840. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  841. package/lib/esm/serialization/GeometrySamples.js +30 -0
  842. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  843. package/lib/esm/serialization/IModelJsonSchema.d.ts +2 -7
  844. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  845. package/lib/esm/serialization/IModelJsonSchema.js +2 -7
  846. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  847. package/lib/esm/solid/Box.js.map +1 -1
  848. package/lib/esm/solid/Cone.js.map +1 -1
  849. package/lib/esm/solid/LinearSweep.d.ts +2 -1
  850. package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
  851. package/lib/esm/solid/LinearSweep.js.map +1 -1
  852. package/lib/esm/solid/RotationalSweep.d.ts +2 -1
  853. package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
  854. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  855. package/lib/esm/solid/RuledSweep.d.ts +2 -1
  856. package/lib/esm/solid/RuledSweep.d.ts.map +1 -1
  857. package/lib/esm/solid/RuledSweep.js.map +1 -1
  858. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  859. package/lib/esm/solid/Sphere.js.map +1 -1
  860. package/lib/esm/solid/SweepContour.d.ts +2 -2
  861. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  862. package/lib/esm/solid/SweepContour.js +9 -0
  863. package/lib/esm/solid/SweepContour.js.map +1 -1
  864. package/lib/esm/solid/TorusPipe.js.map +1 -1
  865. package/lib/esm/topology/ChainMerge.js +1 -1
  866. package/lib/esm/topology/ChainMerge.js.map +1 -1
  867. package/lib/esm/topology/Graph.js.map +1 -1
  868. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  869. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  870. package/lib/esm/topology/HalfEdgeGraphSearch.js +1 -1
  871. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  872. package/lib/esm/topology/HalfEdgeGraphSpineContext.js +1 -1
  873. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  874. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  875. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  876. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  877. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  878. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  879. package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  880. package/lib/esm/topology/HalfEdgePriorityQueue.js +1 -1
  881. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  882. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  883. package/lib/esm/topology/MaskManager.js.map +1 -1
  884. package/lib/esm/topology/Merging.js.map +1 -1
  885. package/lib/esm/topology/RegularizeFace.js +3 -3
  886. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  887. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  888. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  889. package/lib/esm/topology/Triangulation.js +1 -1
  890. package/lib/esm/topology/Triangulation.js.map +1 -1
  891. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  892. package/package.json +6 -17
  893. package/lib/cjs/curve/ChainCollectorContext.d.ts.map +0 -1
  894. package/lib/cjs/curve/ChainCollectorContext.js.map +0 -1
  895. package/lib/esm/curve/ChainCollectorContext.d.ts.map +0 -1
  896. package/lib/esm/curve/ChainCollectorContext.js.map +0 -1
@@ -19,13 +19,21 @@ import { Transform } from "./Transform";
19
19
  */
20
20
  class RangeBase {
21
21
  /** Return 0 if high<= low, otherwise `1/(high-low)` for use in fractionalizing */
22
- static npcScaleFactor(low, high) { return (high <= low) ? 0.0 : 1.0 / (high - low); }
22
+ static npcScaleFactor(low, high) {
23
+ return (high <= low) ? 0.0 : 1.0 / (high - low);
24
+ }
23
25
  /** Return true if x is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
24
- static isExtremeValue(x) { return Math.abs(x) >= RangeBase._EXTREME_POSITIVE; }
26
+ static isExtremeValue(x) {
27
+ return Math.abs(x) >= RangeBase._EXTREME_POSITIVE;
28
+ }
25
29
  /** Return true if any x or y or z is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
26
- static isExtremePoint3d(xyz) { return RangeBase.isExtremeValue(xyz.x) || RangeBase.isExtremeValue(xyz.y) || RangeBase.isExtremeValue(xyz.z); }
30
+ static isExtremePoint3d(xyz) {
31
+ return RangeBase.isExtremeValue(xyz.x) || RangeBase.isExtremeValue(xyz.y) || RangeBase.isExtremeValue(xyz.z);
32
+ }
27
33
  /** Return true if either of x,y is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
28
- static isExtremePoint2d(xy) { return RangeBase.isExtremeValue(xy.x) || RangeBase.isExtremeValue(xy.y); }
34
+ static isExtremePoint2d(xy) {
35
+ return RangeBase.isExtremeValue(xy.x) || RangeBase.isExtremeValue(xy.y);
36
+ }
29
37
  /**
30
38
  * Return the min absolute distance from any point of `[lowA,highA]' to any point of `[lowB,highB]'.
31
39
  * * Both low,high pairs have order expectations: The condition `high < low` means null interval.
@@ -48,7 +56,8 @@ class RangeBase {
48
56
  return 0.0;
49
57
  return lowB - highA;
50
58
  }
51
- /** Given a coordinate and pair of range limits, return the smallest distance to the range.
59
+ /**
60
+ * Given a coordinate and pair of range limits, return the smallest distance to the range.
52
61
  * * This is zero for any point inside the range
53
62
  * * This is _EXTREME_POSITIVE if the range limits are inverted
54
63
  * * Otherwise (i.e. x is outside a finite range) the distance to the near endpoint.
@@ -63,7 +72,7 @@ class RangeBase {
63
72
  return 0.0;
64
73
  }
65
74
  /**
66
- * if a > 0, return (extrapolationFactor * a); otherwise return defaultValue
75
+ * If a > 0, return (extrapolationFactor * a); otherwise return defaultValue
67
76
  * @param q
68
77
  * @param factor multiplier for positive q values.
69
78
  */
@@ -94,11 +103,19 @@ export class Range3d extends RangeBase {
94
103
  this.high.z = RangeBase._EXTREME_NEGATIVE;
95
104
  }
96
105
  /** Freeze this instance (and its members) so it is read-only */
97
- freeze() { this.low.freeze(); this.high.freeze(); return Object.freeze(this); }
106
+ freeze() {
107
+ this.low.freeze();
108
+ this.high.freeze();
109
+ return Object.freeze(this);
110
+ }
98
111
  /** Flatten the low and high coordinates of any json object with low.x .. high.z into an array of 6 doubles */
99
- static toFloat64Array(val) { return Float64Array.of(val.low.x, val.low.y, val.low.z, val.high.x, val.high.y, val.high.z); }
112
+ static toFloat64Array(val) {
113
+ return Float64Array.of(val.low.x, val.low.y, val.low.z, val.high.x, val.high.y, val.high.z);
114
+ }
100
115
  /** Flatten the low and high coordinates of this into an array of 6 doubles */
101
- toFloat64Array() { return Range3d.toFloat64Array(this); }
116
+ toFloat64Array() {
117
+ return Range3d.toFloat64Array(this);
118
+ }
102
119
  /**
103
120
  * Construct a Range3d from an array of double-precision values
104
121
  * @param f64 the array, which should contain exactly 6 values in this order: lowX, lowY, lowZ, highX, highY, highZ
@@ -110,11 +127,14 @@ export class Range3d extends RangeBase {
110
127
  return new this(f64[0], f64[1], f64[2], f64[3], f64[4], f64[5]);
111
128
  }
112
129
  /**
113
- * Construct a Range3d from an un-typed array. This mostly useful when interpreting ECSQL query results of the 'blob' type, where you know that that result is a Range3d.
130
+ * Construct a Range3d from an un-typed array. This mostly useful when interpreting ECSQL query results of
131
+ * the 'blob' type, where you know that that result is a Range3d.
114
132
  * @param buffer untyped array
115
133
  * @return a new Range3d object
116
134
  */
117
- static fromArrayBuffer(buffer) { return this.fromFloat64Array(new Float64Array(buffer)); }
135
+ static fromArrayBuffer(buffer) {
136
+ return this.fromFloat64Array(new Float64Array(buffer));
137
+ }
118
138
  // explicit ctor - no enforcement of value relationships
119
139
  constructor(lowX = RangeBase._EXTREME_POSITIVE, lowY = RangeBase._EXTREME_POSITIVE, lowZ = RangeBase._EXTREME_POSITIVE, highX = RangeBase._EXTREME_NEGATIVE, highY = RangeBase._EXTREME_NEGATIVE, highZ = RangeBase._EXTREME_NEGATIVE) {
120
140
  super();
@@ -126,8 +146,11 @@ export class Range3d extends RangeBase {
126
146
  return (this.low.isAlmostEqual(other.low, tol) && this.high.isAlmostEqual(other.high, tol))
127
147
  || (this.isNull && other.isNull);
128
148
  }
129
- /** copy low and high values from other. */
130
- setFrom(other) { this.low.setFrom(other.low); this.high.setFrom(other.high); }
149
+ /** Copy low and high values from other. */
150
+ setFrom(other) {
151
+ this.low.setFrom(other.low);
152
+ this.high.setFrom(other.high);
153
+ }
131
154
  /** Return a new Range3d copied from a range or derived type */
132
155
  static createFrom(other, result) {
133
156
  if (result) {
@@ -136,7 +159,8 @@ export class Range3d extends RangeBase {
136
159
  }
137
160
  return this.createXYZXYZOrCorrectToNull(other.low.x, other.low.y, other.low.z, other.high.x, other.high.y, other.high.z, result);
138
161
  }
139
- /** set this range (in place) from json such as
162
+ /**
163
+ * Set this range (in place) from json such as
140
164
  * * key-value pairs: `{low:[1,2,3], high:[4,5,6]}`
141
165
  * * array of points: `[[1,2,3],[9,3,4],[-2,1,3] ...]`
142
166
  * * Lowest level points can be `[1,2,3]` or `{x:1,y:2,z:3}`
@@ -160,10 +184,13 @@ export class Range3d extends RangeBase {
160
184
  this.extendPoint(high);
161
185
  }
162
186
  }
163
- /** Return a JSON object `{low: ... , high: ...}`
187
+ /**
188
+ * Return a JSON object `{low: ... , high: ...}`
164
189
  * with points formatted by `Point3d.toJSON()`
165
190
  */
166
- toJSON() { return { low: this.low.toJSON(), high: this.high.toJSON() }; }
191
+ toJSON() {
192
+ return { low: this.low.toJSON(), high: this.high.toJSON() };
193
+ }
167
194
  /** Use `setFromJSON` to parse `json` into a new Range3d instance. */
168
195
  static fromJSON(json) {
169
196
  const result = new this();
@@ -191,7 +218,8 @@ export class Range3d extends RangeBase {
191
218
  result.setDirect(this.low.x, this.low.y, this.low.z, this.high.x, this.high.y, this.high.z, false);
192
219
  return result;
193
220
  }
194
- /** Return a copy, translated by adding `shift` components in all directions.
221
+ /**
222
+ * Return a copy, translated by adding `shift` components in all directions.
195
223
  * * The translate of a null range is also a null range.
196
224
  */
197
225
  cloneTranslated(shift, result) {
@@ -226,7 +254,7 @@ export class Range3d extends RangeBase {
226
254
  VariantPointDataStream.streamXYZ(data, collector);
227
255
  return collector.claimResult();
228
256
  }
229
- /** create a Range3d enclosing the transformed points. */
257
+ /** Create a Range3d enclosing the transformed points. */
230
258
  static createTransformed(transform, ...point) {
231
259
  const result = this.createNull();
232
260
  let p;
@@ -234,13 +262,13 @@ export class Range3d extends RangeBase {
234
262
  result.extendTransformedXYZ(transform, p.x, p.y, p.z);
235
263
  return result;
236
264
  }
237
- /** create a Range3d enclosing the transformed points. */
265
+ /** Create a Range3d enclosing the transformed points. */
238
266
  static createTransformedArray(transform, points) {
239
267
  const result = this.createNull();
240
268
  result.extendArray(points, transform);
241
269
  return result;
242
270
  }
243
- /** create a Range3d enclosing the points after inverse transform. */
271
+ /** Create a Range3d enclosing the points after inverse transform. */
244
272
  static createInverseTransformedArray(transform, points) {
245
273
  const result = this.createNull();
246
274
  result.extendInverseTransformedArray(points, transform);
@@ -289,7 +317,7 @@ export class Range3d extends RangeBase {
289
317
  result.extendPoint(point);
290
318
  return result;
291
319
  }
292
- /** extend a range around an array of points (optionally transformed) */
320
+ /** Extend a range around an array of points (optionally transformed) */
293
321
  extendArray(points, transform) {
294
322
  if (Array.isArray(points))
295
323
  if (transform)
@@ -306,7 +334,7 @@ export class Range3d extends RangeBase {
306
334
  for (let i = 0; i < points.length; i++)
307
335
  this.extendXYZ(points.getXAtUncheckedPointIndex(i), points.getYAtUncheckedPointIndex(i), points.getZAtUncheckedPointIndex(i));
308
336
  }
309
- /** extend a range around an array of points (optionally transformed) */
337
+ /** Extend a range around an array of points (optionally transformed) */
310
338
  extendInverseTransformedArray(points, transform) {
311
339
  if (Array.isArray(points))
312
340
  for (const point of points)
@@ -315,22 +343,19 @@ export class Range3d extends RangeBase {
315
343
  for (let i = 0; i < points.length; i++)
316
344
  this.extendInverseTransformedXYZ(transform, points.getXAtUncheckedPointIndex(i), points.getYAtUncheckedPointIndex(i), points.getZAtUncheckedPointIndex(i));
317
345
  }
318
- /** multiply the point x,y,z by transform and use the coordinate to extend this range.
319
- */
346
+ /** Multiply the point x,y,z by transform and use the coordinate to extend this range. */
320
347
  extendTransformedXYZ(transform, x, y, z) {
321
348
  const origin = transform.origin;
322
349
  const coffs = transform.matrix.coffs;
323
350
  this.extendXYZ(origin.x + coffs[0] * x + coffs[1] * y + coffs[2] * z, origin.y + coffs[3] * x + coffs[4] * y + coffs[5] * z, origin.z + coffs[6] * x + coffs[7] * y + coffs[8] * z);
324
351
  }
325
- /** multiply the point x,y,z,w by transform and use the coordinate to extend this range.
326
- */
352
+ /** Multiply the point x,y,z,w by transform and use the coordinate to extend this range. */
327
353
  extendTransformedXYZW(transform, x, y, z, w) {
328
354
  const origin = transform.origin;
329
355
  const coffs = transform.matrix.coffs;
330
356
  this.extendXYZW(origin.x * w + coffs[0] * x + coffs[1] * y + coffs[2] * z, origin.y * w + coffs[3] * x + coffs[4] * y + coffs[5] * z, origin.z * w + coffs[6] * x + coffs[7] * y + coffs[8] * z, w);
331
357
  }
332
- /** multiply the point x,y,z by transform and use the coordinate to extend this range.
333
- */
358
+ /** Multiply the point x,y,z by the inverse of the transform and use the coordinate to extend this range. */
334
359
  extendInverseTransformedXYZ(transform, x, y, z) {
335
360
  const origin = transform.origin;
336
361
  if (!transform.matrix.computeCachedInverse(true))
@@ -367,36 +392,72 @@ export class Range3d extends RangeBase {
367
392
  && this.high.z === this.low.z;
368
393
  }
369
394
  /** Return the midpoint of the diagonal. No test for null range. */
370
- get center() { return this.low.interpolate(.5, this.high); }
371
- /** return the low x coordinate */
372
- get xLow() { return this.low.x; }
373
- /** return the low y coordinate */
374
- get yLow() { return this.low.y; }
375
- /** return the low z coordinate */
376
- get zLow() { return this.low.z; }
377
- /** return the high x coordinate */
378
- get xHigh() { return this.high.x; }
379
- /** return the high y coordinate */
380
- get yHigh() { return this.high.y; }
381
- /** return the high z coordinate */
382
- get zHigh() { return this.high.z; }
395
+ get center() {
396
+ return this.low.interpolate(.5, this.high);
397
+ }
398
+ /** Return the low x coordinate */
399
+ get xLow() {
400
+ return this.low.x;
401
+ }
402
+ /** Return the low y coordinate */
403
+ get yLow() {
404
+ return this.low.y;
405
+ }
406
+ /** Return the low z coordinate */
407
+ get zLow() {
408
+ return this.low.z;
409
+ }
410
+ /** Return the high x coordinate */
411
+ get xHigh() {
412
+ return this.high.x;
413
+ }
414
+ /** Return the high y coordinate */
415
+ get yHigh() {
416
+ return this.high.y;
417
+ }
418
+ /** Return the high z coordinate */
419
+ get zHigh() {
420
+ return this.high.z;
421
+ }
383
422
  /** Return the length of the box in the x direction */
384
- xLength() { const a = this.high.x - this.low.x; return a > 0.0 ? a : 0.0; }
423
+ xLength() {
424
+ const a = this.high.x - this.low.x;
425
+ return a > 0.0 ? a : 0.0;
426
+ }
385
427
  /** Return the length of the box in the y direction */
386
- yLength() { const a = this.high.y - this.low.y; return a > 0.0 ? a : 0.0; }
428
+ yLength() {
429
+ const a = this.high.y - this.low.y;
430
+ return a > 0.0 ? a : 0.0;
431
+ }
387
432
  /** Return the length of the box in the z direction */
388
- zLength() { const a = this.high.z - this.low.z; return a > 0.0 ? a : 0.0; }
433
+ zLength() {
434
+ const a = this.high.z - this.low.z;
435
+ return a > 0.0 ? a : 0.0;
436
+ }
389
437
  /** Return the largest of the x,y, z lengths of the range. */
390
- maxLength() { return Math.max(this.xLength(), this.yLength(), this.zLength()); }
391
- /** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
392
- diagonal(result) { return this.low.vectorTo(this.high, result); }
393
- /** Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
394
- diagonalFractionToPoint(fraction, result) { return this.low.interpolate(fraction, this.high, result); }
395
- /** Return a point given by fractional positions on the XYZ axes. This is done with no check for isNull !!! */
438
+ maxLength() {
439
+ return Math.max(this.xLength(), this.yLength(), this.zLength());
440
+ }
441
+ /**
442
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
443
+ * large negative coordinates.
444
+ */
445
+ diagonal(result) {
446
+ return this.low.vectorTo(this.high, result);
447
+ }
448
+ /**
449
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
450
+ * large negative coordinates.
451
+ */
452
+ diagonalFractionToPoint(fraction, result) {
453
+ return this.low.interpolate(fraction, this.high, result);
454
+ }
455
+ /** Return a point given by fractional positions on the XYZ axes. This is done with no check for isNull !!! */
396
456
  fractionToPoint(fractionX, fractionY, fractionZ = 0, result) {
397
457
  return this.low.interpolateXYZ(fractionX, fractionY, fractionZ, this.high, result);
398
458
  }
399
- /** Return a point given by fractional positions on the XYZ axes.
459
+ /**
460
+ * Return a point given by fractional positions on the XYZ axes.
400
461
  * Returns undefined if the range is null.
401
462
  */
402
463
  localXYZToWorld(fractionX, fractionY, fractionZ, result) {
@@ -404,13 +465,15 @@ export class Range3d extends RangeBase {
404
465
  return undefined;
405
466
  return this.low.interpolateXYZ(fractionX, fractionY, fractionZ, this.high, result);
406
467
  }
407
- /** Return a point given by fractional positions on the XYZ axes.
468
+ /**
469
+ * Return a point given by fractional positions on the XYZ axes.
408
470
  * * Returns undefined if the range is null.
409
471
  */
410
472
  localToWorld(xyz, result) {
411
473
  return this.localXYZToWorld(xyz.x, xyz.y, xyz.z, result);
412
474
  }
413
- /** Replace fractional coordinates by world coordinates.
475
+ /**
476
+ * Replace fractional coordinates by world coordinates.
414
477
  * @returns false if null range.
415
478
  */
416
479
  localToWorldArrayInPlace(points) {
@@ -420,7 +483,8 @@ export class Range3d extends RangeBase {
420
483
  this.low.interpolateXYZ(p.x, p.y, p.z, this.high, p);
421
484
  return false;
422
485
  }
423
- /** Return fractional coordinates of point within the range.
486
+ /**
487
+ * Return fractional coordinates of point within the range.
424
488
  * * returns undefined if the range is null.
425
489
  * * returns undefined if any direction (x,y,z) has zero length
426
490
  */
@@ -432,7 +496,8 @@ export class Range3d extends RangeBase {
432
496
  return undefined;
433
497
  return Point3d.create((point.x - this.low.x) * ax, (point.y - this.low.y) * ay, (point.z - this.low.z) * az, result);
434
498
  }
435
- /** Return fractional coordinates of point within the range.
499
+ /**
500
+ * Return fractional coordinates of point within the range.
436
501
  * * returns undefined if the range is null.
437
502
  * * returns undefined if any direction (x,y,z) has zero length
438
503
  */
@@ -446,7 +511,8 @@ export class Range3d extends RangeBase {
446
511
  Point3d.create((p.x - this.low.x) * ax, (p.y - this.low.y) * ay, (p.z - this.low.z) * az, p);
447
512
  return true;
448
513
  }
449
- /** Return an array with the 8 corners on order wth "x varies fastest, then y, then z"
514
+ /**
515
+ * Return an array with the 8 corners on order wth "x varies fastest, then y, then z"
450
516
  * * points preallocated in `result` are reused if result.length >= 8.
451
517
  * * in reuse case, result.length is trimmed to 8
452
518
  */
@@ -471,10 +537,11 @@ export class Range3d extends RangeBase {
471
537
  Point3d.create(this.low.x, this.low.y, this.high.z),
472
538
  Point3d.create(this.high.x, this.low.y, this.high.z),
473
539
  Point3d.create(this.low.x, this.high.y, this.high.z),
474
- Point3d.create(this.high.x, this.high.y, this.high.z)
540
+ Point3d.create(this.high.x, this.high.y, this.high.z),
475
541
  ];
476
542
  }
477
- /** Return an array with indices of the corners of a face
543
+ /**
544
+ * Return an array with indices of the corners of a face
478
545
  * * face 0 has negative x normal
479
546
  * * face 1 has positive x normal
480
547
  * * face 2 has negative y normal
@@ -525,12 +592,18 @@ export class Range3d extends RangeBase {
525
592
  return 0.0;
526
593
  return Math.max(this.low.maxAbs(), this.high.maxAbs());
527
594
  }
528
- /** returns true if the x direction size is nearly zero */
529
- get isAlmostZeroX() { return Geometry.isSmallMetricDistance(this.xLength()); }
530
- /** returns true if the y direction size is nearly zero */
531
- get isAlmostZeroY() { return Geometry.isSmallMetricDistance(this.yLength()); }
532
- /** returns true if the z direction size is nearly zero */
533
- get isAlmostZeroZ() { return Geometry.isSmallMetricDistance(this.zLength()); }
595
+ /** Returns true if the x direction size is nearly zero */
596
+ get isAlmostZeroX() {
597
+ return Geometry.isSmallMetricDistance(this.xLength());
598
+ }
599
+ /** Returns true if the y direction size is nearly zero */
600
+ get isAlmostZeroY() {
601
+ return Geometry.isSmallMetricDistance(this.yLength());
602
+ }
603
+ /** Returns true if the z direction size is nearly zero */
604
+ get isAlmostZeroZ() {
605
+ return Geometry.isSmallMetricDistance(this.zLength());
606
+ }
534
607
  /** Test if a point given as x,y,z is within the range. */
535
608
  containsXYZ(x, y, z) {
536
609
  return x >= this.low.x
@@ -540,7 +613,7 @@ export class Range3d extends RangeBase {
540
613
  && y <= this.high.y
541
614
  && z <= this.high.z;
542
615
  }
543
- /** Test if a point given as x,y is within the range. (Ignoring z of range) */
616
+ /** Test if a point given as x,y is within the range (ignoring z of range). */
544
617
  containsXY(x, y) {
545
618
  return x >= this.low.x
546
619
  && y >= this.low.y
@@ -548,7 +621,9 @@ export class Range3d extends RangeBase {
548
621
  && y <= this.high.y;
549
622
  }
550
623
  /** Test if a point is within the range. */
551
- containsPoint(point) { return this.containsXYZ(point.x, point.y, point.z); }
624
+ containsPoint(point) {
625
+ return this.containsXYZ(point.x, point.y, point.z);
626
+ }
552
627
  /** Test if the x,y coordinates of a point are within the range. */
553
628
  containsPointXY(point) {
554
629
  return point.x >= this.low.x
@@ -574,7 +649,7 @@ export class Range3d extends RangeBase {
574
649
  || other.low.y > this.high.y
575
650
  || other.low.z > this.high.z);
576
651
  }
577
- /** Test if there is any intersection with other range */
652
+ /** Test if there is any intersection with other range, ignoring z. */
578
653
  intersectsRangeXY(other) {
579
654
  return !(this.low.x > other.high.x
580
655
  || this.low.y > other.high.y
@@ -587,7 +662,7 @@ export class Range3d extends RangeBase {
587
662
  return RangeBase._EXTREME_POSITIVE;
588
663
  return Math.min(Geometry.hypotenuseXYZ(RangeBase.coordinateToRangeAbsoluteDistance(point.x, this.low.x, this.high.x), RangeBase.coordinateToRangeAbsoluteDistance(point.y, this.low.y, this.high.y), RangeBase.coordinateToRangeAbsoluteDistance(point.z, this.low.z, this.high.z)), RangeBase._EXTREME_POSITIVE);
589
664
  }
590
- /** returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
665
+ /** Returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
591
666
  distanceToRange(other) {
592
667
  return Math.min(Geometry.hypotenuseXYZ(RangeBase.rangeToRangeAbsoluteDistance(this.low.x, this.high.x, other.low.x, other.high.x), RangeBase.rangeToRangeAbsoluteDistance(this.low.y, this.high.y, other.low.y, other.high.y), RangeBase.rangeToRangeAbsoluteDistance(this.low.z, this.high.z, other.low.z, other.high.z)), RangeBase._EXTREME_POSITIVE);
593
668
  }
@@ -672,7 +747,8 @@ export class Range3d extends RangeBase {
672
747
  this.extendXYZ(other.high.x, other.high.y, other.high.z);
673
748
  }
674
749
  }
675
- /** In each direction look at the difference between this range limit and that of interiorRange.
750
+ /**
751
+ * In each direction look at the difference between this range limit and that of interiorRange.
676
752
  * * If this range is larger, expand it by extrapolationFactor.
677
753
  */
678
754
  extendWhenLarger(other, extrapolationFactor) {
@@ -701,7 +777,7 @@ export class Range3d extends RangeBase {
701
777
  return Range3d.createXYZXYZOrCorrectToNull(Math.min(this.low.x, other.low.x), Math.min(this.low.y, other.low.y), Math.min(this.low.z, other.low.z), Math.max(this.high.x, other.high.x), Math.max(this.high.y, other.high.y), Math.max(this.high.z, other.high.z), result);
702
778
  }
703
779
  /**
704
- * move low and high points by scaleFactor around the center point.
780
+ * Move low and high points by scaleFactor around the center point.
705
781
  * @param scaleFactor scale factor applied to low, high distance from center.
706
782
  */
707
783
  scaleAboutCenterInPlace(scaleFactor) {
@@ -720,7 +796,7 @@ export class Range3d extends RangeBase {
720
796
  }
721
797
  }
722
798
  /**
723
- * move all limits by a fixed amount.
799
+ * Move all limits by a fixed amount.
724
800
  * * positive delta expands the range size
725
801
  * * negative delta reduces the range size
726
802
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -734,7 +810,8 @@ export class Range3d extends RangeBase {
734
810
  return Transform.createOriginAndMatrix(Point3d.create(this.low.x, this.low.y, this.low.z), Matrix3d.createRowValues(this.high.x - this.low.x, 0, 0, 0, this.high.y - this.low.y, 0, 0, 0, this.high.z - this.low.z), result);
735
811
  }
736
812
  /**
737
- * Creates an NPC to world transformation to go from 000...111 to the globally aligned cube with diagonally opposite corners that are the
813
+ * Creates an NPC to world transformation to go from 000...111 to the globally aligned cube with diagonally
814
+ * opposite corners that are the
738
815
  * min and max of this range. The diagonal component for any degenerate direction is 1.
739
816
  */
740
817
  getNpcToWorldRangeTransform(result) {
@@ -748,7 +825,9 @@ export class Range3d extends RangeBase {
748
825
  matrix.coffs[8] = 1;
749
826
  return transform;
750
827
  }
751
- /** Ensure that the length of each dimension of this AxisAlignedBox3d is at least a minimum size. If not, expand to minimum about the center.
828
+ /**
829
+ * Ensure that the length of each dimension of this AxisAlignedBox3d is at least a minimum size. If not, expand
830
+ * to minimum about the center.
752
831
  * @param min The minimum length for each dimension.
753
832
  */
754
833
  ensureMinLengths(min = .001) {
@@ -777,7 +856,7 @@ export class Range3d extends RangeBase {
777
856
  * @public
778
857
  */
779
858
  export class Range1d extends RangeBase {
780
- /** reset the low and high to null range state. */
859
+ /** Reset the low and high to null range state. */
781
860
  setNull() {
782
861
  this.low = RangeBase._EXTREME_POSITIVE;
783
862
  this.high = RangeBase._EXTREME_NEGATIVE;
@@ -801,10 +880,13 @@ export class Range1d extends RangeBase {
801
880
  return (Geometry.isSameCoordinate(this.low, other.low) && Geometry.isSameCoordinate(this.high, other.high))
802
881
  || (this.isNull && other.isNull);
803
882
  }
804
- /** copy contents from other Range1d. */
805
- setFrom(other) { this.low = other.low; this.high = other.high; }
806
- /** Convert from a JSON object of one of these forms:
807
- *
883
+ /** Copy contents from other Range1d. */
884
+ setFrom(other) {
885
+ this.low = other.low;
886
+ this.high = other.high;
887
+ }
888
+ /**
889
+ * Convert from a JSON object of one of these forms:
808
890
  * * Any array of numbers: `[value,value, value]`
809
891
  * * An object with low and high as properties: `{low:lowValue, high: highValue}`
810
892
  */
@@ -829,16 +911,20 @@ export class Range1d extends RangeBase {
829
911
  result.setFromJSON(json);
830
912
  return result;
831
913
  }
832
- /** Convert to a JSON object of form
914
+ /**
915
+ * Convert to a JSON object of form
833
916
  * ```
834
917
  * [lowValue,highValue]
835
918
  * ```
836
919
  */
837
- toJSON() { if (this.isNull)
838
- return new Array();
839
- else
840
- return [this.low, this.high]; }
841
- /** return a new Range1d with contents of this.
920
+ toJSON() {
921
+ if (this.isNull)
922
+ return new Array();
923
+ else
924
+ return [this.low, this.high];
925
+ }
926
+ /**
927
+ * Return a new Range1d with contents of this.
842
928
  * @param result optional result.
843
929
  */
844
930
  clone(result) {
@@ -846,7 +932,8 @@ export class Range1d extends RangeBase {
846
932
  result.setDirect(this.low, this.high);
847
933
  return result;
848
934
  }
849
- /** return a new Range1d with contents of this.
935
+ /**
936
+ * Return a new Range1d with contents of this.
850
937
  * @param result optional result.
851
938
  */
852
939
  static createFrom(other, result) {
@@ -854,7 +941,8 @@ export class Range1d extends RangeBase {
854
941
  result.setDirect(other.low, other.high);
855
942
  return result;
856
943
  }
857
- /** Create a range with no content.
944
+ /**
945
+ * Create a range with no content.
858
946
  * @param result optional result.
859
947
  */
860
948
  static createNull(result) {
@@ -862,7 +950,8 @@ export class Range1d extends RangeBase {
862
950
  result.setNull();
863
951
  return result;
864
952
  }
865
- /** create a range with `delta` added to low and high
953
+ /**
954
+ * Create a range with `delta` added to low and high
866
955
  * * If `this` is a null range, return a null range.
867
956
  */
868
957
  cloneTranslated(delta, result) {
@@ -877,7 +966,9 @@ export class Range1d extends RangeBase {
877
966
  * Set this range to be a single value.
878
967
  * @param x value to use as both low and high.
879
968
  */
880
- setX(x) { this.low = this.high = x; }
969
+ setX(x) {
970
+ this.low = this.high = x;
971
+ }
881
972
  /** Create a single point box */
882
973
  static createX(x, result) {
883
974
  result = result ? result : new this();
@@ -899,10 +990,12 @@ export class Range1d extends RangeBase {
899
990
  this.high = x0;
900
991
  }
901
992
  }
993
+ /** Check if low is 0 and high is 1 */
902
994
  get isExact01() {
903
995
  return this.low === 0.0 && this.high === 1.0;
904
996
  }
905
- /** Create a box from two values. Values are reversed if needed
997
+ /**
998
+ * Create a box from two values. Values are reversed if needed
906
999
  * @param xA first value
907
1000
  * @param xB second value
908
1001
  */
@@ -911,7 +1004,8 @@ export class Range1d extends RangeBase {
911
1004
  result.setDirect(Math.min(xA, xB), Math.max(xA, xB));
912
1005
  return result;
913
1006
  }
914
- /** Create a box from two values, but null range if the values are reversed
1007
+ /**
1008
+ * Create a box from two values, but null range if the values are reversed
915
1009
  * @param xA first value
916
1010
  * @param xB second value
917
1011
  */
@@ -922,7 +1016,8 @@ export class Range1d extends RangeBase {
922
1016
  result.setDirect(Math.min(xA, xB), Math.max(xA, xB));
923
1017
  return result;
924
1018
  }
925
- /** Create a range containing all the values in an array.
1019
+ /**
1020
+ * Create a range containing all the values in an array.
926
1021
  * @param values array of points to be contained in the range.
927
1022
  * @param result optional result.
928
1023
  */
@@ -933,13 +1028,14 @@ export class Range1d extends RangeBase {
933
1028
  result.extendX(x);
934
1029
  return result;
935
1030
  }
936
- /** extend to include an array of values */
1031
+ /** Extend to include an array of values */
937
1032
  extendArray(values) {
938
1033
  let x;
939
1034
  for (x of values)
940
1035
  this.extendX(x);
941
1036
  }
942
- /** extend to include `values` at indices `beginIndex <= i < endIndex]`
1037
+ /**
1038
+ * Extend to include `values` at indices `beginIndex <= i < endIndex]`
943
1039
  * @param values array of values
944
1040
  * @param beginIndex first index to include
945
1041
  * @param numValue number of values to access
@@ -958,8 +1054,11 @@ export class Range1d extends RangeBase {
958
1054
  return this.high === this.low;
959
1055
  }
960
1056
  /** Return the length of the range in the x direction */
961
- length() { const a = this.high - this.low; return a > 0.0 ? a : 0.0; }
962
- /** return a point given by fractional positions within the range. This is done with no check for isNull !!! */
1057
+ length() {
1058
+ const a = this.high - this.low;
1059
+ return a > 0.0 ? a : 0.0;
1060
+ }
1061
+ /** Return a point given by fractional positions within the range. This is done with no check for isNull !!! */
963
1062
  fractionToPoint(fraction) {
964
1063
  return Geometry.interpolate(this.low, fraction, this.high);
965
1064
  }
@@ -970,7 +1069,9 @@ export class Range1d extends RangeBase {
970
1069
  return Math.max(Math.abs(this.low), Math.abs(this.high));
971
1070
  }
972
1071
  /** Test if the x direction size is nearly zero */
973
- get isAlmostZeroLength() { return Geometry.isSmallMetricDistance(this.length()); }
1072
+ get isAlmostZeroLength() {
1073
+ return Geometry.isSmallMetricDistance(this.length());
1074
+ }
974
1075
  /** Test if a number is within the range. */
975
1076
  containsX(x) {
976
1077
  return x >= this.low
@@ -990,7 +1091,6 @@ export class Range1d extends RangeBase {
990
1091
  * * For x1 > x0, that range is null, and the intersection is null.
991
1092
  * * For x0 <= x1, the input is a non-null range.
992
1093
  * * The intersection range replaces the contents of this.
993
- *
994
1094
  */
995
1095
  intersectRangeXXInPlace(x0, x1) {
996
1096
  if (x1 < x0 || x1 < this.low || x0 > this.high) {
@@ -1003,7 +1103,7 @@ export class Range1d extends RangeBase {
1003
1103
  this.low = x0;
1004
1104
  }
1005
1105
  }
1006
- /** returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
1106
+ /** Returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
1007
1107
  distanceToRange(other) {
1008
1108
  return RangeBase.rangeToRangeAbsoluteDistance(this.low, this.high, other.low, other.high);
1009
1109
  }
@@ -1055,7 +1155,7 @@ export class Range1d extends RangeBase {
1055
1155
  return Range1d.createXX(Math.min(this.low, other.low), Math.max(this.high, other.high), result);
1056
1156
  }
1057
1157
  /**
1058
- * move low and high points by scaleFactor around the center point.
1158
+ * Move low and high points by scaleFactor around the center point.
1059
1159
  * @param scaleFactor scale factor applied to low, high distance from center.
1060
1160
  */
1061
1161
  scaleAboutCenterInPlace(scaleFactor) {
@@ -1068,7 +1168,7 @@ export class Range1d extends RangeBase {
1068
1168
  }
1069
1169
  }
1070
1170
  /**
1071
- * move all limits by a fixed amount.
1171
+ * Move all limits by a fixed amount.
1072
1172
  * * positive delta expands the range size
1073
1173
  * * negative delta reduces the range size
1074
1174
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -1078,13 +1178,14 @@ export class Range1d extends RangeBase {
1078
1178
  this.setDirect(this.low - delta, this.high + delta, true);
1079
1179
  }
1080
1180
  /**
1081
- * clip this range to a linear half space condition
1181
+ * Clip this range to a linear half space condition
1082
1182
  * * if `limitA > limitB` the limit space is empty
1083
1183
  * * make this range null
1084
1184
  * * return false;
1085
1185
  * * otherwise (i.e `limitA <= limitB`)
1086
1186
  * * solve `a + u * f = limitA' and `a + u * f = limitA`
1087
- * * if unable to solve (i.e. u near zero), `a` alone determines whether to (a) leave this interval unchanged or (b) reduce to nothing.
1187
+ * * if unable to solve (i.e. u near zero), `a` alone determines whether to (a) leave this interval unchanged or
1188
+ * (b) reduce to nothing.
1088
1189
  * * the `f` values are an interval in the space of this `Range1d`
1089
1190
  * * restrict the range to that interval (i.e intersect existing (low,high) with the fraction interval.
1090
1191
  * * return true if the range is non-null after the clip.
@@ -1093,7 +1194,6 @@ export class Range1d extends RangeBase {
1093
1194
  * @param limitA crossing value, assumed in range relation with limitB
1094
1195
  * @param limitB crossing value, assumed in range relation with limitB
1095
1196
  * @param limitIsHigh true if the limit is an upper limit on mapped values.
1096
- *
1097
1197
  */
1098
1198
  clipLinearMapToInterval(a, u, limitA, limitB) {
1099
1199
  // f = (limit - a) / u
@@ -1132,7 +1232,7 @@ export class Range1d extends RangeBase {
1132
1232
  * @public
1133
1233
  */
1134
1234
  export class Range2d extends RangeBase {
1135
- /** reset the low and high to null range state. */
1235
+ /** Reset the low and high to null range state. */
1136
1236
  setNull() {
1137
1237
  this.low.x = RangeBase._EXTREME_POSITIVE;
1138
1238
  this.low.y = RangeBase._EXTREME_POSITIVE;
@@ -1140,9 +1240,13 @@ export class Range2d extends RangeBase {
1140
1240
  this.high.y = RangeBase._EXTREME_NEGATIVE;
1141
1241
  }
1142
1242
  /** Flatten the low and high coordinates of any json object with low.x .. high.y into an array of 4 doubles */
1143
- static toFloat64Array(val) { return Float64Array.of(val.low.x, val.low.y, val.high.x, val.high.y); }
1243
+ static toFloat64Array(val) {
1244
+ return Float64Array.of(val.low.x, val.low.y, val.high.x, val.high.y);
1245
+ }
1144
1246
  /** Flatten the low and high coordinates of this instance into an array of 4 doubles */
1145
- toFloat64Array() { return Range2d.toFloat64Array(this); }
1247
+ toFloat64Array() {
1248
+ return Range2d.toFloat64Array(this);
1249
+ }
1146
1250
  /**
1147
1251
  * Construct a Range2d from an array of double-precision values
1148
1252
  * @param f64 the array, which should contain exactly 4 values in this order: lowX, lowY, highX, highY
@@ -1154,12 +1258,15 @@ export class Range2d extends RangeBase {
1154
1258
  return new this(f64[0], f64[1], f64[2], f64[3]);
1155
1259
  }
1156
1260
  /**
1157
- * Construct a Range2d from an un-typed array. This mostly useful when interpreting ECSQL query results of the 'blob' type, where you know that that result is a Range3d.
1261
+ * Construct a Range2d from an un-typed array. This mostly useful when interpreting ECSQL query results of
1262
+ * the 'blob' type, where you know that that result is a Range3d.
1158
1263
  * @param buffer untyped array
1159
1264
  * @return a new Range2d object
1160
1265
  */
1161
- static fromArrayBuffer(buffer) { return this.fromFloat64Array(new Float64Array(buffer)); }
1162
- // explicit ctor - no enforcement of value relationships
1266
+ static fromArrayBuffer(buffer) {
1267
+ return this.fromFloat64Array(new Float64Array(buffer));
1268
+ }
1269
+ // explicit constructor - no enforcement of value relationships
1163
1270
  constructor(lowX = Range2d._EXTREME_POSITIVE, lowY = Range2d._EXTREME_POSITIVE, highX = Range2d._EXTREME_NEGATIVE, highY = Range2d._EXTREME_NEGATIVE) {
1164
1271
  super();
1165
1272
  this.low = Point2d.create(lowX, lowY);
@@ -1170,12 +1277,12 @@ export class Range2d extends RangeBase {
1170
1277
  return (this.low.isAlmostEqual(other.low) && this.high.isAlmostEqual(other.high))
1171
1278
  || (this.isNull && other.isNull);
1172
1279
  }
1173
- /** copy all content from any `other` that has low and high xy data. */
1280
+ /** Copy all content from any `other` that has low and high xy data. */
1174
1281
  setFrom(other) {
1175
1282
  this.low.set(other.low.x, other.low.y);
1176
1283
  this.high.set(other.high.x, other.high.y);
1177
1284
  }
1178
- /** create a new Range2d from any `other` that has low and high xy data. */
1285
+ /** Create a new Range2d from any `other` that has low and high xy data. */
1179
1286
  static createFrom(other, result) {
1180
1287
  if (result) {
1181
1288
  result.setFrom(other);
@@ -1183,7 +1290,7 @@ export class Range2d extends RangeBase {
1183
1290
  }
1184
1291
  return this.createXYXYOrCorrectToNull(other.low.x, other.low.y, other.high.x, other.high.y, result);
1185
1292
  }
1186
- /** treat any array of numbers as numbers to be inserted !!! */
1293
+ /** Treat any array of numbers as numbers to be inserted !!! */
1187
1294
  setFromJSON(json) {
1188
1295
  this.setNull();
1189
1296
  if (Array.isArray(json)) {
@@ -1202,9 +1309,15 @@ export class Range2d extends RangeBase {
1202
1309
  }
1203
1310
  }
1204
1311
  /** Freeze this instance (and its members) so it is read-only */
1205
- freeze() { this.low.freeze(); this.high.freeze(); return Object.freeze(this); }
1206
- /** return json array with two points as produced by `Point2d.toJSON` */
1207
- toJSON() { return this.isNull ? [] : [this.low.toJSON(), this.high.toJSON()]; }
1312
+ freeze() {
1313
+ this.low.freeze();
1314
+ this.high.freeze();
1315
+ return Object.freeze(this);
1316
+ }
1317
+ /** Return json array with two points as produced by `Point2d.toJSON` */
1318
+ toJSON() {
1319
+ return this.isNull ? [] : [this.low.toJSON(), this.high.toJSON()];
1320
+ }
1208
1321
  /** Use `setFromJSON` to parse `json` into a new Range2d instance. */
1209
1322
  static fromJSON(json) {
1210
1323
  const result = new this();
@@ -1223,13 +1336,13 @@ export class Range2d extends RangeBase {
1223
1336
  this.setNull();
1224
1337
  }
1225
1338
  }
1226
- /** return a clone of this range (or copy to optional result) */
1339
+ /** Return a clone of this range (or copy to optional result) */
1227
1340
  clone(result) {
1228
1341
  result = result ? result : new this.constructor();
1229
1342
  result.setDirect(this.low.x, this.low.y, this.high.x, this.high.y, false);
1230
1343
  return result;
1231
1344
  }
1232
- /** create a range with no content. */
1345
+ /** Create a range with no content. */
1233
1346
  static createNull(result) {
1234
1347
  result = result ? result : new this();
1235
1348
  result.setNull();
@@ -1279,7 +1392,10 @@ export class Range2d extends RangeBase {
1279
1392
  return this.high.x < this.low.x
1280
1393
  || this.high.y < this.low.y;
1281
1394
  }
1282
- /** Test if the box has high strictly less than low for any of x,y, condition. Note that a range around a single point is NOT null. */
1395
+ /**
1396
+ * Test if the box has high strictly less than low for any of x,y, condition. Note that a range around a
1397
+ * single point is NOT null.
1398
+ */
1283
1399
  static isNull(range) {
1284
1400
  return range.high.x < range.low.x
1285
1401
  || range.high.y < range.low.y;
@@ -1290,28 +1406,55 @@ export class Range2d extends RangeBase {
1290
1406
  && this.high.y === this.low.y;
1291
1407
  }
1292
1408
  /** Return the midpoint of the diagonal. No test for null range. */
1293
- get center() { return this.low.interpolate(.5, this.high); }
1294
- /** return the low x coordinate */
1295
- get xLow() { return this.low.x; }
1296
- /** return the low y coordinate */
1297
- get yLow() { return this.low.y; }
1298
- /** return the high x coordinate */
1299
- get xHigh() { return this.high.x; }
1300
- /** return the high y coordinate */
1301
- get yHigh() { return this.high.y; }
1409
+ get center() {
1410
+ return this.low.interpolate(.5, this.high);
1411
+ }
1412
+ /** Return the low x coordinate */
1413
+ get xLow() {
1414
+ return this.low.x;
1415
+ }
1416
+ /** Return the low y coordinate */
1417
+ get yLow() {
1418
+ return this.low.y;
1419
+ }
1420
+ /** Return the high x coordinate */
1421
+ get xHigh() {
1422
+ return this.high.x;
1423
+ }
1424
+ /** Return the high y coordinate */
1425
+ get yHigh() {
1426
+ return this.high.y;
1427
+ }
1302
1428
  /** Length of the box in the x direction */
1303
- xLength() { const a = this.high.x - this.low.x; return a > 0.0 ? a : 0.0; }
1429
+ xLength() {
1430
+ const a = this.high.x - this.low.x;
1431
+ return a > 0.0 ? a : 0.0;
1432
+ }
1304
1433
  /** Length of the box in the y direction */
1305
- yLength() { const a = this.high.y - this.low.y; return a > 0.0 ? a : 0.0; }
1306
- /** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
1307
- diagonal(result) { return this.low.vectorTo(this.high, result); }
1308
- /** return the point at the specified fraction along the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
1309
- diagonalFractionToPoint(fraction, result) { return this.low.interpolate(fraction, this.high, result); }
1310
- /** return a point given by fractional positions on the XY axes. This is done with no check for isNull !!! */
1434
+ yLength() {
1435
+ const a = this.high.y - this.low.y;
1436
+ return a > 0.0 ? a : 0.0;
1437
+ }
1438
+ /**
1439
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
1440
+ * large negative coordinates.
1441
+ */
1442
+ diagonal(result) {
1443
+ return this.low.vectorTo(this.high, result);
1444
+ }
1445
+ /**
1446
+ * Return the point at the specified fraction along the diagonal vector. There is no check for isNull -- if the
1447
+ * range isNull(), the vector will have very large negative coordinates.
1448
+ */
1449
+ diagonalFractionToPoint(fraction, result) {
1450
+ return this.low.interpolate(fraction, this.high, result);
1451
+ }
1452
+ /** Return a point given by fractional positions on the XY axes. This is done with no check for isNull !!! */
1311
1453
  fractionToPoint(fractionX, fractionY, result) {
1312
1454
  return this.low.interpolateXY(fractionX, fractionY, this.high, result);
1313
1455
  }
1314
- /** Return an array with the 4 corners.
1456
+ /**
1457
+ * Return an array with the 4 corners.
1315
1458
  * * if asLoop is false, 4 corners are "x varies fastest, then y"
1316
1459
  * * if asLoop is true, 5 corners are in CCW order WITH CLOSURE
1317
1460
  */
@@ -1322,13 +1465,13 @@ export class Range2d extends RangeBase {
1322
1465
  Point3d.create(this.high.x, this.low.y, z),
1323
1466
  Point3d.create(this.high.x, this.high.y, z),
1324
1467
  Point3d.create(this.low.x, this.high.y, z),
1325
- Point3d.create(this.low.x, this.low.y, z)
1468
+ Point3d.create(this.low.x, this.low.y, z),
1326
1469
  ];
1327
1470
  return [
1328
1471
  Point3d.create(this.low.x, this.low.y, z),
1329
1472
  Point3d.create(this.high.x, this.low.y, z),
1330
1473
  Point3d.create(this.low.x, this.high.y, z),
1331
- Point3d.create(this.high.x, this.high.y, z)
1474
+ Point3d.create(this.high.x, this.high.y, z),
1332
1475
  ];
1333
1476
  }
1334
1477
  /** Largest absolute value among any coordinates in the box corners. */
@@ -1338,10 +1481,14 @@ export class Range2d extends RangeBase {
1338
1481
  return Math.max(this.low.maxAbs(), this.high.maxAbs());
1339
1482
  }
1340
1483
  /** Test if the x direction size is nearly zero */
1341
- get isAlmostZeroX() { return Geometry.isSmallMetricDistance(this.xLength()); }
1484
+ get isAlmostZeroX() {
1485
+ return Geometry.isSmallMetricDistance(this.xLength());
1486
+ }
1342
1487
  /** Test if the y direction size is nearly zero */
1343
- get isAlmostZeroY() { return Geometry.isSmallMetricDistance(this.yLength()); }
1344
- /** Test if a point given as x,y is within the range. */
1488
+ get isAlmostZeroY() {
1489
+ return Geometry.isSmallMetricDistance(this.yLength());
1490
+ }
1491
+ /** Test if a point given as x,y is within the range */
1345
1492
  containsXY(x, y) {
1346
1493
  return x >= this.low.x
1347
1494
  && y >= this.low.y
@@ -1349,7 +1496,9 @@ export class Range2d extends RangeBase {
1349
1496
  && y <= this.high.y;
1350
1497
  }
1351
1498
  /** Test if a point is within the range. */
1352
- containsPoint(point) { return this.containsXY(point.x, point.y); }
1499
+ containsPoint(point) {
1500
+ return this.containsXY(point.x, point.y);
1501
+ }
1353
1502
  /** Test of other range is within this range */
1354
1503
  containsRange(other) {
1355
1504
  return other.low.x >= this.low.x
@@ -1392,7 +1541,9 @@ export class Range2d extends RangeBase {
1392
1541
  this.extendXY(x1, y1);
1393
1542
  }
1394
1543
  /** Expand this range to include a point. */
1395
- extendPoint(point) { this.extendXY(point.x, point.y); }
1544
+ extendPoint(point) {
1545
+ this.extendXY(point.x, point.y);
1546
+ }
1396
1547
  /** Expand this range to include a range. */
1397
1548
  extendRange(other) {
1398
1549
  if (!Range2d.isNull(other)) {
@@ -1416,7 +1567,7 @@ export class Range2d extends RangeBase {
1416
1567
  return Range2d.createXYXY(Math.min(this.low.x, other.low.x), Math.min(this.low.y, other.low.y), Math.max(this.high.x, other.high.x), Math.max(this.high.y, other.high.y), result);
1417
1568
  }
1418
1569
  /**
1419
- * move low and high points by scaleFactor around the center point.
1570
+ * Move low and high points by scaleFactor around the center point.
1420
1571
  * @param scaleFactor scale factor applied to low, high distance from center.
1421
1572
  */
1422
1573
  scaleAboutCenterInPlace(scaleFactor) {
@@ -1432,7 +1583,7 @@ export class Range2d extends RangeBase {
1432
1583
  }
1433
1584
  }
1434
1585
  /**
1435
- * move all limits by a fixed amount.
1586
+ * Move all limits by a fixed amount.
1436
1587
  * * positive delta expands the range size
1437
1588
  * * negative delta reduces the range size
1438
1589
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -1441,7 +1592,8 @@ export class Range2d extends RangeBase {
1441
1592
  expandInPlace(delta) {
1442
1593
  this.setDirect(this.low.x - delta, this.low.y - delta, this.high.x + delta, this.high.y + delta, true);
1443
1594
  }
1444
- /** Return fractional coordinates of point within the range.
1595
+ /**
1596
+ * Return fractional coordinates of point within the range.
1445
1597
  * * returns undefined if the range is null.
1446
1598
  * * returns undefined if any direction (x,y) has zero length
1447
1599
  */