@itwin/core-geometry 4.9.0-dev.9 → 4.10.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (680) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/lib/cjs/Constant.js.map +1 -1
  3. package/lib/cjs/Geometry.d.ts +57 -46
  4. package/lib/cjs/Geometry.d.ts.map +1 -1
  5. package/lib/cjs/Geometry.js +73 -53
  6. package/lib/cjs/Geometry.js.map +1 -1
  7. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
  8. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  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.js.map +1 -1
  13. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  14. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  15. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  16. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  17. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  18. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  19. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
  20. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  21. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  22. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  23. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  24. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  25. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  26. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  27. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  28. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  29. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  30. package/lib/cjs/core-geometry.js.map +1 -1
  31. package/lib/cjs/curve/Arc3d.d.ts +141 -38
  32. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  33. package/lib/cjs/curve/Arc3d.js +219 -31
  34. package/lib/cjs/curve/Arc3d.js.map +1 -1
  35. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  36. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  37. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +11 -6
  38. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  39. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +12 -10
  40. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  41. package/lib/cjs/curve/CurveCollection.d.ts +2 -1
  42. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  43. package/lib/cjs/curve/CurveCollection.js +2 -1
  44. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  45. package/lib/cjs/curve/CurveCurve.d.ts +11 -9
  46. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  47. package/lib/cjs/curve/CurveCurve.js +11 -9
  48. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  49. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  50. package/lib/cjs/curve/CurveFactory.d.ts +4 -3
  51. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  52. package/lib/cjs/curve/CurveFactory.js +4 -3
  53. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  54. package/lib/cjs/curve/CurveLocationDetail.d.ts +19 -1
  55. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  56. package/lib/cjs/curve/CurveLocationDetail.js +39 -0
  57. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  58. package/lib/cjs/curve/CurveOps.d.ts +4 -4
  59. package/lib/cjs/curve/CurveOps.d.ts.map +1 -1
  60. package/lib/cjs/curve/CurveOps.js +6 -6
  61. package/lib/cjs/curve/CurveOps.js.map +1 -1
  62. package/lib/cjs/curve/CurvePrimitive.d.ts +1 -1
  63. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  64. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  65. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  66. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  67. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  68. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  69. package/lib/cjs/curve/LineString3d.d.ts +7 -5
  70. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  71. package/lib/cjs/curve/LineString3d.js +8 -6
  72. package/lib/cjs/curve/LineString3d.js.map +1 -1
  73. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  74. package/lib/cjs/curve/Loop.js +6 -6
  75. package/lib/cjs/curve/Loop.js.map +1 -1
  76. package/lib/cjs/curve/OffsetOptions.d.ts +1 -1
  77. package/lib/cjs/curve/OffsetOptions.js +1 -1
  78. package/lib/cjs/curve/OffsetOptions.js.map +1 -1
  79. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  80. package/lib/cjs/curve/Path.d.ts.map +1 -1
  81. package/lib/cjs/curve/Path.js +5 -6
  82. package/lib/cjs/curve/Path.js.map +1 -1
  83. package/lib/cjs/curve/PointString3d.js.map +1 -1
  84. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  85. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -1
  86. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js +3 -4
  87. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  88. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  89. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  90. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  91. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  92. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  93. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  94. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  95. package/lib/cjs/curve/RegionOps.d.ts +4 -3
  96. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  97. package/lib/cjs/curve/RegionOps.js +4 -3
  98. package/lib/cjs/curve/RegionOps.js.map +1 -1
  99. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  100. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  101. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  102. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  103. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  104. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  105. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  106. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  107. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  108. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +23 -7
  109. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  110. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +43 -35
  111. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  112. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +22 -8
  113. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  114. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +127 -52
  115. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  116. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  117. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  118. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  119. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.d.ts +211 -0
  120. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.d.ts.map +1 -0
  121. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js +1000 -0
  122. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -0
  123. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  124. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +11 -8
  125. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  126. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +7 -4
  127. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  128. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  129. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  130. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  131. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  132. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  133. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  134. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  135. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  136. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  137. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  138. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  139. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  140. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  141. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  142. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  143. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  144. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  145. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  146. package/lib/cjs/geometry3d/Angle.d.ts +18 -5
  147. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
  148. package/lib/cjs/geometry3d/Angle.js +23 -7
  149. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  150. package/lib/cjs/geometry3d/AngleSweep.d.ts +14 -1
  151. package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
  152. package/lib/cjs/geometry3d/AngleSweep.js +47 -12
  153. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  154. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  155. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  156. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  157. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  158. package/lib/cjs/geometry3d/FrameBuilder.d.ts +2 -1
  159. package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -1
  160. package/lib/cjs/geometry3d/FrameBuilder.js +12 -10
  161. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  162. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  163. package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -1
  164. package/lib/cjs/geometry3d/GeometryHandler.js +1 -7
  165. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  166. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  167. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  168. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  169. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  170. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  171. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  172. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  173. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  174. package/lib/cjs/geometry3d/Matrix3d.d.ts +6 -4
  175. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  176. package/lib/cjs/geometry3d/Matrix3d.js +6 -4
  177. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  178. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  179. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  180. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  181. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  182. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  183. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  184. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  185. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +5 -5
  186. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  187. package/lib/cjs/geometry3d/Point3dVector3d.js +5 -5
  188. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  189. package/lib/cjs/geometry3d/PointHelpers.d.ts +6 -5
  190. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  191. package/lib/cjs/geometry3d/PointHelpers.js +11 -10
  192. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  193. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  194. package/lib/cjs/geometry3d/PolygonOps.d.ts +4 -4
  195. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  196. package/lib/cjs/geometry3d/PolygonOps.js +7 -11
  197. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  198. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts +1 -1
  199. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -1
  200. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js +3 -3
  201. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  202. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  203. package/lib/cjs/geometry3d/Range.d.ts +6 -1
  204. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  205. package/lib/cjs/geometry3d/Range.js +9 -3
  206. package/lib/cjs/geometry3d/Range.js.map +1 -1
  207. package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
  208. package/lib/cjs/geometry3d/Ray3d.d.ts +1 -1
  209. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  210. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  211. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  212. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  213. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  214. package/lib/cjs/geometry3d/Transform.d.ts +1 -1
  215. package/lib/cjs/geometry3d/Transform.js +1 -1
  216. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  217. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  218. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  219. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  220. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  221. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  222. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  223. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  224. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  225. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  226. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  227. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  228. package/lib/cjs/numerics/Complex.js.map +1 -1
  229. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  230. package/lib/cjs/numerics/Newton.d.ts +3 -3
  231. package/lib/cjs/numerics/Newton.d.ts.map +1 -1
  232. package/lib/cjs/numerics/Newton.js +14 -16
  233. package/lib/cjs/numerics/Newton.js.map +1 -1
  234. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  235. package/lib/cjs/numerics/PolarData.js.map +1 -1
  236. package/lib/cjs/numerics/Polynomials.d.ts +2 -2
  237. package/lib/cjs/numerics/Polynomials.js +2 -2
  238. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  239. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  240. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  241. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  242. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  243. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  244. package/lib/cjs/polyface/AuxData.js.map +1 -1
  245. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  246. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  247. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  248. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  249. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  250. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  251. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  252. package/lib/cjs/polyface/Polyface.js.map +1 -1
  253. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +7 -4
  254. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  255. package/lib/cjs/polyface/PolyfaceBuilder.js +11 -6
  256. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  257. package/lib/cjs/polyface/PolyfaceClip.d.ts +13 -10
  258. package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
  259. package/lib/cjs/polyface/PolyfaceClip.js +17 -14
  260. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  261. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  262. package/lib/cjs/polyface/PolyfaceQuery.d.ts +11 -14
  263. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  264. package/lib/cjs/polyface/PolyfaceQuery.js +59 -52
  265. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  266. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  267. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  268. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  269. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  270. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  271. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  272. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  273. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  274. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  275. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  276. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  277. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  278. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  279. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  280. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  281. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  282. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  283. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  284. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  285. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  286. package/lib/cjs/serialization/BGFBWriter.js +2 -2
  287. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  288. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  289. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  290. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  291. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  292. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
  293. package/lib/cjs/solid/Box.js.map +1 -1
  294. package/lib/cjs/solid/Cone.js.map +1 -1
  295. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  296. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  297. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  298. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  299. package/lib/cjs/solid/Sphere.js.map +1 -1
  300. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  301. package/lib/cjs/solid/SweepContour.js +0 -4
  302. package/lib/cjs/solid/SweepContour.js.map +1 -1
  303. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  304. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  305. package/lib/cjs/topology/Graph.d.ts +1 -1
  306. package/lib/cjs/topology/Graph.js +2 -2
  307. package/lib/cjs/topology/Graph.js.map +1 -1
  308. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  309. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  310. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  311. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  312. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  313. package/lib/cjs/topology/HalfEdgeNodeXYZUV.d.ts +1 -1
  314. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js +1 -1
  315. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  316. package/lib/cjs/topology/HalfEdgePointInGraphSearch.d.ts +57 -15
  317. package/lib/cjs/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -1
  318. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js +168 -127
  319. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  320. package/lib/cjs/topology/HalfEdgePositionDetail.d.ts +35 -35
  321. package/lib/cjs/topology/HalfEdgePositionDetail.d.ts.map +1 -1
  322. package/lib/cjs/topology/HalfEdgePositionDetail.js +63 -41
  323. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  324. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  325. package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts +64 -12
  326. package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts.map +1 -1
  327. package/lib/cjs/topology/InsertAndRetriangulateContext.js +174 -75
  328. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  329. package/lib/cjs/topology/MaskManager.js.map +1 -1
  330. package/lib/cjs/topology/Merging.d.ts +2 -2
  331. package/lib/cjs/topology/Merging.js +2 -2
  332. package/lib/cjs/topology/Merging.js.map +1 -1
  333. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  334. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  335. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  336. package/lib/cjs/topology/Triangulation.d.ts +16 -10
  337. package/lib/cjs/topology/Triangulation.d.ts.map +1 -1
  338. package/lib/cjs/topology/Triangulation.js +23 -30
  339. package/lib/cjs/topology/Triangulation.js.map +1 -1
  340. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  341. package/lib/esm/Constant.js.map +1 -1
  342. package/lib/esm/Geometry.d.ts +57 -46
  343. package/lib/esm/Geometry.d.ts.map +1 -1
  344. package/lib/esm/Geometry.js +73 -53
  345. package/lib/esm/Geometry.js.map +1 -1
  346. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  347. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  348. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  349. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  350. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  351. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  352. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  353. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  354. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  355. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  356. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  357. package/lib/esm/bspline/KnotVector.js.map +1 -1
  358. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  359. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  360. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  361. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  362. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  363. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  364. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  365. package/lib/esm/clipping/ClipVector.js.map +1 -1
  366. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  367. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  368. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  369. package/lib/esm/core-geometry.js.map +1 -1
  370. package/lib/esm/curve/Arc3d.d.ts +141 -38
  371. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  372. package/lib/esm/curve/Arc3d.js +217 -30
  373. package/lib/esm/curve/Arc3d.js.map +1 -1
  374. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  375. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  376. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +11 -6
  377. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  378. package/lib/esm/curve/CurveChainWithDistanceIndex.js +12 -10
  379. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  380. package/lib/esm/curve/CurveCollection.d.ts +2 -1
  381. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  382. package/lib/esm/curve/CurveCollection.js +2 -1
  383. package/lib/esm/curve/CurveCollection.js.map +1 -1
  384. package/lib/esm/curve/CurveCurve.d.ts +11 -9
  385. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  386. package/lib/esm/curve/CurveCurve.js +11 -9
  387. package/lib/esm/curve/CurveCurve.js.map +1 -1
  388. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  389. package/lib/esm/curve/CurveFactory.d.ts +4 -3
  390. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  391. package/lib/esm/curve/CurveFactory.js +4 -3
  392. package/lib/esm/curve/CurveFactory.js.map +1 -1
  393. package/lib/esm/curve/CurveLocationDetail.d.ts +19 -1
  394. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  395. package/lib/esm/curve/CurveLocationDetail.js +39 -0
  396. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  397. package/lib/esm/curve/CurveOps.d.ts +4 -4
  398. package/lib/esm/curve/CurveOps.d.ts.map +1 -1
  399. package/lib/esm/curve/CurveOps.js +6 -6
  400. package/lib/esm/curve/CurveOps.js.map +1 -1
  401. package/lib/esm/curve/CurvePrimitive.d.ts +1 -1
  402. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  403. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  404. package/lib/esm/curve/CurveTypes.js.map +1 -1
  405. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  406. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  407. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  408. package/lib/esm/curve/LineString3d.d.ts +7 -5
  409. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  410. package/lib/esm/curve/LineString3d.js +8 -6
  411. package/lib/esm/curve/LineString3d.js.map +1 -1
  412. package/lib/esm/curve/Loop.d.ts.map +1 -1
  413. package/lib/esm/curve/Loop.js +6 -6
  414. package/lib/esm/curve/Loop.js.map +1 -1
  415. package/lib/esm/curve/OffsetOptions.d.ts +1 -1
  416. package/lib/esm/curve/OffsetOptions.js +1 -1
  417. package/lib/esm/curve/OffsetOptions.js.map +1 -1
  418. package/lib/esm/curve/ParityRegion.js.map +1 -1
  419. package/lib/esm/curve/Path.d.ts.map +1 -1
  420. package/lib/esm/curve/Path.js +5 -6
  421. package/lib/esm/curve/Path.js.map +1 -1
  422. package/lib/esm/curve/PointString3d.js.map +1 -1
  423. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  424. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -1
  425. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js +3 -4
  426. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  427. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  428. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  429. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  430. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  431. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  432. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  433. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  434. package/lib/esm/curve/RegionOps.d.ts +4 -3
  435. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  436. package/lib/esm/curve/RegionOps.js +4 -3
  437. package/lib/esm/curve/RegionOps.js.map +1 -1
  438. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  439. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  440. package/lib/esm/curve/UnionRegion.js.map +1 -1
  441. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  442. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  443. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  444. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  445. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  446. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  447. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +23 -7
  448. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  449. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +43 -35
  450. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  451. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +22 -8
  452. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  453. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +127 -52
  454. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  455. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  456. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  457. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  458. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.d.ts +211 -0
  459. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.d.ts.map +1 -0
  460. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js +995 -0
  461. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -0
  462. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  463. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +11 -8
  464. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  465. package/lib/esm/curve/internalContexts/MultiChainCollector.js +7 -4
  466. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  467. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  468. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  469. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  470. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  471. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  472. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  473. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  474. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  475. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  476. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  477. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  478. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  479. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  480. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  481. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  482. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  483. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  484. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  485. package/lib/esm/geometry3d/Angle.d.ts +18 -5
  486. package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
  487. package/lib/esm/geometry3d/Angle.js +23 -7
  488. package/lib/esm/geometry3d/Angle.js.map +1 -1
  489. package/lib/esm/geometry3d/AngleSweep.d.ts +14 -1
  490. package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
  491. package/lib/esm/geometry3d/AngleSweep.js +47 -12
  492. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  493. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  494. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  495. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  496. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  497. package/lib/esm/geometry3d/FrameBuilder.d.ts +2 -1
  498. package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -1
  499. package/lib/esm/geometry3d/FrameBuilder.js +12 -10
  500. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  501. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  502. package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -1
  503. package/lib/esm/geometry3d/GeometryHandler.js +1 -7
  504. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  505. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  506. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  507. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  508. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  509. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  510. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  511. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  512. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  513. package/lib/esm/geometry3d/Matrix3d.d.ts +6 -4
  514. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  515. package/lib/esm/geometry3d/Matrix3d.js +6 -4
  516. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  517. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  518. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  519. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  520. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  521. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  522. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  523. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  524. package/lib/esm/geometry3d/Point3dVector3d.d.ts +5 -5
  525. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  526. package/lib/esm/geometry3d/Point3dVector3d.js +5 -5
  527. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  528. package/lib/esm/geometry3d/PointHelpers.d.ts +6 -5
  529. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  530. package/lib/esm/geometry3d/PointHelpers.js +11 -10
  531. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  532. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  533. package/lib/esm/geometry3d/PolygonOps.d.ts +4 -4
  534. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  535. package/lib/esm/geometry3d/PolygonOps.js +7 -11
  536. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  537. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts +1 -1
  538. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -1
  539. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +3 -3
  540. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  541. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  542. package/lib/esm/geometry3d/Range.d.ts +6 -1
  543. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  544. package/lib/esm/geometry3d/Range.js +9 -3
  545. package/lib/esm/geometry3d/Range.js.map +1 -1
  546. package/lib/esm/geometry3d/Ray2d.js.map +1 -1
  547. package/lib/esm/geometry3d/Ray3d.d.ts +1 -1
  548. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  549. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  550. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  551. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  552. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  553. package/lib/esm/geometry3d/Transform.d.ts +1 -1
  554. package/lib/esm/geometry3d/Transform.js +1 -1
  555. package/lib/esm/geometry3d/Transform.js.map +1 -1
  556. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  557. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  558. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  559. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  560. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  561. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  562. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  563. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  564. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  565. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  566. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  567. package/lib/esm/numerics/Complex.js.map +1 -1
  568. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  569. package/lib/esm/numerics/Newton.d.ts +3 -3
  570. package/lib/esm/numerics/Newton.d.ts.map +1 -1
  571. package/lib/esm/numerics/Newton.js +14 -16
  572. package/lib/esm/numerics/Newton.js.map +1 -1
  573. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  574. package/lib/esm/numerics/PolarData.js.map +1 -1
  575. package/lib/esm/numerics/Polynomials.d.ts +2 -2
  576. package/lib/esm/numerics/Polynomials.js +2 -2
  577. package/lib/esm/numerics/Polynomials.js.map +1 -1
  578. package/lib/esm/numerics/Quadrature.js.map +1 -1
  579. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  580. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  581. package/lib/esm/numerics/UnionFind.js.map +1 -1
  582. package/lib/esm/numerics/UsageSums.js.map +1 -1
  583. package/lib/esm/polyface/AuxData.js.map +1 -1
  584. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  585. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  586. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  587. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  588. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  589. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  590. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  591. package/lib/esm/polyface/Polyface.js.map +1 -1
  592. package/lib/esm/polyface/PolyfaceBuilder.d.ts +7 -4
  593. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  594. package/lib/esm/polyface/PolyfaceBuilder.js +11 -6
  595. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  596. package/lib/esm/polyface/PolyfaceClip.d.ts +13 -10
  597. package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
  598. package/lib/esm/polyface/PolyfaceClip.js +17 -14
  599. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  600. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  601. package/lib/esm/polyface/PolyfaceQuery.d.ts +11 -14
  602. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  603. package/lib/esm/polyface/PolyfaceQuery.js +59 -52
  604. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  605. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  606. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  607. package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  608. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  609. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  610. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  611. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  612. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  613. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  614. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  615. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  616. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  617. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  618. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  619. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  620. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  621. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  622. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  623. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  624. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  625. package/lib/esm/serialization/BGFBWriter.js +2 -2
  626. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  627. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  628. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  629. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  630. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  631. package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
  632. package/lib/esm/solid/Box.js.map +1 -1
  633. package/lib/esm/solid/Cone.js.map +1 -1
  634. package/lib/esm/solid/LinearSweep.js.map +1 -1
  635. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  636. package/lib/esm/solid/RuledSweep.js.map +1 -1
  637. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  638. package/lib/esm/solid/Sphere.js.map +1 -1
  639. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  640. package/lib/esm/solid/SweepContour.js +0 -4
  641. package/lib/esm/solid/SweepContour.js.map +1 -1
  642. package/lib/esm/solid/TorusPipe.js.map +1 -1
  643. package/lib/esm/topology/ChainMerge.js.map +1 -1
  644. package/lib/esm/topology/Graph.d.ts +1 -1
  645. package/lib/esm/topology/Graph.js +2 -2
  646. package/lib/esm/topology/Graph.js.map +1 -1
  647. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  648. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  649. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  650. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  651. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  652. package/lib/esm/topology/HalfEdgeNodeXYZUV.d.ts +1 -1
  653. package/lib/esm/topology/HalfEdgeNodeXYZUV.js +1 -1
  654. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  655. package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts +57 -15
  656. package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -1
  657. package/lib/esm/topology/HalfEdgePointInGraphSearch.js +168 -127
  658. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  659. package/lib/esm/topology/HalfEdgePositionDetail.d.ts +35 -35
  660. package/lib/esm/topology/HalfEdgePositionDetail.d.ts.map +1 -1
  661. package/lib/esm/topology/HalfEdgePositionDetail.js +63 -41
  662. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  663. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  664. package/lib/esm/topology/InsertAndRetriangulateContext.d.ts +64 -12
  665. package/lib/esm/topology/InsertAndRetriangulateContext.d.ts.map +1 -1
  666. package/lib/esm/topology/InsertAndRetriangulateContext.js +173 -74
  667. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  668. package/lib/esm/topology/MaskManager.js.map +1 -1
  669. package/lib/esm/topology/Merging.d.ts +2 -2
  670. package/lib/esm/topology/Merging.js +2 -2
  671. package/lib/esm/topology/Merging.js.map +1 -1
  672. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  673. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  674. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  675. package/lib/esm/topology/Triangulation.d.ts +16 -10
  676. package/lib/esm/topology/Triangulation.d.ts.map +1 -1
  677. package/lib/esm/topology/Triangulation.js +24 -31
  678. package/lib/esm/topology/Triangulation.js.map +1 -1
  679. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  680. package/package.json +3 -3
@@ -112,13 +112,13 @@ export var PolygonLocation;
112
112
  * @public
113
113
  */
114
114
  export class Geometry {
115
- /** Test if absolute value of x is large (larger than `Geometry.largeCoordinateResult`) */
115
+ /** Test if the absolute value of x is at least [[largeCoordinateResult]]. */
116
116
  static isLargeCoordinateResult(x) {
117
- return x > this.largeCoordinateResult || x < -this.largeCoordinateResult;
117
+ return x >= this.largeCoordinateResult || x <= -this.largeCoordinateResult;
118
118
  }
119
119
  /**
120
- * Test if absolute value of x is large (larger than `Geometry.largeCoordinateResult`).
121
- * @deprecated in 4.x. Use `isLargeCoordinateResult`.
120
+ * Test if the absolute value of x is at least [[largeCoordinateResult]].
121
+ * @deprecated in 4.x. Use [[isLargeCoordinateResult]].
122
122
  */
123
123
  static isHugeCoordinate(x) {
124
124
  return Geometry.isLargeCoordinateResult(x);
@@ -128,47 +128,50 @@ export class Geometry {
128
128
  return (x & (0x01)) === 1; // bitwise operation
129
129
  }
130
130
  /**
131
- * Correct distance to zero.
132
- * * If `distance` magnitude is `undefined` or smaller than `smallMetricDistance`, then return `replacement`
133
- * (or 0 if replacement is not passed). Otherwise return `distance`.
131
+ * Correct a small distance.
132
+ * @param distance metric value to test
133
+ * @param replacement value to return if `distance` is too small. Default is zero.
134
+ * @returns `distance` if it is defined and has absolute value greater than [[smallMetricDistance]];
135
+ * otherwise returns `replacement`
134
136
  */
135
137
  static correctSmallMetricDistance(distance, replacement = 0.0) {
136
- if (distance === undefined || Math.abs(distance) < Geometry.smallMetricDistance) {
138
+ if (distance === undefined || Math.abs(distance) <= Geometry.smallMetricDistance) {
137
139
  return replacement;
138
140
  }
139
141
  return distance;
140
142
  }
141
143
  /**
142
- * Correct `fraction` to `replacement` if `fraction` is undefined or too small.
143
- * @param fraction number to test
144
- * @param replacement value to return if `fraction` is too small
145
- * @returns `fraction` if its absolute value is at least `Geometry.smallFraction`; otherwise returns `replacement`
144
+ * Correct a small fraction.
145
+ * @param fraction fraction to test
146
+ * @param replacement value to return if `fraction` is too small. Default is zero.
147
+ * @returns `fraction` if it is defined and has absolute value greater than [[Geometry.smallFraction]];
148
+ * otherwise returns `replacement`
146
149
  */
147
150
  static correctSmallFraction(fraction, replacement = 0.0) {
148
- if (fraction === undefined || Math.abs(fraction) < Geometry.smallFraction) {
151
+ if (fraction === undefined || Math.abs(fraction) <= Geometry.smallFraction) {
149
152
  return replacement;
150
153
  }
151
154
  return fraction;
152
155
  }
153
156
  /**
154
- * Return the inverse of `distance`.
155
- * * If `distance` magnitude is smaller than `smallMetricDistance` (i.e. distance is large enough for safe division),
156
- * then return `1/distance`. Otherwise return `undefined`.
157
+ * Compute the inverse of `distance`, checking for safe division.
158
+ * @returns `1/distance` if the absolute value of `distance` exceeds [[smallMetricDistance]];
159
+ * otherwise returns `undefined`.
157
160
  */
158
161
  static inverseMetricDistance(distance) {
159
162
  return (Math.abs(distance) <= Geometry.smallMetricDistance) ? undefined : 1.0 / distance;
160
163
  }
161
164
  /**
162
- * Return the inverse of `distanceSquared`.
163
- * * If `distanceSquared ` magnitude is smaller than `smallMetricDistanceSquared` (i.e. distanceSquared is large
164
- * enough for safe division), then return `1/distanceSquared `. Otherwise return `undefined`.
165
+ * Return the inverse of `distanceSquared`, checking for safe division.
166
+ * @returns `1/distanceSquared` if the absolute value of `distanceSquared` exceeds [[smallMetricDistanceSquared]];
167
+ * otherwise returns `undefined`.
165
168
  */
166
169
  static inverseMetricDistanceSquared(distanceSquared) {
167
170
  return (Math.abs(distanceSquared) <= Geometry.smallMetricDistanceSquared) ? undefined : 1.0 / distanceSquared;
168
171
  }
169
172
  /**
170
173
  * Boolean test for metric coordinate near-equality (i.e., if `x` and `y` are almost equal) using `tolerance`.
171
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
174
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
172
175
  */
173
176
  static isSameCoordinate(x, y, tolerance = Geometry.smallMetricDistance) {
174
177
  let d = x - y;
@@ -186,7 +189,7 @@ export class Geometry {
186
189
  /**
187
190
  * Boolean test for metric coordinate pair near-equality (i.e., if `x0` and `x1` are almost equal
188
191
  * and `y0` and `y1` are almost equal) using `tolerance`.
189
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
192
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
190
193
  */
191
194
  static isSameCoordinateXY(x0, y0, x1, y1, tolerance = Geometry.smallMetricDistance) {
192
195
  let d = x1 - x0;
@@ -202,21 +205,21 @@ export class Geometry {
202
205
  /**
203
206
  * Boolean test for squared metric coordinate near-equality (i.e., if `sqrt(x)` and `sqrt(y)` are
204
207
  * almost equal) using `tolerance`.
205
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
208
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
206
209
  */
207
210
  static isSameCoordinateSquared(x, y, tolerance = Geometry.smallMetricDistance) {
208
211
  return Math.abs(Math.sqrt(x) - Math.sqrt(y)) <= tolerance;
209
212
  }
210
213
  /**
211
214
  * Boolean test for small `dataA.distance(dataB)` within `tolerance`.
212
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
215
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
213
216
  */
214
217
  static isSamePoint3d(dataA, dataB, tolerance = Geometry.smallMetricDistance) {
215
218
  return dataA.distance(dataB) <= tolerance;
216
219
  }
217
220
  /**
218
221
  * Boolean test for small xyz-distance within `tolerance`.
219
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
222
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
220
223
  * * Note that Point3d and Vector3d are both derived from XYZ, so this method tolerates mixed types.
221
224
  */
222
225
  static isSameXYZ(dataA, dataB, tolerance = Geometry.smallMetricDistance) {
@@ -224,28 +227,28 @@ export class Geometry {
224
227
  }
225
228
  /**
226
229
  * Boolean test for small xy-distance (ignoring z) within `tolerance`.
227
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
230
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
228
231
  */
229
232
  static isSamePoint3dXY(dataA, dataB, tolerance = Geometry.smallMetricDistance) {
230
233
  return dataA.distanceXY(dataB) <= tolerance;
231
234
  }
232
235
  /**
233
236
  * Boolean test for small xyz-distance within `tolerance`.
234
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
237
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
235
238
  */
236
239
  static isSameVector3d(dataA, dataB, tolerance = Geometry.smallMetricDistance) {
237
240
  return dataA.distance(dataB) <= tolerance;
238
241
  }
239
242
  /**
240
243
  * Boolean test for small xy-distance within `tolerance`.
241
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
244
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
242
245
  */
243
246
  static isSamePoint2d(dataA, dataB, tolerance = Geometry.smallMetricDistance) {
244
247
  return dataA.distance(dataB) <= tolerance;
245
248
  }
246
249
  /**
247
250
  * Boolean test for small xy-distance within `tolerance`.
248
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
251
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
249
252
  */
250
253
  static isSameVector2d(dataA, dataB, tolerance = Geometry.smallMetricDistance) {
251
254
  return dataA.distance(dataB) <= tolerance;
@@ -297,15 +300,19 @@ export class Geometry {
297
300
  return 0;
298
301
  }
299
302
  /**
300
- * Test if `value` is small compared to `smallFraction`.
301
- * * This is appropriate if `value` is know to be a typical 0..1 fraction.
303
+ * Test if `value` is at most [[smallFraction]] in absolute value.
304
+ * * This is appropriate if `value` is known to be a fraction.
302
305
  */
303
306
  static isSmallRelative(value) {
304
- return Math.abs(value) < Geometry.smallFraction;
307
+ return Math.abs(value) <= Geometry.smallFraction;
305
308
  }
306
- /** Test if `value` is small compared to `smallAngleRadians` */
309
+ /** Test if `value` is at most [[smallAngleRadians]] in absolute value. */
307
310
  static isSmallAngleRadians(value) {
308
- return Math.abs(value) < Geometry.smallAngleRadians;
311
+ return Math.abs(value) <= Geometry.smallAngleRadians;
312
+ }
313
+ /** Test if `value` is at most [[smallAngleRadiansSquared]] in absolute value. */
314
+ static isSmallAngleRadiansSquared(value) {
315
+ return Math.abs(value) <= Geometry.smallAngleRadiansSquared;
309
316
  }
310
317
  /**
311
318
  * Returns `true` if both values are `undefined` or if both are defined and almost equal within tolerance.
@@ -323,16 +330,25 @@ export class Geometry {
323
330
  return true;
324
331
  }
325
332
  /**
326
- * Toleranced equality test using tolerance `tolerance * ( 1 + abs(a) + abs(b) )`.
327
- * * `Geometry.smallAngleRadians` is used if tolerance is `undefined`.
333
+ * Toleranced equality test.
334
+ * @param tolerance relative tolerance. Default value is [[smallAngleRadians]].
335
+ * @returns true if and only if `a` and `b` are almost equal.
328
336
  */
329
337
  static isAlmostEqualNumber(a, b, tolerance = Geometry.smallAngleRadians) {
330
338
  const sumAbs = 1.0 + Math.abs(a) + Math.abs(b);
331
339
  return Math.abs(a - b) <= tolerance * sumAbs;
332
340
  }
341
+ /**
342
+ * Toleranced test for equality to at least one of two numbers.
343
+ * @param tolerance relative tolerance. Default value is [[smallAngleRadians]].
344
+ * @returns true if and only if `a` and `b` are almost equal, or `a` and `c` are almost equal.
345
+ */
346
+ static isAlmostEqualEitherNumber(a, b, c, tolerance = Geometry.smallAngleRadians) {
347
+ return this.isAlmostEqualNumber(a, b, tolerance) || this.isAlmostEqualNumber(a, c, tolerance);
348
+ }
333
349
  /**
334
350
  * Toleranced equality test using tolerance `tolerance * ( 1 + abs(a.x) + abs(a.y) + abs(b.x) + abs(b.y) )`.
335
- * * `Geometry.smallAngleRadians` is used if tolerance is `undefined`.
351
+ * * [[smallAngleRadians]] is used if tolerance is `undefined`.
336
352
  */
337
353
  static isAlmostEqualXAndY(a, b, tolerance = Geometry.smallAngleRadians) {
338
354
  const tol = tolerance * (1.0 + Math.abs(a.x) + Math.abs(b.x) + Math.abs(a.y) + Math.abs(b.y));
@@ -340,16 +356,16 @@ export class Geometry {
340
356
  }
341
357
  /**
342
358
  * Toleranced equality test using caller-supplied `tolerance`.
343
- * * `Geometry.smallMetricDistance` is used if tolerance is `undefined`.
359
+ * * [[smallMetricDistance]] is used if tolerance is `undefined`.
344
360
  */
345
361
  static isDistanceWithinTol(distance, tolerance = Geometry.smallMetricDistance) {
346
362
  return Math.abs(distance) <= tolerance;
347
363
  }
348
- /** Toleranced equality test using `smallMetricDistance` tolerance. */
364
+ /** Toleranced equality test using [[smallMetricDistance]] tolerance. */
349
365
  static isSmallMetricDistance(distance) {
350
366
  return Math.abs(distance) <= Geometry.smallMetricDistance;
351
367
  }
352
- /** Toleranced equality test using `smallMetricDistanceSquared` tolerance. */
368
+ /** Toleranced equality test using [[smallMetricDistanceSquared]] tolerance. */
353
369
  static isSmallMetricDistanceSquared(distanceSquared) {
354
370
  return Math.abs(distanceSquared) <= Geometry.smallMetricDistanceSquared;
355
371
  }
@@ -752,11 +768,13 @@ export class Geometry {
752
768
  * Return `numerator` divided by `denominator`.
753
769
  * @param numerator the numerator
754
770
  * @param denominator the denominator
755
- * @returns return `numerator/denominator` but if the ratio exceeds `Geometry.largeFractionResult`,
771
+ * @returns return `numerator/denominator` but if the ratio exceeds [[largeFractionResult]],
756
772
  * return `undefined`.
757
773
  */
758
774
  static conditionalDivideFraction(numerator, denominator) {
759
- if (Math.abs(denominator) * Geometry.largeFractionResult > Math.abs(numerator))
775
+ if (0 === denominator)
776
+ return undefined;
777
+ if (Math.abs(denominator) * Geometry.largeFractionResult >= Math.abs(numerator))
760
778
  return numerator / denominator;
761
779
  return undefined;
762
780
  }
@@ -764,7 +782,7 @@ export class Geometry {
764
782
  * Return `numerator` divided by `denominator`.
765
783
  * @param numerator the numerator
766
784
  * @param denominator the denominator
767
- * @returns return `numerator/denominator` but if the ratio exceeds `Geometry.largeFractionResult`,
785
+ * @returns return `numerator/denominator` but if the ratio exceeds [[largeFractionResult]],
768
786
  * return `defaultResult`.
769
787
  */
770
788
  static safeDivideFraction(numerator, denominator, defaultResult) {
@@ -781,7 +799,9 @@ export class Geometry {
781
799
  * @returns return `numerator/denominator` but if the ratio exceeds `largestResult`, return `undefined`.
782
800
  */
783
801
  static conditionalDivideCoordinate(numerator, denominator, largestResult = Geometry.largeCoordinateResult) {
784
- if (Math.abs(denominator * largestResult) > Math.abs(numerator))
802
+ if (0 === denominator)
803
+ return undefined;
804
+ if (Math.abs(denominator * largestResult) >= Math.abs(numerator))
785
805
  return numerator / denominator;
786
806
  return undefined;
787
807
  }
@@ -836,7 +856,7 @@ export class Geometry {
836
856
  }
837
857
  /**
838
858
  * For a line `f(x)` where `f(x0) = f0` and `f(x1) = f1`, return the `x` value at which `f(x) = fTarget`.
839
- * Return `defaultResult` if `(fTarget - f0) / (f1 - f0)` exceeds `Geometry.largeFractionResult`.
859
+ * Return `defaultResult` if `(fTarget - f0) / (f1 - f0)` exceeds [[largeFractionResult]].
840
860
  */
841
861
  static inverseInterpolate(x0, f0, x1, f1, fTarget = 0, defaultResult) {
842
862
  /**
@@ -851,7 +871,7 @@ export class Geometry {
851
871
  }
852
872
  /**
853
873
  * For a line `f(x)` where `f(0) = f0` and `f(1) = f1`, return the `x` value at which `f(x) = fTarget`
854
- * Return `undefined` if `(fTarget - f0) / (f1 - f0)` exceeds `Geometry.largeFractionResult`
874
+ * Return `undefined` if `(fTarget - f0) / (f1 - f0)` exceeds [[largeFractionResult]].
855
875
  */
856
876
  static inverseInterpolate01(f0, f1, fTarget = 0) {
857
877
  // Line equation is fTarget-f0 = (f1-f0)*x so x = (fTarget-f0)/(f1-f0)
@@ -922,12 +942,12 @@ export class Geometry {
922
942
  return apply01 ? x >= 0.0 && x <= 1.0 : true;
923
943
  }
924
944
  /**
925
- * Test if `x` is in the interval [0,1] for a given positive `tolerance`.
926
- * * Make sure to pass a positive `tolerance` because there is no check for that in the code.
945
+ * Test if `x` is in the interval [0,1] for a given `tolerance`.
927
946
  * @param x value to test.
928
- * @param tolerance the tolerance.
947
+ * @param tolerance allowable distance outside the interval within which to classify `x` as inside.
929
948
  */
930
949
  static isIn01WithTolerance(x, tolerance) {
950
+ tolerance = Math.abs(tolerance);
931
951
  return x + tolerance >= 0.0 && x - tolerance <= 1.0;
932
952
  }
933
953
  /**
@@ -1068,11 +1088,11 @@ export class Geometry {
1068
1088
  }
1069
1089
  /** Tolerance for small distances in metric coordinates. */
1070
1090
  Geometry.smallMetricDistance = 1.0e-6;
1071
- /** Square of `smallMetricDistance`. */
1091
+ /** Square of [[smallMetricDistance]]. */
1072
1092
  Geometry.smallMetricDistanceSquared = 1.0e-12;
1073
1093
  /** Tolerance for small angle measured in radians. */
1074
1094
  Geometry.smallAngleRadians = 1.0e-12;
1075
- /** Square of `smallAngleRadians`. */
1095
+ /** Square of [[smallAngleRadians]]. */
1076
1096
  Geometry.smallAngleRadiansSquared = 1.0e-24;
1077
1097
  /** Tolerance for small angle measured in degrees. */
1078
1098
  Geometry.smallAngleDegrees = 5.7e-11;
@@ -1082,7 +1102,7 @@ Geometry.smallAngleSeconds = 2e-7;
1082
1102
  Geometry.smallFraction = 1.0e-10;
1083
1103
  /** Tight tolerance near machine precision (unitless). Useful for snapping values, e.g., to 0 or 1. */
1084
1104
  Geometry.smallFloatingPoint = 1.0e-15;
1085
- /** Radians value for full circle 2PI radians minus `smallAngleRadians`. */
1105
+ /** Radians value for full circle 2PI radians minus [[smallAngleRadians]]. */
1086
1106
  Geometry.fullCircleRadiansMinusSmallAngle = 2.0 * Math.PI - Geometry.smallAngleRadians;
1087
1107
  /**
1088
1108
  * Numeric value that may be considered large for a ratio of numbers.
@@ -1091,12 +1111,12 @@ Geometry.fullCircleRadiansMinusSmallAngle = 2.0 * Math.PI - Geometry.smallAngleR
1091
1111
  Geometry.largeFractionResult = 1.0e10;
1092
1112
  /**
1093
1113
  * Numeric value that may considered large for numbers expected to be coordinates.
1094
- * * This allows larger results than `largeFractionResult`.
1114
+ * * This allows larger results than [[largeFractionResult]].
1095
1115
  */
1096
1116
  Geometry.largeCoordinateResult = 1.0e13;
1097
1117
  /**
1098
1118
  * Numeric value that may considered infinite for metric coordinates.
1099
- * @deprecated in 4.x. Use `largeCoordinateResult`.
1119
+ * @deprecated in 4.x. Use [[largeCoordinateResult]].
1100
1120
  * * This coordinate should be used only as a placeholder indicating "at infinity" -- computing actual
1101
1121
  * points at this coordinate invites numerical problems.
1102
1122
  */