@itwin/core-geometry 5.0.0-dev.9 → 5.0.0-dev.92

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 (1004) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/lib/cjs/Constant.js +17 -17
  3. package/lib/cjs/Constant.js.map +1 -1
  4. package/lib/cjs/Geometry.d.ts +2 -4
  5. package/lib/cjs/Geometry.d.ts.map +1 -1
  6. package/lib/cjs/Geometry.js +37 -39
  7. package/lib/cjs/Geometry.js.map +1 -1
  8. package/lib/cjs/bspline/AkimaCurve3d.js +3 -1
  9. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
  10. package/lib/cjs/bspline/BSpline1dNd.d.ts +90 -54
  11. package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -1
  12. package/lib/cjs/bspline/BSpline1dNd.js +137 -84
  13. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  14. package/lib/cjs/bspline/BSplineCurve.d.ts +193 -155
  15. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  16. package/lib/cjs/bspline/BSplineCurve.js +249 -181
  17. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  18. package/lib/cjs/bspline/BSplineCurve3dH.js +1 -0
  19. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  20. package/lib/cjs/bspline/BSplineCurveOps.d.ts.map +1 -1
  21. package/lib/cjs/bspline/BSplineCurveOps.js +18 -21
  22. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
  23. package/lib/cjs/bspline/BSplineSurface.js +22 -2
  24. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  25. package/lib/cjs/bspline/Bezier1dNd.js +6 -0
  26. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  27. package/lib/cjs/bspline/BezierCurve3d.d.ts +3 -1
  28. package/lib/cjs/bspline/BezierCurve3d.d.ts.map +1 -1
  29. package/lib/cjs/bspline/BezierCurve3d.js +5 -5
  30. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  31. package/lib/cjs/bspline/BezierCurve3dH.js +2 -0
  32. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  33. package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
  34. package/lib/cjs/bspline/BezierCurveBase.js +21 -2
  35. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  36. package/lib/cjs/bspline/InterpolationCurve3d.js +12 -1
  37. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  38. package/lib/cjs/bspline/KnotVector.d.ts +82 -60
  39. package/lib/cjs/bspline/KnotVector.d.ts.map +1 -1
  40. package/lib/cjs/bspline/KnotVector.js +144 -84
  41. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  42. package/lib/cjs/bspline/SurfaceLocationDetail.js +12 -0
  43. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
  44. package/lib/cjs/clipping/AlternatingConvexClipTree.js +14 -13
  45. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  46. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  47. package/lib/cjs/clipping/BooleanClipNode.js +4 -0
  48. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  49. package/lib/cjs/clipping/ClipPlane.js +10 -1
  50. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  51. package/lib/cjs/clipping/ClipPrimitive.js +19 -0
  52. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  53. package/lib/cjs/clipping/ClipUtils.js +5 -1
  54. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  55. package/lib/cjs/clipping/ClipVector.js +11 -8
  56. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  57. package/lib/cjs/clipping/ConvexClipPlaneSet.js +5 -3
  58. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  59. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js +2 -1
  60. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  61. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js +3 -0
  62. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  63. package/lib/cjs/core-geometry.d.ts +1 -0
  64. package/lib/cjs/core-geometry.d.ts.map +1 -1
  65. package/lib/cjs/core-geometry.js +1 -0
  66. package/lib/cjs/core-geometry.js.map +1 -1
  67. package/lib/cjs/curve/Arc3d.d.ts +17 -3
  68. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  69. package/lib/cjs/curve/Arc3d.js +50 -21
  70. package/lib/cjs/curve/Arc3d.js.map +1 -1
  71. package/lib/cjs/curve/ConstructCurveBetweenCurves.js +3 -0
  72. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  73. package/lib/cjs/curve/CoordinateXYZ.js +3 -2
  74. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  75. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +0 -2
  76. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  77. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +25 -10
  78. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  79. package/lib/cjs/curve/CurveCollection.d.ts +10 -0
  80. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  81. package/lib/cjs/curve/CurveCollection.js +35 -9
  82. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  83. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  84. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  85. package/lib/cjs/curve/CurveFactory.d.ts +87 -53
  86. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  87. package/lib/cjs/curve/CurveFactory.js +213 -135
  88. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  89. package/lib/cjs/curve/CurveLocationDetail.js +44 -0
  90. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  91. package/lib/cjs/curve/CurveOps.js.map +1 -1
  92. package/lib/cjs/curve/CurvePrimitive.d.ts +7 -10
  93. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  94. package/lib/cjs/curve/CurvePrimitive.js +27 -12
  95. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  96. package/lib/cjs/curve/CurveProcessor.js +2 -0
  97. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  98. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  99. package/lib/cjs/curve/CurveWireMomentsXYZ.js +2 -0
  100. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  101. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  102. package/lib/cjs/curve/LineSegment3d.js +6 -2
  103. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  104. package/lib/cjs/curve/LineString3d.js +27 -7
  105. package/lib/cjs/curve/LineString3d.js.map +1 -1
  106. package/lib/cjs/curve/Loop.js +12 -4
  107. package/lib/cjs/curve/Loop.js.map +1 -1
  108. package/lib/cjs/curve/OffsetOptions.js +25 -21
  109. package/lib/cjs/curve/OffsetOptions.js.map +1 -1
  110. package/lib/cjs/curve/ParityRegion.js +4 -2
  111. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  112. package/lib/cjs/curve/Path.js +2 -2
  113. package/lib/cjs/curve/Path.js.map +1 -1
  114. package/lib/cjs/curve/PointString3d.js +3 -2
  115. package/lib/cjs/curve/PointString3d.js.map +1 -1
  116. package/lib/cjs/curve/ProxyCurve.js +1 -0
  117. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  118. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js +1 -0
  119. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  120. package/lib/cjs/curve/Query/CurveSplitContext.js +3 -0
  121. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  122. package/lib/cjs/curve/Query/CylindricalRange.js +6 -2
  123. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  124. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  125. package/lib/cjs/curve/Query/PlanarSubdivision.js +4 -6
  126. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  127. package/lib/cjs/curve/Query/StrokeCountChain.js +12 -0
  128. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  129. package/lib/cjs/curve/Query/StrokeCountMap.js +14 -0
  130. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  131. package/lib/cjs/curve/RegionMomentsXY.js +4 -5
  132. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  133. package/lib/cjs/curve/RegionOps.js +9 -10
  134. package/lib/cjs/curve/RegionOps.js.map +1 -1
  135. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +24 -1
  136. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  137. package/lib/cjs/curve/StrokeOptions.d.ts +4 -4
  138. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
  139. package/lib/cjs/curve/StrokeOptions.js +23 -6
  140. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  141. package/lib/cjs/curve/UnionRegion.js +4 -2
  142. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  143. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js +13 -7
  144. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  145. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js +6 -0
  146. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  147. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js +2 -0
  148. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  149. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  150. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js +13 -5
  151. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  152. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js +3 -0
  153. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  154. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +18 -5
  155. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  156. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +26 -13
  157. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  158. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js +11 -5
  159. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  160. package/lib/cjs/curve/internalContexts/CurveLengthContext.js +6 -0
  161. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  162. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js +8 -6
  163. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  164. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js +38 -5
  165. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  166. package/lib/cjs/curve/internalContexts/GapSearchContext.js +1 -0
  167. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  168. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +12 -0
  169. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  170. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js +1 -0
  171. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  172. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +7 -0
  173. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  174. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +22 -4
  175. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  176. package/lib/cjs/curve/internalContexts/SumLengthsContext.js +1 -0
  177. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  178. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js +3 -0
  179. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  180. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js +2 -0
  181. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  182. package/lib/cjs/curve/spiral/ClothoidSeries.js +4 -0
  183. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  184. package/lib/cjs/curve/spiral/CubicEvaluator.js +2 -0
  185. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  186. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js +4 -0
  187. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  188. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js +5 -0
  189. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  190. package/lib/cjs/curve/spiral/DirectSpiral3d.js +12 -2
  191. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  192. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +24 -4
  193. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  194. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +2 -0
  195. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  196. package/lib/cjs/curve/spiral/NormalizedTransition.js +5 -0
  197. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  198. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js +2 -0
  199. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  200. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js +10 -0
  201. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  202. package/lib/cjs/curve/spiral/TransitionSpiral3d.js +10 -0
  203. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  204. package/lib/cjs/curve/spiral/XYCurveEvaluator.js +6 -0
  205. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  206. package/lib/cjs/geometry3d/Angle.js +18 -16
  207. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  208. package/lib/cjs/geometry3d/AngleSweep.d.ts +7 -2
  209. package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
  210. package/lib/cjs/geometry3d/AngleSweep.js +14 -2
  211. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  212. package/lib/cjs/geometry3d/BarycentricTriangle.js +25 -0
  213. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  214. package/lib/cjs/geometry3d/BilinearPatch.js +8 -0
  215. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  216. package/lib/cjs/geometry3d/CoincidentGeometryOps.js +5 -0
  217. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  218. package/lib/cjs/geometry3d/Ellipsoid.js +48 -0
  219. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  220. package/lib/cjs/geometry3d/FrameBuilder.js +12 -4
  221. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  222. package/lib/cjs/geometry3d/FrustumAnimation.js +7 -0
  223. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  224. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  225. package/lib/cjs/geometry3d/GrowableBlockedArray.js +12 -0
  226. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  227. package/lib/cjs/geometry3d/GrowableFloat64Array.js +3 -0
  228. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  229. package/lib/cjs/geometry3d/GrowableXYArray.d.ts +0 -5
  230. package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -1
  231. package/lib/cjs/geometry3d/GrowableXYArray.js +16 -7
  232. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  233. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +32 -10
  234. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  235. package/lib/cjs/geometry3d/GrowableXYZArray.js +70 -16
  236. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  237. package/lib/cjs/geometry3d/IndexedCollectionInterval.js +6 -0
  238. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  239. package/lib/cjs/geometry3d/IndexedXYCollection.js +1 -0
  240. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  241. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +13 -2
  242. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  243. package/lib/cjs/geometry3d/IndexedXYZCollection.js +26 -11
  244. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  245. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js +3 -0
  246. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  247. package/lib/cjs/geometry3d/Matrix3d.d.ts +3 -4
  248. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  249. package/lib/cjs/geometry3d/Matrix3d.js +36 -14
  250. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  251. package/lib/cjs/geometry3d/OrderedRotationAngles.js +10 -2
  252. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  253. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  254. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +2 -0
  255. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  256. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +7 -0
  257. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  258. package/lib/cjs/geometry3d/Point2dArrayCarrier.js +2 -0
  259. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  260. package/lib/cjs/geometry3d/Point2dVector2d.js +4 -0
  261. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  262. package/lib/cjs/geometry3d/Point3dArrayCarrier.js +3 -1
  263. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  264. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +7 -10
  265. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  266. package/lib/cjs/geometry3d/Point3dVector3d.js +16 -10
  267. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  268. package/lib/cjs/geometry3d/PointHelpers.d.ts +4 -4
  269. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  270. package/lib/cjs/geometry3d/PointHelpers.js +8 -8
  271. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  272. package/lib/cjs/geometry3d/PointStreaming.js +12 -4
  273. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  274. package/lib/cjs/geometry3d/PolygonOps.d.ts +2 -2
  275. package/lib/cjs/geometry3d/PolygonOps.js +62 -25
  276. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  277. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js +7 -3
  278. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  279. package/lib/cjs/geometry3d/PolylineOps.d.ts +9 -5
  280. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  281. package/lib/cjs/geometry3d/PolylineOps.js +12 -5
  282. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  283. package/lib/cjs/geometry3d/Range.js +21 -4
  284. package/lib/cjs/geometry3d/Range.js.map +1 -1
  285. package/lib/cjs/geometry3d/Ray2d.js +2 -0
  286. package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
  287. package/lib/cjs/geometry3d/Ray3d.d.ts +2 -2
  288. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  289. package/lib/cjs/geometry3d/Ray3d.js +20 -11
  290. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  291. package/lib/cjs/geometry3d/ReusableObjectCache.js +4 -0
  292. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  293. package/lib/cjs/geometry3d/Segment1d.js +4 -0
  294. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  295. package/lib/cjs/geometry3d/SortablePolygon.js +11 -0
  296. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  297. package/lib/cjs/geometry3d/Transform.d.ts +1 -1
  298. package/lib/cjs/geometry3d/Transform.js +4 -1
  299. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  300. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  301. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  302. package/lib/cjs/geometry3d/YawPitchRollAngles.js +6 -0
  303. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  304. package/lib/cjs/geometry4d/Map4d.js +2 -0
  305. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  306. package/lib/cjs/geometry4d/Matrix4d.js +1 -0
  307. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  308. package/lib/cjs/geometry4d/MomentData.d.ts +72 -73
  309. package/lib/cjs/geometry4d/MomentData.d.ts.map +1 -1
  310. package/lib/cjs/geometry4d/MomentData.js +90 -66
  311. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  312. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js +6 -0
  313. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  314. package/lib/cjs/geometry4d/Point4d.js +2 -0
  315. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  316. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  317. package/lib/cjs/numerics/BezierPolynomials.js +8 -0
  318. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  319. package/lib/cjs/numerics/ClusterableArray.js +29 -13
  320. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  321. package/lib/cjs/numerics/Complex.js +2 -0
  322. package/lib/cjs/numerics/Complex.js.map +1 -1
  323. package/lib/cjs/numerics/ConvexPolygon2d.js +3 -0
  324. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  325. package/lib/cjs/numerics/Newton.js +59 -4
  326. package/lib/cjs/numerics/Newton.js.map +1 -1
  327. package/lib/cjs/numerics/PascalCoefficients.js +1 -1
  328. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  329. package/lib/cjs/numerics/PolarData.js +13 -1
  330. package/lib/cjs/numerics/PolarData.js.map +1 -1
  331. package/lib/cjs/numerics/Polynomials.js +64 -26
  332. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  333. package/lib/cjs/numerics/Quadrature.js +26 -20
  334. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  335. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  336. package/lib/cjs/numerics/SmallSystem.js.map +1 -1
  337. package/lib/cjs/numerics/TriDiagonalSystem.js +11 -0
  338. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  339. package/lib/cjs/numerics/UnionFind.js +1 -0
  340. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  341. package/lib/cjs/numerics/UsageSums.js +10 -0
  342. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  343. package/lib/cjs/polyface/AuxData.js +16 -0
  344. package/lib/cjs/polyface/AuxData.js.map +1 -1
  345. package/lib/cjs/polyface/BoxTopology.js +67 -67
  346. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  347. package/lib/cjs/polyface/FacetFaceData.d.ts +1 -1
  348. package/lib/cjs/polyface/FacetFaceData.js +3 -1
  349. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  350. package/lib/cjs/polyface/FacetLocationDetail.js +30 -0
  351. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  352. package/lib/cjs/polyface/FacetOrientation.js +12 -1
  353. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  354. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js +18 -2
  355. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  356. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts +33 -23
  357. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  358. package/lib/cjs/polyface/IndexedEdgeMatcher.js +63 -33
  359. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  360. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts +3 -2
  361. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  362. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js +11 -2
  363. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  364. package/lib/cjs/polyface/IndexedPolyfaceWalker.d.ts +233 -0
  365. package/lib/cjs/polyface/IndexedPolyfaceWalker.d.ts.map +1 -0
  366. package/lib/cjs/polyface/IndexedPolyfaceWalker.js +353 -0
  367. package/lib/cjs/polyface/IndexedPolyfaceWalker.js.map +1 -0
  368. package/lib/cjs/polyface/Polyface.d.ts +35 -10
  369. package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
  370. package/lib/cjs/polyface/Polyface.js +73 -12
  371. package/lib/cjs/polyface/Polyface.js.map +1 -1
  372. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +14 -27
  373. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  374. package/lib/cjs/polyface/PolyfaceBuilder.js +47 -79
  375. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  376. package/lib/cjs/polyface/PolyfaceClip.js +8 -0
  377. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  378. package/lib/cjs/polyface/PolyfaceData.d.ts +28 -0
  379. package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -1
  380. package/lib/cjs/polyface/PolyfaceData.js +87 -5
  381. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  382. package/lib/cjs/polyface/PolyfaceQuery.js +47 -7
  383. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  384. package/lib/cjs/polyface/RangeLengthData.js +7 -0
  385. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  386. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js +12 -0
  387. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  388. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js +5 -2
  389. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  390. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js +12 -0
  391. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  392. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js +14 -0
  393. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  394. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js +5 -0
  395. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  396. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js +43 -0
  397. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  398. package/lib/cjs/polyface/TaggedNumericData.js +8 -0
  399. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  400. package/lib/cjs/polyface/TriangleCandidate.js +3 -0
  401. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  402. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js +7 -0
  403. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  404. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js +6 -0
  405. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  406. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +3 -0
  407. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  408. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js +3 -0
  409. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  410. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js +32 -0
  411. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  412. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  413. package/lib/cjs/polyface/multiclip/RangeSearch.js +5 -5
  414. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  415. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +21 -8
  416. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  417. package/lib/cjs/polyface/multiclip/XYPointBuckets.js +6 -0
  418. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  419. package/lib/cjs/serialization/BGFBAccessors.js +82 -164
  420. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  421. package/lib/cjs/serialization/BGFBReader.js +22 -22
  422. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  423. package/lib/cjs/serialization/BGFBWriter.js +1 -0
  424. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  425. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  426. package/lib/cjs/serialization/DeepCompare.js +17 -17
  427. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  428. package/lib/cjs/serialization/GeometrySamples.d.ts +5 -5
  429. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  430. package/lib/cjs/serialization/GeometrySamples.js +113 -112
  431. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  432. package/lib/cjs/serialization/IModelJsonSchema.d.ts +70 -63
  433. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  434. package/lib/cjs/serialization/IModelJsonSchema.js +87 -74
  435. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  436. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
  437. package/lib/cjs/solid/Box.js +7 -2
  438. package/lib/cjs/solid/Box.js.map +1 -1
  439. package/lib/cjs/solid/Cone.d.ts +39 -14
  440. package/lib/cjs/solid/Cone.d.ts.map +1 -1
  441. package/lib/cjs/solid/Cone.js +52 -16
  442. package/lib/cjs/solid/Cone.js.map +1 -1
  443. package/lib/cjs/solid/LinearSweep.js +4 -2
  444. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  445. package/lib/cjs/solid/RotationalSweep.js +5 -2
  446. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  447. package/lib/cjs/solid/RuledSweep.d.ts +26 -23
  448. package/lib/cjs/solid/RuledSweep.d.ts.map +1 -1
  449. package/lib/cjs/solid/RuledSweep.js +32 -24
  450. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  451. package/lib/cjs/solid/SolidPrimitive.d.ts +12 -11
  452. package/lib/cjs/solid/SolidPrimitive.d.ts.map +1 -1
  453. package/lib/cjs/solid/SolidPrimitive.js +11 -6
  454. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  455. package/lib/cjs/solid/Sphere.d.ts +34 -17
  456. package/lib/cjs/solid/Sphere.d.ts.map +1 -1
  457. package/lib/cjs/solid/Sphere.js +51 -24
  458. package/lib/cjs/solid/Sphere.js.map +1 -1
  459. package/lib/cjs/solid/SweepContour.d.ts +24 -15
  460. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  461. package/lib/cjs/solid/SweepContour.js +33 -15
  462. package/lib/cjs/solid/SweepContour.js.map +1 -1
  463. package/lib/cjs/solid/TorusPipe.js +7 -2
  464. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  465. package/lib/cjs/topology/ChainMerge.js +16 -4
  466. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  467. package/lib/cjs/topology/Graph.js +41 -6
  468. package/lib/cjs/topology/Graph.js.map +1 -1
  469. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts +1 -1
  470. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js +5 -1
  471. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  472. package/lib/cjs/topology/HalfEdgeGraphSearch.js +2 -0
  473. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  474. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js +9 -2
  475. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  476. package/lib/cjs/topology/HalfEdgeGraphValidation.js +7 -9
  477. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  478. package/lib/cjs/topology/HalfEdgeMarkSet.js +5 -0
  479. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  480. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js +6 -0
  481. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  482. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js +1 -0
  483. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  484. package/lib/cjs/topology/HalfEdgePositionDetail.js +16 -0
  485. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  486. package/lib/cjs/topology/HalfEdgePriorityQueue.js +2 -0
  487. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  488. package/lib/cjs/topology/InsertAndRetriangulateContext.js +4 -0
  489. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  490. package/lib/cjs/topology/MaskManager.js +3 -0
  491. package/lib/cjs/topology/MaskManager.js.map +1 -1
  492. package/lib/cjs/topology/Merging.js +11 -6
  493. package/lib/cjs/topology/Merging.js.map +1 -1
  494. package/lib/cjs/topology/RegularizeFace.js +22 -0
  495. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  496. package/lib/cjs/topology/SignedDataSummary.js +22 -0
  497. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  498. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  499. package/lib/cjs/topology/Triangulation.js +21 -11
  500. package/lib/cjs/topology/Triangulation.js.map +1 -1
  501. package/lib/cjs/topology/XYParitySearchContext.js +13 -0
  502. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  503. package/lib/esm/Constant.js +17 -17
  504. package/lib/esm/Constant.js.map +1 -1
  505. package/lib/esm/Geometry.d.ts +2 -4
  506. package/lib/esm/Geometry.d.ts.map +1 -1
  507. package/lib/esm/Geometry.js +37 -39
  508. package/lib/esm/Geometry.js.map +1 -1
  509. package/lib/esm/bspline/AkimaCurve3d.js +3 -1
  510. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  511. package/lib/esm/bspline/BSpline1dNd.d.ts +90 -54
  512. package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -1
  513. package/lib/esm/bspline/BSpline1dNd.js +137 -84
  514. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  515. package/lib/esm/bspline/BSplineCurve.d.ts +193 -155
  516. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  517. package/lib/esm/bspline/BSplineCurve.js +249 -181
  518. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  519. package/lib/esm/bspline/BSplineCurve3dH.js +1 -0
  520. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  521. package/lib/esm/bspline/BSplineCurveOps.d.ts.map +1 -1
  522. package/lib/esm/bspline/BSplineCurveOps.js +18 -21
  523. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  524. package/lib/esm/bspline/BSplineSurface.js +22 -2
  525. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  526. package/lib/esm/bspline/Bezier1dNd.js +6 -0
  527. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  528. package/lib/esm/bspline/BezierCurve3d.d.ts +3 -1
  529. package/lib/esm/bspline/BezierCurve3d.d.ts.map +1 -1
  530. package/lib/esm/bspline/BezierCurve3d.js +5 -5
  531. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  532. package/lib/esm/bspline/BezierCurve3dH.js +2 -0
  533. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  534. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
  535. package/lib/esm/bspline/BezierCurveBase.js +21 -2
  536. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  537. package/lib/esm/bspline/InterpolationCurve3d.js +12 -1
  538. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  539. package/lib/esm/bspline/KnotVector.d.ts +82 -60
  540. package/lib/esm/bspline/KnotVector.d.ts.map +1 -1
  541. package/lib/esm/bspline/KnotVector.js +144 -84
  542. package/lib/esm/bspline/KnotVector.js.map +1 -1
  543. package/lib/esm/bspline/SurfaceLocationDetail.js +12 -0
  544. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  545. package/lib/esm/clipping/AlternatingConvexClipTree.js +14 -13
  546. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  547. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  548. package/lib/esm/clipping/BooleanClipNode.js +4 -0
  549. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  550. package/lib/esm/clipping/ClipPlane.js +10 -1
  551. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  552. package/lib/esm/clipping/ClipPrimitive.js +19 -0
  553. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  554. package/lib/esm/clipping/ClipUtils.js +5 -1
  555. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  556. package/lib/esm/clipping/ClipVector.js +11 -8
  557. package/lib/esm/clipping/ClipVector.js.map +1 -1
  558. package/lib/esm/clipping/ConvexClipPlaneSet.js +5 -3
  559. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  560. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js +2 -1
  561. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  562. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +3 -0
  563. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  564. package/lib/esm/core-geometry.d.ts +1 -0
  565. package/lib/esm/core-geometry.d.ts.map +1 -1
  566. package/lib/esm/core-geometry.js +1 -0
  567. package/lib/esm/core-geometry.js.map +1 -1
  568. package/lib/esm/curve/Arc3d.d.ts +17 -3
  569. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  570. package/lib/esm/curve/Arc3d.js +50 -21
  571. package/lib/esm/curve/Arc3d.js.map +1 -1
  572. package/lib/esm/curve/ConstructCurveBetweenCurves.js +3 -0
  573. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  574. package/lib/esm/curve/CoordinateXYZ.js +3 -2
  575. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  576. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +0 -2
  577. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  578. package/lib/esm/curve/CurveChainWithDistanceIndex.js +25 -10
  579. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  580. package/lib/esm/curve/CurveCollection.d.ts +10 -0
  581. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  582. package/lib/esm/curve/CurveCollection.js +35 -9
  583. package/lib/esm/curve/CurveCollection.js.map +1 -1
  584. package/lib/esm/curve/CurveCurve.js.map +1 -1
  585. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  586. package/lib/esm/curve/CurveFactory.d.ts +87 -53
  587. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  588. package/lib/esm/curve/CurveFactory.js +213 -135
  589. package/lib/esm/curve/CurveFactory.js.map +1 -1
  590. package/lib/esm/curve/CurveLocationDetail.js +44 -0
  591. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  592. package/lib/esm/curve/CurveOps.js.map +1 -1
  593. package/lib/esm/curve/CurvePrimitive.d.ts +7 -10
  594. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  595. package/lib/esm/curve/CurvePrimitive.js +27 -12
  596. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  597. package/lib/esm/curve/CurveProcessor.js +2 -0
  598. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  599. package/lib/esm/curve/CurveTypes.js.map +1 -1
  600. package/lib/esm/curve/CurveWireMomentsXYZ.js +2 -0
  601. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  602. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  603. package/lib/esm/curve/LineSegment3d.js +6 -2
  604. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  605. package/lib/esm/curve/LineString3d.js +27 -7
  606. package/lib/esm/curve/LineString3d.js.map +1 -1
  607. package/lib/esm/curve/Loop.js +12 -4
  608. package/lib/esm/curve/Loop.js.map +1 -1
  609. package/lib/esm/curve/OffsetOptions.js +25 -21
  610. package/lib/esm/curve/OffsetOptions.js.map +1 -1
  611. package/lib/esm/curve/ParityRegion.js +4 -2
  612. package/lib/esm/curve/ParityRegion.js.map +1 -1
  613. package/lib/esm/curve/Path.js +2 -2
  614. package/lib/esm/curve/Path.js.map +1 -1
  615. package/lib/esm/curve/PointString3d.js +3 -2
  616. package/lib/esm/curve/PointString3d.js.map +1 -1
  617. package/lib/esm/curve/ProxyCurve.js +1 -0
  618. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  619. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js +1 -0
  620. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  621. package/lib/esm/curve/Query/CurveSplitContext.js +3 -0
  622. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  623. package/lib/esm/curve/Query/CylindricalRange.js +6 -2
  624. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  625. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  626. package/lib/esm/curve/Query/PlanarSubdivision.js +4 -6
  627. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  628. package/lib/esm/curve/Query/StrokeCountChain.js +12 -0
  629. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  630. package/lib/esm/curve/Query/StrokeCountMap.js +14 -0
  631. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  632. package/lib/esm/curve/RegionMomentsXY.js +4 -5
  633. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  634. package/lib/esm/curve/RegionOps.js +9 -10
  635. package/lib/esm/curve/RegionOps.js.map +1 -1
  636. package/lib/esm/curve/RegionOpsClassificationSweeps.js +24 -1
  637. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  638. package/lib/esm/curve/StrokeOptions.d.ts +4 -4
  639. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
  640. package/lib/esm/curve/StrokeOptions.js +23 -6
  641. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  642. package/lib/esm/curve/UnionRegion.js +4 -2
  643. package/lib/esm/curve/UnionRegion.js.map +1 -1
  644. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js +13 -7
  645. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  646. package/lib/esm/curve/internalContexts/ChainCollectorContext.js +6 -0
  647. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  648. package/lib/esm/curve/internalContexts/CloneCurvesContext.js +2 -0
  649. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  650. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  651. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js +13 -5
  652. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  653. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js +3 -0
  654. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  655. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +18 -5
  656. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  657. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +26 -13
  658. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  659. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js +11 -5
  660. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  661. package/lib/esm/curve/internalContexts/CurveLengthContext.js +6 -0
  662. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  663. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js +8 -6
  664. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  665. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js +38 -5
  666. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  667. package/lib/esm/curve/internalContexts/GapSearchContext.js +1 -0
  668. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  669. package/lib/esm/curve/internalContexts/MultiChainCollector.js +12 -0
  670. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  671. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js +1 -0
  672. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  673. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +7 -0
  674. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  675. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +22 -4
  676. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  677. package/lib/esm/curve/internalContexts/SumLengthsContext.js +1 -0
  678. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  679. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js +3 -0
  680. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  681. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js +2 -0
  682. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  683. package/lib/esm/curve/spiral/ClothoidSeries.js +4 -0
  684. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  685. package/lib/esm/curve/spiral/CubicEvaluator.js +2 -0
  686. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  687. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js +4 -0
  688. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  689. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js +5 -0
  690. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  691. package/lib/esm/curve/spiral/DirectSpiral3d.js +12 -2
  692. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  693. package/lib/esm/curve/spiral/IntegratedSpiral3d.js +24 -4
  694. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  695. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +2 -0
  696. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  697. package/lib/esm/curve/spiral/NormalizedTransition.js +5 -0
  698. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  699. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js +2 -0
  700. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  701. package/lib/esm/curve/spiral/TransitionConditionalProperties.js +10 -0
  702. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  703. package/lib/esm/curve/spiral/TransitionSpiral3d.js +10 -0
  704. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  705. package/lib/esm/curve/spiral/XYCurveEvaluator.js +6 -0
  706. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  707. package/lib/esm/geometry3d/Angle.js +18 -16
  708. package/lib/esm/geometry3d/Angle.js.map +1 -1
  709. package/lib/esm/geometry3d/AngleSweep.d.ts +7 -2
  710. package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
  711. package/lib/esm/geometry3d/AngleSweep.js +14 -2
  712. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  713. package/lib/esm/geometry3d/BarycentricTriangle.js +25 -0
  714. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  715. package/lib/esm/geometry3d/BilinearPatch.js +8 -0
  716. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  717. package/lib/esm/geometry3d/CoincidentGeometryOps.js +5 -0
  718. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  719. package/lib/esm/geometry3d/Ellipsoid.js +48 -0
  720. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  721. package/lib/esm/geometry3d/FrameBuilder.js +12 -4
  722. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  723. package/lib/esm/geometry3d/FrustumAnimation.js +7 -0
  724. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  725. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  726. package/lib/esm/geometry3d/GrowableBlockedArray.js +12 -0
  727. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  728. package/lib/esm/geometry3d/GrowableFloat64Array.js +3 -0
  729. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  730. package/lib/esm/geometry3d/GrowableXYArray.d.ts +0 -5
  731. package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -1
  732. package/lib/esm/geometry3d/GrowableXYArray.js +16 -7
  733. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  734. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +32 -10
  735. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  736. package/lib/esm/geometry3d/GrowableXYZArray.js +70 -16
  737. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  738. package/lib/esm/geometry3d/IndexedCollectionInterval.js +6 -0
  739. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  740. package/lib/esm/geometry3d/IndexedXYCollection.js +1 -0
  741. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  742. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +13 -2
  743. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  744. package/lib/esm/geometry3d/IndexedXYZCollection.js +26 -11
  745. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  746. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js +3 -0
  747. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  748. package/lib/esm/geometry3d/Matrix3d.d.ts +3 -4
  749. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  750. package/lib/esm/geometry3d/Matrix3d.js +36 -14
  751. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  752. package/lib/esm/geometry3d/OrderedRotationAngles.js +10 -2
  753. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  754. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  755. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +2 -0
  756. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  757. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +7 -0
  758. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  759. package/lib/esm/geometry3d/Point2dArrayCarrier.js +2 -0
  760. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  761. package/lib/esm/geometry3d/Point2dVector2d.js +4 -0
  762. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  763. package/lib/esm/geometry3d/Point3dArrayCarrier.js +3 -1
  764. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  765. package/lib/esm/geometry3d/Point3dVector3d.d.ts +7 -10
  766. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  767. package/lib/esm/geometry3d/Point3dVector3d.js +16 -10
  768. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  769. package/lib/esm/geometry3d/PointHelpers.d.ts +4 -4
  770. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  771. package/lib/esm/geometry3d/PointHelpers.js +8 -8
  772. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  773. package/lib/esm/geometry3d/PointStreaming.js +12 -4
  774. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  775. package/lib/esm/geometry3d/PolygonOps.d.ts +2 -2
  776. package/lib/esm/geometry3d/PolygonOps.js +62 -25
  777. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  778. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +7 -3
  779. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  780. package/lib/esm/geometry3d/PolylineOps.d.ts +9 -5
  781. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  782. package/lib/esm/geometry3d/PolylineOps.js +12 -5
  783. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  784. package/lib/esm/geometry3d/Range.js +21 -4
  785. package/lib/esm/geometry3d/Range.js.map +1 -1
  786. package/lib/esm/geometry3d/Ray2d.js +2 -0
  787. package/lib/esm/geometry3d/Ray2d.js.map +1 -1
  788. package/lib/esm/geometry3d/Ray3d.d.ts +2 -2
  789. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  790. package/lib/esm/geometry3d/Ray3d.js +20 -11
  791. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  792. package/lib/esm/geometry3d/ReusableObjectCache.js +4 -0
  793. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  794. package/lib/esm/geometry3d/Segment1d.js +4 -0
  795. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  796. package/lib/esm/geometry3d/SortablePolygon.js +11 -0
  797. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  798. package/lib/esm/geometry3d/Transform.d.ts +1 -1
  799. package/lib/esm/geometry3d/Transform.js +4 -1
  800. package/lib/esm/geometry3d/Transform.js.map +1 -1
  801. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  802. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  803. package/lib/esm/geometry3d/YawPitchRollAngles.js +6 -0
  804. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  805. package/lib/esm/geometry4d/Map4d.js +2 -0
  806. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  807. package/lib/esm/geometry4d/Matrix4d.js +1 -0
  808. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  809. package/lib/esm/geometry4d/MomentData.d.ts +72 -73
  810. package/lib/esm/geometry4d/MomentData.d.ts.map +1 -1
  811. package/lib/esm/geometry4d/MomentData.js +90 -66
  812. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  813. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js +6 -0
  814. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  815. package/lib/esm/geometry4d/Point4d.js +2 -0
  816. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  817. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  818. package/lib/esm/numerics/BezierPolynomials.js +8 -0
  819. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  820. package/lib/esm/numerics/ClusterableArray.js +29 -13
  821. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  822. package/lib/esm/numerics/Complex.js +2 -0
  823. package/lib/esm/numerics/Complex.js.map +1 -1
  824. package/lib/esm/numerics/ConvexPolygon2d.js +3 -0
  825. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  826. package/lib/esm/numerics/Newton.js +59 -4
  827. package/lib/esm/numerics/Newton.js.map +1 -1
  828. package/lib/esm/numerics/PascalCoefficients.js +1 -1
  829. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  830. package/lib/esm/numerics/PolarData.js +13 -1
  831. package/lib/esm/numerics/PolarData.js.map +1 -1
  832. package/lib/esm/numerics/Polynomials.js +64 -26
  833. package/lib/esm/numerics/Polynomials.js.map +1 -1
  834. package/lib/esm/numerics/Quadrature.js +26 -20
  835. package/lib/esm/numerics/Quadrature.js.map +1 -1
  836. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  837. package/lib/esm/numerics/SmallSystem.js.map +1 -1
  838. package/lib/esm/numerics/TriDiagonalSystem.js +11 -0
  839. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  840. package/lib/esm/numerics/UnionFind.js +1 -0
  841. package/lib/esm/numerics/UnionFind.js.map +1 -1
  842. package/lib/esm/numerics/UsageSums.js +10 -0
  843. package/lib/esm/numerics/UsageSums.js.map +1 -1
  844. package/lib/esm/polyface/AuxData.js +16 -0
  845. package/lib/esm/polyface/AuxData.js.map +1 -1
  846. package/lib/esm/polyface/BoxTopology.js +67 -67
  847. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  848. package/lib/esm/polyface/FacetFaceData.d.ts +1 -1
  849. package/lib/esm/polyface/FacetFaceData.js +3 -1
  850. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  851. package/lib/esm/polyface/FacetLocationDetail.js +30 -0
  852. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  853. package/lib/esm/polyface/FacetOrientation.js +12 -1
  854. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  855. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js +18 -2
  856. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  857. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts +33 -23
  858. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  859. package/lib/esm/polyface/IndexedEdgeMatcher.js +63 -33
  860. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  861. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +3 -2
  862. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  863. package/lib/esm/polyface/IndexedPolyfaceVisitor.js +11 -2
  864. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  865. package/lib/esm/polyface/IndexedPolyfaceWalker.d.ts +233 -0
  866. package/lib/esm/polyface/IndexedPolyfaceWalker.d.ts.map +1 -0
  867. package/lib/esm/polyface/IndexedPolyfaceWalker.js +349 -0
  868. package/lib/esm/polyface/IndexedPolyfaceWalker.js.map +1 -0
  869. package/lib/esm/polyface/Polyface.d.ts +35 -10
  870. package/lib/esm/polyface/Polyface.d.ts.map +1 -1
  871. package/lib/esm/polyface/Polyface.js +73 -12
  872. package/lib/esm/polyface/Polyface.js.map +1 -1
  873. package/lib/esm/polyface/PolyfaceBuilder.d.ts +14 -27
  874. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  875. package/lib/esm/polyface/PolyfaceBuilder.js +48 -80
  876. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  877. package/lib/esm/polyface/PolyfaceClip.js +8 -0
  878. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  879. package/lib/esm/polyface/PolyfaceData.d.ts +28 -0
  880. package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -1
  881. package/lib/esm/polyface/PolyfaceData.js +87 -5
  882. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  883. package/lib/esm/polyface/PolyfaceQuery.js +47 -7
  884. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  885. package/lib/esm/polyface/RangeLengthData.js +7 -0
  886. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  887. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js +12 -0
  888. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  889. package/lib/esm/polyface/RangeTree/MinimumValueTester.js +5 -2
  890. package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  891. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js +12 -0
  892. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  893. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js +14 -0
  894. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  895. package/lib/esm/polyface/RangeTree/RangeTreeNode.js +5 -0
  896. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  897. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js +43 -0
  898. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  899. package/lib/esm/polyface/TaggedNumericData.js +8 -0
  900. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  901. package/lib/esm/polyface/TriangleCandidate.js +3 -0
  902. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  903. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +7 -0
  904. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  905. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js +6 -0
  906. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  907. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +3 -0
  908. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  909. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js +3 -0
  910. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  911. package/lib/esm/polyface/multiclip/OffsetMeshContext.js +32 -0
  912. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  913. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  914. package/lib/esm/polyface/multiclip/RangeSearch.js +5 -5
  915. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  916. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +21 -8
  917. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  918. package/lib/esm/polyface/multiclip/XYPointBuckets.js +6 -0
  919. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  920. package/lib/esm/serialization/BGFBAccessors.js +82 -164
  921. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  922. package/lib/esm/serialization/BGFBReader.js +22 -22
  923. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  924. package/lib/esm/serialization/BGFBWriter.js +1 -0
  925. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  926. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  927. package/lib/esm/serialization/DeepCompare.js +17 -17
  928. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  929. package/lib/esm/serialization/GeometrySamples.d.ts +5 -5
  930. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  931. package/lib/esm/serialization/GeometrySamples.js +113 -112
  932. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  933. package/lib/esm/serialization/IModelJsonSchema.d.ts +70 -63
  934. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  935. package/lib/esm/serialization/IModelJsonSchema.js +87 -74
  936. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  937. package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
  938. package/lib/esm/solid/Box.js +7 -2
  939. package/lib/esm/solid/Box.js.map +1 -1
  940. package/lib/esm/solid/Cone.d.ts +39 -14
  941. package/lib/esm/solid/Cone.d.ts.map +1 -1
  942. package/lib/esm/solid/Cone.js +53 -17
  943. package/lib/esm/solid/Cone.js.map +1 -1
  944. package/lib/esm/solid/LinearSweep.js +4 -2
  945. package/lib/esm/solid/LinearSweep.js.map +1 -1
  946. package/lib/esm/solid/RotationalSweep.js +5 -2
  947. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  948. package/lib/esm/solid/RuledSweep.d.ts +26 -23
  949. package/lib/esm/solid/RuledSweep.d.ts.map +1 -1
  950. package/lib/esm/solid/RuledSweep.js +32 -24
  951. package/lib/esm/solid/RuledSweep.js.map +1 -1
  952. package/lib/esm/solid/SolidPrimitive.d.ts +12 -11
  953. package/lib/esm/solid/SolidPrimitive.d.ts.map +1 -1
  954. package/lib/esm/solid/SolidPrimitive.js +11 -6
  955. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  956. package/lib/esm/solid/Sphere.d.ts +34 -17
  957. package/lib/esm/solid/Sphere.d.ts.map +1 -1
  958. package/lib/esm/solid/Sphere.js +52 -25
  959. package/lib/esm/solid/Sphere.js.map +1 -1
  960. package/lib/esm/solid/SweepContour.d.ts +24 -15
  961. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  962. package/lib/esm/solid/SweepContour.js +33 -15
  963. package/lib/esm/solid/SweepContour.js.map +1 -1
  964. package/lib/esm/solid/TorusPipe.js +7 -2
  965. package/lib/esm/solid/TorusPipe.js.map +1 -1
  966. package/lib/esm/topology/ChainMerge.js +16 -4
  967. package/lib/esm/topology/ChainMerge.js.map +1 -1
  968. package/lib/esm/topology/Graph.js +41 -6
  969. package/lib/esm/topology/Graph.js.map +1 -1
  970. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.d.ts +1 -1
  971. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js +5 -1
  972. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  973. package/lib/esm/topology/HalfEdgeGraphSearch.js +2 -0
  974. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  975. package/lib/esm/topology/HalfEdgeGraphSpineContext.js +9 -2
  976. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  977. package/lib/esm/topology/HalfEdgeGraphValidation.js +7 -9
  978. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  979. package/lib/esm/topology/HalfEdgeMarkSet.js +5 -0
  980. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  981. package/lib/esm/topology/HalfEdgeNodeXYZUV.js +6 -0
  982. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  983. package/lib/esm/topology/HalfEdgePointInGraphSearch.js +1 -0
  984. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  985. package/lib/esm/topology/HalfEdgePositionDetail.js +16 -0
  986. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  987. package/lib/esm/topology/HalfEdgePriorityQueue.js +2 -0
  988. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  989. package/lib/esm/topology/InsertAndRetriangulateContext.js +4 -0
  990. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  991. package/lib/esm/topology/MaskManager.js +3 -0
  992. package/lib/esm/topology/MaskManager.js.map +1 -1
  993. package/lib/esm/topology/Merging.js +11 -6
  994. package/lib/esm/topology/Merging.js.map +1 -1
  995. package/lib/esm/topology/RegularizeFace.js +22 -0
  996. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  997. package/lib/esm/topology/SignedDataSummary.js +22 -0
  998. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  999. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  1000. package/lib/esm/topology/Triangulation.js +21 -11
  1001. package/lib/esm/topology/Triangulation.js.map +1 -1
  1002. package/lib/esm/topology/XYParitySearchContext.js +13 -0
  1003. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  1004. package/package.json +9 -9
@@ -10,135 +10,137 @@ import { Matrix4d } from "./Matrix4d";
10
10
  * * origin = local origin used as moments are summed.
11
11
  * * sums = array of summed moments.
12
12
  * * The [i,j] entry of the sums is a summed or integrated moment for product of axis i and j.
13
- * * axes 0,1,2 are x,y,z
13
+ * * axes 0,1,2 are x,y,z.
14
14
  * * e.g. entry [0,1] is summed product xy
15
15
  * * axis 3 is "w", which is 1 in sums.
16
- * * e.g. entry 03 is summed x
17
- * * In this level,
16
+ * * e.g. entry 03 is summed x.
17
+ * * In this level:
18
18
  * * the `absoluteQuantity` member is undefined.
19
19
  * * the `localToWorldMap` and `radiiOfGyration` are created by have undefined contents.
20
- * * Second level: after a call to inertiaProductsToPrincipalAxes, the `localToWorldMap`, `absoluteQuantity` and `radiiOfGyration` are filled in.
20
+ * * Second level: after a call to inertiaProductsToPrincipalAxes, the `localToWorldMap`, `absoluteQuantity` and
21
+ * `radiiOfGyration` are filled in.
21
22
  * @public
22
23
  */
23
24
  export declare class MomentData {
24
25
  /** Origin used for sums. */
25
26
  origin: Point3d;
26
- /** flag to request deferred origin setup. */
27
+ /** Flag to request deferred origin setup. */
27
28
  needOrigin: boolean;
28
- /** Moment sums.
29
+ /**
30
+ * Moment sums.
29
31
  * * Set to zero at initialization and if requested later.
30
32
  * * Accumulated during data entry phase.
31
33
  */
32
34
  sums: Matrix4d;
33
- /** the mapping between principal and world system.
35
+ /**
36
+ * The mapping between principal and world system.
34
37
  * * This set up with its inverse already constructed.
35
38
  */
36
39
  localToWorldMap: Transform;
37
- /** Return the lower-right (3,3) entry in the sums.
38
- * * This is the quantity (i.e. length, area, or volume) summed
40
+ private static _vectorA?;
41
+ private static _vectorB?;
42
+ private static _vectorC?;
43
+ private _point0;
44
+ private _point1;
45
+ /**
46
+ * Return the lower-right (3,3) entry in the sums.
47
+ * * This is the quantity (i.e. length, area, or volume) summed.
39
48
  */
40
49
  get quantitySum(): number;
41
- /** Return a scale factor to make these sums match the target orientation sign.
50
+ /**
51
+ * Return a scale factor to make these sums match the target orientation sign.
42
52
  * * 1.0 if `this.quantitySum` has the same sign as `targetSign`.
43
53
  * * -1.0 if `this.quantitySum` has the opposite sign from `targetSign`
44
54
  */
45
55
  signFactor(targetSign: number): number;
46
- /**
47
- * If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
48
- *
49
- */
56
+ /** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
50
57
  setOriginIfNeeded(origin: Point3d): void;
51
- /**
52
- * If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
53
- *
54
- */
58
+ /** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
55
59
  setOriginFromGrowableXYZArrayIfNeeded(points: GrowableXYZArray): void;
56
- /**
57
- * If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
58
- *
59
- */
60
+ /** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
60
61
  setOriginXYZIfNeeded(x: number, y: number, z: number): void;
61
- /** radii of gyration (square roots of principal second moments)
62
- */
62
+ /** Radii of gyration (square roots of principal second moments). */
63
63
  radiusOfGyration: Vector3d;
64
- /** principal quantity (e.g. length, area, or volume). This is undefined in raw moments, and becomes defined by
65
- *
64
+ /**
65
+ * Principal quantity (e.g. length, area, or volume). This is undefined in raw moments, and becomes defined by
66
+ * inertiaProductsToPrincipalAxes.
66
67
  */
67
68
  absoluteQuantity?: number;
69
+ /** Constructor. */
68
70
  private constructor();
69
- /** Create moments with optional origin.
70
- * * origin and needOrigin are quirky.
71
+ /**
72
+ * Create moments with optional origin.
73
+ * * Origin and needOrigin are quirky.
71
74
  * * (undefined, true) sets up to use first incoming point as origin.
72
- * * (origin) sets up to use that durable origin, set needsOrigin flag false
73
- * * (origin, true) the "true" is meaningless
74
- * * (undefined, false) makes 000 the durable origin
75
+ * * (origin) sets up to use that durable origin, set needsOrigin flag false.
76
+ * * (origin, true) the "true" is meaningless.
77
+ * * (undefined, false) makes 000 the durable origin.
75
78
  */
76
79
  static create(origin?: Point3d | undefined, needOrigin?: boolean): MomentData;
77
80
  /**
78
- * Return the formal tensor of integrated values `[yy+zz,xy,xz][yx,xx+zz,yz][zx,xy,xx+yy]`
79
- * @param products matrix of (integrated) `[xx,xy,xz][yx,yy,yz][zx,xy,zz]`
81
+ * Return the formal tensor of integrated values `[yy+zz,xy,xz][yx,xx+zz,yz][zx,xy,xx+yy]`.
82
+ * @param products matrix of (integrated) `[xx,xy,xz][yx,yy,yz][zx,xy,zz]`.
80
83
  */
81
84
  static momentTensorFromInertiaProducts(products: Matrix3d): Matrix3d;
82
85
  /** Sort the columns of the matrix for increasing moments. */
83
86
  static sortColumnsForIncreasingMoments(axes: Matrix3d, moments: Vector3d): void;
84
87
  /**
85
88
  * Return the principal moment data for an array of points.
86
- * @param points array of points
89
+ * @param points array of points.
87
90
  */
88
91
  static pointsToPrincipalAxes(points: Point3d[]): MomentData | undefined;
89
92
  /**
90
- * Compute principal axes from inertial products
91
- * * The radii of gyration are sorted smallest to largest
92
- * * Hence x axis is long direction
93
- * * Hence planar data generates large moment as Z
93
+ * Compute principal axes from inertial products.
94
+ * * The radii of gyration are sorted smallest to largest.
95
+ * * Hence x axis is long direction.
96
+ * * Hence planar data generates large moment as Z.
94
97
  * @param origin The origin used for the inertia products.
95
- * @param inertiaProducts The inertia products -- sums or integrals of [xx,xy,xz,xw; yx,yy, yz,yw; zx,zy,zz,zw; wx,wy,wz,w]
98
+ * @param inertiaProducts The inertia products: sums or integrals of [xx,xy,xz,xw; yx,yy, yz,yw; zx,zy,zz,zw; wx,wy,wz,w].
96
99
  */
97
100
  static inertiaProductsToPrincipalAxes(origin: XYZ, inertiaProducts: Matrix4d): MomentData | undefined;
98
101
  /**
99
- * Test for match among selected members as they exist after `inertiaProductsToPrincipalAxes`
100
- * * The members considered are
101
- * * origin of local to world map (i.e. centroid)
102
- * * radius of gyration
102
+ * Test for match among selected members as they exist after `inertiaProductsToPrincipalAxes`.
103
+ * * The members considered are:
104
+ * * origin of local to world map (i.e. centroid),
105
+ * * radius of gyration,
103
106
  * * axes of localToWorldMap.
104
107
  * * Axis direction tests allow these quirks:
105
108
  * * opposite orientation is considered matched.
106
109
  * * Full xyz symmetry: If x,y,z radii are matched, axes are not tested.
107
- * * Symmetry in xy plane: If x and y radii are matched, the x and y axes area allowed to spin freely. Only Z direction is tested.
110
+ * * Symmetry in xy plane: If x and y radii are matched, the x and y axes area allowed to spin freely. Only Z direction
111
+ * is tested.
108
112
  * * If either or both are undefined, returns false.
109
- * @param dataA first set of moments
110
- * @param dataB second set of moments
113
+ * @param dataA first set of moments.
114
+ * @param dataB second set of moments.
111
115
  */
112
116
  static areEquivalentPrincipalAxes(dataA: MomentData | undefined, dataB: MomentData | undefined): boolean;
113
117
  /** Clear the MomentData sums to zero, and establish a new origin. */
114
118
  clearSums(origin?: Point3d): void;
115
119
  /** Accumulate products-of-components for given points. */
116
120
  accumulatePointMomentsFromOrigin(points: Point3d[]): void;
117
- /** revise the accumulated sums to be "around the centroid" */
121
+ /** Revise the accumulated sums to be "around the centroid". */
118
122
  shiftOriginAndSumsToCentroidOfSums(): boolean;
119
- /** revise the accumulated sums
123
+ /**
124
+ * Revise the accumulated sums.
120
125
  * * add ax,ay,ax to the origin coordinates.
121
126
  * * apply the negative translation to the sums.
122
127
  */
123
128
  shiftOriginAndSumsByXYZ(ax: number, ay: number, az: number): void;
124
- /** revise the accumulated sums so they are based at a specified origin. */
129
+ /** Revise the accumulated sums so they are based at a specified origin. */
125
130
  shiftOriginAndSumsToNewOrigin(newOrigin: XYAndZ): void;
126
- private static _vectorA?;
127
- private static _vectorB?;
128
- private static _vectorC?;
129
- /** compute moments of a triangle from the origin to the given line.
131
+ /**
132
+ * Compute moments of a triangle from the origin to the given line.
130
133
  * Accumulate them to this.sums.
131
134
  * * If `pointA` is undefined, use `this.origin` as pointA.
132
135
  * * If `this.needOrigin` is set, pointB is used
133
136
  */
134
137
  accumulateTriangleMomentsXY(pointA: XAndY | undefined, pointB: XAndY, pointC: XAndY): void;
135
- /** add scaled outer product of (4d, unit weight) point to this.sums */
138
+ /** Add scaled outer product of (4d, unit weight) point to this.sums. */
136
139
  accumulateScaledOuterProduct(point: XYAndZ, scaleFactor: number): void;
137
140
  /** Accumulate wire moment integral from pointA to pointB */
138
141
  accumulateLineMomentsXYZ(pointA: Point3d, pointB: Point3d): void;
139
- private _point0;
140
- private _point1;
141
- /** compute moments of triangles from a base point to the given linestring.
142
+ /**
143
+ * Compute moments of triangles from a base point to the given linestring.
142
144
  * Accumulate them to this.sums.
143
145
  * * If `pointA` is undefined, use `this.origin` as pointA.
144
146
  * * If `this.needOrigin` is set, the first point of the array is captured as local origin for subsequent sums.
@@ -147,34 +149,31 @@ export declare class MomentData {
147
149
  accumulateTriangleToLineStringMomentsXY(sweepBase: XAndY | undefined, points: GrowableXYZArray): void;
148
150
  /**
149
151
  * * Assemble XX, YY, XY products into a full matrix form [xx,xy,0,0; xy,yy,0,0;0,0,0,0;0,0,0,1].
150
- * * Sandwich this between transforms with columns [vectorU, vectorV, 0000, origin]. (Column weights 0001) (only xy parts of vectors)
152
+ * * Sandwich this between transforms with columns [vectorU, vectorV, 0000, origin]. (Column weights 0001) (only xy
153
+ * parts of vectors).
151
154
  * * scale by detJ for the xy-only determinant of the vectors.
152
155
  * @param productXX
153
156
  * @param productXY
154
157
  * @param productYY
155
- * @param area Area in caller's system
156
- * @param origin Caller's origin
157
- * @param vectorU Caller's U axis (not necessarily unit)
158
- * @param vectorV Caller's V axis (not necessarily unit)
158
+ * @param area Area in caller's system.
159
+ * @param origin Caller's origin.
160
+ * @param vectorU Caller's U axis (not necessarily unit).
161
+ * @param vectorV Caller's V axis (not necessarily unit).
159
162
  */
160
163
  accumulateXYProductsInCentroidalFrame(productXX: number, productXY: number, productYY: number, area: number, origin: XAndY, vectorU: XAndY, vectorV: XAndY): void;
161
164
  /**
162
165
  * Accumulate sums from other moments.
163
- * * scale by given scaleFactor (e.g. sign to correct orientation)
164
- * * pull the origin from `other` if `this` needs an origin.
165
- * *
166
+ * * Scale by given scaleFactor (e.g. sign to correct orientation).
167
+ * * Pull the origin from `other` if `this` needs an origin.
166
168
  */
167
169
  accumulateProducts(other: MomentData, scale: number): void;
168
170
  /**
169
- * Accumulate sums from Matrix4d and origin.
170
- * * scale by given scaleFactor (e.g. sign to correct orientation)
171
- * * trap the origin if `this` needs an origin.
172
- * *
173
- */
174
- accumulateProductsFromOrigin(origin: Point3d, products: Matrix4d, scale: number): void;
175
- /**
176
- * Convert to a json data object with:
171
+ * Accumulate sums from Matrix4d and origin.
172
+ * * Scale by given scaleFactor (e.g. sign to correct orientation).
173
+ * * Trap the origin if `this` needs an origin.
177
174
  */
175
+ accumulateProductsFromOrigin(origin: Point3d, products: Matrix4d, scale: number): void;
176
+ /** Convert to a json data object. */
178
177
  toJSON(): any;
179
178
  }
180
179
  //# sourceMappingURL=MomentData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MomentData.d.ts","sourceRoot":"","sources":["../../../src/geometry4d/MomentData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MomentData.d.ts","sourceRoot":"","sources":["../../../src/geometry4d/MomentData.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@ exports.MomentData = void 0;
8
8
  /** @packageDocumentation
9
9
  * @module Numerics
10
10
  */
11
- // import { Point2d } from "./Geometry2d";
12
11
  /* eslint-disable @typescript-eslint/naming-convention */
12
+ // cspell:word ABAT
13
13
  const Geometry_1 = require("../Geometry");
14
14
  const Matrix3d_1 = require("../geometry3d/Matrix3d");
15
15
  const Point3dVector3d_1 = require("../geometry3d/Point3dVector3d");
@@ -22,61 +22,84 @@ const Point4d_1 = require("./Point4d");
22
22
  * * origin = local origin used as moments are summed.
23
23
  * * sums = array of summed moments.
24
24
  * * The [i,j] entry of the sums is a summed or integrated moment for product of axis i and j.
25
- * * axes 0,1,2 are x,y,z
25
+ * * axes 0,1,2 are x,y,z.
26
26
  * * e.g. entry [0,1] is summed product xy
27
27
  * * axis 3 is "w", which is 1 in sums.
28
- * * e.g. entry 03 is summed x
29
- * * In this level,
28
+ * * e.g. entry 03 is summed x.
29
+ * * In this level:
30
30
  * * the `absoluteQuantity` member is undefined.
31
31
  * * the `localToWorldMap` and `radiiOfGyration` are created by have undefined contents.
32
- * * Second level: after a call to inertiaProductsToPrincipalAxes, the `localToWorldMap`, `absoluteQuantity` and `radiiOfGyration` are filled in.
32
+ * * Second level: after a call to inertiaProductsToPrincipalAxes, the `localToWorldMap`, `absoluteQuantity` and
33
+ * `radiiOfGyration` are filled in.
33
34
  * @public
34
35
  */
35
36
  class MomentData {
36
- /** Return the lower-right (3,3) entry in the sums.
37
- * * This is the quantity (i.e. length, area, or volume) summed
37
+ /** Origin used for sums. */
38
+ origin;
39
+ /** Flag to request deferred origin setup. */
40
+ needOrigin;
41
+ /**
42
+ * Moment sums.
43
+ * * Set to zero at initialization and if requested later.
44
+ * * Accumulated during data entry phase.
45
+ */
46
+ sums;
47
+ /**
48
+ * The mapping between principal and world system.
49
+ * * This set up with its inverse already constructed.
38
50
  */
39
- get quantitySum() { return this.sums.atIJ(3, 3); }
40
- /** Return a scale factor to make these sums match the target orientation sign.
51
+ localToWorldMap;
52
+ // private variables
53
+ static _vectorA;
54
+ static _vectorB;
55
+ static _vectorC;
56
+ _point0 = Point3dVector3d_1.Point3d.create();
57
+ _point1 = Point3dVector3d_1.Point3d.create();
58
+ /**
59
+ * Return the lower-right (3,3) entry in the sums.
60
+ * * This is the quantity (i.e. length, area, or volume) summed.
61
+ */
62
+ get quantitySum() {
63
+ return this.sums.atIJ(3, 3);
64
+ }
65
+ /**
66
+ * Return a scale factor to make these sums match the target orientation sign.
41
67
  * * 1.0 if `this.quantitySum` has the same sign as `targetSign`.
42
68
  * * -1.0 if `this.quantitySum` has the opposite sign from `targetSign`
43
69
  */
44
70
  signFactor(targetSign) {
45
71
  return targetSign * this.quantitySum > 0 ? 1.0 : -1.0;
46
72
  }
47
- /**
48
- * If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
49
- *
50
- */
73
+ /** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
51
74
  setOriginIfNeeded(origin) {
52
75
  if (this.needOrigin) {
53
76
  this.origin.setFromPoint3d(origin);
54
77
  this.needOrigin = false;
55
78
  }
56
79
  }
57
- /**
58
- * If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
59
- *
60
- */
80
+ /** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
61
81
  setOriginFromGrowableXYZArrayIfNeeded(points) {
62
82
  if (this.needOrigin && points.length > 0) {
63
83
  points.getPoint3dAtCheckedPointIndex(0, this.origin);
64
84
  this.needOrigin = false;
65
85
  }
66
86
  }
67
- /**
68
- * If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
69
- *
70
- */
87
+ /** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
71
88
  setOriginXYZIfNeeded(x, y, z) {
72
89
  if (this.needOrigin) {
73
90
  this.origin.set(x, y, z);
74
91
  this.needOrigin = false;
75
92
  }
76
93
  }
94
+ /** Radii of gyration (square roots of principal second moments). */
95
+ radiusOfGyration;
96
+ /**
97
+ * Principal quantity (e.g. length, area, or volume). This is undefined in raw moments, and becomes defined by
98
+ * inertiaProductsToPrincipalAxes.
99
+ */
100
+ absoluteQuantity;
101
+ /** Constructor. */
77
102
  constructor() {
78
- this._point0 = Point3dVector3d_1.Point3d.create();
79
- this._point1 = Point3dVector3d_1.Point3d.create();
80
103
  this.origin = Point3dVector3d_1.Point3d.createZero();
81
104
  this.sums = Matrix4d_1.Matrix4d.createZero();
82
105
  this.localToWorldMap = Transform_1.Transform.createIdentity();
@@ -85,12 +108,13 @@ class MomentData {
85
108
  this.absoluteQuantity = 0.1; // so optimizer sees its type
86
109
  this.absoluteQuantity = undefined;
87
110
  }
88
- /** Create moments with optional origin.
89
- * * origin and needOrigin are quirky.
111
+ /**
112
+ * Create moments with optional origin.
113
+ * * Origin and needOrigin are quirky.
90
114
  * * (undefined, true) sets up to use first incoming point as origin.
91
- * * (origin) sets up to use that durable origin, set needsOrigin flag false
92
- * * (origin, true) the "true" is meaningless
93
- * * (undefined, false) makes 000 the durable origin
115
+ * * (origin) sets up to use that durable origin, set needsOrigin flag false.
116
+ * * (origin, true) the "true" is meaningless.
117
+ * * (undefined, false) makes 000 the durable origin.
94
118
  */
95
119
  static create(origin, needOrigin = false) {
96
120
  const data = new MomentData();
@@ -102,8 +126,8 @@ class MomentData {
102
126
  return data;
103
127
  }
104
128
  /**
105
- * Return the formal tensor of integrated values `[yy+zz,xy,xz][yx,xx+zz,yz][zx,xy,xx+yy]`
106
- * @param products matrix of (integrated) `[xx,xy,xz][yx,yy,yz][zx,xy,zz]`
129
+ * Return the formal tensor of integrated values `[yy+zz,xy,xz][yx,xx+zz,yz][zx,xy,xx+yy]`.
130
+ * @param products matrix of (integrated) `[xx,xy,xz][yx,yy,yz][zx,xy,zz]`.
107
131
  */
108
132
  static momentTensorFromInertiaProducts(products) {
109
133
  const rr = products.sumDiagonal();
@@ -136,7 +160,7 @@ class MomentData {
136
160
  }
137
161
  /**
138
162
  * Return the principal moment data for an array of points.
139
- * @param points array of points
163
+ * @param points array of points.
140
164
  */
141
165
  static pointsToPrincipalAxes(points) {
142
166
  const moments = new MomentData();
@@ -147,12 +171,12 @@ class MomentData {
147
171
  return this.inertiaProductsToPrincipalAxes(moments.origin, moments.sums);
148
172
  }
149
173
  /**
150
- * Compute principal axes from inertial products
151
- * * The radii of gyration are sorted smallest to largest
152
- * * Hence x axis is long direction
153
- * * Hence planar data generates large moment as Z
174
+ * Compute principal axes from inertial products.
175
+ * * The radii of gyration are sorted smallest to largest.
176
+ * * Hence x axis is long direction.
177
+ * * Hence planar data generates large moment as Z.
154
178
  * @param origin The origin used for the inertia products.
155
- * @param inertiaProducts The inertia products -- sums or integrals of [xx,xy,xz,xw; yx,yy, yz,yw; zx,zy,zz,zw; wx,wy,wz,w]
179
+ * @param inertiaProducts The inertia products: sums or integrals of [xx,xy,xz,xw; yx,yy, yz,yw; zx,zy,zz,zw; wx,wy,wz,w].
156
180
  */
157
181
  static inertiaProductsToPrincipalAxes(origin, inertiaProducts) {
158
182
  const moments = new MomentData();
@@ -180,18 +204,19 @@ class MomentData {
180
204
  return moments;
181
205
  }
182
206
  /**
183
- * Test for match among selected members as they exist after `inertiaProductsToPrincipalAxes`
184
- * * The members considered are
185
- * * origin of local to world map (i.e. centroid)
186
- * * radius of gyration
207
+ * Test for match among selected members as they exist after `inertiaProductsToPrincipalAxes`.
208
+ * * The members considered are:
209
+ * * origin of local to world map (i.e. centroid),
210
+ * * radius of gyration,
187
211
  * * axes of localToWorldMap.
188
212
  * * Axis direction tests allow these quirks:
189
213
  * * opposite orientation is considered matched.
190
214
  * * Full xyz symmetry: If x,y,z radii are matched, axes are not tested.
191
- * * Symmetry in xy plane: If x and y radii are matched, the x and y axes area allowed to spin freely. Only Z direction is tested.
215
+ * * Symmetry in xy plane: If x and y radii are matched, the x and y axes area allowed to spin freely. Only Z direction
216
+ * is tested.
192
217
  * * If either or both are undefined, returns false.
193
- * @param dataA first set of moments
194
- * @param dataB second set of moments
218
+ * @param dataA first set of moments.
219
+ * @param dataB second set of moments.
195
220
  */
196
221
  static areEquivalentPrincipalAxes(dataA, dataB) {
197
222
  if (dataA && dataB
@@ -239,7 +264,7 @@ class MomentData {
239
264
  this.sums.addMomentsInPlace(p.x - this.origin.x, p.y - this.origin.y, p.z - this.origin.z, 1.0);
240
265
  }
241
266
  }
242
- /** revise the accumulated sums to be "around the centroid" */
267
+ /** Revise the accumulated sums to be "around the centroid". */
243
268
  shiftOriginAndSumsToCentroidOfSums() {
244
269
  const xyz = this.sums.columnW().realPoint();
245
270
  if (xyz) {
@@ -248,7 +273,8 @@ class MomentData {
248
273
  }
249
274
  return false;
250
275
  }
251
- /** revise the accumulated sums
276
+ /**
277
+ * Revise the accumulated sums.
252
278
  * * add ax,ay,ax to the origin coordinates.
253
279
  * * apply the negative translation to the sums.
254
280
  */
@@ -256,11 +282,12 @@ class MomentData {
256
282
  this.origin.addXYZInPlace(ax, ay, az);
257
283
  this.sums.multiplyTranslationSandwichInPlace(-ax, -ay, -az);
258
284
  }
259
- /** revise the accumulated sums so they are based at a specified origin. */
285
+ /** Revise the accumulated sums so they are based at a specified origin. */
260
286
  shiftOriginAndSumsToNewOrigin(newOrigin) {
261
287
  this.shiftOriginAndSumsByXYZ(newOrigin.x - this.origin.x, newOrigin.y - this.origin.y, newOrigin.z - this.origin.z);
262
288
  }
263
- /** compute moments of a triangle from the origin to the given line.
289
+ /**
290
+ * Compute moments of a triangle from the origin to the given line.
264
291
  * Accumulate them to this.sums.
265
292
  * * If `pointA` is undefined, use `this.origin` as pointA.
266
293
  * * If `this.needOrigin` is set, pointB is used
@@ -292,7 +319,7 @@ class MomentData {
292
319
  this.sums.addScaledOuterProductInPlace(vectorC, vectorC, r1_12);
293
320
  }
294
321
  }
295
- /** add scaled outer product of (4d, unit weight) point to this.sums */
322
+ /** Add scaled outer product of (4d, unit weight) point to this.sums. */
296
323
  accumulateScaledOuterProduct(point, scaleFactor) {
297
324
  this.setOriginXYZIfNeeded(point.x, point.y, 0.0);
298
325
  const vectorA = MomentData._vectorA = Point4d_1.Point4d.create(point.x - this.origin.x, point.y - this.origin.y, point.z - this.origin.z, 1.0, MomentData._vectorA);
@@ -314,7 +341,8 @@ class MomentData {
314
341
  this.sums.addScaledOuterProductInPlace(vectorB, vectorA, r1_6);
315
342
  this.sums.addScaledOuterProductInPlace(vectorB, vectorB, r1_3);
316
343
  }
317
- /** compute moments of triangles from a base point to the given linestring.
344
+ /**
345
+ * Compute moments of triangles from a base point to the given linestring.
318
346
  * Accumulate them to this.sums.
319
347
  * * If `pointA` is undefined, use `this.origin` as pointA.
320
348
  * * If `this.needOrigin` is set, the first point of the array is captured as local origin for subsequent sums.
@@ -331,18 +359,18 @@ class MomentData {
331
359
  }
332
360
  }
333
361
  }
334
- // cspell:word ABAT
335
362
  /**
336
363
  * * Assemble XX, YY, XY products into a full matrix form [xx,xy,0,0; xy,yy,0,0;0,0,0,0;0,0,0,1].
337
- * * Sandwich this between transforms with columns [vectorU, vectorV, 0000, origin]. (Column weights 0001) (only xy parts of vectors)
364
+ * * Sandwich this between transforms with columns [vectorU, vectorV, 0000, origin]. (Column weights 0001) (only xy
365
+ * parts of vectors).
338
366
  * * scale by detJ for the xy-only determinant of the vectors.
339
367
  * @param productXX
340
368
  * @param productXY
341
369
  * @param productYY
342
- * @param area Area in caller's system
343
- * @param origin Caller's origin
344
- * @param vectorU Caller's U axis (not necessarily unit)
345
- * @param vectorV Caller's V axis (not necessarily unit)
370
+ * @param area Area in caller's system.
371
+ * @param origin Caller's origin.
372
+ * @param vectorU Caller's U axis (not necessarily unit).
373
+ * @param vectorV Caller's V axis (not necessarily unit).
346
374
  */
347
375
  accumulateXYProductsInCentroidalFrame(productXX, productXY, productYY, area, origin, vectorU, vectorV) {
348
376
  const centroidalProducts = Matrix4d_1.Matrix4d.createRowValues(productXX, productXY, 0, 0, productXY, productYY, 0, 0, 0, 0, 0, 0, 0, 0, 0, area);
@@ -354,27 +382,23 @@ class MomentData {
354
382
  }
355
383
  /**
356
384
  * Accumulate sums from other moments.
357
- * * scale by given scaleFactor (e.g. sign to correct orientation)
358
- * * pull the origin from `other` if `this` needs an origin.
359
- * *
385
+ * * Scale by given scaleFactor (e.g. sign to correct orientation).
386
+ * * Pull the origin from `other` if `this` needs an origin.
360
387
  */
361
388
  accumulateProducts(other, scale) {
362
389
  this.setOriginIfNeeded(other.origin);
363
390
  this.sums.addTranslationSandwichInPlace(other.sums, this.origin.x - other.origin.x, this.origin.y - other.origin.y, this.origin.z - other.origin.z, scale);
364
391
  }
365
392
  /**
366
- * Accumulate sums from Matrix4d and origin.
367
- * * scale by given scaleFactor (e.g. sign to correct orientation)
368
- * * trap the origin if `this` needs an origin.
369
- * *
370
- */
393
+ * Accumulate sums from Matrix4d and origin.
394
+ * * Scale by given scaleFactor (e.g. sign to correct orientation).
395
+ * * Trap the origin if `this` needs an origin.
396
+ */
371
397
  accumulateProductsFromOrigin(origin, products, scale) {
372
398
  this.setOriginIfNeeded(origin);
373
399
  this.sums.addTranslationSandwichInPlace(products, this.origin.x - origin.x, this.origin.y - origin.y, this.origin.z - origin.z, scale);
374
400
  }
375
- /**
376
- * Convert to a json data object with:
377
- */
401
+ /** Convert to a json data object. */
378
402
  toJSON() {
379
403
  return {
380
404
  origin: this.origin,