@itwin/core-geometry 3.0.0-dev.76 → 3.0.0-dev.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1999) hide show
  1. package/CHANGELOG.md +1049 -0
  2. package/lib/{Constant.d.ts → cjs/Constant.d.ts} +0 -0
  3. package/lib/cjs/Constant.d.ts.map +1 -0
  4. package/lib/{Constant.js → cjs/Constant.js} +0 -0
  5. package/lib/cjs/Constant.js.map +1 -0
  6. package/lib/{Geometry.d.ts → cjs/Geometry.d.ts} +0 -0
  7. package/lib/cjs/Geometry.d.ts.map +1 -0
  8. package/lib/{Geometry.js → cjs/Geometry.js} +0 -0
  9. package/lib/cjs/Geometry.js.map +1 -0
  10. package/lib/{bspline → cjs/bspline}/AkimaCurve3d.d.ts +0 -0
  11. package/lib/cjs/bspline/AkimaCurve3d.d.ts.map +1 -0
  12. package/lib/{bspline → cjs/bspline}/AkimaCurve3d.js +0 -0
  13. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -0
  14. package/lib/{bspline → cjs/bspline}/BSpline1dNd.d.ts +0 -0
  15. package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -0
  16. package/lib/{bspline → cjs/bspline}/BSpline1dNd.js +0 -0
  17. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -0
  18. package/lib/{bspline → cjs/bspline}/BSplineCurve.d.ts +0 -0
  19. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -0
  20. package/lib/{bspline → cjs/bspline}/BSplineCurve.js +0 -0
  21. package/lib/cjs/bspline/BSplineCurve.js.map +1 -0
  22. package/lib/{bspline → cjs/bspline}/BSplineCurve3dH.d.ts +0 -0
  23. package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -0
  24. package/lib/{bspline → cjs/bspline}/BSplineCurve3dH.js +0 -0
  25. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -0
  26. package/lib/{bspline → cjs/bspline}/BSplineCurveOps.d.ts +0 -0
  27. package/lib/cjs/bspline/BSplineCurveOps.d.ts.map +1 -0
  28. package/lib/{bspline → cjs/bspline}/BSplineCurveOps.js +0 -0
  29. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -0
  30. package/lib/cjs/bspline/BSplineSurface.d.ts +491 -0
  31. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -0
  32. package/lib/{bspline → cjs/bspline}/BSplineSurface.js +0 -0
  33. package/lib/cjs/bspline/BSplineSurface.js.map +1 -0
  34. package/lib/{bspline → cjs/bspline}/Bezier1dNd.d.ts +0 -0
  35. package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -0
  36. package/lib/{bspline → cjs/bspline}/Bezier1dNd.js +0 -0
  37. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -0
  38. package/lib/{bspline → cjs/bspline}/BezierCurve3d.d.ts +0 -0
  39. package/lib/cjs/bspline/BezierCurve3d.d.ts.map +1 -0
  40. package/lib/{bspline → cjs/bspline}/BezierCurve3d.js +0 -0
  41. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -0
  42. package/lib/{bspline → cjs/bspline}/BezierCurve3dH.d.ts +0 -0
  43. package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -0
  44. package/lib/{bspline → cjs/bspline}/BezierCurve3dH.js +0 -0
  45. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -0
  46. package/lib/{bspline → cjs/bspline}/BezierCurveBase.d.ts +0 -0
  47. package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -0
  48. package/lib/{bspline → cjs/bspline}/BezierCurveBase.js +0 -0
  49. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -0
  50. package/lib/{bspline → cjs/bspline}/InterpolationCurve3d.d.ts +0 -0
  51. package/lib/cjs/bspline/InterpolationCurve3d.d.ts.map +1 -0
  52. package/lib/{bspline → cjs/bspline}/InterpolationCurve3d.js +0 -0
  53. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -0
  54. package/lib/{bspline → cjs/bspline}/KnotVector.d.ts +0 -0
  55. package/lib/cjs/bspline/KnotVector.d.ts.map +1 -0
  56. package/lib/{bspline → cjs/bspline}/KnotVector.js +0 -0
  57. package/lib/cjs/bspline/KnotVector.js.map +1 -0
  58. package/lib/{bspline → cjs/bspline}/SurfaceLocationDetail.d.ts +0 -0
  59. package/lib/cjs/bspline/SurfaceLocationDetail.d.ts.map +1 -0
  60. package/lib/{bspline → cjs/bspline}/SurfaceLocationDetail.js +0 -0
  61. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -0
  62. package/lib/{clipping → cjs/clipping}/AlternatingConvexClipTree.d.ts +0 -0
  63. package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts.map +1 -0
  64. package/lib/{clipping → cjs/clipping}/AlternatingConvexClipTree.js +0 -0
  65. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -0
  66. package/lib/{clipping → cjs/clipping}/BooleanClipFactory.d.ts +0 -0
  67. package/lib/cjs/clipping/BooleanClipFactory.d.ts.map +1 -0
  68. package/lib/{clipping → cjs/clipping}/BooleanClipFactory.js +0 -0
  69. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -0
  70. package/lib/{clipping → cjs/clipping}/BooleanClipNode.d.ts +0 -0
  71. package/lib/cjs/clipping/BooleanClipNode.d.ts.map +1 -0
  72. package/lib/{clipping → cjs/clipping}/BooleanClipNode.js +0 -0
  73. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -0
  74. package/lib/{clipping → cjs/clipping}/ClipPlane.d.ts +0 -0
  75. package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -0
  76. package/lib/{clipping → cjs/clipping}/ClipPlane.js +0 -0
  77. package/lib/cjs/clipping/ClipPlane.js.map +1 -0
  78. package/lib/{clipping → cjs/clipping}/ClipPrimitive.d.ts +0 -0
  79. package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -0
  80. package/lib/{clipping → cjs/clipping}/ClipPrimitive.js +0 -0
  81. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -0
  82. package/lib/{clipping → cjs/clipping}/ClipUtils.d.ts +0 -0
  83. package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -0
  84. package/lib/{clipping → cjs/clipping}/ClipUtils.js +0 -0
  85. package/lib/cjs/clipping/ClipUtils.js.map +1 -0
  86. package/lib/{clipping → cjs/clipping}/ClipVector.d.ts +0 -0
  87. package/lib/cjs/clipping/ClipVector.d.ts.map +1 -0
  88. package/lib/{clipping → cjs/clipping}/ClipVector.js +0 -0
  89. package/lib/cjs/clipping/ClipVector.js.map +1 -0
  90. package/lib/{clipping → cjs/clipping}/ConvexClipPlaneSet.d.ts +0 -0
  91. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -0
  92. package/lib/{clipping → cjs/clipping}/ConvexClipPlaneSet.js +0 -0
  93. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -0
  94. package/lib/{clipping → cjs/clipping}/UnionOfConvexClipPlaneSets.d.ts +0 -0
  95. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -0
  96. package/lib/{clipping → cjs/clipping}/UnionOfConvexClipPlaneSets.js +0 -0
  97. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -0
  98. package/lib/{clipping → cjs/clipping}/internalContexts/LineStringOffsetClipperContext.d.ts +0 -0
  99. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -0
  100. package/lib/{clipping → cjs/clipping}/internalContexts/LineStringOffsetClipperContext.js +0 -0
  101. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -0
  102. package/lib/{core-geometry.d.ts → cjs/core-geometry.d.ts} +0 -0
  103. package/lib/cjs/core-geometry.d.ts.map +1 -0
  104. package/lib/{core-geometry.js → cjs/core-geometry.js} +0 -0
  105. package/lib/cjs/core-geometry.js.map +1 -0
  106. package/lib/{curve → cjs/curve}/Arc3d.d.ts +0 -0
  107. package/lib/cjs/curve/Arc3d.d.ts.map +1 -0
  108. package/lib/{curve → cjs/curve}/Arc3d.js +0 -0
  109. package/lib/cjs/curve/Arc3d.js.map +1 -0
  110. package/lib/{curve → cjs/curve}/ChainCollectorContext.d.ts +0 -0
  111. package/lib/cjs/curve/ChainCollectorContext.d.ts.map +1 -0
  112. package/lib/{curve → cjs/curve}/ChainCollectorContext.js +0 -0
  113. package/lib/cjs/curve/ChainCollectorContext.js.map +1 -0
  114. package/lib/{curve → cjs/curve}/ConstructCurveBetweenCurves.d.ts +0 -0
  115. package/lib/cjs/curve/ConstructCurveBetweenCurves.d.ts.map +1 -0
  116. package/lib/{curve → cjs/curve}/ConstructCurveBetweenCurves.js +0 -0
  117. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -0
  118. package/lib/{curve → cjs/curve}/CoordinateXYZ.d.ts +0 -0
  119. package/lib/cjs/curve/CoordinateXYZ.d.ts.map +1 -0
  120. package/lib/{curve → cjs/curve}/CoordinateXYZ.js +0 -0
  121. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -0
  122. package/lib/{curve → cjs/curve}/CurveChain.d.ts +0 -0
  123. package/lib/cjs/curve/CurveChain.d.ts.map +1 -0
  124. package/lib/{curve → cjs/curve}/CurveChain.js +0 -0
  125. package/lib/cjs/curve/CurveChain.js.map +1 -0
  126. package/lib/{curve → cjs/curve}/CurveChainWithDistanceIndex.d.ts +0 -0
  127. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -0
  128. package/lib/{curve → cjs/curve}/CurveChainWithDistanceIndex.js +0 -0
  129. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -0
  130. package/lib/{curve → cjs/curve}/CurveCollection.d.ts +0 -0
  131. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -0
  132. package/lib/{curve → cjs/curve}/CurveCollection.js +0 -0
  133. package/lib/cjs/curve/CurveCollection.js.map +1 -0
  134. package/lib/{curve → cjs/curve}/CurveCurve.d.ts +0 -0
  135. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -0
  136. package/lib/{curve → cjs/curve}/CurveCurve.js +0 -0
  137. package/lib/cjs/curve/CurveCurve.js.map +1 -0
  138. package/lib/{curve → cjs/curve}/CurveCurveCloseApproachXY.d.ts +0 -0
  139. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts.map +1 -0
  140. package/lib/{curve → cjs/curve}/CurveCurveCloseApproachXY.js +0 -0
  141. package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -0
  142. package/lib/{curve → cjs/curve}/CurveCurveIntersectXY.d.ts +0 -0
  143. package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -0
  144. package/lib/{curve → cjs/curve}/CurveCurveIntersectXY.js +0 -0
  145. package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -0
  146. package/lib/{curve → cjs/curve}/CurveCurveIntersectXYZ.d.ts +0 -0
  147. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +1 -0
  148. package/lib/{curve → cjs/curve}/CurveCurveIntersectXYZ.js +0 -0
  149. package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -0
  150. package/lib/{curve → cjs/curve}/CurveExtendMode.d.ts +0 -0
  151. package/lib/cjs/curve/CurveExtendMode.d.ts.map +1 -0
  152. package/lib/{curve → cjs/curve}/CurveExtendMode.js +0 -0
  153. package/lib/cjs/curve/CurveExtendMode.js.map +1 -0
  154. package/lib/{curve → cjs/curve}/CurveFactory.d.ts +0 -0
  155. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -0
  156. package/lib/{curve → cjs/curve}/CurveFactory.js +0 -0
  157. package/lib/cjs/curve/CurveFactory.js.map +1 -0
  158. package/lib/{curve → cjs/curve}/CurveLocationDetail.d.ts +0 -0
  159. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -0
  160. package/lib/{curve → cjs/curve}/CurveLocationDetail.js +0 -0
  161. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -0
  162. package/lib/{curve → cjs/curve}/CurvePrimitive.d.ts +0 -0
  163. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -0
  164. package/lib/{curve → cjs/curve}/CurvePrimitive.js +0 -0
  165. package/lib/cjs/curve/CurvePrimitive.js.map +1 -0
  166. package/lib/{curve → cjs/curve}/CurveProcessor.d.ts +0 -0
  167. package/lib/cjs/curve/CurveProcessor.d.ts.map +1 -0
  168. package/lib/{curve → cjs/curve}/CurveProcessor.js +0 -0
  169. package/lib/cjs/curve/CurveProcessor.js.map +1 -0
  170. package/lib/{curve → cjs/curve}/CurveWireMomentsXYZ.d.ts +0 -0
  171. package/lib/cjs/curve/CurveWireMomentsXYZ.d.ts.map +1 -0
  172. package/lib/{curve → cjs/curve}/CurveWireMomentsXYZ.js +0 -0
  173. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -0
  174. package/lib/{curve → cjs/curve}/GeometryQuery.d.ts +0 -0
  175. package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -0
  176. package/lib/{curve → cjs/curve}/GeometryQuery.js +0 -0
  177. package/lib/cjs/curve/GeometryQuery.js.map +1 -0
  178. package/lib/{curve → cjs/curve}/LineSegment3d.d.ts +0 -0
  179. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -0
  180. package/lib/{curve → cjs/curve}/LineSegment3d.js +0 -0
  181. package/lib/cjs/curve/LineSegment3d.js.map +1 -0
  182. package/lib/{curve → cjs/curve}/LineString3d.d.ts +0 -0
  183. package/lib/cjs/curve/LineString3d.d.ts.map +1 -0
  184. package/lib/{curve → cjs/curve}/LineString3d.js +0 -0
  185. package/lib/cjs/curve/LineString3d.js.map +1 -0
  186. package/lib/{curve → cjs/curve}/Loop.d.ts +0 -0
  187. package/lib/cjs/curve/Loop.d.ts.map +1 -0
  188. package/lib/{curve → cjs/curve}/Loop.js +0 -0
  189. package/lib/cjs/curve/Loop.js.map +1 -0
  190. package/lib/{curve → cjs/curve}/ParityRegion.d.ts +0 -0
  191. package/lib/cjs/curve/ParityRegion.d.ts.map +1 -0
  192. package/lib/{curve → cjs/curve}/ParityRegion.js +0 -0
  193. package/lib/cjs/curve/ParityRegion.js.map +1 -0
  194. package/lib/{curve → cjs/curve}/Path.d.ts +0 -0
  195. package/lib/cjs/curve/Path.d.ts.map +1 -0
  196. package/lib/{curve → cjs/curve}/Path.js +0 -0
  197. package/lib/cjs/curve/Path.js.map +1 -0
  198. package/lib/{curve → cjs/curve}/PointString3d.d.ts +0 -0
  199. package/lib/cjs/curve/PointString3d.d.ts.map +1 -0
  200. package/lib/{curve → cjs/curve}/PointString3d.js +0 -0
  201. package/lib/cjs/curve/PointString3d.js.map +1 -0
  202. package/lib/{curve → cjs/curve}/ProxyCurve.d.ts +0 -0
  203. package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -0
  204. package/lib/{curve → cjs/curve}/ProxyCurve.js +0 -0
  205. package/lib/cjs/curve/ProxyCurve.js.map +1 -0
  206. package/lib/{curve → cjs/curve}/Query/ConsolidateAdjacentPrimitivesContext.d.ts +0 -0
  207. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -0
  208. package/lib/{curve → cjs/curve}/Query/ConsolidateAdjacentPrimitivesContext.js +0 -0
  209. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -0
  210. package/lib/{curve → cjs/curve}/Query/CurveSplitContext.d.ts +0 -0
  211. package/lib/cjs/curve/Query/CurveSplitContext.d.ts.map +1 -0
  212. package/lib/{curve → cjs/curve}/Query/CurveSplitContext.js +0 -0
  213. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -0
  214. package/lib/{curve → cjs/curve}/Query/CylindricalRange.d.ts +0 -0
  215. package/lib/cjs/curve/Query/CylindricalRange.d.ts.map +1 -0
  216. package/lib/{curve → cjs/curve}/Query/CylindricalRange.js +0 -0
  217. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -0
  218. package/lib/{curve → cjs/curve}/Query/InOutTests.d.ts +0 -0
  219. package/lib/cjs/curve/Query/InOutTests.d.ts.map +1 -0
  220. package/lib/{curve → cjs/curve}/Query/InOutTests.js +0 -0
  221. package/lib/cjs/curve/Query/InOutTests.js.map +1 -0
  222. package/lib/{curve → cjs/curve}/Query/PlanarSubdivision.d.ts +0 -0
  223. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -0
  224. package/lib/{curve → cjs/curve}/Query/PlanarSubdivision.js +0 -0
  225. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -0
  226. package/lib/{curve → cjs/curve}/Query/StrokeCountChain.d.ts +0 -0
  227. package/lib/cjs/curve/Query/StrokeCountChain.d.ts.map +1 -0
  228. package/lib/{curve → cjs/curve}/Query/StrokeCountChain.js +0 -0
  229. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -0
  230. package/lib/{curve → cjs/curve}/Query/StrokeCountMap.d.ts +0 -0
  231. package/lib/cjs/curve/Query/StrokeCountMap.d.ts.map +1 -0
  232. package/lib/{curve → cjs/curve}/Query/StrokeCountMap.js +0 -0
  233. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -0
  234. package/lib/{curve → cjs/curve}/RegionMomentsXY.d.ts +0 -0
  235. package/lib/cjs/curve/RegionMomentsXY.d.ts.map +1 -0
  236. package/lib/{curve → cjs/curve}/RegionMomentsXY.js +0 -0
  237. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -0
  238. package/lib/{curve → cjs/curve}/RegionOps.d.ts +0 -0
  239. package/lib/cjs/curve/RegionOps.d.ts.map +1 -0
  240. package/lib/{curve → cjs/curve}/RegionOps.js +0 -0
  241. package/lib/cjs/curve/RegionOps.js.map +1 -0
  242. package/lib/{curve → cjs/curve}/RegionOpsClassificationSweeps.d.ts +0 -0
  243. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -0
  244. package/lib/{curve → cjs/curve}/RegionOpsClassificationSweeps.js +0 -0
  245. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -0
  246. package/lib/{curve → cjs/curve}/StrokeOptions.d.ts +0 -0
  247. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -0
  248. package/lib/{curve → cjs/curve}/StrokeOptions.js +0 -0
  249. package/lib/cjs/curve/StrokeOptions.js.map +1 -0
  250. package/lib/{curve → cjs/curve}/UnionRegion.d.ts +0 -0
  251. package/lib/cjs/curve/UnionRegion.d.ts.map +1 -0
  252. package/lib/{curve → cjs/curve}/UnionRegion.js +0 -0
  253. package/lib/cjs/curve/UnionRegion.js.map +1 -0
  254. package/lib/{curve → cjs/curve}/internalContexts/CloneCurvesContext.d.ts +0 -0
  255. package/lib/cjs/curve/internalContexts/CloneCurvesContext.d.ts.map +1 -0
  256. package/lib/{curve → cjs/curve}/internalContexts/CloneCurvesContext.js +0 -0
  257. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -0
  258. package/lib/{curve → cjs/curve}/internalContexts/CloneWithExpandedLineStrings.d.ts +0 -0
  259. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +1 -0
  260. package/lib/{curve → cjs/curve}/internalContexts/CloneWithExpandedLineStrings.js +0 -0
  261. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -0
  262. package/lib/{curve → cjs/curve}/internalContexts/CountLinearPartsSearchContext.d.ts +0 -0
  263. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +1 -0
  264. package/lib/{curve → cjs/curve}/internalContexts/CountLinearPartsSearchContext.js +0 -0
  265. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -0
  266. package/lib/{curve → cjs/curve}/internalContexts/GapSearchContext.d.ts +0 -0
  267. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -0
  268. package/lib/{curve → cjs/curve}/internalContexts/GapSearchContext.js +0 -0
  269. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -0
  270. package/lib/{curve → cjs/curve}/internalContexts/MultiChainCollector.d.ts +0 -0
  271. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -0
  272. package/lib/{curve → cjs/curve}/internalContexts/MultiChainCollector.js +0 -0
  273. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -0
  274. package/lib/{curve → cjs/curve}/internalContexts/PlaneAltitudeRangeContext.d.ts +0 -0
  275. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -0
  276. package/lib/{curve → cjs/curve}/internalContexts/PlaneAltitudeRangeContext.js +0 -0
  277. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -0
  278. package/lib/{curve → cjs/curve}/internalContexts/PolygonOffsetContext.d.ts +0 -0
  279. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -0
  280. package/lib/{curve → cjs/curve}/internalContexts/PolygonOffsetContext.js +0 -0
  281. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -0
  282. package/lib/{curve → cjs/curve}/internalContexts/SumLengthsContext.d.ts +0 -0
  283. package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -0
  284. package/lib/{curve → cjs/curve}/internalContexts/SumLengthsContext.js +0 -0
  285. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -0
  286. package/lib/{curve → cjs/curve}/internalContexts/TransformInPlaceContext.d.ts +0 -0
  287. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.d.ts.map +1 -0
  288. package/lib/{curve → cjs/curve}/internalContexts/TransformInPlaceContext.js +0 -0
  289. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -0
  290. package/lib/{curve → cjs/curve}/spiral/AustralianRailCorpXYEvaluator.d.ts +0 -0
  291. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -0
  292. package/lib/{curve → cjs/curve}/spiral/AustralianRailCorpXYEvaluator.js +0 -0
  293. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -0
  294. package/lib/{curve → cjs/curve}/spiral/ClothoidSeries.d.ts +0 -0
  295. package/lib/cjs/curve/spiral/ClothoidSeries.d.ts.map +1 -0
  296. package/lib/{curve → cjs/curve}/spiral/ClothoidSeries.js +0 -0
  297. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -0
  298. package/lib/{curve → cjs/curve}/spiral/CubicEvaluator.d.ts +0 -0
  299. package/lib/cjs/curve/spiral/CubicEvaluator.d.ts.map +1 -0
  300. package/lib/{curve → cjs/curve}/spiral/CubicEvaluator.js +0 -0
  301. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -0
  302. package/lib/{curve → cjs/curve}/spiral/CzechSpiralEvaluator.d.ts +0 -0
  303. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -0
  304. package/lib/{curve → cjs/curve}/spiral/CzechSpiralEvaluator.js +0 -0
  305. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -0
  306. package/lib/{curve → cjs/curve}/spiral/DirectHalfCosineSpiralEvaluator.d.ts +0 -0
  307. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -0
  308. package/lib/{curve → cjs/curve}/spiral/DirectHalfCosineSpiralEvaluator.js +0 -0
  309. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -0
  310. package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +265 -0
  311. package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -0
  312. package/lib/cjs/curve/spiral/DirectSpiral3d.js +473 -0
  313. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -0
  314. package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts +158 -0
  315. package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -0
  316. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +364 -0
  317. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -0
  318. package/lib/{curve → cjs/curve}/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +0 -0
  319. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -0
  320. package/lib/{curve → cjs/curve}/spiral/MXCubicAlongArcSpiralEvaluator.js +0 -0
  321. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -0
  322. package/lib/{curve → cjs/curve}/spiral/NormalizedTransition.d.ts +0 -0
  323. package/lib/cjs/curve/spiral/NormalizedTransition.d.ts.map +1 -0
  324. package/lib/{curve → cjs/curve}/spiral/NormalizedTransition.js +0 -0
  325. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -0
  326. package/lib/{curve → cjs/curve}/spiral/PolishCubicSpiralEvaluator.d.ts +0 -0
  327. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -0
  328. package/lib/{curve → cjs/curve}/spiral/PolishCubicSpiralEvaluator.js +0 -0
  329. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -0
  330. package/lib/{curve → cjs/curve}/spiral/TransitionConditionalProperties.d.ts +0 -0
  331. package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -0
  332. package/lib/{curve → cjs/curve}/spiral/TransitionConditionalProperties.js +0 -0
  333. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -0
  334. package/lib/{curve → cjs/curve}/spiral/TransitionSpiral3d.d.ts +0 -0
  335. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -0
  336. package/lib/{curve → cjs/curve}/spiral/TransitionSpiral3d.js +0 -0
  337. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -0
  338. package/lib/{curve → cjs/curve}/spiral/XYCurveEvaluator.d.ts +0 -0
  339. package/lib/cjs/curve/spiral/XYCurveEvaluator.d.ts.map +1 -0
  340. package/lib/{curve → cjs/curve}/spiral/XYCurveEvaluator.js +0 -0
  341. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -0
  342. package/lib/{geometry3d → cjs/geometry3d}/Angle.d.ts +0 -0
  343. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -0
  344. package/lib/{geometry3d → cjs/geometry3d}/Angle.js +0 -0
  345. package/lib/cjs/geometry3d/Angle.js.map +1 -0
  346. package/lib/{geometry3d → cjs/geometry3d}/AngleSweep.d.ts +0 -0
  347. package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -0
  348. package/lib/{geometry3d → cjs/geometry3d}/AngleSweep.js +0 -0
  349. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -0
  350. package/lib/{geometry3d → cjs/geometry3d}/BarycentricTriangle.d.ts +0 -0
  351. package/lib/cjs/geometry3d/BarycentricTriangle.d.ts.map +1 -0
  352. package/lib/{geometry3d → cjs/geometry3d}/BarycentricTriangle.js +0 -0
  353. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -0
  354. package/lib/{geometry3d → cjs/geometry3d}/BilinearPatch.d.ts +0 -0
  355. package/lib/cjs/geometry3d/BilinearPatch.d.ts.map +1 -0
  356. package/lib/{geometry3d → cjs/geometry3d}/BilinearPatch.js +0 -0
  357. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -0
  358. package/lib/{geometry3d → cjs/geometry3d}/CoincidentGeometryOps.d.ts +0 -0
  359. package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts.map +1 -0
  360. package/lib/{geometry3d → cjs/geometry3d}/CoincidentGeometryOps.js +0 -0
  361. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -0
  362. package/lib/{geometry3d → cjs/geometry3d}/Ellipsoid.d.ts +0 -0
  363. package/lib/cjs/geometry3d/Ellipsoid.d.ts.map +1 -0
  364. package/lib/{geometry3d → cjs/geometry3d}/Ellipsoid.js +0 -0
  365. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -0
  366. package/lib/{geometry3d → cjs/geometry3d}/FrameBuilder.d.ts +0 -0
  367. package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -0
  368. package/lib/{geometry3d → cjs/geometry3d}/FrameBuilder.js +0 -0
  369. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -0
  370. package/lib/{geometry3d → cjs/geometry3d}/FrustumAnimation.d.ts +0 -0
  371. package/lib/cjs/geometry3d/FrustumAnimation.d.ts.map +1 -0
  372. package/lib/{geometry3d → cjs/geometry3d}/FrustumAnimation.js +0 -0
  373. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -0
  374. package/lib/{geometry3d → cjs/geometry3d}/GeometryHandler.d.ts +0 -0
  375. package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -0
  376. package/lib/{geometry3d → cjs/geometry3d}/GeometryHandler.js +0 -0
  377. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -0
  378. package/lib/{geometry3d → cjs/geometry3d}/GrowableBlockedArray.d.ts +0 -0
  379. package/lib/cjs/geometry3d/GrowableBlockedArray.d.ts.map +1 -0
  380. package/lib/{geometry3d → cjs/geometry3d}/GrowableBlockedArray.js +0 -0
  381. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -0
  382. package/lib/{geometry3d → cjs/geometry3d}/GrowableFloat64Array.d.ts +0 -0
  383. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -0
  384. package/lib/{geometry3d → cjs/geometry3d}/GrowableFloat64Array.js +0 -0
  385. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -0
  386. package/lib/{geometry3d → cjs/geometry3d}/GrowableXYArray.d.ts +0 -0
  387. package/lib/cjs/geometry3d/GrowableXYArray.d.ts.map +1 -0
  388. package/lib/{geometry3d → cjs/geometry3d}/GrowableXYArray.js +0 -0
  389. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -0
  390. package/lib/{geometry3d → cjs/geometry3d}/GrowableXYZArray.d.ts +0 -0
  391. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -0
  392. package/lib/{geometry3d → cjs/geometry3d}/GrowableXYZArray.js +0 -0
  393. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -0
  394. package/lib/{geometry3d → cjs/geometry3d}/IndexedCollectionInterval.d.ts +0 -0
  395. package/lib/cjs/geometry3d/IndexedCollectionInterval.d.ts.map +1 -0
  396. package/lib/{geometry3d → cjs/geometry3d}/IndexedCollectionInterval.js +0 -0
  397. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -0
  398. package/lib/{geometry3d → cjs/geometry3d}/IndexedXYCollection.d.ts +0 -0
  399. package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -0
  400. package/lib/{geometry3d → cjs/geometry3d}/IndexedXYCollection.js +0 -0
  401. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -0
  402. package/lib/{geometry3d → cjs/geometry3d}/IndexedXYZCollection.d.ts +0 -0
  403. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -0
  404. package/lib/{geometry3d → cjs/geometry3d}/IndexedXYZCollection.js +0 -0
  405. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -0
  406. package/lib/{geometry3d → cjs/geometry3d}/LongitudeLatitudeAltitude.d.ts +0 -0
  407. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.d.ts.map +1 -0
  408. package/lib/{geometry3d → cjs/geometry3d}/LongitudeLatitudeAltitude.js +0 -0
  409. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -0
  410. package/lib/{geometry3d → cjs/geometry3d}/Matrix3d.d.ts +0 -0
  411. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -0
  412. package/lib/{geometry3d → cjs/geometry3d}/Matrix3d.js +0 -0
  413. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -0
  414. package/lib/{geometry3d → cjs/geometry3d}/OrderedRotationAngles.d.ts +0 -0
  415. package/lib/cjs/geometry3d/OrderedRotationAngles.d.ts.map +1 -0
  416. package/lib/{geometry3d → cjs/geometry3d}/OrderedRotationAngles.js +0 -0
  417. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -0
  418. package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndUnitNormal.d.ts +0 -0
  419. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -0
  420. package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndUnitNormal.js +0 -0
  421. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -0
  422. package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndVectors.d.ts +0 -0
  423. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -0
  424. package/lib/{geometry3d → cjs/geometry3d}/Plane3dByOriginAndVectors.js +0 -0
  425. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -0
  426. package/lib/{geometry3d → cjs/geometry3d}/Point2dArrayCarrier.d.ts +0 -0
  427. package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts.map +1 -0
  428. package/lib/{geometry3d → cjs/geometry3d}/Point2dArrayCarrier.js +0 -0
  429. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -0
  430. package/lib/{geometry3d → cjs/geometry3d}/Point2dVector2d.d.ts +0 -0
  431. package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -0
  432. package/lib/{geometry3d → cjs/geometry3d}/Point2dVector2d.js +0 -0
  433. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -0
  434. package/lib/{geometry3d → cjs/geometry3d}/Point3dArrayCarrier.d.ts +0 -0
  435. package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -0
  436. package/lib/{geometry3d → cjs/geometry3d}/Point3dArrayCarrier.js +0 -0
  437. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -0
  438. package/lib/{geometry3d → cjs/geometry3d}/Point3dVector3d.d.ts +0 -0
  439. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -0
  440. package/lib/{geometry3d → cjs/geometry3d}/Point3dVector3d.js +0 -0
  441. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -0
  442. package/lib/{geometry3d → cjs/geometry3d}/PointHelpers.d.ts +0 -0
  443. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -0
  444. package/lib/{geometry3d → cjs/geometry3d}/PointHelpers.js +0 -0
  445. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -0
  446. package/lib/{geometry3d → cjs/geometry3d}/PointStreaming.d.ts +0 -0
  447. package/lib/cjs/geometry3d/PointStreaming.d.ts.map +1 -0
  448. package/lib/{geometry3d → cjs/geometry3d}/PointStreaming.js +0 -0
  449. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -0
  450. package/lib/{geometry3d → cjs/geometry3d}/PolygonOps.d.ts +0 -0
  451. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -0
  452. package/lib/{geometry3d → cjs/geometry3d}/PolygonOps.js +0 -0
  453. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -0
  454. package/lib/{geometry3d → cjs/geometry3d}/PolylineCompressionByEdgeOffset.d.ts +0 -0
  455. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -0
  456. package/lib/{geometry3d → cjs/geometry3d}/PolylineCompressionByEdgeOffset.js +0 -0
  457. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -0
  458. package/lib/{geometry3d → cjs/geometry3d}/PolylineOps.d.ts +0 -0
  459. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -0
  460. package/lib/{geometry3d → cjs/geometry3d}/PolylineOps.js +0 -0
  461. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -0
  462. package/lib/{geometry3d → cjs/geometry3d}/Range.d.ts +0 -0
  463. package/lib/cjs/geometry3d/Range.d.ts.map +1 -0
  464. package/lib/{geometry3d → cjs/geometry3d}/Range.js +0 -0
  465. package/lib/cjs/geometry3d/Range.js.map +1 -0
  466. package/lib/{geometry3d → cjs/geometry3d}/Ray3d.d.ts +0 -0
  467. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -0
  468. package/lib/{geometry3d → cjs/geometry3d}/Ray3d.js +0 -0
  469. package/lib/cjs/geometry3d/Ray3d.js.map +1 -0
  470. package/lib/{geometry3d → cjs/geometry3d}/ReusableObjectCache.d.ts +0 -0
  471. package/lib/cjs/geometry3d/ReusableObjectCache.d.ts.map +1 -0
  472. package/lib/{geometry3d → cjs/geometry3d}/ReusableObjectCache.js +0 -0
  473. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -0
  474. package/lib/{geometry3d → cjs/geometry3d}/Segment1d.d.ts +0 -0
  475. package/lib/cjs/geometry3d/Segment1d.d.ts.map +1 -0
  476. package/lib/{geometry3d → cjs/geometry3d}/Segment1d.js +0 -0
  477. package/lib/cjs/geometry3d/Segment1d.js.map +1 -0
  478. package/lib/{geometry3d → cjs/geometry3d}/SortablePolygon.d.ts +0 -0
  479. package/lib/cjs/geometry3d/SortablePolygon.d.ts.map +1 -0
  480. package/lib/{geometry3d → cjs/geometry3d}/SortablePolygon.js +0 -0
  481. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -0
  482. package/lib/{geometry3d → cjs/geometry3d}/Transform.d.ts +0 -0
  483. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -0
  484. package/lib/{geometry3d → cjs/geometry3d}/Transform.js +0 -0
  485. package/lib/cjs/geometry3d/Transform.js.map +1 -0
  486. package/lib/{geometry3d → cjs/geometry3d}/UVSurfaceOps.d.ts +0 -0
  487. package/lib/cjs/geometry3d/UVSurfaceOps.d.ts.map +1 -0
  488. package/lib/{geometry3d → cjs/geometry3d}/UVSurfaceOps.js +0 -0
  489. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -0
  490. package/lib/{geometry3d → cjs/geometry3d}/XYZProps.d.ts +0 -0
  491. package/lib/cjs/geometry3d/XYZProps.d.ts.map +1 -0
  492. package/lib/{geometry3d → cjs/geometry3d}/XYZProps.js +0 -0
  493. package/lib/cjs/geometry3d/XYZProps.js.map +1 -0
  494. package/lib/{geometry3d → cjs/geometry3d}/YawPitchRollAngles.d.ts +0 -0
  495. package/lib/cjs/geometry3d/YawPitchRollAngles.d.ts.map +1 -0
  496. package/lib/{geometry3d → cjs/geometry3d}/YawPitchRollAngles.js +0 -0
  497. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -0
  498. package/lib/{geometry4d → cjs/geometry4d}/Map4d.d.ts +0 -0
  499. package/lib/cjs/geometry4d/Map4d.d.ts.map +1 -0
  500. package/lib/{geometry4d → cjs/geometry4d}/Map4d.js +0 -0
  501. package/lib/cjs/geometry4d/Map4d.js.map +1 -0
  502. package/lib/{geometry4d → cjs/geometry4d}/Matrix4d.d.ts +0 -0
  503. package/lib/cjs/geometry4d/Matrix4d.d.ts.map +1 -0
  504. package/lib/{geometry4d → cjs/geometry4d}/Matrix4d.js +0 -0
  505. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -0
  506. package/lib/{geometry4d → cjs/geometry4d}/MomentData.d.ts +0 -0
  507. package/lib/cjs/geometry4d/MomentData.d.ts.map +1 -0
  508. package/lib/{geometry4d → cjs/geometry4d}/MomentData.js +0 -0
  509. package/lib/cjs/geometry4d/MomentData.js.map +1 -0
  510. package/lib/{geometry4d → cjs/geometry4d}/PlaneByOriginAndVectors4d.d.ts +0 -0
  511. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +1 -0
  512. package/lib/{geometry4d → cjs/geometry4d}/PlaneByOriginAndVectors4d.js +0 -0
  513. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -0
  514. package/lib/{geometry4d → cjs/geometry4d}/Point4d.d.ts +0 -0
  515. package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -0
  516. package/lib/{geometry4d → cjs/geometry4d}/Point4d.js +0 -0
  517. package/lib/cjs/geometry4d/Point4d.js.map +1 -0
  518. package/lib/{numerics → cjs/numerics}/BandedSystem.d.ts +0 -0
  519. package/lib/cjs/numerics/BandedSystem.d.ts.map +1 -0
  520. package/lib/{numerics → cjs/numerics}/BandedSystem.js +0 -0
  521. package/lib/cjs/numerics/BandedSystem.js.map +1 -0
  522. package/lib/{numerics → cjs/numerics}/BezierPolynomials.d.ts +0 -0
  523. package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -0
  524. package/lib/{numerics → cjs/numerics}/BezierPolynomials.js +0 -0
  525. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -0
  526. package/lib/{numerics → cjs/numerics}/ClusterableArray.d.ts +0 -0
  527. package/lib/cjs/numerics/ClusterableArray.d.ts.map +1 -0
  528. package/lib/{numerics → cjs/numerics}/ClusterableArray.js +0 -0
  529. package/lib/cjs/numerics/ClusterableArray.js.map +1 -0
  530. package/lib/{numerics → cjs/numerics}/Complex.d.ts +0 -0
  531. package/lib/cjs/numerics/Complex.d.ts.map +1 -0
  532. package/lib/{numerics → cjs/numerics}/Complex.js +0 -0
  533. package/lib/cjs/numerics/Complex.js.map +1 -0
  534. package/lib/{numerics → cjs/numerics}/ConvexPolygon2d.d.ts +0 -0
  535. package/lib/cjs/numerics/ConvexPolygon2d.d.ts.map +1 -0
  536. package/lib/{numerics → cjs/numerics}/ConvexPolygon2d.js +0 -0
  537. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -0
  538. package/lib/{numerics → cjs/numerics}/Newton.d.ts +0 -0
  539. package/lib/cjs/numerics/Newton.d.ts.map +1 -0
  540. package/lib/{numerics → cjs/numerics}/Newton.js +0 -0
  541. package/lib/cjs/numerics/Newton.js.map +1 -0
  542. package/lib/{numerics → cjs/numerics}/PascalCoefficients.d.ts +0 -0
  543. package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -0
  544. package/lib/{numerics → cjs/numerics}/PascalCoefficients.js +0 -0
  545. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -0
  546. package/lib/{numerics → cjs/numerics}/PolarData.d.ts +0 -0
  547. package/lib/cjs/numerics/PolarData.d.ts.map +1 -0
  548. package/lib/{numerics → cjs/numerics}/PolarData.js +0 -0
  549. package/lib/cjs/numerics/PolarData.js.map +1 -0
  550. package/lib/{numerics → cjs/numerics}/Polynomials.d.ts +0 -0
  551. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -0
  552. package/lib/{numerics → cjs/numerics}/Polynomials.js +0 -0
  553. package/lib/cjs/numerics/Polynomials.js.map +1 -0
  554. package/lib/{numerics → cjs/numerics}/Quadrature.d.ts +0 -0
  555. package/lib/cjs/numerics/Quadrature.d.ts.map +1 -0
  556. package/lib/{numerics → cjs/numerics}/Quadrature.js +0 -0
  557. package/lib/cjs/numerics/Quadrature.js.map +1 -0
  558. package/lib/{numerics → cjs/numerics}/Range1dArray.d.ts +0 -0
  559. package/lib/cjs/numerics/Range1dArray.d.ts.map +1 -0
  560. package/lib/{numerics → cjs/numerics}/Range1dArray.js +0 -0
  561. package/lib/cjs/numerics/Range1dArray.js.map +1 -0
  562. package/lib/{numerics → cjs/numerics}/TriDiagonalSystem.d.ts +0 -0
  563. package/lib/cjs/numerics/TriDiagonalSystem.d.ts.map +1 -0
  564. package/lib/{numerics → cjs/numerics}/TriDiagonalSystem.js +0 -0
  565. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -0
  566. package/lib/{numerics → cjs/numerics}/UnionFind.d.ts +0 -0
  567. package/lib/cjs/numerics/UnionFind.d.ts.map +1 -0
  568. package/lib/{numerics → cjs/numerics}/UnionFind.js +0 -0
  569. package/lib/cjs/numerics/UnionFind.js.map +1 -0
  570. package/lib/{numerics → cjs/numerics}/UsageSums.d.ts +0 -0
  571. package/lib/cjs/numerics/UsageSums.d.ts.map +1 -0
  572. package/lib/{numerics → cjs/numerics}/UsageSums.js +0 -0
  573. package/lib/cjs/numerics/UsageSums.js.map +1 -0
  574. package/lib/{polyface → cjs/polyface}/AuxData.d.ts +0 -0
  575. package/lib/cjs/polyface/AuxData.d.ts.map +1 -0
  576. package/lib/{polyface → cjs/polyface}/AuxData.js +0 -0
  577. package/lib/cjs/polyface/AuxData.js.map +1 -0
  578. package/lib/{polyface → cjs/polyface}/BoxTopology.d.ts +0 -0
  579. package/lib/cjs/polyface/BoxTopology.d.ts.map +1 -0
  580. package/lib/{polyface → cjs/polyface}/BoxTopology.js +0 -0
  581. package/lib/cjs/polyface/BoxTopology.js.map +1 -0
  582. package/lib/{polyface → cjs/polyface}/FacetFaceData.d.ts +0 -0
  583. package/lib/cjs/polyface/FacetFaceData.d.ts.map +1 -0
  584. package/lib/{polyface → cjs/polyface}/FacetFaceData.js +0 -0
  585. package/lib/cjs/polyface/FacetFaceData.js.map +1 -0
  586. package/lib/{polyface → cjs/polyface}/FacetOrientation.d.ts +0 -0
  587. package/lib/cjs/polyface/FacetOrientation.d.ts.map +1 -0
  588. package/lib/{polyface → cjs/polyface}/FacetOrientation.js +0 -0
  589. package/lib/cjs/polyface/FacetOrientation.js.map +1 -0
  590. package/lib/{polyface → cjs/polyface}/GreedyTriangulationBetweenLineStrings.d.ts +0 -0
  591. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +1 -0
  592. package/lib/{polyface → cjs/polyface}/GreedyTriangulationBetweenLineStrings.js +0 -0
  593. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -0
  594. package/lib/{polyface → cjs/polyface}/IndexedEdgeMatcher.d.ts +0 -0
  595. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts.map +1 -0
  596. package/lib/{polyface → cjs/polyface}/IndexedEdgeMatcher.js +0 -0
  597. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -0
  598. package/lib/{polyface → cjs/polyface}/IndexedPolyfaceVisitor.d.ts +0 -0
  599. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -0
  600. package/lib/{polyface → cjs/polyface}/IndexedPolyfaceVisitor.js +0 -0
  601. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -0
  602. package/lib/{polyface → cjs/polyface}/Polyface.d.ts +0 -0
  603. package/lib/cjs/polyface/Polyface.d.ts.map +1 -0
  604. package/lib/{polyface → cjs/polyface}/Polyface.js +0 -0
  605. package/lib/cjs/polyface/Polyface.js.map +1 -0
  606. package/lib/{polyface → cjs/polyface}/PolyfaceBuilder.d.ts +0 -0
  607. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -0
  608. package/lib/{polyface → cjs/polyface}/PolyfaceBuilder.js +0 -0
  609. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -0
  610. package/lib/{polyface → cjs/polyface}/PolyfaceClip.d.ts +0 -0
  611. package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -0
  612. package/lib/{polyface → cjs/polyface}/PolyfaceClip.js +0 -0
  613. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -0
  614. package/lib/cjs/polyface/PolyfaceData.d.ts +206 -0
  615. package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -0
  616. package/lib/cjs/polyface/PolyfaceData.js +531 -0
  617. package/lib/cjs/polyface/PolyfaceData.js.map +1 -0
  618. package/lib/{polyface → cjs/polyface}/PolyfaceQuery.d.ts +0 -0
  619. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -0
  620. package/lib/{polyface → cjs/polyface}/PolyfaceQuery.js +0 -0
  621. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -0
  622. package/lib/{polyface → cjs/polyface}/RangeLengthData.d.ts +0 -0
  623. package/lib/cjs/polyface/RangeLengthData.d.ts.map +1 -0
  624. package/lib/{polyface → cjs/polyface}/RangeLengthData.js +0 -0
  625. package/lib/cjs/polyface/RangeLengthData.js.map +1 -0
  626. package/lib/{polyface → cjs/polyface}/TaggedNumericData.d.ts +0 -0
  627. package/lib/cjs/polyface/TaggedNumericData.d.ts.map +1 -0
  628. package/lib/{polyface → cjs/polyface}/TaggedNumericData.js +0 -0
  629. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -0
  630. package/lib/{polyface → cjs/polyface}/TriangleCandidate.d.ts +0 -0
  631. package/lib/cjs/polyface/TriangleCandidate.d.ts.map +1 -0
  632. package/lib/{polyface → cjs/polyface}/TriangleCandidate.js +0 -0
  633. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -0
  634. package/lib/{polyface → cjs/polyface}/multiclip/BuildAverageNormalsContext.d.ts +0 -0
  635. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -0
  636. package/lib/{polyface → cjs/polyface}/multiclip/BuildAverageNormalsContext.js +0 -0
  637. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -0
  638. package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSet.d.ts +0 -0
  639. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -0
  640. package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSet.js +0 -0
  641. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -0
  642. package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +0 -0
  643. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -0
  644. package/lib/{polyface → cjs/polyface}/multiclip/GriddedRaggedRange2dSetWithOverflow.js +0 -0
  645. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -0
  646. package/lib/{polyface → cjs/polyface}/multiclip/LinearSearchRange2dArray.d.ts +0 -0
  647. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -0
  648. package/lib/{polyface → cjs/polyface}/multiclip/LinearSearchRange2dArray.js +0 -0
  649. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -0
  650. package/lib/{polyface → cjs/polyface}/multiclip/Range2dSearchInterface.d.ts +0 -0
  651. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -0
  652. package/lib/{polyface → cjs/polyface}/multiclip/Range2dSearchInterface.js +0 -0
  653. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -0
  654. package/lib/{polyface → cjs/polyface}/multiclip/RangeSearch.d.ts +0 -0
  655. package/lib/cjs/polyface/multiclip/RangeSearch.d.ts.map +1 -0
  656. package/lib/{polyface → cjs/polyface}/multiclip/RangeSearch.js +0 -0
  657. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -0
  658. package/lib/{polyface → cjs/polyface}/multiclip/SweepLineStringToFacetContext.d.ts +0 -0
  659. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -0
  660. package/lib/{polyface → cjs/polyface}/multiclip/SweepLineStringToFacetContext.js +0 -0
  661. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -0
  662. package/lib/{polyface → cjs/polyface}/multiclip/XYPointBuckets.d.ts +0 -0
  663. package/lib/cjs/polyface/multiclip/XYPointBuckets.d.ts.map +1 -0
  664. package/lib/{polyface → cjs/polyface}/multiclip/XYPointBuckets.js +0 -0
  665. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -0
  666. package/lib/{serialization → cjs/serialization}/BGFBAccessors.d.ts +0 -0
  667. package/lib/cjs/serialization/BGFBAccessors.d.ts.map +1 -0
  668. package/lib/{serialization → cjs/serialization}/BGFBAccessors.js +0 -0
  669. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -0
  670. package/lib/{serialization → cjs/serialization}/BGFBReader.d.ts +0 -0
  671. package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -0
  672. package/lib/{serialization → cjs/serialization}/BGFBReader.js +0 -0
  673. package/lib/cjs/serialization/BGFBReader.js.map +1 -0
  674. package/lib/{serialization → cjs/serialization}/BGFBWriter.d.ts +0 -0
  675. package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -0
  676. package/lib/{serialization → cjs/serialization}/BGFBWriter.js +0 -0
  677. package/lib/cjs/serialization/BGFBWriter.js.map +1 -0
  678. package/lib/{serialization → cjs/serialization}/BentleyGeometryFlatBuffer.d.ts +0 -0
  679. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.d.ts.map +1 -0
  680. package/lib/{serialization → cjs/serialization}/BentleyGeometryFlatBuffer.js +0 -0
  681. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -0
  682. package/lib/{serialization → cjs/serialization}/DeepCompare.d.ts +0 -0
  683. package/lib/cjs/serialization/DeepCompare.d.ts.map +1 -0
  684. package/lib/{serialization → cjs/serialization}/DeepCompare.js +0 -0
  685. package/lib/cjs/serialization/DeepCompare.js.map +1 -0
  686. package/lib/{serialization → cjs/serialization}/GeometrySamples.d.ts +0 -0
  687. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -0
  688. package/lib/{serialization → cjs/serialization}/GeometrySamples.js +0 -0
  689. package/lib/cjs/serialization/GeometrySamples.js.map +1 -0
  690. package/lib/{serialization → cjs/serialization}/IModelJsonSchema.d.ts +0 -0
  691. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -0
  692. package/lib/{serialization → cjs/serialization}/IModelJsonSchema.js +0 -0
  693. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -0
  694. package/lib/{solid → cjs/solid}/Box.d.ts +0 -0
  695. package/lib/cjs/solid/Box.d.ts.map +1 -0
  696. package/lib/{solid → cjs/solid}/Box.js +0 -0
  697. package/lib/cjs/solid/Box.js.map +1 -0
  698. package/lib/{solid → cjs/solid}/Cone.d.ts +0 -0
  699. package/lib/cjs/solid/Cone.d.ts.map +1 -0
  700. package/lib/{solid → cjs/solid}/Cone.js +0 -0
  701. package/lib/cjs/solid/Cone.js.map +1 -0
  702. package/lib/{solid → cjs/solid}/LinearSweep.d.ts +0 -0
  703. package/lib/cjs/solid/LinearSweep.d.ts.map +1 -0
  704. package/lib/{solid → cjs/solid}/LinearSweep.js +0 -0
  705. package/lib/cjs/solid/LinearSweep.js.map +1 -0
  706. package/lib/{solid → cjs/solid}/RotationalSweep.d.ts +0 -0
  707. package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -0
  708. package/lib/{solid → cjs/solid}/RotationalSweep.js +0 -0
  709. package/lib/cjs/solid/RotationalSweep.js.map +1 -0
  710. package/lib/{solid → cjs/solid}/RuledSweep.d.ts +0 -0
  711. package/lib/cjs/solid/RuledSweep.d.ts.map +1 -0
  712. package/lib/{solid → cjs/solid}/RuledSweep.js +0 -0
  713. package/lib/cjs/solid/RuledSweep.js.map +1 -0
  714. package/lib/{solid → cjs/solid}/SolidPrimitive.d.ts +0 -0
  715. package/lib/cjs/solid/SolidPrimitive.d.ts.map +1 -0
  716. package/lib/{solid → cjs/solid}/SolidPrimitive.js +0 -0
  717. package/lib/cjs/solid/SolidPrimitive.js.map +1 -0
  718. package/lib/{solid → cjs/solid}/Sphere.d.ts +0 -0
  719. package/lib/cjs/solid/Sphere.d.ts.map +1 -0
  720. package/lib/{solid → cjs/solid}/Sphere.js +0 -0
  721. package/lib/cjs/solid/Sphere.js.map +1 -0
  722. package/lib/{solid → cjs/solid}/SweepContour.d.ts +0 -0
  723. package/lib/cjs/solid/SweepContour.d.ts.map +1 -0
  724. package/lib/{solid → cjs/solid}/SweepContour.js +0 -0
  725. package/lib/cjs/solid/SweepContour.js.map +1 -0
  726. package/lib/{solid → cjs/solid}/TorusPipe.d.ts +0 -0
  727. package/lib/cjs/solid/TorusPipe.d.ts.map +1 -0
  728. package/lib/{solid → cjs/solid}/TorusPipe.js +0 -0
  729. package/lib/cjs/solid/TorusPipe.js.map +1 -0
  730. package/lib/{topology → cjs/topology}/ChainMerge.d.ts +0 -0
  731. package/lib/cjs/topology/ChainMerge.d.ts.map +1 -0
  732. package/lib/{topology → cjs/topology}/ChainMerge.js +0 -0
  733. package/lib/cjs/topology/ChainMerge.js.map +1 -0
  734. package/lib/{topology → cjs/topology}/Graph.d.ts +0 -0
  735. package/lib/cjs/topology/Graph.d.ts.map +1 -0
  736. package/lib/{topology → cjs/topology}/Graph.js +0 -0
  737. package/lib/cjs/topology/Graph.js.map +1 -0
  738. package/lib/{topology → cjs/topology}/HalfEdgeGraphSearch.d.ts +0 -0
  739. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -0
  740. package/lib/{topology → cjs/topology}/HalfEdgeGraphSearch.js +0 -0
  741. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -0
  742. package/lib/{topology → cjs/topology}/HalfEdgeGraphSpineContext.d.ts +0 -0
  743. package/lib/cjs/topology/HalfEdgeGraphSpineContext.d.ts.map +1 -0
  744. package/lib/{topology → cjs/topology}/HalfEdgeGraphSpineContext.js +0 -0
  745. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -0
  746. package/lib/{topology → cjs/topology}/HalfEdgeGraphValidation.d.ts +0 -0
  747. package/lib/cjs/topology/HalfEdgeGraphValidation.d.ts.map +1 -0
  748. package/lib/{topology → cjs/topology}/HalfEdgeGraphValidation.js +0 -0
  749. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -0
  750. package/lib/{topology → cjs/topology}/HalfEdgeMarkSet.d.ts +0 -0
  751. package/lib/cjs/topology/HalfEdgeMarkSet.d.ts.map +1 -0
  752. package/lib/{topology → cjs/topology}/HalfEdgeMarkSet.js +0 -0
  753. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -0
  754. package/lib/{topology → cjs/topology}/HalfEdgeNodeXYZUV.d.ts +0 -0
  755. package/lib/cjs/topology/HalfEdgeNodeXYZUV.d.ts.map +1 -0
  756. package/lib/{topology → cjs/topology}/HalfEdgeNodeXYZUV.js +0 -0
  757. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -0
  758. package/lib/{topology → cjs/topology}/HalfEdgePointInGraphSearch.d.ts +0 -0
  759. package/lib/cjs/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -0
  760. package/lib/{topology → cjs/topology}/HalfEdgePointInGraphSearch.js +0 -0
  761. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -0
  762. package/lib/{topology → cjs/topology}/HalfEdgePositionDetail.d.ts +0 -0
  763. package/lib/cjs/topology/HalfEdgePositionDetail.d.ts.map +1 -0
  764. package/lib/{topology → cjs/topology}/HalfEdgePositionDetail.js +0 -0
  765. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -0
  766. package/lib/{topology → cjs/topology}/HalfEdgePriorityQueue.d.ts +0 -0
  767. package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -0
  768. package/lib/{topology → cjs/topology}/HalfEdgePriorityQueue.js +0 -0
  769. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -0
  770. package/lib/{topology → cjs/topology}/InsertAndRetriangulateContext.d.ts +0 -0
  771. package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts.map +1 -0
  772. package/lib/{topology → cjs/topology}/InsertAndRetriangulateContext.js +0 -0
  773. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -0
  774. package/lib/{topology → cjs/topology}/MaskManager.d.ts +0 -0
  775. package/lib/cjs/topology/MaskManager.d.ts.map +1 -0
  776. package/lib/{topology → cjs/topology}/MaskManager.js +0 -0
  777. package/lib/cjs/topology/MaskManager.js.map +1 -0
  778. package/lib/{topology → cjs/topology}/Merging.d.ts +0 -0
  779. package/lib/cjs/topology/Merging.d.ts.map +1 -0
  780. package/lib/{topology → cjs/topology}/Merging.js +0 -0
  781. package/lib/cjs/topology/Merging.js.map +1 -0
  782. package/lib/{topology → cjs/topology}/RegularizeFace.d.ts +0 -0
  783. package/lib/cjs/topology/RegularizeFace.d.ts.map +1 -0
  784. package/lib/{topology → cjs/topology}/RegularizeFace.js +0 -0
  785. package/lib/cjs/topology/RegularizeFace.js.map +1 -0
  786. package/lib/{topology → cjs/topology}/SignedDataSummary.d.ts +0 -0
  787. package/lib/cjs/topology/SignedDataSummary.d.ts.map +1 -0
  788. package/lib/{topology → cjs/topology}/SignedDataSummary.js +0 -0
  789. package/lib/cjs/topology/SignedDataSummary.js.map +1 -0
  790. package/lib/{topology → cjs/topology}/Triangulation.d.ts +0 -0
  791. package/lib/cjs/topology/Triangulation.d.ts.map +1 -0
  792. package/lib/{topology → cjs/topology}/Triangulation.js +0 -0
  793. package/lib/cjs/topology/Triangulation.js.map +1 -0
  794. package/lib/{topology → cjs/topology}/XYParitySearchContext.d.ts +0 -0
  795. package/lib/cjs/topology/XYParitySearchContext.d.ts.map +1 -0
  796. package/lib/{topology → cjs/topology}/XYParitySearchContext.js +0 -0
  797. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -0
  798. package/lib/esm/Constant.d.ts +26 -0
  799. package/lib/esm/Constant.d.ts.map +1 -0
  800. package/lib/esm/Constant.js +30 -0
  801. package/lib/esm/Constant.js.map +1 -0
  802. package/lib/esm/Geometry.d.ts +498 -0
  803. package/lib/esm/Geometry.d.ts.map +1 -0
  804. package/lib/esm/Geometry.js +776 -0
  805. package/lib/esm/Geometry.js.map +1 -0
  806. package/lib/esm/bspline/AkimaCurve3d.d.ts +97 -0
  807. package/lib/esm/bspline/AkimaCurve3d.d.ts.map +1 -0
  808. package/lib/esm/bspline/AkimaCurve3d.js +158 -0
  809. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -0
  810. package/lib/esm/bspline/BSpline1dNd.d.ts +96 -0
  811. package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -0
  812. package/lib/esm/bspline/BSpline1dNd.js +191 -0
  813. package/lib/esm/bspline/BSpline1dNd.js.map +1 -0
  814. package/lib/esm/bspline/BSplineCurve.d.ts +310 -0
  815. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -0
  816. package/lib/esm/bspline/BSplineCurve.js +608 -0
  817. package/lib/esm/bspline/BSplineCurve.js.map +1 -0
  818. package/lib/esm/bspline/BSplineCurve3dH.d.ts +140 -0
  819. package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -0
  820. package/lib/esm/bspline/BSplineCurve3dH.js +421 -0
  821. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -0
  822. package/lib/esm/bspline/BSplineCurveOps.d.ts +159 -0
  823. package/lib/esm/bspline/BSplineCurveOps.d.ts.map +1 -0
  824. package/lib/esm/bspline/BSplineCurveOps.js +805 -0
  825. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -0
  826. package/lib/esm/bspline/BSplineSurface.d.ts +491 -0
  827. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -0
  828. package/lib/esm/bspline/BSplineSurface.js +837 -0
  829. package/lib/esm/bspline/BSplineSurface.js.map +1 -0
  830. package/lib/esm/bspline/Bezier1dNd.d.ts +113 -0
  831. package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -0
  832. package/lib/esm/bspline/Bezier1dNd.js +341 -0
  833. package/lib/esm/bspline/Bezier1dNd.js.map +1 -0
  834. package/lib/esm/bspline/BezierCurve3d.d.ts +76 -0
  835. package/lib/esm/bspline/BezierCurve3d.d.ts.map +1 -0
  836. package/lib/esm/bspline/BezierCurve3d.js +214 -0
  837. package/lib/esm/bspline/BezierCurve3d.js.map +1 -0
  838. package/lib/esm/bspline/BezierCurve3dH.d.ts +107 -0
  839. package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -0
  840. package/lib/esm/bspline/BezierCurve3dH.js +348 -0
  841. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -0
  842. package/lib/esm/bspline/BezierCurveBase.d.ts +111 -0
  843. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -0
  844. package/lib/esm/bspline/BezierCurveBase.js +196 -0
  845. package/lib/esm/bspline/BezierCurveBase.js.map +1 -0
  846. package/lib/esm/bspline/InterpolationCurve3d.d.ts +163 -0
  847. package/lib/esm/bspline/InterpolationCurve3d.d.ts.map +1 -0
  848. package/lib/esm/bspline/InterpolationCurve3d.js +281 -0
  849. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -0
  850. package/lib/esm/bspline/KnotVector.d.ts +160 -0
  851. package/lib/esm/bspline/KnotVector.d.ts.map +1 -0
  852. package/lib/esm/bspline/KnotVector.js +427 -0
  853. package/lib/esm/bspline/KnotVector.js.map +1 -0
  854. package/lib/esm/bspline/SurfaceLocationDetail.d.ts +52 -0
  855. package/lib/esm/bspline/SurfaceLocationDetail.d.ts.map +1 -0
  856. package/lib/esm/bspline/SurfaceLocationDetail.js +55 -0
  857. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -0
  858. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts +165 -0
  859. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts.map +1 -0
  860. package/lib/esm/clipping/AlternatingConvexClipTree.js +519 -0
  861. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -0
  862. package/lib/esm/clipping/BooleanClipFactory.d.ts +80 -0
  863. package/lib/esm/clipping/BooleanClipFactory.d.ts.map +1 -0
  864. package/lib/esm/clipping/BooleanClipFactory.js +198 -0
  865. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -0
  866. package/lib/esm/clipping/BooleanClipNode.d.ts +103 -0
  867. package/lib/esm/clipping/BooleanClipNode.d.ts.map +1 -0
  868. package/lib/esm/clipping/BooleanClipNode.js +255 -0
  869. package/lib/esm/clipping/BooleanClipNode.js.map +1 -0
  870. package/lib/esm/clipping/ClipPlane.d.ts +258 -0
  871. package/lib/esm/clipping/ClipPlane.d.ts.map +1 -0
  872. package/lib/esm/clipping/ClipPlane.js +505 -0
  873. package/lib/esm/clipping/ClipPlane.js.map +1 -0
  874. package/lib/esm/clipping/ClipPrimitive.d.ts +270 -0
  875. package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -0
  876. package/lib/esm/clipping/ClipPrimitive.js +620 -0
  877. package/lib/esm/clipping/ClipPrimitive.js.map +1 -0
  878. package/lib/esm/clipping/ClipUtils.d.ts +278 -0
  879. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -0
  880. package/lib/esm/clipping/ClipUtils.js +593 -0
  881. package/lib/esm/clipping/ClipUtils.js.map +1 -0
  882. package/lib/esm/clipping/ClipVector.d.ts +154 -0
  883. package/lib/esm/clipping/ClipVector.d.ts.map +1 -0
  884. package/lib/esm/clipping/ClipVector.js +388 -0
  885. package/lib/esm/clipping/ClipVector.js.map +1 -0
  886. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +250 -0
  887. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -0
  888. package/lib/esm/clipping/ConvexClipPlaneSet.js +685 -0
  889. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -0
  890. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts +126 -0
  891. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -0
  892. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js +325 -0
  893. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -0
  894. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +42 -0
  895. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -0
  896. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +160 -0
  897. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -0
  898. package/lib/esm/core-geometry.d.ts +228 -0
  899. package/lib/esm/core-geometry.d.ts.map +1 -0
  900. package/lib/esm/core-geometry.js +247 -0
  901. package/lib/esm/core-geometry.js.map +1 -0
  902. package/lib/esm/curve/Arc3d.d.ts +477 -0
  903. package/lib/esm/curve/Arc3d.d.ts.map +1 -0
  904. package/lib/esm/curve/Arc3d.js +905 -0
  905. package/lib/esm/curve/Arc3d.js.map +1 -0
  906. package/lib/esm/curve/ChainCollectorContext.d.ts +65 -0
  907. package/lib/esm/curve/ChainCollectorContext.d.ts.map +1 -0
  908. package/lib/esm/curve/ChainCollectorContext.js +175 -0
  909. package/lib/esm/curve/ChainCollectorContext.js.map +1 -0
  910. package/lib/esm/curve/ConstructCurveBetweenCurves.d.ts +46 -0
  911. package/lib/esm/curve/ConstructCurveBetweenCurves.d.ts.map +1 -0
  912. package/lib/esm/curve/ConstructCurveBetweenCurves.js +112 -0
  913. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -0
  914. package/lib/esm/curve/CoordinateXYZ.d.ts +54 -0
  915. package/lib/esm/curve/CoordinateXYZ.d.ts.map +1 -0
  916. package/lib/esm/curve/CoordinateXYZ.js +75 -0
  917. package/lib/esm/curve/CoordinateXYZ.js.map +1 -0
  918. package/lib/esm/curve/CurveChain.d.ts +17 -0
  919. package/lib/esm/curve/CurveChain.d.ts.map +1 -0
  920. package/lib/esm/curve/CurveChain.js +6 -0
  921. package/lib/esm/curve/CurveChain.js.map +1 -0
  922. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +234 -0
  923. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -0
  924. package/lib/esm/curve/CurveChainWithDistanceIndex.js +513 -0
  925. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -0
  926. package/lib/esm/curve/CurveCollection.d.ts +204 -0
  927. package/lib/esm/curve/CurveCollection.d.ts.map +1 -0
  928. package/lib/esm/curve/CurveCollection.js +338 -0
  929. package/lib/esm/curve/CurveCollection.js.map +1 -0
  930. package/lib/esm/curve/CurveCurve.d.ts +56 -0
  931. package/lib/esm/curve/CurveCurve.d.ts.map +1 -0
  932. package/lib/esm/curve/CurveCurve.js +96 -0
  933. package/lib/esm/curve/CurveCurve.js.map +1 -0
  934. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts +158 -0
  935. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts.map +1 -0
  936. package/lib/esm/curve/CurveCurveCloseApproachXY.js +720 -0
  937. package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -0
  938. package/lib/esm/curve/CurveCurveIntersectXY.d.ts +148 -0
  939. package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -0
  940. package/lib/esm/curve/CurveCurveIntersectXY.js +814 -0
  941. package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -0
  942. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts +101 -0
  943. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +1 -0
  944. package/lib/esm/curve/CurveCurveIntersectXYZ.js +669 -0
  945. package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -0
  946. package/lib/esm/curve/CurveExtendMode.d.ts +50 -0
  947. package/lib/esm/curve/CurveExtendMode.d.ts.map +1 -0
  948. package/lib/esm/curve/CurveExtendMode.js +96 -0
  949. package/lib/esm/curve/CurveExtendMode.js.map +1 -0
  950. package/lib/esm/curve/CurveFactory.d.ts +122 -0
  951. package/lib/esm/curve/CurveFactory.d.ts.map +1 -0
  952. package/lib/esm/curve/CurveFactory.js +491 -0
  953. package/lib/esm/curve/CurveFactory.js.map +1 -0
  954. package/lib/esm/curve/CurveLocationDetail.d.ts +207 -0
  955. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -0
  956. package/lib/esm/curve/CurveLocationDetail.js +392 -0
  957. package/lib/esm/curve/CurveLocationDetail.js.map +1 -0
  958. package/lib/esm/curve/CurvePrimitive.d.ts +363 -0
  959. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -0
  960. package/lib/esm/curve/CurvePrimitive.js +774 -0
  961. package/lib/esm/curve/CurvePrimitive.js.map +1 -0
  962. package/lib/esm/curve/CurveProcessor.d.ts +76 -0
  963. package/lib/esm/curve/CurveProcessor.d.ts.map +1 -0
  964. package/lib/esm/curve/CurveProcessor.js +122 -0
  965. package/lib/esm/curve/CurveProcessor.js.map +1 -0
  966. package/lib/esm/curve/CurveWireMomentsXYZ.d.ts +25 -0
  967. package/lib/esm/curve/CurveWireMomentsXYZ.d.ts.map +1 -0
  968. package/lib/esm/curve/CurveWireMomentsXYZ.js +65 -0
  969. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -0
  970. package/lib/esm/curve/GeometryQuery.d.ts +93 -0
  971. package/lib/esm/curve/GeometryQuery.d.ts.map +1 -0
  972. package/lib/esm/curve/GeometryQuery.js +68 -0
  973. package/lib/esm/curve/GeometryQuery.js.map +1 -0
  974. package/lib/esm/curve/LineSegment3d.d.ts +176 -0
  975. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -0
  976. package/lib/esm/curve/LineSegment3d.js +315 -0
  977. package/lib/esm/curve/LineSegment3d.js.map +1 -0
  978. package/lib/esm/curve/LineString3d.d.ts +419 -0
  979. package/lib/esm/curve/LineString3d.d.ts.map +1 -0
  980. package/lib/esm/curve/LineString3d.js +1280 -0
  981. package/lib/esm/curve/LineString3d.js.map +1 -0
  982. package/lib/esm/curve/Loop.d.ts +82 -0
  983. package/lib/esm/curve/Loop.d.ts.map +1 -0
  984. package/lib/esm/curve/Loop.js +93 -0
  985. package/lib/esm/curve/Loop.js.map +1 -0
  986. package/lib/esm/curve/ParityRegion.d.ts +59 -0
  987. package/lib/esm/curve/ParityRegion.d.ts.map +1 -0
  988. package/lib/esm/curve/ParityRegion.js +113 -0
  989. package/lib/esm/curve/ParityRegion.js.map +1 -0
  990. package/lib/esm/curve/Path.d.ts +47 -0
  991. package/lib/esm/curve/Path.d.ts.map +1 -0
  992. package/lib/esm/curve/Path.js +71 -0
  993. package/lib/esm/curve/Path.js.map +1 -0
  994. package/lib/esm/curve/PointString3d.d.ts +78 -0
  995. package/lib/esm/curve/PointString3d.d.ts.map +1 -0
  996. package/lib/esm/curve/PointString3d.js +174 -0
  997. package/lib/esm/curve/PointString3d.js.map +1 -0
  998. package/lib/esm/curve/ProxyCurve.d.ts +59 -0
  999. package/lib/esm/curve/ProxyCurve.d.ts.map +1 -0
  1000. package/lib/esm/curve/ProxyCurve.js +78 -0
  1001. package/lib/esm/curve/ProxyCurve.js.map +1 -0
  1002. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts +25 -0
  1003. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -0
  1004. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js +111 -0
  1005. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -0
  1006. package/lib/esm/curve/Query/CurveSplitContext.d.ts +16 -0
  1007. package/lib/esm/curve/Query/CurveSplitContext.d.ts.map +1 -0
  1008. package/lib/esm/curve/Query/CurveSplitContext.js +107 -0
  1009. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -0
  1010. package/lib/esm/curve/Query/CylindricalRange.d.ts +46 -0
  1011. package/lib/esm/curve/Query/CylindricalRange.d.ts.map +1 -0
  1012. package/lib/esm/curve/Query/CylindricalRange.js +111 -0
  1013. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -0
  1014. package/lib/esm/curve/Query/InOutTests.d.ts +32 -0
  1015. package/lib/esm/curve/Query/InOutTests.d.ts.map +1 -0
  1016. package/lib/esm/curve/Query/InOutTests.js +116 -0
  1017. package/lib/esm/curve/Query/InOutTests.js.map +1 -0
  1018. package/lib/esm/curve/Query/PlanarSubdivision.d.ts +16 -0
  1019. package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -0
  1020. package/lib/esm/curve/Query/PlanarSubdivision.js +220 -0
  1021. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -0
  1022. package/lib/esm/curve/Query/StrokeCountChain.d.ts +186 -0
  1023. package/lib/esm/curve/Query/StrokeCountChain.d.ts.map +1 -0
  1024. package/lib/esm/curve/Query/StrokeCountChain.js +429 -0
  1025. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -0
  1026. package/lib/esm/curve/Query/StrokeCountMap.d.ts +94 -0
  1027. package/lib/esm/curve/Query/StrokeCountMap.d.ts.map +1 -0
  1028. package/lib/esm/curve/Query/StrokeCountMap.js +138 -0
  1029. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -0
  1030. package/lib/esm/curve/RegionMomentsXY.d.ts +61 -0
  1031. package/lib/esm/curve/RegionMomentsXY.d.ts.map +1 -0
  1032. package/lib/esm/curve/RegionMomentsXY.js +156 -0
  1033. package/lib/esm/curve/RegionMomentsXY.js.map +1 -0
  1034. package/lib/esm/curve/RegionOps.d.ts +320 -0
  1035. package/lib/esm/curve/RegionOps.d.ts.map +1 -0
  1036. package/lib/esm/curve/RegionOps.js +642 -0
  1037. package/lib/esm/curve/RegionOps.js.map +1 -0
  1038. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +263 -0
  1039. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -0
  1040. package/lib/esm/curve/RegionOpsClassificationSweeps.js +703 -0
  1041. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -0
  1042. package/lib/esm/curve/StrokeOptions.d.ts +94 -0
  1043. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -0
  1044. package/lib/esm/curve/StrokeOptions.js +149 -0
  1045. package/lib/esm/curve/StrokeOptions.js.map +1 -0
  1046. package/lib/esm/curve/UnionRegion.d.ts +49 -0
  1047. package/lib/esm/curve/UnionRegion.d.ts.map +1 -0
  1048. package/lib/esm/curve/UnionRegion.js +75 -0
  1049. package/lib/esm/curve/UnionRegion.js.map +1 -0
  1050. package/lib/esm/curve/internalContexts/CloneCurvesContext.d.ts +23 -0
  1051. package/lib/esm/curve/internalContexts/CloneCurvesContext.d.ts.map +1 -0
  1052. package/lib/esm/curve/internalContexts/CloneCurvesContext.js +62 -0
  1053. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -0
  1054. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.d.ts +16 -0
  1055. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +1 -0
  1056. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js +36 -0
  1057. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -0
  1058. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.d.ts +18 -0
  1059. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +1 -0
  1060. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js +32 -0
  1061. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -0
  1062. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +16 -0
  1063. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -0
  1064. package/lib/esm/curve/internalContexts/GapSearchContext.js +34 -0
  1065. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -0
  1066. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +114 -0
  1067. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -0
  1068. package/lib/esm/curve/internalContexts/MultiChainCollector.js +403 -0
  1069. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -0
  1070. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +38 -0
  1071. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -0
  1072. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +88 -0
  1073. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -0
  1074. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +117 -0
  1075. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -0
  1076. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +686 -0
  1077. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -0
  1078. package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts +17 -0
  1079. package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -0
  1080. package/lib/esm/curve/internalContexts/SumLengthsContext.js +21 -0
  1081. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -0
  1082. package/lib/esm/curve/internalContexts/TransformInPlaceContext.d.ts +19 -0
  1083. package/lib/esm/curve/internalContexts/TransformInPlaceContext.d.ts.map +1 -0
  1084. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js +19 -0
  1085. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -0
  1086. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts +41 -0
  1087. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +1 -0
  1088. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js +124 -0
  1089. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -0
  1090. package/lib/esm/curve/spiral/ClothoidSeries.d.ts +66 -0
  1091. package/lib/esm/curve/spiral/ClothoidSeries.d.ts.map +1 -0
  1092. package/lib/esm/curve/spiral/ClothoidSeries.js +220 -0
  1093. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -0
  1094. package/lib/esm/curve/spiral/CubicEvaluator.d.ts +43 -0
  1095. package/lib/esm/curve/spiral/CubicEvaluator.d.ts.map +1 -0
  1096. package/lib/esm/curve/spiral/CubicEvaluator.js +67 -0
  1097. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -0
  1098. package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts +108 -0
  1099. package/lib/esm/curve/spiral/CzechSpiralEvaluator.d.ts.map +1 -0
  1100. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js +198 -0
  1101. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -0
  1102. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts +39 -0
  1103. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +1 -0
  1104. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js +88 -0
  1105. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -0
  1106. package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +265 -0
  1107. package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -0
  1108. package/lib/esm/curve/spiral/DirectSpiral3d.js +469 -0
  1109. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -0
  1110. package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts +158 -0
  1111. package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -0
  1112. package/lib/esm/curve/spiral/IntegratedSpiral3d.js +360 -0
  1113. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -0
  1114. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts +38 -0
  1115. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +1 -0
  1116. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js +72 -0
  1117. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -0
  1118. package/lib/esm/curve/spiral/NormalizedTransition.d.ts +140 -0
  1119. package/lib/esm/curve/spiral/NormalizedTransition.d.ts.map +1 -0
  1120. package/lib/esm/curve/spiral/NormalizedTransition.js +182 -0
  1121. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -0
  1122. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts +50 -0
  1123. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +1 -0
  1124. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js +109 -0
  1125. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -0
  1126. package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts +53 -0
  1127. package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -0
  1128. package/lib/esm/curve/spiral/TransitionConditionalProperties.js +142 -0
  1129. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -0
  1130. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +101 -0
  1131. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -0
  1132. package/lib/esm/curve/spiral/TransitionSpiral3d.js +106 -0
  1133. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -0
  1134. package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts +80 -0
  1135. package/lib/esm/curve/spiral/XYCurveEvaluator.d.ts.map +1 -0
  1136. package/lib/esm/curve/spiral/XYCurveEvaluator.js +103 -0
  1137. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -0
  1138. package/lib/esm/geometry3d/Angle.d.ts +214 -0
  1139. package/lib/esm/geometry3d/Angle.d.ts.map +1 -0
  1140. package/lib/esm/geometry3d/Angle.js +399 -0
  1141. package/lib/esm/geometry3d/Angle.js.map +1 -0
  1142. package/lib/esm/geometry3d/AngleSweep.d.ts +187 -0
  1143. package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -0
  1144. package/lib/esm/geometry3d/AngleSweep.js +325 -0
  1145. package/lib/esm/geometry3d/AngleSweep.js.map +1 -0
  1146. package/lib/esm/geometry3d/BarycentricTriangle.d.ts +51 -0
  1147. package/lib/esm/geometry3d/BarycentricTriangle.d.ts.map +1 -0
  1148. package/lib/esm/geometry3d/BarycentricTriangle.js +97 -0
  1149. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -0
  1150. package/lib/esm/geometry3d/BilinearPatch.d.ts +107 -0
  1151. package/lib/esm/geometry3d/BilinearPatch.d.ts.map +1 -0
  1152. package/lib/esm/geometry3d/BilinearPatch.js +200 -0
  1153. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -0
  1154. package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts +56 -0
  1155. package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts.map +1 -0
  1156. package/lib/esm/geometry3d/CoincidentGeometryOps.js +196 -0
  1157. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -0
  1158. package/lib/esm/geometry3d/Ellipsoid.d.ts +388 -0
  1159. package/lib/esm/geometry3d/Ellipsoid.d.ts.map +1 -0
  1160. package/lib/esm/geometry3d/Ellipsoid.js +1069 -0
  1161. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -0
  1162. package/lib/esm/geometry3d/FrameBuilder.d.ts +91 -0
  1163. package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -0
  1164. package/lib/esm/geometry3d/FrameBuilder.js +315 -0
  1165. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -0
  1166. package/lib/esm/geometry3d/FrustumAnimation.d.ts +59 -0
  1167. package/lib/esm/geometry3d/FrustumAnimation.d.ts.map +1 -0
  1168. package/lib/esm/geometry3d/FrustumAnimation.js +119 -0
  1169. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -0
  1170. package/lib/esm/geometry3d/GeometryHandler.d.ts +329 -0
  1171. package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -0
  1172. package/lib/esm/geometry3d/GeometryHandler.js +169 -0
  1173. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -0
  1174. package/lib/esm/geometry3d/GrowableBlockedArray.d.ts +71 -0
  1175. package/lib/esm/geometry3d/GrowableBlockedArray.d.ts.map +1 -0
  1176. package/lib/esm/geometry3d/GrowableBlockedArray.js +158 -0
  1177. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -0
  1178. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts +132 -0
  1179. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -0
  1180. package/lib/esm/geometry3d/GrowableFloat64Array.js +249 -0
  1181. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -0
  1182. package/lib/esm/geometry3d/GrowableXYArray.d.ts +204 -0
  1183. package/lib/esm/geometry3d/GrowableXYArray.d.ts.map +1 -0
  1184. package/lib/esm/geometry3d/GrowableXYArray.js +621 -0
  1185. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -0
  1186. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +324 -0
  1187. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -0
  1188. package/lib/esm/geometry3d/GrowableXYZArray.js +975 -0
  1189. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -0
  1190. package/lib/esm/geometry3d/IndexedCollectionInterval.d.ts +63 -0
  1191. package/lib/esm/geometry3d/IndexedCollectionInterval.d.ts.map +1 -0
  1192. package/lib/esm/geometry3d/IndexedCollectionInterval.js +105 -0
  1193. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -0
  1194. package/lib/esm/geometry3d/IndexedXYCollection.d.ts +69 -0
  1195. package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -0
  1196. package/lib/esm/geometry3d/IndexedXYCollection.js +16 -0
  1197. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -0
  1198. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +149 -0
  1199. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -0
  1200. package/lib/esm/geometry3d/IndexedXYZCollection.js +98 -0
  1201. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -0
  1202. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.d.ts +63 -0
  1203. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.d.ts.map +1 -0
  1204. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js +119 -0
  1205. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -0
  1206. package/lib/esm/geometry3d/Matrix3d.d.ts +885 -0
  1207. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -0
  1208. package/lib/esm/geometry3d/Matrix3d.js +2269 -0
  1209. package/lib/esm/geometry3d/Matrix3d.js.map +1 -0
  1210. package/lib/esm/geometry3d/OrderedRotationAngles.d.ts +61 -0
  1211. package/lib/esm/geometry3d/OrderedRotationAngles.d.ts.map +1 -0
  1212. package/lib/esm/geometry3d/OrderedRotationAngles.js +228 -0
  1213. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -0
  1214. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +122 -0
  1215. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -0
  1216. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +237 -0
  1217. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -0
  1218. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +119 -0
  1219. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -0
  1220. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +238 -0
  1221. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -0
  1222. package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts +74 -0
  1223. package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts.map +1 -0
  1224. package/lib/esm/geometry3d/Point2dArrayCarrier.js +111 -0
  1225. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -0
  1226. package/lib/esm/geometry3d/Point2dVector2d.d.ts +209 -0
  1227. package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -0
  1228. package/lib/esm/geometry3d/Point2dVector2d.js +461 -0
  1229. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -0
  1230. package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +142 -0
  1231. package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -0
  1232. package/lib/esm/geometry3d/Point3dArrayCarrier.js +233 -0
  1233. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -0
  1234. package/lib/esm/geometry3d/Point3dVector3d.d.ts +699 -0
  1235. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -0
  1236. package/lib/esm/geometry3d/Point3dVector3d.js +1294 -0
  1237. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -0
  1238. package/lib/esm/geometry3d/PointHelpers.d.ts +263 -0
  1239. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -0
  1240. package/lib/esm/geometry3d/PointHelpers.js +898 -0
  1241. package/lib/esm/geometry3d/PointHelpers.js.map +1 -0
  1242. package/lib/esm/geometry3d/PointStreaming.d.ts +87 -0
  1243. package/lib/esm/geometry3d/PointStreaming.d.ts.map +1 -0
  1244. package/lib/esm/geometry3d/PointStreaming.js +181 -0
  1245. package/lib/esm/geometry3d/PointStreaming.js.map +1 -0
  1246. package/lib/esm/geometry3d/PolygonOps.d.ts +306 -0
  1247. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -0
  1248. package/lib/esm/geometry3d/PolygonOps.js +986 -0
  1249. package/lib/esm/geometry3d/PolygonOps.js.map +1 -0
  1250. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts +81 -0
  1251. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -0
  1252. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +274 -0
  1253. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -0
  1254. package/lib/esm/geometry3d/PolylineOps.d.ts +63 -0
  1255. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -0
  1256. package/lib/esm/geometry3d/PolylineOps.js +172 -0
  1257. package/lib/esm/geometry3d/PolylineOps.js.map +1 -0
  1258. package/lib/esm/geometry3d/Range.d.ts +599 -0
  1259. package/lib/esm/geometry3d/Range.d.ts.map +1 -0
  1260. package/lib/esm/geometry3d/Range.js +1424 -0
  1261. package/lib/esm/geometry3d/Range.js.map +1 -0
  1262. package/lib/esm/geometry3d/Ray3d.d.ts +146 -0
  1263. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -0
  1264. package/lib/esm/geometry3d/Ray3d.js +325 -0
  1265. package/lib/esm/geometry3d/Ray3d.js.map +1 -0
  1266. package/lib/esm/geometry3d/ReusableObjectCache.d.ts +55 -0
  1267. package/lib/esm/geometry3d/ReusableObjectCache.d.ts.map +1 -0
  1268. package/lib/esm/geometry3d/ReusableObjectCache.js +82 -0
  1269. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -0
  1270. package/lib/esm/geometry3d/Segment1d.d.ts +106 -0
  1271. package/lib/esm/geometry3d/Segment1d.d.ts.map +1 -0
  1272. package/lib/esm/geometry3d/Segment1d.js +169 -0
  1273. package/lib/esm/geometry3d/Segment1d.js.map +1 -0
  1274. package/lib/esm/geometry3d/SortablePolygon.d.ts +50 -0
  1275. package/lib/esm/geometry3d/SortablePolygon.d.ts.map +1 -0
  1276. package/lib/esm/geometry3d/SortablePolygon.js +312 -0
  1277. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -0
  1278. package/lib/esm/geometry3d/Transform.d.ts +275 -0
  1279. package/lib/esm/geometry3d/Transform.d.ts.map +1 -0
  1280. package/lib/esm/geometry3d/Transform.js +570 -0
  1281. package/lib/esm/geometry3d/Transform.js.map +1 -0
  1282. package/lib/esm/geometry3d/UVSurfaceOps.d.ts +43 -0
  1283. package/lib/esm/geometry3d/UVSurfaceOps.d.ts.map +1 -0
  1284. package/lib/esm/geometry3d/UVSurfaceOps.js +98 -0
  1285. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -0
  1286. package/lib/esm/geometry3d/XYZProps.d.ts +143 -0
  1287. package/lib/esm/geometry3d/XYZProps.d.ts.map +1 -0
  1288. package/lib/esm/geometry3d/XYZProps.js +6 -0
  1289. package/lib/esm/geometry3d/XYZProps.js.map +1 -0
  1290. package/lib/esm/geometry3d/YawPitchRollAngles.d.ts +111 -0
  1291. package/lib/esm/geometry3d/YawPitchRollAngles.d.ts.map +1 -0
  1292. package/lib/esm/geometry3d/YawPitchRollAngles.js +195 -0
  1293. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -0
  1294. package/lib/esm/geometry4d/Map4d.d.ts +73 -0
  1295. package/lib/esm/geometry4d/Map4d.d.ts.map +1 -0
  1296. package/lib/esm/geometry4d/Map4d.js +147 -0
  1297. package/lib/esm/geometry4d/Map4d.js.map +1 -0
  1298. package/lib/esm/geometry4d/Matrix4d.d.ts +284 -0
  1299. package/lib/esm/geometry4d/Matrix4d.d.ts.map +1 -0
  1300. package/lib/esm/geometry4d/Matrix4d.js +739 -0
  1301. package/lib/esm/geometry4d/Matrix4d.js.map +1 -0
  1302. package/lib/esm/geometry4d/MomentData.d.ts +180 -0
  1303. package/lib/esm/geometry4d/MomentData.d.ts.map +1 -0
  1304. package/lib/esm/geometry4d/MomentData.js +384 -0
  1305. package/lib/esm/geometry4d/MomentData.js.map +1 -0
  1306. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.d.ts +43 -0
  1307. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +1 -0
  1308. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js +81 -0
  1309. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -0
  1310. package/lib/esm/geometry4d/Point4d.d.ts +257 -0
  1311. package/lib/esm/geometry4d/Point4d.d.ts.map +1 -0
  1312. package/lib/esm/geometry4d/Point4d.js +552 -0
  1313. package/lib/esm/geometry4d/Point4d.js.map +1 -0
  1314. package/lib/esm/numerics/BandedSystem.d.ts +39 -0
  1315. package/lib/esm/numerics/BandedSystem.d.ts.map +1 -0
  1316. package/lib/esm/numerics/BandedSystem.js +156 -0
  1317. package/lib/esm/numerics/BandedSystem.js.map +1 -0
  1318. package/lib/esm/numerics/BezierPolynomials.d.ts +462 -0
  1319. package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -0
  1320. package/lib/esm/numerics/BezierPolynomials.js +1189 -0
  1321. package/lib/esm/numerics/BezierPolynomials.js.map +1 -0
  1322. package/lib/esm/numerics/ClusterableArray.d.ts +162 -0
  1323. package/lib/esm/numerics/ClusterableArray.d.ts.map +1 -0
  1324. package/lib/esm/numerics/ClusterableArray.js +477 -0
  1325. package/lib/esm/numerics/ClusterableArray.js.map +1 -0
  1326. package/lib/esm/numerics/Complex.d.ts +63 -0
  1327. package/lib/esm/numerics/Complex.d.ts.map +1 -0
  1328. package/lib/esm/numerics/Complex.js +116 -0
  1329. package/lib/esm/numerics/Complex.js.map +1 -0
  1330. package/lib/esm/numerics/ConvexPolygon2d.d.ts +86 -0
  1331. package/lib/esm/numerics/ConvexPolygon2d.d.ts.map +1 -0
  1332. package/lib/esm/numerics/ConvexPolygon2d.js +313 -0
  1333. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -0
  1334. package/lib/esm/numerics/Newton.d.ts +188 -0
  1335. package/lib/esm/numerics/Newton.d.ts.map +1 -0
  1336. package/lib/esm/numerics/Newton.js +247 -0
  1337. package/lib/esm/numerics/Newton.js.map +1 -0
  1338. package/lib/esm/numerics/PascalCoefficients.d.ts +33 -0
  1339. package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -0
  1340. package/lib/esm/numerics/PascalCoefficients.js +91 -0
  1341. package/lib/esm/numerics/PascalCoefficients.js.map +1 -0
  1342. package/lib/esm/numerics/PolarData.d.ts +42 -0
  1343. package/lib/esm/numerics/PolarData.d.ts.map +1 -0
  1344. package/lib/esm/numerics/PolarData.js +162 -0
  1345. package/lib/esm/numerics/PolarData.js.map +1 -0
  1346. package/lib/esm/numerics/Polynomials.d.ts +653 -0
  1347. package/lib/esm/numerics/Polynomials.d.ts.map +1 -0
  1348. package/lib/esm/numerics/Polynomials.js +1697 -0
  1349. package/lib/esm/numerics/Polynomials.js.map +1 -0
  1350. package/lib/esm/numerics/Quadrature.d.ts +91 -0
  1351. package/lib/esm/numerics/Quadrature.d.ts.map +1 -0
  1352. package/lib/esm/numerics/Quadrature.js +199 -0
  1353. package/lib/esm/numerics/Quadrature.js.map +1 -0
  1354. package/lib/esm/numerics/Range1dArray.d.ts +80 -0
  1355. package/lib/esm/numerics/Range1dArray.d.ts.map +1 -0
  1356. package/lib/esm/numerics/Range1dArray.js +358 -0
  1357. package/lib/esm/numerics/Range1dArray.js.map +1 -0
  1358. package/lib/esm/numerics/TriDiagonalSystem.d.ts +51 -0
  1359. package/lib/esm/numerics/TriDiagonalSystem.d.ts.map +1 -0
  1360. package/lib/esm/numerics/TriDiagonalSystem.js +270 -0
  1361. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -0
  1362. package/lib/esm/numerics/UnionFind.d.ts +49 -0
  1363. package/lib/esm/numerics/UnionFind.d.ts.map +1 -0
  1364. package/lib/esm/numerics/UnionFind.js +117 -0
  1365. package/lib/esm/numerics/UnionFind.js.map +1 -0
  1366. package/lib/esm/numerics/UsageSums.d.ts +86 -0
  1367. package/lib/esm/numerics/UsageSums.d.ts.map +1 -0
  1368. package/lib/esm/numerics/UsageSums.js +128 -0
  1369. package/lib/esm/numerics/UsageSums.js.map +1 -0
  1370. package/lib/esm/polyface/AuxData.d.ts +112 -0
  1371. package/lib/esm/polyface/AuxData.d.ts.map +1 -0
  1372. package/lib/esm/polyface/AuxData.js +228 -0
  1373. package/lib/esm/polyface/AuxData.js.map +1 -0
  1374. package/lib/esm/polyface/BoxTopology.d.ts +38 -0
  1375. package/lib/esm/polyface/BoxTopology.d.ts.map +1 -0
  1376. package/lib/esm/polyface/BoxTopology.js +99 -0
  1377. package/lib/esm/polyface/BoxTopology.js.map +1 -0
  1378. package/lib/esm/polyface/FacetFaceData.d.ts +44 -0
  1379. package/lib/esm/polyface/FacetFaceData.d.ts.map +1 -0
  1380. package/lib/esm/polyface/FacetFaceData.js +142 -0
  1381. package/lib/esm/polyface/FacetFaceData.js.map +1 -0
  1382. package/lib/esm/polyface/FacetOrientation.d.ts +39 -0
  1383. package/lib/esm/polyface/FacetOrientation.d.ts.map +1 -0
  1384. package/lib/esm/polyface/FacetOrientation.js +192 -0
  1385. package/lib/esm/polyface/FacetOrientation.js.map +1 -0
  1386. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.d.ts +61 -0
  1387. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +1 -0
  1388. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js +245 -0
  1389. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -0
  1390. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts +87 -0
  1391. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts.map +1 -0
  1392. package/lib/esm/polyface/IndexedEdgeMatcher.js +192 -0
  1393. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -0
  1394. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +109 -0
  1395. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -0
  1396. package/lib/esm/polyface/IndexedPolyfaceVisitor.js +237 -0
  1397. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -0
  1398. package/lib/esm/polyface/Polyface.d.ts +254 -0
  1399. package/lib/esm/polyface/Polyface.d.ts.map +1 -0
  1400. package/lib/esm/polyface/Polyface.js +501 -0
  1401. package/lib/esm/polyface/Polyface.js.map +1 -0
  1402. package/lib/esm/polyface/PolyfaceBuilder.d.ts +395 -0
  1403. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -0
  1404. package/lib/esm/polyface/PolyfaceBuilder.js +1634 -0
  1405. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -0
  1406. package/lib/esm/polyface/PolyfaceClip.d.ts +172 -0
  1407. package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -0
  1408. package/lib/esm/polyface/PolyfaceClip.js +565 -0
  1409. package/lib/esm/polyface/PolyfaceClip.js.map +1 -0
  1410. package/lib/esm/polyface/PolyfaceData.d.ts +206 -0
  1411. package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -0
  1412. package/lib/esm/polyface/PolyfaceData.js +527 -0
  1413. package/lib/esm/polyface/PolyfaceData.js.map +1 -0
  1414. package/lib/esm/polyface/PolyfaceQuery.d.ts +302 -0
  1415. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -0
  1416. package/lib/esm/polyface/PolyfaceQuery.js +947 -0
  1417. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -0
  1418. package/lib/esm/polyface/RangeLengthData.d.ts +31 -0
  1419. package/lib/esm/polyface/RangeLengthData.d.ts.map +1 -0
  1420. package/lib/esm/polyface/RangeLengthData.js +39 -0
  1421. package/lib/esm/polyface/RangeLengthData.js.map +1 -0
  1422. package/lib/esm/polyface/TaggedNumericData.d.ts +95 -0
  1423. package/lib/esm/polyface/TaggedNumericData.d.ts.map +1 -0
  1424. package/lib/esm/polyface/TaggedNumericData.js +160 -0
  1425. package/lib/esm/polyface/TaggedNumericData.js.map +1 -0
  1426. package/lib/esm/polyface/TriangleCandidate.d.ts +64 -0
  1427. package/lib/esm/polyface/TriangleCandidate.d.ts.map +1 -0
  1428. package/lib/esm/polyface/TriangleCandidate.js +116 -0
  1429. package/lib/esm/polyface/TriangleCandidate.js.map +1 -0
  1430. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts +29 -0
  1431. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -0
  1432. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +160 -0
  1433. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -0
  1434. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +81 -0
  1435. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -0
  1436. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js +159 -0
  1437. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -0
  1438. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +53 -0
  1439. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -0
  1440. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +74 -0
  1441. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -0
  1442. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts +44 -0
  1443. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -0
  1444. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js +80 -0
  1445. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -0
  1446. package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts +32 -0
  1447. package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -0
  1448. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js +9 -0
  1449. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -0
  1450. package/lib/esm/polyface/multiclip/RangeSearch.d.ts +27 -0
  1451. package/lib/esm/polyface/multiclip/RangeSearch.d.ts.map +1 -0
  1452. package/lib/esm/polyface/multiclip/RangeSearch.js +49 -0
  1453. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -0
  1454. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +25 -0
  1455. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -0
  1456. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +90 -0
  1457. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -0
  1458. package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts +73 -0
  1459. package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts.map +1 -0
  1460. package/lib/esm/polyface/multiclip/XYPointBuckets.js +192 -0
  1461. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -0
  1462. package/lib/esm/serialization/BGFBAccessors.d.ts +3426 -0
  1463. package/lib/esm/serialization/BGFBAccessors.d.ts.map +1 -0
  1464. package/lib/esm/serialization/BGFBAccessors.js +5543 -0
  1465. package/lib/esm/serialization/BGFBAccessors.js.map +1 -0
  1466. package/lib/esm/serialization/BGFBReader.d.ts +118 -0
  1467. package/lib/esm/serialization/BGFBReader.d.ts.map +1 -0
  1468. package/lib/esm/serialization/BGFBReader.js +661 -0
  1469. package/lib/esm/serialization/BGFBReader.js.map +1 -0
  1470. package/lib/esm/serialization/BGFBWriter.d.ts +69 -0
  1471. package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -0
  1472. package/lib/esm/serialization/BGFBWriter.js +587 -0
  1473. package/lib/esm/serialization/BGFBWriter.js.map +1 -0
  1474. package/lib/esm/serialization/BentleyGeometryFlatBuffer.d.ts +23 -0
  1475. package/lib/esm/serialization/BentleyGeometryFlatBuffer.d.ts.map +1 -0
  1476. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js +26 -0
  1477. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -0
  1478. package/lib/esm/serialization/DeepCompare.d.ts +41 -0
  1479. package/lib/esm/serialization/DeepCompare.d.ts.map +1 -0
  1480. package/lib/esm/serialization/DeepCompare.js +185 -0
  1481. package/lib/esm/serialization/DeepCompare.js.map +1 -0
  1482. package/lib/esm/serialization/GeometrySamples.d.ts +616 -0
  1483. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -0
  1484. package/lib/esm/serialization/GeometrySamples.js +2124 -0
  1485. package/lib/esm/serialization/GeometrySamples.js.map +1 -0
  1486. package/lib/esm/serialization/IModelJsonSchema.d.ts +671 -0
  1487. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -0
  1488. package/lib/esm/serialization/IModelJsonSchema.js +1523 -0
  1489. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -0
  1490. package/lib/esm/solid/Box.d.ts +122 -0
  1491. package/lib/esm/solid/Box.d.ts.map +1 -0
  1492. package/lib/esm/solid/Box.js +229 -0
  1493. package/lib/esm/solid/Box.js.map +1 -0
  1494. package/lib/esm/solid/Cone.d.ts +119 -0
  1495. package/lib/esm/solid/Cone.d.ts.map +1 -0
  1496. package/lib/esm/solid/Cone.js +267 -0
  1497. package/lib/esm/solid/Cone.js.map +1 -0
  1498. package/lib/esm/solid/LinearSweep.d.ts +81 -0
  1499. package/lib/esm/solid/LinearSweep.d.ts.map +1 -0
  1500. package/lib/esm/solid/LinearSweep.js +143 -0
  1501. package/lib/esm/solid/LinearSweep.js.map +1 -0
  1502. package/lib/esm/solid/RotationalSweep.d.ts +71 -0
  1503. package/lib/esm/solid/RotationalSweep.d.ts.map +1 -0
  1504. package/lib/esm/solid/RotationalSweep.js +139 -0
  1505. package/lib/esm/solid/RotationalSweep.js.map +1 -0
  1506. package/lib/esm/solid/RuledSweep.d.ts +76 -0
  1507. package/lib/esm/solid/RuledSweep.d.ts.map +1 -0
  1508. package/lib/esm/solid/RuledSweep.js +202 -0
  1509. package/lib/esm/solid/RuledSweep.js.map +1 -0
  1510. package/lib/esm/solid/SolidPrimitive.d.ts +63 -0
  1511. package/lib/esm/solid/SolidPrimitive.d.ts.map +1 -0
  1512. package/lib/esm/solid/SolidPrimitive.js +23 -0
  1513. package/lib/esm/solid/SolidPrimitive.js.map +1 -0
  1514. package/lib/esm/solid/Sphere.d.ts +120 -0
  1515. package/lib/esm/solid/Sphere.d.ts.map +1 -0
  1516. package/lib/esm/solid/Sphere.js +294 -0
  1517. package/lib/esm/solid/Sphere.js.map +1 -0
  1518. package/lib/esm/solid/SweepContour.d.ts +82 -0
  1519. package/lib/esm/solid/SweepContour.d.ts.map +1 -0
  1520. package/lib/esm/solid/SweepContour.js +250 -0
  1521. package/lib/esm/solid/SweepContour.js.map +1 -0
  1522. package/lib/esm/solid/TorusPipe.d.ts +123 -0
  1523. package/lib/esm/solid/TorusPipe.d.ts.map +1 -0
  1524. package/lib/esm/solid/TorusPipe.js +296 -0
  1525. package/lib/esm/solid/TorusPipe.js.map +1 -0
  1526. package/lib/esm/topology/ChainMerge.d.ts +119 -0
  1527. package/lib/esm/topology/ChainMerge.d.ts.map +1 -0
  1528. package/lib/esm/topology/ChainMerge.js +280 -0
  1529. package/lib/esm/topology/ChainMerge.js.map +1 -0
  1530. package/lib/esm/topology/Graph.d.ts +591 -0
  1531. package/lib/esm/topology/Graph.d.ts.map +1 -0
  1532. package/lib/esm/topology/Graph.js +1156 -0
  1533. package/lib/esm/topology/Graph.js.map +1 -0
  1534. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts +125 -0
  1535. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -0
  1536. package/lib/esm/topology/HalfEdgeGraphSearch.js +296 -0
  1537. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -0
  1538. package/lib/esm/topology/HalfEdgeGraphSpineContext.d.ts +98 -0
  1539. package/lib/esm/topology/HalfEdgeGraphSpineContext.d.ts.map +1 -0
  1540. package/lib/esm/topology/HalfEdgeGraphSpineContext.js +519 -0
  1541. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -0
  1542. package/lib/esm/topology/HalfEdgeGraphValidation.d.ts +52 -0
  1543. package/lib/esm/topology/HalfEdgeGraphValidation.d.ts.map +1 -0
  1544. package/lib/esm/topology/HalfEdgeGraphValidation.js +107 -0
  1545. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -0
  1546. package/lib/esm/topology/HalfEdgeMarkSet.d.ts +232 -0
  1547. package/lib/esm/topology/HalfEdgeMarkSet.d.ts.map +1 -0
  1548. package/lib/esm/topology/HalfEdgeMarkSet.js +369 -0
  1549. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -0
  1550. package/lib/esm/topology/HalfEdgeNodeXYZUV.d.ts +51 -0
  1551. package/lib/esm/topology/HalfEdgeNodeXYZUV.d.ts.map +1 -0
  1552. package/lib/esm/topology/HalfEdgeNodeXYZUV.js +93 -0
  1553. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -0
  1554. package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts +34 -0
  1555. package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -0
  1556. package/lib/esm/topology/HalfEdgePointInGraphSearch.js +252 -0
  1557. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -0
  1558. package/lib/esm/topology/HalfEdgePositionDetail.d.ts +97 -0
  1559. package/lib/esm/topology/HalfEdgePositionDetail.d.ts.map +1 -0
  1560. package/lib/esm/topology/HalfEdgePositionDetail.js +173 -0
  1561. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -0
  1562. package/lib/esm/topology/HalfEdgePriorityQueue.d.ts +34 -0
  1563. package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -0
  1564. package/lib/esm/topology/HalfEdgePriorityQueue.js +68 -0
  1565. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -0
  1566. package/lib/esm/topology/InsertAndRetriangulateContext.d.ts +38 -0
  1567. package/lib/esm/topology/InsertAndRetriangulateContext.d.ts.map +1 -0
  1568. package/lib/esm/topology/InsertAndRetriangulateContext.js +239 -0
  1569. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -0
  1570. package/lib/esm/topology/MaskManager.d.ts +33 -0
  1571. package/lib/esm/topology/MaskManager.d.ts.map +1 -0
  1572. package/lib/esm/topology/MaskManager.js +63 -0
  1573. package/lib/esm/topology/MaskManager.js.map +1 -0
  1574. package/lib/esm/topology/Merging.d.ts +90 -0
  1575. package/lib/esm/topology/Merging.d.ts.map +1 -0
  1576. package/lib/esm/topology/Merging.js +362 -0
  1577. package/lib/esm/topology/Merging.js.map +1 -0
  1578. package/lib/esm/topology/RegularizeFace.d.ts +106 -0
  1579. package/lib/esm/topology/RegularizeFace.d.ts.map +1 -0
  1580. package/lib/esm/topology/RegularizeFace.js +367 -0
  1581. package/lib/esm/topology/RegularizeFace.js.map +1 -0
  1582. package/lib/esm/topology/SignedDataSummary.d.ts +37 -0
  1583. package/lib/esm/topology/SignedDataSummary.d.ts.map +1 -0
  1584. package/lib/esm/topology/SignedDataSummary.js +54 -0
  1585. package/lib/esm/topology/SignedDataSummary.js.map +1 -0
  1586. package/lib/esm/topology/Triangulation.d.ts +230 -0
  1587. package/lib/esm/topology/Triangulation.d.ts.map +1 -0
  1588. package/lib/esm/topology/Triangulation.js +945 -0
  1589. package/lib/esm/topology/Triangulation.js.map +1 -0
  1590. package/lib/esm/topology/XYParitySearchContext.d.ts +54 -0
  1591. package/lib/esm/topology/XYParitySearchContext.d.ts.map +1 -0
  1592. package/lib/esm/topology/XYParitySearchContext.js +138 -0
  1593. package/lib/esm/topology/XYParitySearchContext.js.map +1 -0
  1594. package/package.json +11 -8
  1595. package/lib/Constant.d.ts.map +0 -1
  1596. package/lib/Constant.js.map +0 -1
  1597. package/lib/Geometry.d.ts.map +0 -1
  1598. package/lib/Geometry.js.map +0 -1
  1599. package/lib/bspline/AkimaCurve3d.d.ts.map +0 -1
  1600. package/lib/bspline/AkimaCurve3d.js.map +0 -1
  1601. package/lib/bspline/BSpline1dNd.d.ts.map +0 -1
  1602. package/lib/bspline/BSpline1dNd.js.map +0 -1
  1603. package/lib/bspline/BSplineCurve.d.ts.map +0 -1
  1604. package/lib/bspline/BSplineCurve.js.map +0 -1
  1605. package/lib/bspline/BSplineCurve3dH.d.ts.map +0 -1
  1606. package/lib/bspline/BSplineCurve3dH.js.map +0 -1
  1607. package/lib/bspline/BSplineCurveOps.d.ts.map +0 -1
  1608. package/lib/bspline/BSplineCurveOps.js.map +0 -1
  1609. package/lib/bspline/BSplineSurface.d.ts +0 -485
  1610. package/lib/bspline/BSplineSurface.d.ts.map +0 -1
  1611. package/lib/bspline/BSplineSurface.js.map +0 -1
  1612. package/lib/bspline/Bezier1dNd.d.ts.map +0 -1
  1613. package/lib/bspline/Bezier1dNd.js.map +0 -1
  1614. package/lib/bspline/BezierCurve3d.d.ts.map +0 -1
  1615. package/lib/bspline/BezierCurve3d.js.map +0 -1
  1616. package/lib/bspline/BezierCurve3dH.d.ts.map +0 -1
  1617. package/lib/bspline/BezierCurve3dH.js.map +0 -1
  1618. package/lib/bspline/BezierCurveBase.d.ts.map +0 -1
  1619. package/lib/bspline/BezierCurveBase.js.map +0 -1
  1620. package/lib/bspline/InterpolationCurve3d.d.ts.map +0 -1
  1621. package/lib/bspline/InterpolationCurve3d.js.map +0 -1
  1622. package/lib/bspline/KnotVector.d.ts.map +0 -1
  1623. package/lib/bspline/KnotVector.js.map +0 -1
  1624. package/lib/bspline/SurfaceLocationDetail.d.ts.map +0 -1
  1625. package/lib/bspline/SurfaceLocationDetail.js.map +0 -1
  1626. package/lib/clipping/AlternatingConvexClipTree.d.ts.map +0 -1
  1627. package/lib/clipping/AlternatingConvexClipTree.js.map +0 -1
  1628. package/lib/clipping/BooleanClipFactory.d.ts.map +0 -1
  1629. package/lib/clipping/BooleanClipFactory.js.map +0 -1
  1630. package/lib/clipping/BooleanClipNode.d.ts.map +0 -1
  1631. package/lib/clipping/BooleanClipNode.js.map +0 -1
  1632. package/lib/clipping/ClipPlane.d.ts.map +0 -1
  1633. package/lib/clipping/ClipPlane.js.map +0 -1
  1634. package/lib/clipping/ClipPrimitive.d.ts.map +0 -1
  1635. package/lib/clipping/ClipPrimitive.js.map +0 -1
  1636. package/lib/clipping/ClipUtils.d.ts.map +0 -1
  1637. package/lib/clipping/ClipUtils.js.map +0 -1
  1638. package/lib/clipping/ClipVector.d.ts.map +0 -1
  1639. package/lib/clipping/ClipVector.js.map +0 -1
  1640. package/lib/clipping/ConvexClipPlaneSet.d.ts.map +0 -1
  1641. package/lib/clipping/ConvexClipPlaneSet.js.map +0 -1
  1642. package/lib/clipping/UnionOfConvexClipPlaneSets.d.ts.map +0 -1
  1643. package/lib/clipping/UnionOfConvexClipPlaneSets.js.map +0 -1
  1644. package/lib/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +0 -1
  1645. package/lib/clipping/internalContexts/LineStringOffsetClipperContext.js.map +0 -1
  1646. package/lib/core-geometry.d.ts.map +0 -1
  1647. package/lib/core-geometry.js.map +0 -1
  1648. package/lib/curve/Arc3d.d.ts.map +0 -1
  1649. package/lib/curve/Arc3d.js.map +0 -1
  1650. package/lib/curve/ChainCollectorContext.d.ts.map +0 -1
  1651. package/lib/curve/ChainCollectorContext.js.map +0 -1
  1652. package/lib/curve/ConstructCurveBetweenCurves.d.ts.map +0 -1
  1653. package/lib/curve/ConstructCurveBetweenCurves.js.map +0 -1
  1654. package/lib/curve/CoordinateXYZ.d.ts.map +0 -1
  1655. package/lib/curve/CoordinateXYZ.js.map +0 -1
  1656. package/lib/curve/CurveChain.d.ts.map +0 -1
  1657. package/lib/curve/CurveChain.js.map +0 -1
  1658. package/lib/curve/CurveChainWithDistanceIndex.d.ts.map +0 -1
  1659. package/lib/curve/CurveChainWithDistanceIndex.js.map +0 -1
  1660. package/lib/curve/CurveCollection.d.ts.map +0 -1
  1661. package/lib/curve/CurveCollection.js.map +0 -1
  1662. package/lib/curve/CurveCurve.d.ts.map +0 -1
  1663. package/lib/curve/CurveCurve.js.map +0 -1
  1664. package/lib/curve/CurveCurveCloseApproachXY.d.ts.map +0 -1
  1665. package/lib/curve/CurveCurveCloseApproachXY.js.map +0 -1
  1666. package/lib/curve/CurveCurveIntersectXY.d.ts.map +0 -1
  1667. package/lib/curve/CurveCurveIntersectXY.js.map +0 -1
  1668. package/lib/curve/CurveCurveIntersectXYZ.d.ts.map +0 -1
  1669. package/lib/curve/CurveCurveIntersectXYZ.js.map +0 -1
  1670. package/lib/curve/CurveExtendMode.d.ts.map +0 -1
  1671. package/lib/curve/CurveExtendMode.js.map +0 -1
  1672. package/lib/curve/CurveFactory.d.ts.map +0 -1
  1673. package/lib/curve/CurveFactory.js.map +0 -1
  1674. package/lib/curve/CurveLocationDetail.d.ts.map +0 -1
  1675. package/lib/curve/CurveLocationDetail.js.map +0 -1
  1676. package/lib/curve/CurvePrimitive.d.ts.map +0 -1
  1677. package/lib/curve/CurvePrimitive.js.map +0 -1
  1678. package/lib/curve/CurveProcessor.d.ts.map +0 -1
  1679. package/lib/curve/CurveProcessor.js.map +0 -1
  1680. package/lib/curve/CurveWireMomentsXYZ.d.ts.map +0 -1
  1681. package/lib/curve/CurveWireMomentsXYZ.js.map +0 -1
  1682. package/lib/curve/GeometryQuery.d.ts.map +0 -1
  1683. package/lib/curve/GeometryQuery.js.map +0 -1
  1684. package/lib/curve/LineSegment3d.d.ts.map +0 -1
  1685. package/lib/curve/LineSegment3d.js.map +0 -1
  1686. package/lib/curve/LineString3d.d.ts.map +0 -1
  1687. package/lib/curve/LineString3d.js.map +0 -1
  1688. package/lib/curve/Loop.d.ts.map +0 -1
  1689. package/lib/curve/Loop.js.map +0 -1
  1690. package/lib/curve/ParityRegion.d.ts.map +0 -1
  1691. package/lib/curve/ParityRegion.js.map +0 -1
  1692. package/lib/curve/Path.d.ts.map +0 -1
  1693. package/lib/curve/Path.js.map +0 -1
  1694. package/lib/curve/PointString3d.d.ts.map +0 -1
  1695. package/lib/curve/PointString3d.js.map +0 -1
  1696. package/lib/curve/ProxyCurve.d.ts.map +0 -1
  1697. package/lib/curve/ProxyCurve.js.map +0 -1
  1698. package/lib/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +0 -1
  1699. package/lib/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +0 -1
  1700. package/lib/curve/Query/CurveSplitContext.d.ts.map +0 -1
  1701. package/lib/curve/Query/CurveSplitContext.js.map +0 -1
  1702. package/lib/curve/Query/CylindricalRange.d.ts.map +0 -1
  1703. package/lib/curve/Query/CylindricalRange.js.map +0 -1
  1704. package/lib/curve/Query/InOutTests.d.ts.map +0 -1
  1705. package/lib/curve/Query/InOutTests.js.map +0 -1
  1706. package/lib/curve/Query/PlanarSubdivision.d.ts.map +0 -1
  1707. package/lib/curve/Query/PlanarSubdivision.js.map +0 -1
  1708. package/lib/curve/Query/StrokeCountChain.d.ts.map +0 -1
  1709. package/lib/curve/Query/StrokeCountChain.js.map +0 -1
  1710. package/lib/curve/Query/StrokeCountMap.d.ts.map +0 -1
  1711. package/lib/curve/Query/StrokeCountMap.js.map +0 -1
  1712. package/lib/curve/RegionMomentsXY.d.ts.map +0 -1
  1713. package/lib/curve/RegionMomentsXY.js.map +0 -1
  1714. package/lib/curve/RegionOps.d.ts.map +0 -1
  1715. package/lib/curve/RegionOps.js.map +0 -1
  1716. package/lib/curve/RegionOpsClassificationSweeps.d.ts.map +0 -1
  1717. package/lib/curve/RegionOpsClassificationSweeps.js.map +0 -1
  1718. package/lib/curve/StrokeOptions.d.ts.map +0 -1
  1719. package/lib/curve/StrokeOptions.js.map +0 -1
  1720. package/lib/curve/UnionRegion.d.ts.map +0 -1
  1721. package/lib/curve/UnionRegion.js.map +0 -1
  1722. package/lib/curve/internalContexts/CloneCurvesContext.d.ts.map +0 -1
  1723. package/lib/curve/internalContexts/CloneCurvesContext.js.map +0 -1
  1724. package/lib/curve/internalContexts/CloneWithExpandedLineStrings.d.ts.map +0 -1
  1725. package/lib/curve/internalContexts/CloneWithExpandedLineStrings.js.map +0 -1
  1726. package/lib/curve/internalContexts/CountLinearPartsSearchContext.d.ts.map +0 -1
  1727. package/lib/curve/internalContexts/CountLinearPartsSearchContext.js.map +0 -1
  1728. package/lib/curve/internalContexts/GapSearchContext.d.ts.map +0 -1
  1729. package/lib/curve/internalContexts/GapSearchContext.js.map +0 -1
  1730. package/lib/curve/internalContexts/MultiChainCollector.d.ts.map +0 -1
  1731. package/lib/curve/internalContexts/MultiChainCollector.js.map +0 -1
  1732. package/lib/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +0 -1
  1733. package/lib/curve/internalContexts/PlaneAltitudeRangeContext.js.map +0 -1
  1734. package/lib/curve/internalContexts/PolygonOffsetContext.d.ts.map +0 -1
  1735. package/lib/curve/internalContexts/PolygonOffsetContext.js.map +0 -1
  1736. package/lib/curve/internalContexts/SumLengthsContext.d.ts.map +0 -1
  1737. package/lib/curve/internalContexts/SumLengthsContext.js.map +0 -1
  1738. package/lib/curve/internalContexts/TransformInPlaceContext.d.ts.map +0 -1
  1739. package/lib/curve/internalContexts/TransformInPlaceContext.js.map +0 -1
  1740. package/lib/curve/spiral/AustralianRailCorpXYEvaluator.d.ts.map +0 -1
  1741. package/lib/curve/spiral/AustralianRailCorpXYEvaluator.js.map +0 -1
  1742. package/lib/curve/spiral/ClothoidSeries.d.ts.map +0 -1
  1743. package/lib/curve/spiral/ClothoidSeries.js.map +0 -1
  1744. package/lib/curve/spiral/CubicEvaluator.d.ts.map +0 -1
  1745. package/lib/curve/spiral/CubicEvaluator.js.map +0 -1
  1746. package/lib/curve/spiral/CzechSpiralEvaluator.d.ts.map +0 -1
  1747. package/lib/curve/spiral/CzechSpiralEvaluator.js.map +0 -1
  1748. package/lib/curve/spiral/DirectHalfCosineSpiralEvaluator.d.ts.map +0 -1
  1749. package/lib/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +0 -1
  1750. package/lib/curve/spiral/DirectSpiral3d.d.ts +0 -264
  1751. package/lib/curve/spiral/DirectSpiral3d.d.ts.map +0 -1
  1752. package/lib/curve/spiral/DirectSpiral3d.js +0 -464
  1753. package/lib/curve/spiral/DirectSpiral3d.js.map +0 -1
  1754. package/lib/curve/spiral/IntegratedSpiral3d.d.ts +0 -154
  1755. package/lib/curve/spiral/IntegratedSpiral3d.d.ts.map +0 -1
  1756. package/lib/curve/spiral/IntegratedSpiral3d.js +0 -351
  1757. package/lib/curve/spiral/IntegratedSpiral3d.js.map +0 -1
  1758. package/lib/curve/spiral/MXCubicAlongArcSpiralEvaluator.d.ts.map +0 -1
  1759. package/lib/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +0 -1
  1760. package/lib/curve/spiral/NormalizedTransition.d.ts.map +0 -1
  1761. package/lib/curve/spiral/NormalizedTransition.js.map +0 -1
  1762. package/lib/curve/spiral/PolishCubicSpiralEvaluator.d.ts.map +0 -1
  1763. package/lib/curve/spiral/PolishCubicSpiralEvaluator.js.map +0 -1
  1764. package/lib/curve/spiral/TransitionConditionalProperties.d.ts.map +0 -1
  1765. package/lib/curve/spiral/TransitionConditionalProperties.js.map +0 -1
  1766. package/lib/curve/spiral/TransitionSpiral3d.d.ts.map +0 -1
  1767. package/lib/curve/spiral/TransitionSpiral3d.js.map +0 -1
  1768. package/lib/curve/spiral/XYCurveEvaluator.d.ts.map +0 -1
  1769. package/lib/curve/spiral/XYCurveEvaluator.js.map +0 -1
  1770. package/lib/geometry3d/Angle.d.ts.map +0 -1
  1771. package/lib/geometry3d/Angle.js.map +0 -1
  1772. package/lib/geometry3d/AngleSweep.d.ts.map +0 -1
  1773. package/lib/geometry3d/AngleSweep.js.map +0 -1
  1774. package/lib/geometry3d/BarycentricTriangle.d.ts.map +0 -1
  1775. package/lib/geometry3d/BarycentricTriangle.js.map +0 -1
  1776. package/lib/geometry3d/BilinearPatch.d.ts.map +0 -1
  1777. package/lib/geometry3d/BilinearPatch.js.map +0 -1
  1778. package/lib/geometry3d/CoincidentGeometryOps.d.ts.map +0 -1
  1779. package/lib/geometry3d/CoincidentGeometryOps.js.map +0 -1
  1780. package/lib/geometry3d/Ellipsoid.d.ts.map +0 -1
  1781. package/lib/geometry3d/Ellipsoid.js.map +0 -1
  1782. package/lib/geometry3d/FrameBuilder.d.ts.map +0 -1
  1783. package/lib/geometry3d/FrameBuilder.js.map +0 -1
  1784. package/lib/geometry3d/FrustumAnimation.d.ts.map +0 -1
  1785. package/lib/geometry3d/FrustumAnimation.js.map +0 -1
  1786. package/lib/geometry3d/GeometryHandler.d.ts.map +0 -1
  1787. package/lib/geometry3d/GeometryHandler.js.map +0 -1
  1788. package/lib/geometry3d/GrowableBlockedArray.d.ts.map +0 -1
  1789. package/lib/geometry3d/GrowableBlockedArray.js.map +0 -1
  1790. package/lib/geometry3d/GrowableFloat64Array.d.ts.map +0 -1
  1791. package/lib/geometry3d/GrowableFloat64Array.js.map +0 -1
  1792. package/lib/geometry3d/GrowableXYArray.d.ts.map +0 -1
  1793. package/lib/geometry3d/GrowableXYArray.js.map +0 -1
  1794. package/lib/geometry3d/GrowableXYZArray.d.ts.map +0 -1
  1795. package/lib/geometry3d/GrowableXYZArray.js.map +0 -1
  1796. package/lib/geometry3d/IndexedCollectionInterval.d.ts.map +0 -1
  1797. package/lib/geometry3d/IndexedCollectionInterval.js.map +0 -1
  1798. package/lib/geometry3d/IndexedXYCollection.d.ts.map +0 -1
  1799. package/lib/geometry3d/IndexedXYCollection.js.map +0 -1
  1800. package/lib/geometry3d/IndexedXYZCollection.d.ts.map +0 -1
  1801. package/lib/geometry3d/IndexedXYZCollection.js.map +0 -1
  1802. package/lib/geometry3d/LongitudeLatitudeAltitude.d.ts.map +0 -1
  1803. package/lib/geometry3d/LongitudeLatitudeAltitude.js.map +0 -1
  1804. package/lib/geometry3d/Matrix3d.d.ts.map +0 -1
  1805. package/lib/geometry3d/Matrix3d.js.map +0 -1
  1806. package/lib/geometry3d/OrderedRotationAngles.d.ts.map +0 -1
  1807. package/lib/geometry3d/OrderedRotationAngles.js.map +0 -1
  1808. package/lib/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +0 -1
  1809. package/lib/geometry3d/Plane3dByOriginAndUnitNormal.js.map +0 -1
  1810. package/lib/geometry3d/Plane3dByOriginAndVectors.d.ts.map +0 -1
  1811. package/lib/geometry3d/Plane3dByOriginAndVectors.js.map +0 -1
  1812. package/lib/geometry3d/Point2dArrayCarrier.d.ts.map +0 -1
  1813. package/lib/geometry3d/Point2dArrayCarrier.js.map +0 -1
  1814. package/lib/geometry3d/Point2dVector2d.d.ts.map +0 -1
  1815. package/lib/geometry3d/Point2dVector2d.js.map +0 -1
  1816. package/lib/geometry3d/Point3dArrayCarrier.d.ts.map +0 -1
  1817. package/lib/geometry3d/Point3dArrayCarrier.js.map +0 -1
  1818. package/lib/geometry3d/Point3dVector3d.d.ts.map +0 -1
  1819. package/lib/geometry3d/Point3dVector3d.js.map +0 -1
  1820. package/lib/geometry3d/PointHelpers.d.ts.map +0 -1
  1821. package/lib/geometry3d/PointHelpers.js.map +0 -1
  1822. package/lib/geometry3d/PointStreaming.d.ts.map +0 -1
  1823. package/lib/geometry3d/PointStreaming.js.map +0 -1
  1824. package/lib/geometry3d/PolygonOps.d.ts.map +0 -1
  1825. package/lib/geometry3d/PolygonOps.js.map +0 -1
  1826. package/lib/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +0 -1
  1827. package/lib/geometry3d/PolylineCompressionByEdgeOffset.js.map +0 -1
  1828. package/lib/geometry3d/PolylineOps.d.ts.map +0 -1
  1829. package/lib/geometry3d/PolylineOps.js.map +0 -1
  1830. package/lib/geometry3d/Range.d.ts.map +0 -1
  1831. package/lib/geometry3d/Range.js.map +0 -1
  1832. package/lib/geometry3d/Ray3d.d.ts.map +0 -1
  1833. package/lib/geometry3d/Ray3d.js.map +0 -1
  1834. package/lib/geometry3d/ReusableObjectCache.d.ts.map +0 -1
  1835. package/lib/geometry3d/ReusableObjectCache.js.map +0 -1
  1836. package/lib/geometry3d/Segment1d.d.ts.map +0 -1
  1837. package/lib/geometry3d/Segment1d.js.map +0 -1
  1838. package/lib/geometry3d/SortablePolygon.d.ts.map +0 -1
  1839. package/lib/geometry3d/SortablePolygon.js.map +0 -1
  1840. package/lib/geometry3d/Transform.d.ts.map +0 -1
  1841. package/lib/geometry3d/Transform.js.map +0 -1
  1842. package/lib/geometry3d/UVSurfaceOps.d.ts.map +0 -1
  1843. package/lib/geometry3d/UVSurfaceOps.js.map +0 -1
  1844. package/lib/geometry3d/XYZProps.d.ts.map +0 -1
  1845. package/lib/geometry3d/XYZProps.js.map +0 -1
  1846. package/lib/geometry3d/YawPitchRollAngles.d.ts.map +0 -1
  1847. package/lib/geometry3d/YawPitchRollAngles.js.map +0 -1
  1848. package/lib/geometry4d/Map4d.d.ts.map +0 -1
  1849. package/lib/geometry4d/Map4d.js.map +0 -1
  1850. package/lib/geometry4d/Matrix4d.d.ts.map +0 -1
  1851. package/lib/geometry4d/Matrix4d.js.map +0 -1
  1852. package/lib/geometry4d/MomentData.d.ts.map +0 -1
  1853. package/lib/geometry4d/MomentData.js.map +0 -1
  1854. package/lib/geometry4d/PlaneByOriginAndVectors4d.d.ts.map +0 -1
  1855. package/lib/geometry4d/PlaneByOriginAndVectors4d.js.map +0 -1
  1856. package/lib/geometry4d/Point4d.d.ts.map +0 -1
  1857. package/lib/geometry4d/Point4d.js.map +0 -1
  1858. package/lib/numerics/BandedSystem.d.ts.map +0 -1
  1859. package/lib/numerics/BandedSystem.js.map +0 -1
  1860. package/lib/numerics/BezierPolynomials.d.ts.map +0 -1
  1861. package/lib/numerics/BezierPolynomials.js.map +0 -1
  1862. package/lib/numerics/ClusterableArray.d.ts.map +0 -1
  1863. package/lib/numerics/ClusterableArray.js.map +0 -1
  1864. package/lib/numerics/Complex.d.ts.map +0 -1
  1865. package/lib/numerics/Complex.js.map +0 -1
  1866. package/lib/numerics/ConvexPolygon2d.d.ts.map +0 -1
  1867. package/lib/numerics/ConvexPolygon2d.js.map +0 -1
  1868. package/lib/numerics/Newton.d.ts.map +0 -1
  1869. package/lib/numerics/Newton.js.map +0 -1
  1870. package/lib/numerics/PascalCoefficients.d.ts.map +0 -1
  1871. package/lib/numerics/PascalCoefficients.js.map +0 -1
  1872. package/lib/numerics/PolarData.d.ts.map +0 -1
  1873. package/lib/numerics/PolarData.js.map +0 -1
  1874. package/lib/numerics/Polynomials.d.ts.map +0 -1
  1875. package/lib/numerics/Polynomials.js.map +0 -1
  1876. package/lib/numerics/Quadrature.d.ts.map +0 -1
  1877. package/lib/numerics/Quadrature.js.map +0 -1
  1878. package/lib/numerics/Range1dArray.d.ts.map +0 -1
  1879. package/lib/numerics/Range1dArray.js.map +0 -1
  1880. package/lib/numerics/TriDiagonalSystem.d.ts.map +0 -1
  1881. package/lib/numerics/TriDiagonalSystem.js.map +0 -1
  1882. package/lib/numerics/UnionFind.d.ts.map +0 -1
  1883. package/lib/numerics/UnionFind.js.map +0 -1
  1884. package/lib/numerics/UsageSums.d.ts.map +0 -1
  1885. package/lib/numerics/UsageSums.js.map +0 -1
  1886. package/lib/polyface/AuxData.d.ts.map +0 -1
  1887. package/lib/polyface/AuxData.js.map +0 -1
  1888. package/lib/polyface/BoxTopology.d.ts.map +0 -1
  1889. package/lib/polyface/BoxTopology.js.map +0 -1
  1890. package/lib/polyface/FacetFaceData.d.ts.map +0 -1
  1891. package/lib/polyface/FacetFaceData.js.map +0 -1
  1892. package/lib/polyface/FacetOrientation.d.ts.map +0 -1
  1893. package/lib/polyface/FacetOrientation.js.map +0 -1
  1894. package/lib/polyface/GreedyTriangulationBetweenLineStrings.d.ts.map +0 -1
  1895. package/lib/polyface/GreedyTriangulationBetweenLineStrings.js.map +0 -1
  1896. package/lib/polyface/IndexedEdgeMatcher.d.ts.map +0 -1
  1897. package/lib/polyface/IndexedEdgeMatcher.js.map +0 -1
  1898. package/lib/polyface/IndexedPolyfaceVisitor.d.ts.map +0 -1
  1899. package/lib/polyface/IndexedPolyfaceVisitor.js.map +0 -1
  1900. package/lib/polyface/Polyface.d.ts.map +0 -1
  1901. package/lib/polyface/Polyface.js.map +0 -1
  1902. package/lib/polyface/PolyfaceBuilder.d.ts.map +0 -1
  1903. package/lib/polyface/PolyfaceBuilder.js.map +0 -1
  1904. package/lib/polyface/PolyfaceClip.d.ts.map +0 -1
  1905. package/lib/polyface/PolyfaceClip.js.map +0 -1
  1906. package/lib/polyface/PolyfaceData.d.ts +0 -170
  1907. package/lib/polyface/PolyfaceData.d.ts.map +0 -1
  1908. package/lib/polyface/PolyfaceData.js +0 -531
  1909. package/lib/polyface/PolyfaceData.js.map +0 -1
  1910. package/lib/polyface/PolyfaceQuery.d.ts.map +0 -1
  1911. package/lib/polyface/PolyfaceQuery.js.map +0 -1
  1912. package/lib/polyface/RangeLengthData.d.ts.map +0 -1
  1913. package/lib/polyface/RangeLengthData.js.map +0 -1
  1914. package/lib/polyface/TaggedNumericData.d.ts.map +0 -1
  1915. package/lib/polyface/TaggedNumericData.js.map +0 -1
  1916. package/lib/polyface/TriangleCandidate.d.ts.map +0 -1
  1917. package/lib/polyface/TriangleCandidate.js.map +0 -1
  1918. package/lib/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +0 -1
  1919. package/lib/polyface/multiclip/BuildAverageNormalsContext.js.map +0 -1
  1920. package/lib/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +0 -1
  1921. package/lib/polyface/multiclip/GriddedRaggedRange2dSet.js.map +0 -1
  1922. package/lib/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +0 -1
  1923. package/lib/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +0 -1
  1924. package/lib/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +0 -1
  1925. package/lib/polyface/multiclip/LinearSearchRange2dArray.js.map +0 -1
  1926. package/lib/polyface/multiclip/Range2dSearchInterface.d.ts.map +0 -1
  1927. package/lib/polyface/multiclip/Range2dSearchInterface.js.map +0 -1
  1928. package/lib/polyface/multiclip/RangeSearch.d.ts.map +0 -1
  1929. package/lib/polyface/multiclip/RangeSearch.js.map +0 -1
  1930. package/lib/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +0 -1
  1931. package/lib/polyface/multiclip/SweepLineStringToFacetContext.js.map +0 -1
  1932. package/lib/polyface/multiclip/XYPointBuckets.d.ts.map +0 -1
  1933. package/lib/polyface/multiclip/XYPointBuckets.js.map +0 -1
  1934. package/lib/serialization/BGFBAccessors.d.ts.map +0 -1
  1935. package/lib/serialization/BGFBAccessors.js.map +0 -1
  1936. package/lib/serialization/BGFBReader.d.ts.map +0 -1
  1937. package/lib/serialization/BGFBReader.js.map +0 -1
  1938. package/lib/serialization/BGFBWriter.d.ts.map +0 -1
  1939. package/lib/serialization/BGFBWriter.js.map +0 -1
  1940. package/lib/serialization/BentleyGeometryFlatBuffer.d.ts.map +0 -1
  1941. package/lib/serialization/BentleyGeometryFlatBuffer.js.map +0 -1
  1942. package/lib/serialization/DeepCompare.d.ts.map +0 -1
  1943. package/lib/serialization/DeepCompare.js.map +0 -1
  1944. package/lib/serialization/GeometrySamples.d.ts.map +0 -1
  1945. package/lib/serialization/GeometrySamples.js.map +0 -1
  1946. package/lib/serialization/IModelJsonSchema.d.ts.map +0 -1
  1947. package/lib/serialization/IModelJsonSchema.js.map +0 -1
  1948. package/lib/solid/Box.d.ts.map +0 -1
  1949. package/lib/solid/Box.js.map +0 -1
  1950. package/lib/solid/Cone.d.ts.map +0 -1
  1951. package/lib/solid/Cone.js.map +0 -1
  1952. package/lib/solid/LinearSweep.d.ts.map +0 -1
  1953. package/lib/solid/LinearSweep.js.map +0 -1
  1954. package/lib/solid/RotationalSweep.d.ts.map +0 -1
  1955. package/lib/solid/RotationalSweep.js.map +0 -1
  1956. package/lib/solid/RuledSweep.d.ts.map +0 -1
  1957. package/lib/solid/RuledSweep.js.map +0 -1
  1958. package/lib/solid/SolidPrimitive.d.ts.map +0 -1
  1959. package/lib/solid/SolidPrimitive.js.map +0 -1
  1960. package/lib/solid/Sphere.d.ts.map +0 -1
  1961. package/lib/solid/Sphere.js.map +0 -1
  1962. package/lib/solid/SweepContour.d.ts.map +0 -1
  1963. package/lib/solid/SweepContour.js.map +0 -1
  1964. package/lib/solid/TorusPipe.d.ts.map +0 -1
  1965. package/lib/solid/TorusPipe.js.map +0 -1
  1966. package/lib/topology/ChainMerge.d.ts.map +0 -1
  1967. package/lib/topology/ChainMerge.js.map +0 -1
  1968. package/lib/topology/Graph.d.ts.map +0 -1
  1969. package/lib/topology/Graph.js.map +0 -1
  1970. package/lib/topology/HalfEdgeGraphSearch.d.ts.map +0 -1
  1971. package/lib/topology/HalfEdgeGraphSearch.js.map +0 -1
  1972. package/lib/topology/HalfEdgeGraphSpineContext.d.ts.map +0 -1
  1973. package/lib/topology/HalfEdgeGraphSpineContext.js.map +0 -1
  1974. package/lib/topology/HalfEdgeGraphValidation.d.ts.map +0 -1
  1975. package/lib/topology/HalfEdgeGraphValidation.js.map +0 -1
  1976. package/lib/topology/HalfEdgeMarkSet.d.ts.map +0 -1
  1977. package/lib/topology/HalfEdgeMarkSet.js.map +0 -1
  1978. package/lib/topology/HalfEdgeNodeXYZUV.d.ts.map +0 -1
  1979. package/lib/topology/HalfEdgeNodeXYZUV.js.map +0 -1
  1980. package/lib/topology/HalfEdgePointInGraphSearch.d.ts.map +0 -1
  1981. package/lib/topology/HalfEdgePointInGraphSearch.js.map +0 -1
  1982. package/lib/topology/HalfEdgePositionDetail.d.ts.map +0 -1
  1983. package/lib/topology/HalfEdgePositionDetail.js.map +0 -1
  1984. package/lib/topology/HalfEdgePriorityQueue.d.ts.map +0 -1
  1985. package/lib/topology/HalfEdgePriorityQueue.js.map +0 -1
  1986. package/lib/topology/InsertAndRetriangulateContext.d.ts.map +0 -1
  1987. package/lib/topology/InsertAndRetriangulateContext.js.map +0 -1
  1988. package/lib/topology/MaskManager.d.ts.map +0 -1
  1989. package/lib/topology/MaskManager.js.map +0 -1
  1990. package/lib/topology/Merging.d.ts.map +0 -1
  1991. package/lib/topology/Merging.js.map +0 -1
  1992. package/lib/topology/RegularizeFace.d.ts.map +0 -1
  1993. package/lib/topology/RegularizeFace.js.map +0 -1
  1994. package/lib/topology/SignedDataSummary.d.ts.map +0 -1
  1995. package/lib/topology/SignedDataSummary.js.map +0 -1
  1996. package/lib/topology/Triangulation.d.ts.map +0 -1
  1997. package/lib/topology/Triangulation.js.map +0 -1
  1998. package/lib/topology/XYParitySearchContext.d.ts.map +0 -1
  1999. package/lib/topology/XYParitySearchContext.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MXCubicAlongArcSpiralEvaluator.js","sourceRoot":"","sources":["../../../../src/curve/spiral/MXCubicAlongArcSpiralEvaluator.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AACH,6CAA0C;AAC1C,qDAAkD;AAClD;;;;;;;;;;;;;;GAcG;AACH,MAAa,wBAAyB,SAAQ,+BAAc;IAI1D,uEAAuE;IACvE,YAAoB,OAAe,EAAE,OAAe,EAAE,UAAkB,EAAE,MAAc;QACtF,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,kCAAkC;IAC3B,MAAM,CAAC,aAAa,CAAC,OAAe,EAAE,OAAe;QAC1D,MAAM,UAAU,GAAG,wBAAwB,CAAC,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnG,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAAe,EAAE,OAAe;QACnD,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,SAAS;YACjB,OAAO,SAAS,CAAC;QACnB,MAAM,IAAI,GAAG,wBAAwB,CAAC,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7F,OAAO,IAAI,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAEe,YAAY,CAAC,WAAmB;QAC9C,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC;QACnC,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC;QACnC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IACD,0CAA0C;IACnC,KAAK,KAA+B,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3J,mCAAmC;IAC5B,aAAa,CAAC,KAAU;QAC7B,IAAI,KAAK,YAAY,wBAAwB,EAAE;YAC7C,OAAO,mBAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC;mBACtE,mBAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;SAC3E;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD;;;;;OAKG;IACI,MAAM,CAAC,2BAA2B,CAAC,cAAsB,EAAE,cAAsB,EAAE,oBAA4B;QACpH,MAAM,EAAE,GAAG,cAAc,GAAG,cAAc,CAAC;QAC3C,MAAM,EAAE,GAAG,cAAc,GAAG,cAAc,CAAC;QAC3C,MAAM,EAAE,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;QACvD,OAAO,oBAAoB,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;CACF;AApDD,4DAoDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Curve\r\n */\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { CubicEvaluator } from \"./CubicEvaluator\";\r\n/**\r\n * MX Cubic along arc.\r\n * This is y= m*x^3 with\r\n * * x any point on the x axis\r\n * * `fraction` along the spiral goes to `x = fraction * Lx`\r\n * * m is (1/6RL)\r\n * * construction length L is nominal along the curve.\r\n * * x length Lx is along the axis, determined by two terms of the clothoid x series.\r\n * *\r\n * @param localToWorld\r\n * @param nominalL1\r\n * @param nominalR1\r\n * @param activeInterval\r\n * @internal\r\n */\r\nexport class MXCubicAlongArcEvaluator extends CubicEvaluator {\r\n public nominalLength1: number;\r\n public nominalRadius1: number;\r\n\r\n /** Constructor is private. Caller responsible for cubicM validity. */\r\n private constructor(length1: number, radius1: number, axisLength: number, cubicM: number) {\r\n super(axisLength, cubicM);\r\n this.nominalLength1 = length1;\r\n this.nominalRadius1 = radius1;\r\n }\r\n\r\n /** Compute the cubic constant. */\r\n public static computeCubicM(length1: number, radius1: number): number | undefined {\r\n const axisLength = MXCubicAlongArcEvaluator.approximateDistanceAlongToX(length1, radius1, length1);\r\n return 1.0 / (6.0 * radius1 * axisLength);\r\n }\r\n\r\n public static create(length1: number, radius1: number): MXCubicAlongArcEvaluator | undefined {\r\n const m = this.computeCubicM(length1, radius1);\r\n if (m === undefined)\r\n return undefined;\r\n const xMax = MXCubicAlongArcEvaluator.approximateDistanceAlongToX(length1, radius1, length1);\r\n return new MXCubicAlongArcEvaluator(length1, radius1, xMax, m);\r\n }\r\n\r\n public override scaleInPlace(scaleFactor: number) {\r\n this.nominalLength1 *= scaleFactor;\r\n this.nominalRadius1 *= scaleFactor;\r\n super.scaleInPlace(scaleFactor);\r\n }\r\n /** return a deep copy of the evaluator */\r\n public clone(): MXCubicAlongArcEvaluator { return new MXCubicAlongArcEvaluator(this.nominalLength1, this.nominalRadius1, super._axisLength, this.cubicM); }\r\n /** Member by member matchup ... */\r\n public isAlmostEqual(other: any): boolean {\r\n if (other instanceof MXCubicAlongArcEvaluator) {\r\n return Geometry.isSameCoordinate(this.nominalLength1, other.nominalLength1)\r\n && Geometry.isSameCoordinate(this.nominalRadius1, other.nominalRadius1);\r\n }\r\n return false;\r\n }\r\n /**\r\n * Return a (fast but mediocre) approximation of spiral x position as function of approximate distance along the curve.\r\n * * This x-to-distance relation is not as precise as the CurvePrimitive method moveSignedDistanceFromFraction.\r\n * * It is supported here for users interested in replicating the Czech distance mapping rather than the more accurate CurvePrimitive measurements.\r\n * @param x distance along the x axis.\r\n */\r\n public static approximateDistanceAlongToX(nominalLength1: number, nominalRadius1: number, nominalDistanceAlong: number): number {\r\n const l2 = nominalLength1 * nominalLength1;\r\n const r2 = nominalRadius1 * nominalRadius1;\r\n const xx = nominalDistanceAlong * nominalDistanceAlong;\r\n return nominalDistanceAlong * (1.0 - xx * xx / (40.0 * r2 * l2));\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NormalizedTransition.d.ts","sourceRoot":"","sources":["../../../../src/curve/spiral/NormalizedTransition.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH;;;;;;;;;;;;GAYG;AACH,8BAAsB,oBAAoB;IACxC,iHAAiH;;IAEjH,wFAAwF;aACxE,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IACtE,mEAAmE;aACnD,qCAAqC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAChF;;OAEG;aACa,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IACzD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAA+B;IACjE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAkC;IACvE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAA4B;IAC3D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAA2B;IACzD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAA6B;IAE7D;;;;;;;;;;;OAWG;WACW,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;CAa5E;AACD;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,oBAAoB;;IAEpE,wFAAwF;IACjF,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAC7D,mEAAmE;IAC5D,qCAAqC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAChE;;OAEG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAGjD;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB;;IAQjE,wFAAwF;IACjF,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IACrD,mEAAmE;IAC5D,qCAAqC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAG/D;;OAEG;IACI,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAGzC;AACD;;;;;;;GAOG;AACH,qBAAa,+BAAgC,SAAQ,oBAAoB;;IAEvE,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,eAAe;IACvB;;;;;OAKG;IACI,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAGrD,mEAAmE;IAC5D,qCAAqC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAG/D;;OAEG;IACI,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAMzC;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,oBAAoB;;IAEhE,wFAAwF;IACjF,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrD,mEAAmE;IAC5D,qCAAqC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI/D;;OAEG;IACI,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAIzC;AACD;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,oBAAoB;;IAElE,wFAAwF;IACjF,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrD,mEAAmE;IAC5D,qCAAqC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI/D;;OAEG;IACI,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAIzC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NormalizedTransition.js","sourceRoot":"","sources":["../../../../src/curve/spiral/NormalizedTransition.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Curve\r\n */\r\n/**\r\n * NormalizedTransition is the (abstract) base class for clothoid, bloss, biquadratic, sine, and cosine transition functions.\r\n * * Each function maps fractional progress to a curvature value.\r\n * * f(0) === 0\r\n * * f(1) === 1\r\n * * f(u) === 1 - f (1-u)\r\n * * Each implementation provides:\r\n * * fractionToCurvature -- the f(u) function described above\r\n * * fractionToCurvatureDerivative -- df(u)/du\r\n * * fractionToArea -- integral of the area under f(u) from 0 to u.\r\n * * the symmetry condition ensures that the integral from 0 to 1 is 1/2\r\n * @internal\r\n */\r\nexport abstract class NormalizedTransition {\r\n /** Constructor initializes with 0..1 values .. call \"setBearingCurvatureLengthCurvature\" to apply real values */\r\n constructor() { }\r\n /** At fractional position on the x axis, return the (normalized) curvature fraction. */\r\n public abstract fractionToCurvatureFraction(fractionX: number): number;\r\n /** Return the derivative of the (normalized) curvature fraction */\r\n public abstract fractionToCurvatureFractionDerivative(fractionX: number): number;\r\n /** Return the integrated area under the curve\r\n * * This is equal to the accumulated angle change.\r\n */\r\n public abstract fractionToArea(fractionX: number): number;\r\n private static _clothoidEvaluator?: NormalizedClothoidTransition;\r\n private static _biquadraticEvaluator?: NormalizedBiQuadraticTransition;\r\n private static _blossEvaluator?: NormalizedBlossTransition;\r\n private static _sineEvaluator?: NormalizedSineTransition;\r\n private static _cosineEvaluator?: NormalizedCosineTransition;\r\n\r\n /**\r\n * Return a standard evaluator identified by string as:\r\n * * clothoid\r\n * * bloss\r\n * * biquadratic\r\n * * sine\r\n * * cosine\r\n * Each of these types\r\n * * is instantiated (only once) as a single static object within the NormalizedTransition class.\r\n * * has no instance data or mutator methods.\r\n * @param name string name of the transition.\r\n */\r\n public static findEvaluator(name: string): NormalizedTransition | undefined {\r\n if (name === \"clothoid\")\r\n return this._clothoidEvaluator ? this._clothoidEvaluator : (this._clothoidEvaluator = new NormalizedClothoidTransition());\r\n if (name === \"bloss\")\r\n return this._blossEvaluator ? this._blossEvaluator : (this._blossEvaluator = new NormalizedBlossTransition());\r\n if (name === \"biquadratic\")\r\n return this._biquadraticEvaluator ? this._biquadraticEvaluator : (this._biquadraticEvaluator = new NormalizedBiQuadraticTransition());\r\n if (name === \"sine\")\r\n return this._sineEvaluator ? this._sineEvaluator : (this._sineEvaluator = new NormalizedSineTransition());\r\n if (name === \"cosine\")\r\n return this._cosineEvaluator ? this._cosineEvaluator : (this._cosineEvaluator = new NormalizedCosineTransition());\r\n return undefined;\r\n }\r\n}\r\n/**\r\n * Transition functions for clothoid spiral.\r\n * * curvature variation is linear from (0,0) to (1,1)\r\n * @internal\r\n */\r\nexport class NormalizedClothoidTransition extends NormalizedTransition {\r\n constructor() { super(); }\r\n /** At fractional position on the x axis, return the (normalized) curvature fraction. */\r\n public fractionToCurvatureFraction(fractionX: number): number { return fractionX; }\r\n /** Return the derivative of the (normalized) curvature fraction */\r\n public fractionToCurvatureFractionDerivative(_u: number): number { return 1.0; }\r\n /** Return the integrated area under the curve.\r\n * * This fraction is the angular change fraction.\r\n */\r\n public fractionToArea(fractionX: number): number {\r\n return fractionX * fractionX * 0.5;\r\n }\r\n}\r\n\r\n/**\r\n * Transition functions for bloss spiral.\r\n * * curvature variation is cubic from (0,0) with slope 0 to (1,1) with slope 1\r\n * @internal\r\n */\r\nexport class NormalizedBlossTransition extends NormalizedTransition {\r\n // bloss curve is (3 - 2x) x ^2 = 3 x^2 - 2 x^3\r\n // derivative 6x (1-x)\r\n // 2nd derivative 6 - 12 x\r\n // derivatives zero at 0,1\r\n // inflection zero at 0.5\r\n // integral is x^3 - x^4 / 2 = x^3 ( 1-x/2)\r\n constructor() { super(); }\r\n /** At fractional position on the x axis, return the (normalized) curvature fraction. */\r\n public fractionToCurvatureFraction(u: number): number { return u * u * (3 - 2 * u); }\r\n /** Return the derivative of the (normalized) curvature fraction */\r\n public fractionToCurvatureFractionDerivative(u: number): number {\r\n return 6.0 * u * (1.0 - u);\r\n }\r\n /** Return the integrated area under the curve.\r\n * * This fraction is the angular change fraction.\r\n */\r\n public fractionToArea(u: number): number {\r\n return u * u * u * (1 - 0.5 * u);\r\n }\r\n}\r\n/**\r\n/**\r\n * Transition functions for biquadratic transition\r\n * * Curvature is a pair of joining quadratics.\r\n * * In lower half of the interval, the quadratic is from (0,0) to (0.5, 0.5) with zero slope at origin\r\n * * In upper half of the interval, the quadratic is from (0.5,0.5) to (1,1) with zero slope at 1\r\n * @internal\r\n */\r\nexport class NormalizedBiQuadraticTransition extends NormalizedTransition {\r\n constructor() { super(); }\r\n private integratedBasis(u: number): number { return u * u * u * (2.0 / 3.0); }\r\n private basis(u: number): number { return 2 * u * u; }\r\n private basisDerivative(u: number): number { return 4 * u; }\r\n /** At fractional position on the x axis, return the (normalized) curvature fraction.\r\n * * * For [u <= 0.5, u >= 0.5]\r\n * * f(u) = [2 u^2, 1 - 2 (1-u)^2]\r\n * * f'(u) = [4 u, 4 (1-u)]\r\n * * If(u) = [2 u^3 / 3, 0.5 (1 -u )^3/3]\r\n */\r\n public fractionToCurvatureFraction(u: number): number {\r\n return u <= 0.5 ? this.basis(u) : 1.0 - this.basis(1.0 - u);\r\n }\r\n /** Return the derivative of the (normalized) curvature fraction */\r\n public fractionToCurvatureFractionDerivative(u: number): number {\r\n return u < 0.5 ? this.basisDerivative(u) : this.basisDerivative(1 - u);\r\n }\r\n /** Return the integrated area under the curve.\r\n * * This fraction is the angular change fraction.\r\n */\r\n public fractionToArea(u: number): number {\r\n if (u <= 0.5)\r\n return this.integratedBasis(u);\r\n const v = 1 - u;\r\n return 0.5 - v + this.integratedBasis(v);\r\n }\r\n}\r\n\r\n/**\r\n * Transition functions for sine transition\r\n * * curvature variation is the sum of\r\n * * straight line from (0,0) to (1,1), like clothoid\r\n * * additional full period of a sine wave, producing 0 slope at both ends\r\n * @internal\r\n */\r\nexport class NormalizedSineTransition extends NormalizedTransition {\r\n constructor() { super(); }\r\n /** At fractional position on the x axis, return the (normalized) curvature fraction. */\r\n public fractionToCurvatureFraction(u: number): number {\r\n const a = 2.0 * Math.PI;\r\n return u - Math.sin(u * a) / a;\r\n }\r\n /** Return the derivative of the (normalized) curvature fraction */\r\n public fractionToCurvatureFractionDerivative(u: number): number {\r\n const a = 2.0 * Math.PI;\r\n return 1 - Math.cos(u * a);\r\n }\r\n /** Return the integrated area under the curve.\r\n * * This fraction is the angular change fraction.\r\n */\r\n public fractionToArea(u: number): number {\r\n const a = 2.0 * Math.PI;\r\n return 0.5 * u * u + (Math.cos(u * a) - 1.0) / (a * a);\r\n }\r\n}\r\n/**\r\n * Transition functions for cosine\r\n * * curvature variation is a half period of a cosine\r\n * @internal\r\n */\r\nexport class NormalizedCosineTransition extends NormalizedTransition {\r\n constructor() { super(); }\r\n /** At fractional position on the x axis, return the (normalized) curvature fraction. */\r\n public fractionToCurvatureFraction(u: number): number {\r\n const a = Math.PI;\r\n return 0.5 * (1 - Math.cos(u * a));\r\n }\r\n /** Return the derivative of the (normalized) curvature fraction */\r\n public fractionToCurvatureFractionDerivative(u: number): number {\r\n const a = Math.PI;\r\n return 0.5 * a * Math.sin(u * a);\r\n }\r\n /** Return the integrated area under the curve.\r\n * * This fraction is the angular change fraction.\r\n */\r\n public fractionToArea(u: number): number {\r\n const a = Math.PI;\r\n return 0.5 * u - 0.5 * Math.sin(u * a) / a;\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolishCubicSpiralEvaluator.d.ts","sourceRoot":"","sources":["../../../../src/curve/spiral/PolishCubicSpiralEvaluator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IAE9B,uEAAuE;IACvE,OAAO;IAMP,wCAAwC;WAC1B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;WAIvD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAUxE,YAAY,CAAC,WAAW,EAAE,MAAM;IAKhD,0CAA0C;IACnC,KAAK,IAAI,oBAAoB;IACpC,mCAAmC;IAC5B,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAQzC,2EAA2E;WAC7D,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAGlF;;;;;;OAMG;WACW,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAUzF;;;;;;OAMG;WACW,gCAAgC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAiBnG,kDAAkD;WACpC,2BAA2B,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAM3G"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolishCubicSpiralEvaluator.js","sourceRoot":"","sources":["../../../../src/curve/spiral/PolishCubicSpiralEvaluator.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Curve\r\n */\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { SimpleNewton } from \"../../numerics/Newton\";\r\nimport { CubicEvaluator } from \"./CubicEvaluator\";\r\n/**\r\n * Polish Cubic.\r\n * * Construction takes nominal length and end radius.\r\n * curve is is y= m*x^3 with\r\n * * x any point on the x axis\r\n * * m is (1/6RL)\r\n * * Lx = x length is along the axis, determined by inversion of a distance series at nominal length\r\n * *\r\n * @param localToWorld\r\n * @param nominalL1\r\n * @param nominalR1\r\n * @param activeInterval\r\n * @internal\r\n */\r\nexport class PolishCubicEvaluator extends CubicEvaluator {\r\n public nominalLength1: number;\r\n public nominalRadius1: number;\r\n\r\n /** Constructor is private. Caller responsible for cubicM validity. */\r\n private constructor(length1: number, radius1: number, axisLength: number, cubicM: number) {\r\n super(axisLength, cubicM);\r\n this.nominalLength1 = length1;\r\n this.nominalRadius1 = radius1;\r\n }\r\n\r\n /** Compute the czech cubic constant. */\r\n public static computeCubicM(length1: number, radius1: number): number {\r\n return 1.0 / (6.0 * length1 * radius1);\r\n }\r\n\r\n public static create(length1: number, radius1: number): PolishCubicEvaluator | undefined {\r\n const m = this.computeCubicM(length1, radius1);\r\n if (m === undefined)\r\n return undefined;\r\n const xMax = PolishCubicEvaluator.approximateDistanceAlongToX(length1, radius1, length1);\r\n if (xMax === undefined)\r\n return undefined;\r\n return new PolishCubicEvaluator(length1, radius1, xMax, m);\r\n }\r\n\r\n public override scaleInPlace(scaleFactor: number) {\r\n this.nominalLength1 *= scaleFactor;\r\n this.nominalRadius1 *= scaleFactor;\r\n super.scaleInPlace(scaleFactor);\r\n }\r\n /** return a deep copy of the evaluator */\r\n public clone(): PolishCubicEvaluator { return new PolishCubicEvaluator(this.nominalLength1, this.nominalRadius1, super._axisLength, this.cubicM); }\r\n /** Member by member matchup ... */\r\n public isAlmostEqual(other: any): boolean {\r\n if (other instanceof PolishCubicEvaluator) {\r\n return Geometry.isSameCoordinate(this.nominalLength1, other.nominalLength1)\r\n && Geometry.isSameCoordinate(this.nominalRadius1, other.nominalRadius1);\r\n }\r\n return false;\r\n }\r\n\r\n /** Compute the coefficient of x^4 in the x-to-distance series expansion */\r\n public static computeX4SeriesCoefficient(length1: number, radius1: number): number {\r\n return 1.0 / (4.0 * length1 * length1 * radius1 * radius1);\r\n }\r\n /**\r\n * Evaluate a series approximation of distance along the true curve.\r\n * @param x distance along x axis\r\n * @param radius1 nominal end radius\r\n * @param length1 nominal length along curve\r\n * @returns\r\n */\r\n public static xToApproximateDistance(x: number, radius1: number, length1: number): number {\r\n // C31 * ( 1 + 1 / 10 * E31 - 1 / 72 * E31^2 + 1 / 208 * E31^3 - 5 / 2176 * E31^4 )\r\n const a4 = this.computeX4SeriesCoefficient(length1, radius1);\r\n const ax2 = a4 * x * x;\r\n const ax3 = ax2 * x;\r\n const ax4 = ax3 * x;\r\n const s0 = x * (1.0 + ax4 * (0.1 + ax4 * (-1.0 / 72.0 + ax4 * (1.0 / 208.0 - 5.0 * ax4 / 2176.0))));\r\n return s0;\r\n }\r\n\r\n /**\r\n * Evaluate the derivative of the x-to-distance series.\r\n * @param x distance along x axis\r\n * @param radius1 nominal end radius\r\n * @param length1 nominal length along curve\r\n * @returns\r\n */\r\n public static xToApproximateDistanceDerivative(x: number, radius1: number, length1: number): number {\r\n // C31 * ( 1 + 1 / 10 * E31 - 1 / 72 * E31^2 + 1 / 208 * E31^3 - 5 / 2176 * E31^4 )\r\n const a4 = this.computeX4SeriesCoefficient(length1, radius1);\r\n const ax2 = a4 * x * x;\r\n const ax3 = ax2 * x;\r\n const ax4 = ax3 * x;\r\n // derivative notes ..\r\n // take away leading x -- this reduces each power by 1\r\n // multiply each coefficient by its original power:\r\n // 0.1==>0.5\r\n // 1/72==> 9/72 = 1/8\r\n // 1/208==>13/208=1/16\r\n // 1/2176==>17/2176= 1/128\r\n const ds = (1.0 + ax4 * (0.5 + ax4 * (-1.0 / 8.0 + ax4 * (1.0 / 16.0 - 5.0 * ax4 / 128.0))));\r\n return ds;\r\n }\r\n\r\n /** Invert the xToApproximateDistance function. */\r\n public static approximateDistanceAlongToX(s: number, radius1: number, length1: number): number | undefined {\r\n const root = SimpleNewton.runNewton1D(s,\r\n (x: number) => (this.xToApproximateDistance(x, radius1, length1) - s),\r\n (x: number) => this.xToApproximateDistanceDerivative(x, radius1, length1));\r\n return root;\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitionConditionalProperties.d.ts","sourceRoot":"","sources":["../../../../src/curve/spiral/TransitionConditionalProperties.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C;;;;;;;;;;GAUG;AACH,qBAAa,+BAA+B;IAC1C,6BAA6B;IACtB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,2BAA2B;IACpB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kDAAkD;IAC3C,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC,gDAAgD;IACzC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC,mBAAmB;IACZ,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;;;;;OAOG;gBAED,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,GAAG,SAAS;IAO/B,kEAAkE;IAC3D,oBAAoB;IAO3B,iEAAiE;IAC1D,KAAK,IAAI,+BAA+B;IAQ/C,wEAAwE;IACjE,qBAAqB;IAS5B;;OAEG;IACI,0BAA0B,IAAI,OAAO;IAkC5C,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IAEI,aAAa,CAAC,KAAK,CAAC,EAAE,+BAA+B;IAe5D,qDAAqD;IAC9C,gBAAgB,CAAC,CAAC,EAAE,MAAM;WAQnB,cAAc,CAAC,CAAC,EAAE,+BAA+B,GAAG,SAAS,EAAE,CAAC,EAAE,+BAA+B,GAAG,SAAS,GAAG,OAAO;CAKtI"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitionConditionalProperties.js","sourceRoot":"","sources":["../../../../src/curve/spiral/TransitionConditionalProperties.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Curve\r\n */\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { Angle } from \"../../geometry3d/Angle\";\r\nimport { TransitionSpiral3d } from \"./TransitionSpiral3d\";\r\n// import {} from \"./\";\r\n/** A true transition spiral is a curve defined by its curvature, with the curvature function symmetric about midpoint.\r\n * * The symmetry condition creates a relationship among the following 4 quantities:\r\n * ** curvature0 = curvature (i.e. 1/radius) at start\r\n * ** curvature1 = curvature (i.e. 1/radius) at end\r\n * ** sweepRadians = signed turning angle from start to end\r\n * ** arcLength = length of curve\r\n * * The relationship is the equation\r\n * ** `sweepRadians = arcLength * average Curvature = arcLength * 0.5 * (curvature0 + curvature1)`\r\n * * That is, regardless of any curvature properties other than symmetry, specifying any 3 of the quantities fully determines the remaining one.\r\n * @public\r\n */\r\nexport class TransitionConditionalProperties {\r\n /** radius (or 0 at start) */\r\n public radius0: number | undefined;\r\n /** radius (or 0) at end */\r\n public radius1: number | undefined;\r\n /** bearing at start, measured from x towards y */\r\n public bearing0: Angle | undefined;\r\n /** bearing at end, measured from x towards y */\r\n public bearing1: Angle | undefined;\r\n /** curve length */\r\n public curveLength: number | undefined;\r\n /**\r\n * capture numeric or undefined values\r\n * @param radius0 start radius or undefined\r\n * @param radius1 end radius or undefined\r\n * @param bearing0 start bearing or undefined\r\n * @param bearing1 end bearing or undefined\r\n * @param arcLength arc length or undefined\r\n */\r\n public constructor(\r\n radius0: number | undefined,\r\n radius1: number | undefined,\r\n bearing0: Angle | undefined,\r\n bearing1: Angle | undefined,\r\n arcLength: number | undefined) {\r\n this.radius0 = radius0;\r\n this.radius1 = radius1;\r\n this.bearing0 = bearing0;\r\n this.bearing1 = bearing1;\r\n this.curveLength = arcLength;\r\n }\r\n /** return the number of defined values among the 5 properties. */\r\n public numDefinedProperties() {\r\n return Geometry.defined01(this.radius0)\r\n + Geometry.defined01(this.radius1)\r\n + Geometry.defined01(this.bearing0)\r\n + Geometry.defined01(this.bearing1)\r\n + Geometry.defined01(this.curveLength);\r\n }\r\n /** clone with all properties (i.e. preserve undefined states) */\r\n public clone(): TransitionConditionalProperties {\r\n return new TransitionConditionalProperties(\r\n this.radius0,\r\n this.radius1,\r\n this.bearing0 === undefined ? undefined : this.bearing0.clone(),\r\n this.bearing1 === undefined ? undefined : this.bearing1.clone(),\r\n this.curveLength);\r\n }\r\n /** Return true if all components are defined and agree equationally. */\r\n public getIsValidCompleteSet() {\r\n if (this.curveLength !== undefined && this.bearing0 !== undefined && this.bearing1 !== undefined\r\n && this.radius0 !== undefined && this.radius1 !== undefined) {\r\n const length1 = TransitionSpiral3d.radiusRadiusSweepRadiansToArcLength(this.radius0, this.radius1,\r\n this.bearing1.radians - this.bearing0.radians);\r\n return Geometry.isSameCoordinate(this.curveLength, length1);\r\n }\r\n return false;\r\n }\r\n /** Examine which properties are defined and compute the (single) undefined.\r\n * @returns Return true if the input state had precisely one undefined member.\r\n */\r\n public tryResolveAnySingleUnknown(): boolean {\r\n if (this.getIsValidCompleteSet())\r\n return true;\r\n if (this.bearing0 && this.bearing1) {\r\n const sweepRadians = this.bearing1.radians - this.bearing0.radians;\r\n if (this.curveLength === undefined && this.radius0 !== undefined && this.radius1 !== undefined) {\r\n this.curveLength = TransitionSpiral3d.radiusRadiusSweepRadiansToArcLength(this.radius0, this.radius1, sweepRadians);\r\n return true;\r\n }\r\n if (this.curveLength !== undefined && this.radius0 === undefined && this.radius1 !== undefined) {\r\n this.radius0 = TransitionSpiral3d.radius1LengthSweepRadiansToRadius0(this.radius1, this.curveLength, sweepRadians);\r\n return true;\r\n }\r\n if (this.curveLength !== undefined && this.radius0 !== undefined && this.radius1 === undefined) {\r\n this.radius1 = TransitionSpiral3d.radius0LengthSweepRadiansToRadius1(this.radius0, this.curveLength, sweepRadians);\r\n return true;\r\n }\r\n return false;\r\n }\r\n // at least one bearing is undefined ...\r\n if (this.curveLength === undefined || this.radius0 === undefined || this.radius1 === undefined)\r\n return false;\r\n\r\n if (this.bearing0) { // bearing 1 is undefined\r\n this.bearing1 = Angle.createRadians(this.bearing0.radians + TransitionSpiral3d.radiusRadiusLengthToSweepRadians(this.radius0, this.radius1, this.curveLength));\r\n return true;\r\n }\r\n\r\n if (this.bearing1) { // bearing 0 is undefined\r\n this.bearing0 = Angle.createRadians(this.bearing1.radians - TransitionSpiral3d.radiusRadiusLengthToSweepRadians(this.radius0, this.radius1, this.curveLength));\r\n return true;\r\n }\r\n return false;\r\n }\r\n private almostEqualCoordinate(a: number | undefined, b: number | undefined): boolean {\r\n if (a === undefined && b === undefined)\r\n return true;\r\n if (a !== undefined && b !== undefined)\r\n return Geometry.isSameCoordinate(a, b);\r\n return false;\r\n }\r\n private almostEqualBearing(a: Angle | undefined, b: Angle | undefined): boolean {\r\n if (a === undefined && b === undefined)\r\n return true;\r\n if (a !== undefined && b !== undefined)\r\n return a.isAlmostEqualNoPeriodShift(b);\r\n return false;\r\n }\r\n\r\n /**\r\n * Test if this and other have matching numeric and undefined members.\r\n */\r\n\r\n public isAlmostEqual(other?: TransitionConditionalProperties) {\r\n if (!other)\r\n return false;\r\n if (!this.almostEqualCoordinate(this.radius0, other.radius0))\r\n return false;\r\n if (!this.almostEqualCoordinate(this.radius1, other.radius1))\r\n return false;\r\n if (!this.almostEqualBearing(this.bearing0, other.bearing0))\r\n return false;\r\n if (!this.almostEqualBearing(this.bearing1, other.bearing1))\r\n return false;\r\n if (!this.almostEqualCoordinate(this.curveLength, other.curveLength))\r\n return false;\r\n return true;\r\n }\r\n /** Apply a NONZERO scale factor to all distances. */\r\n public applyScaleFactor(a: number) {\r\n if (this.radius0 !== undefined)\r\n this.radius0 *= a;\r\n if (this.radius1 !== undefined)\r\n this.radius1 *= a;\r\n if (this.curveLength !== undefined)\r\n this.curveLength *= a;\r\n }\r\n public static areAlmostEqual(a: TransitionConditionalProperties | undefined, b: TransitionConditionalProperties | undefined): boolean {\r\n if (a === undefined)\r\n return b === undefined;\r\n return a.isAlmostEqual(b);\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitionSpiral3d.d.ts","sourceRoot":"","sources":["../../../../src/curve/spiral/TransitionSpiral3d.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C;;;;;;;;;;;;GAYG;AACH,oBAAY,wBAAwB,GAAG,UAAU,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhG;;;;GAIG;AACH,oBAAY,oBAAoB,GAC7B,eAAe,GACd,OAAO,GACP,cAAc,GACd,YAAY,GACZ,oBAAoB,GACpB,mBAAmB,GACnB,OAAO,GACP,iBAAiB,GACjB,QAAQ,GACR,SAAS,CACV;AAEH;;;;;;;;;;;;GAYG;AACH,8BAAsB,kBAAmB,SAAQ,cAAc;IAC7D,iCAAiC;IACjC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,oCAAoC;IACpC,SAAS,CAAC,iBAAiB,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAEzE;;OAEG;IACH,SAAS,CAAC,uBAAuB,EAAE,SAAS,CAAC;IAC7C,wEAAwE;IACxE,IAAW,sBAAsB,IAAI,SAAS,CAAyC;IACvF,oCAAoC;IACpC,aAAoB,aAAa,IAAI,YAAY,CAAC;IAClD,0BAA0B;IAC1B,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC;IACnC,0CAA0C;IAC1C,IAAW,YAAY,IAAI,SAAS,CAA+B;IAEnE,SAAS,aAAa,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,SAAS,GAAG,SAAS,EAAE,gBAAgB,EAAE,+BAA+B,GAAG,SAAS;IAQ3L,IAAW,UAAU,IAAI,MAAM,CAA6B;IAC5D,iIAAiI;WACnH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAEvD,+GAA+G;WACjG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM1D,0DAA0D;WAC5C,gBAAgB,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM;IAG/D;;;;OAIG;WACW,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAGlE;;;;OAIG;WACW,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAIxF,qFAAqF;WACvE,mCAAmC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIjH,yEAAyE;WAC3D,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAI3G,sFAAsF;WACxE,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAGzG,sFAAsF;WACxE,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAGzG,iFAAiF;IACjF,IAAW,gBAAgB,IAAI,+BAA+B,GAAG,SAAS,CAAmC;IAC7G;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,GAAG;QAAE,SAAS,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;CAgB/G"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitionSpiral3d.js","sourceRoot":"","sources":["../../../../src/curve/spiral/TransitionSpiral3d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Curve\r\n */\r\n\r\nimport { CurvePrimitive } from \"../CurvePrimitive\";\r\nimport { Matrix3d } from \"../../geometry3d/Matrix3d\";\r\nimport { Segment1d } from \"../../geometry3d/Segment1d\";\r\nimport { Transform } from \"../../geometry3d/Transform\";\r\nimport { TransitionConditionalProperties } from \"./TransitionConditionalProperties\";\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { LineString3d } from \"../LineString3d\";\r\n/**\r\n * This is the set of valid type names for \"integrated\" spirals\r\n * * Behavior is expressed by a `NormalizedTransition` snap function.\r\n * * The snap function varies smoothly from f(0)=0 to f(1)=1\r\n * * The various snap functions are:\r\n * * clothoid: linear\r\n * * biquadratic: 2 quadratics pieced together, joining with 1st derivative continuity at f(0.) = 0.5, with zero slope f'(0)=0 and f'(1)= 0\r\n * * bloss: A single cubic with zero slope at 0 and 1\r\n * * cosine: half of a cosine wave, centered around 0.5\r\n * * sine: full period of a sine wave added to the line f(u)=u\r\n * *\r\n * @public\r\n */\r\nexport type IntegratedSpiralTypeName = \"clothoid\" | \"bloss\" | \"biquadratic\" | \"cosine\" | \"sine\";\r\n\r\n/**\r\n * This is the set of valid type names for \"direct\" spirals.\r\n * \"Direct\" spirals can evaluate fractionToPoint by direct equations, i.e. not requiring the numeric integrations in \"Integrated\" spiral types.\r\n * @public\r\n */\r\nexport type DirectSpiralTypeName =\r\n \"JapaneseCubic\" // 1 term from each of the X,Y clothoid series expansions: y = x^3 / (6RL)\r\n | \"Arema\" // 2 terms from each of the X,Y clothoid series expansions. Identical to ChineseCubic!\r\n | \"ChineseCubic\" // Identical to Arema!\r\n | \"HalfCosine\" // high continuity cosine variation from quadratic.\r\n | \"AustralianRailCorp\" // cubic with high accuracy distance series\r\n | \"WesternAustralian\" // simple cubic -- 2 terms of x series, 1 term of y series.\r\n | \"Czech\" // simple cubic with two term distance approximation\r\n | \"MXCubicAlongArc\" // x obtained from fractional distance via 2-terms from series, y = x^3/ (6RL)\r\n | \"Polish\"\r\n | \"Italian\"\r\n ;\r\n\r\n/**\r\n * TransitionSpiral3d is a base class for multiple variants of spirals.\r\n * * The menagerie of spiral types have 2 broad categories:\r\n * * IntegratedSpiral3d -- a spiral whose direct function for curvature versus distance must be integrated to determine x,y\r\n * * The IntegratedSpiral3d types are enumerated in `IntegratedSpiralTypes`\r\n * * DirectSpiral3d -- a spiral implemented with direct calculation of x,y from fractional position along the spiral.\r\n * * The direct spiral types are enumerated in the `DirectSpiralType`\r\n * * The method set for CurvePrimitive support includes a `handleTransitionSpiral(g: TransitionSpiral3d)` which receives all the spiral types.\r\n * * The spiral class may impose expectations that its inflection is at the origin, with tangent along the x axis.\r\n * * This is generally necessary for direct spirals.\r\n * * This is not necessary for integrated spirals.\r\n * @public\r\n */\r\nexport abstract class TransitionSpiral3d extends CurvePrimitive {\r\n /** string name of spiral type */\r\n protected _spiralType: string;\r\n /** Original defining properties. */\r\n protected _designProperties: TransitionConditionalProperties | undefined;\r\n\r\n /** Fractional interval for the \"active\" part of a containing spiral.\r\n * (The radius, angle, and length conditions define a complete spiral, and some portion of it is \"active\")\r\n */\r\n protected _activeFractionInterval: Segment1d;\r\n /** Return (reference to) the active portion of the reference spiral. */\r\n public get activeFractionInterval(): Segment1d { return this._activeFractionInterval; }\r\n /** strokes in the active portion */\r\n public abstract get activeStrokes(): LineString3d;\r\n /** Placement transform */\r\n protected _localToWorld: Transform;\r\n /** (reference to) placement transform. */\r\n public get localToWorld(): Transform { return this._localToWorld; }\r\n\r\n protected constructor(spiralType: string | undefined, localToWorld: Transform, activeFractionInterval: Segment1d | undefined, designProperties: TransitionConditionalProperties | undefined) {\r\n super();\r\n this._spiralType = spiralType ? spiralType : \"unknownSpiralType\";\r\n this._designProperties = designProperties;\r\n this._localToWorld = localToWorld;\r\n this._activeFractionInterval = activeFractionInterval ? activeFractionInterval : Segment1d.create(0, 1);\r\n }\r\n\r\n public get spiralType(): string { return this._spiralType; }\r\n /** Return 1/r with convention that if true zero is given as radius it represents infinite radius (0 curvature, straight line) */\r\n public static radiusToCurvature(radius: number): number { return (radius === 0.0) ? 0.0 : 1.0 / radius; }\r\n\r\n /** Return 1/k with convention that if near-zero is given as curvature, its infinite radius is returned as 0 */\r\n public static curvatureToRadius(curvature: number): number {\r\n if (Math.abs(curvature) < Geometry.smallAngleRadians)\r\n return 0.0;\r\n return 1.0 / curvature;\r\n }\r\n\r\n /** Return the average of the start and end curvatures. */\r\n public static averageCurvature(radiusLimits: Segment1d): number {\r\n return 0.5 * (TransitionSpiral3d.radiusToCurvature(radiusLimits.x0) + TransitionSpiral3d.radiusToCurvature(radiusLimits.x1));\r\n }\r\n /**\r\n * Given two radii (or zeros for 0 curvature) return the average curvature\r\n * @param r0 start radius, or 0 for line\r\n * @param r1 end radius, or 0 for line\r\n */\r\n public static averageCurvatureR0R1(r0: number, r1: number): number {\r\n return 0.5 * (TransitionSpiral3d.radiusToCurvature(r0) + TransitionSpiral3d.radiusToCurvature(r1));\r\n }\r\n /**\r\n * Given two radii (or zeros for 0 curvature) return the average curvature\r\n * @param r0 start radius, or 0 for line\r\n * @param r1 end radius, or 0 for line\r\n */\r\n public static interpolateCurvatureR0R1(r0: number, fraction: number, r1: number): number {\r\n return Geometry.interpolate(TransitionSpiral3d.radiusToCurvature(r0), fraction, TransitionSpiral3d.radiusToCurvature(r1));\r\n }\r\n\r\n /** Return the arc length of a transition spiral with given sweep and radius pair. */\r\n public static radiusRadiusSweepRadiansToArcLength(radius0: number, radius1: number, sweepRadians: number): number {\r\n return Math.abs(sweepRadians / TransitionSpiral3d.averageCurvatureR0R1(radius0, radius1));\r\n }\r\n\r\n /** Return the turn angle for spiral of given length between two radii */\r\n public static radiusRadiusLengthToSweepRadians(radius0: number, radius1: number, arcLength: number): number {\r\n return TransitionSpiral3d.averageCurvatureR0R1(radius0, radius1) * arcLength;\r\n }\r\n\r\n /** Return the end radius for spiral of given start radius, length, and turn angle. */\r\n public static radius0LengthSweepRadiansToRadius1(radius0: number, arcLength: number, sweepRadians: number) {\r\n return TransitionSpiral3d.curvatureToRadius((2.0 * sweepRadians / arcLength) - TransitionSpiral3d.radiusToCurvature(radius0));\r\n }\r\n /** Return the start radius for spiral of given end radius, length, and turn angle. */\r\n public static radius1LengthSweepRadiansToRadius0(radius1: number, arcLength: number, sweepRadians: number) {\r\n return TransitionSpiral3d.curvatureToRadius((2.0 * sweepRadians / arcLength) - TransitionSpiral3d.radiusToCurvature(radius1));\r\n }\r\n /** Return the original defining properties (if any) saved by the constructor. */\r\n public get designProperties(): TransitionConditionalProperties | undefined { return this._designProperties; }\r\n /**\r\n * * If transformA is rigid with uniform scale, apply the rigid part of transformA to the localToWorld transform and return the scale and rigid separation.\r\n * * If not rigid, do nothing and return undefined.\r\n * * Also apply the scale factor to the designProperties.\r\n * @param transformA\r\n */\r\n protected applyRigidPartOfTransform(transformA: Transform): { rigidAxes: Matrix3d, scale: number } | undefined {\r\n const rigidData = transformA.matrix.factorRigidWithSignedScale();\r\n if (rigidData !== undefined) {\r\n // [sQ a][R b] = [sQ*R sQb+a]\r\n // but we save it as [Q*R sQb+a] with spiral data scaled by s.\r\n const transformC0 = transformA.multiplyTransformTransform(this.localToWorld);\r\n // BUT pull the scale part out of the matrix ...\r\n const matrixC = rigidData.rigidAxes.multiplyMatrixMatrix(this.localToWorld.matrix);\r\n this._localToWorld = Transform.createOriginAndMatrix(transformC0.origin, matrixC);\r\n if (this.designProperties)\r\n this.designProperties.applyScaleFactor(rigidData.scale);\r\n\r\n return rigidData;\r\n }\r\n return undefined;\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XYCurveEvaluator.d.ts","sourceRoot":"","sources":["../../../../src/curve/spiral/XYCurveEvaluator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C;;;;;;;GAOG;AACH,8BAAsB,gBAAgB;IACpC,0CAA0C;aAC1B,KAAK,IAAI,gBAAgB;IACzC,wCAAwC;aACxB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAClD,yCAAyC;aACzB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IACrD,yCAAyC;aACzB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IACrD,gFAAgF;aAChE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IACtD,gFAAgF;aAChE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IACtD,uFAAuF;aACvE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IACvD,uFAAuF;aACvE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IACvD,iFAAiF;IACjF,uFAAuF;aACvE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IACvD,uFAAuF;aACvE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IACvD,iFAAiF;IAC1E,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAGnE,4IAA4I;IACrI,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK;IAK5E,+IAA+I;IACxI,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,yBAAyB;IAOtH;;;OAGG;IACI,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAM3D,mDAAmD;aAEnC,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAC1D,0EAA0E;IAG1E,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC;IACvC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5C,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC;WAChG,aAAa;IAK3B;;;;;OAKG;IACI,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAUtF;;;;;;;OAOG;IACI,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAatJ;;;;;;;OAOG;IACI,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ;IAStH,+CAA+C;aAC/B,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CACxD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XYCurveEvaluator.js","sourceRoot":"","sources":["../../../../src/curve/spiral/XYCurveEvaluator.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Curve\r\n */\r\nimport { Geometry } from \"../../Geometry\";\r\nimport { Plane3dByOriginAndVectors } from \"../../geometry3d/Plane3dByOriginAndVectors\";\r\nimport { Point3d, Vector3d } from \"../../geometry3d/Point3dVector3d\";\r\nimport { Ray3d } from \"../../geometry3d/Ray3d\";\r\nimport { Quadrature } from \"../../numerics/Quadrature\";\r\nimport { SimpleNewton } from \"../../numerics/Newton\";\r\n/**\r\n * XYCurveEvaluator is an abstract with methods for evaluating X and Y parts of a curve parameterized by a fraction.\r\n * * The required methods call for independent X and Y evaluation.\r\n * * Base class methods package those (multiple) calls into point, ray, and plane structures.\r\n * * A implementation that has evaluation substantial cost that can be shared among x,y parts or between\r\n * primary functions and derivatives might choose to implement the point and derivative methods directly.\r\n * @internal\r\n */\r\nexport abstract class XYCurveEvaluator {\r\n /** return a deep copy of the evaluator */\r\n public abstract clone(): XYCurveEvaluator;\r\n /** test for near identical evaluator */\r\n public abstract isAlmostEqual(other: any): boolean;\r\n /** Evaluate X at fractional position. */\r\n public abstract fractionToX(fraction: number): number;\r\n /** Evaluate Y at fractional position. */\r\n public abstract fractionToY(fraction: number): number;\r\n /** Evaluate derivative of X with respect to fraction at fractional position. */\r\n public abstract fractionToDX(fraction: number): number;\r\n /** Evaluate derivative of Y with respect to fraction at fractional position. */\r\n public abstract fractionToDY(fraction: number): number;\r\n /** Evaluate second derivative of X with respect to fraction at fractional position. */\r\n public abstract fractionToDDX(fraction: number): number;\r\n /** Evaluate second derivative of Y with respect to fraction at fractional position. */\r\n public abstract fractionToDDY(fraction: number): number;\r\n /** Evaluate both X and Y at fractional coordinate, return bundled as a point. */\r\n /** Evaluate second derivative of X with respect to fraction at fractional position. */\r\n public abstract fractionToD3X(fraction: number): number;\r\n /** Evaluate second derivative of Y with respect to fraction at fractional position. */\r\n public abstract fractionToD3Y(fraction: number): number;\r\n /** Evaluate both X and Y at fractional coordinate, return bundled as a point. */\r\n public fractionToPoint(fraction: number, result?: Point3d): Point3d {\r\n return Point3d.create(this.fractionToX(fraction), this.fractionToY(fraction), 0.0, result);\r\n }\r\n /** Evaluate both X and Y and their first derivatives at fractional coordinate, return bundled as origin and (non-unit) direction vector. */\r\n public fractionToPointAndDerivative(fraction: number, result?: Ray3d): Ray3d {\r\n return Ray3d.createXYZUVW(this.fractionToX(fraction), this.fractionToY(fraction), 0.0,\r\n this.fractionToDX(fraction), this.fractionToDY(fraction), 0,\r\n result);\r\n }\r\n /** Evaluate both X and Y and their second derivatives at fractional coordinate, return bundled as origin and (non-unit) vectorU an vectorV. */\r\n public fractionToPointAnd2Derivatives(fraction: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors {\r\n return Plane3dByOriginAndVectors.createOriginAndVectorsXYZ(\r\n this.fractionToX(fraction), this.fractionToY(fraction), 0.0,\r\n this.fractionToDX(fraction), this.fractionToDY(fraction), 0,\r\n this.fractionToDDX(fraction), this.fractionToDDY(fraction), 0,\r\n result);\r\n }\r\n /**\r\n * Return the magnitude of the tangent vector at fraction.\r\n * @param fraction fractional position along the curve\r\n */\r\n public fractionToTangentMagnitude(fraction: number): number {\r\n const u = this.fractionToDX(fraction);\r\n const v = this.fractionToDY(fraction);\r\n return Geometry.hypotenuseXY(u, v);\r\n }\r\n\r\n /** Invert the fractionToX function for given X. */\r\n\r\n public abstract xToFraction(x: number): number | undefined;\r\n /** Initialize class level work arrays for 5 point Gaussian Quadrature. */\r\n // Class resources for integration . . .\r\n // These static variables are reused on calls to integrateFromStartFraction\r\n protected static _gaussX: Float64Array;\r\n protected static _gaussWeight: Float64Array;\r\n protected static _gaussMapper: (xA: number, xB: number, arrayX: Float64Array, arrayW: Float64Array) => number;\r\n public static initWorkSpace() {\r\n XYCurveEvaluator._gaussX = new Float64Array(5);\r\n XYCurveEvaluator._gaussWeight = new Float64Array(5);\r\n XYCurveEvaluator._gaussMapper = Quadrature.setupGauss5;\r\n }\r\n /**\r\n * Integrate between nominal fractions with default gauss rule.\r\n * * The caller is expected to choose nearby fractions so that the single gauss interval accuracy is good.\r\n * @param fraction0\r\n * @param fraction1\r\n */\r\n public integrateDistanceBetweenFractions(fraction0: number, fraction1: number): number {\r\n const gaussX = XYCurveEvaluator._gaussX;\r\n const gaussWeight = XYCurveEvaluator._gaussWeight;\r\n const numEval = XYCurveEvaluator._gaussMapper(fraction0, fraction1, gaussX, gaussWeight);\r\n let sum = 0;\r\n for (let k = 0; k < numEval; k++) {\r\n sum += gaussWeight[k] * this.fractionToTangentMagnitude(gaussX[k]);\r\n }\r\n return sum;\r\n }\r\n /**\r\n * Inverse integrated distance\r\n * @param fraction0 start of fraction interval\r\n * @param fraction1 end of fraction interval\r\n * @param distance0 distance at start\r\n * @param distance1 distance at end\r\n * @param targetDistance intermediate distance.\r\n */\r\n public inverseDistanceFraction(fraction0: number, fraction1: number, distance0: number, distance1: number, targetDistance: number): number | undefined {\r\n const startFraction = Geometry.inverseInterpolate(fraction0, distance0, fraction1, distance1, targetDistance);\r\n if (startFraction !== undefined) {\r\n return SimpleNewton.runNewton1D(startFraction,\r\n (fraction: number) => {\r\n const d = this.integrateDistanceBetweenFractions(fraction0, fraction);\r\n return distance0 + d - targetDistance;\r\n },\r\n (fraction: number) => this.fractionToTangentMagnitude(fraction));\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n *\r\n * @param fraction fractional position along x axis\r\n * @param xy xy coordinates of point on the curve\r\n * @param d1xy\r\n * @param d2xy\r\n * @param d3xy\r\n */\r\n public fractionToPointAnd3Derivatives(fraction: number, xy: Point3d, d1xy?: Vector3d, d2xy?: Vector3d, d3xy?: Vector3d) {\r\n xy.set(this.fractionToX(fraction), this.fractionToY(fraction), 0);\r\n if (d1xy)\r\n d1xy.set(this.fractionToDX(fraction), this.fractionToDY(fraction), 0);\r\n if (d2xy)\r\n d2xy.set(this.fractionToDDX(fraction), this.fractionToDDY(fraction), 0);\r\n if (d3xy)\r\n d3xy.set(this.fractionToD3X(fraction), this.fractionToD3Y(fraction), 0);\r\n }\r\n /** Apply a uniform scale around the origin. */\r\n public abstract scaleInPlace(scaleFactor: number): void;\r\n}\r\n// at load time, initialize gauss quadrature workspace\r\nXYCurveEvaluator.initWorkSpace();\r\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Angle.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/Angle.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Angle.js","sourceRoot":"","sources":["../../../src/geometry3d/Angle.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module CartesianGeometry\r\n */\r\n\r\nimport { AngleProps, BeJSONFunctions, Geometry, TrigValues } from \"../Geometry\";\r\n\r\n/**\r\n * An `Angle` carries the numeric value of an angle, with methods to allow (require!) callers to be clear about whether their angle is degrees or radians.\r\n * * The numeric value is private, and callers should not know or care whether it is in degrees or radians.\r\n * * The various access method are named so that callers can specify whether untyped numbers passed in or out are degrees or radians.\r\n * @public\r\n */\r\nexport class Angle implements BeJSONFunctions {\r\n /** maximal accuracy value of pi/4 ( 45 degrees), in radians */\r\n public static readonly piOver4Radians = 7.85398163397448280000e-001;\r\n /** maximal accuracy value of pi/2 ( 90 degrees), in radians */\r\n public static readonly piOver2Radians = 1.57079632679489660000e+000;\r\n /** maximal accuracy value of pi ( 180 degrees), in radians */\r\n public static readonly piRadians = 3.14159265358979310000e+000;\r\n /** maximal accuracy value of 2*pi (360 degrees), in radians */\r\n public static readonly pi2Radians = 6.28318530717958620000e+000;\r\n /** scale factor for converting radians to degrees */\r\n public static readonly degreesPerRadian = (45.0 / Angle.piOver4Radians);\r\n /** scale factor for converting degrees to radians */\r\n public static readonly radiansPerDegree = (Angle.piOver4Radians / 45.0);\r\n /** maximal accuracy value of pi/12 ( 15 degrees), in radians */\r\n public static readonly piOver12Radians = 0.26179938779914943653855361527329;\r\n private _radians: number;\r\n private _degrees?: number;\r\n private constructor(radians = 0, degrees?: number) { this._radians = radians; this._degrees = degrees; }\r\n /** Return a new angle with the same content. */\r\n public clone(): Angle { return new Angle(this._radians, this._degrees); }\r\n /** Freeze this instance so it is read-only */\r\n public freeze(): Readonly<this> { return Object.freeze(this); }\r\n\r\n /**\r\n * Return a new Angle object for angle given in degrees.\r\n * @param degrees angle in degrees\r\n */\r\n public static createDegrees(degrees: number) { return new Angle(Angle.degreesToRadians(degrees), degrees); }\r\n /**\r\n * Return a (new) Angle object for a value given in radians.\r\n * @param radians angle in radians\r\n */\r\n public static createRadians(radians: number) { return new Angle(radians); }\r\n /**\r\n * Return a (new) Angle object that is interpolated between two inputs\r\n * @param radians angle in radians\r\n */\r\n public static createInterpolate(angle0: Angle, fraction: number, angle1: Angle) {\r\n return new Angle(Geometry.interpolate(angle0.radians, fraction, angle1.radians));\r\n }\r\n /**\r\n * Return a (new) Angle object, with angle scaled from existing angle.\r\n * @param scale scale factor to apply to angle.\r\n */\r\n public cloneScaled(scale: number) { return new Angle(this.radians * scale); }\r\n\r\n /**\r\n * Set this angle to a value given in radians.\r\n * @param radians angle given in radians\r\n */\r\n public setRadians(radians: number) { this._radians = radians; this._degrees = undefined; }\r\n /**\r\n * Set this angle to a value given in degrees.\r\n * @param degrees angle given in degrees.\r\n */\r\n public setDegrees(degrees: number) { this._radians = Angle.degreesToRadians(degrees); this._degrees = degrees; }\r\n /** Create an angle for a full circle. */\r\n public static create360() { return new Angle(Math.PI * 2.0, 360.0); }\r\n /**\r\n * @return a (strongly typed) Angle whose tangent is `numerator/denominator`, using the signs of both in determining the (otherwise ambiguous)\r\n * quadrant.\r\n * @param numerator numerator for tangent\r\n * @param denominator denominator for tangent\r\n */\r\n public static createAtan2(numerator: number, denominator: number): Angle { return new Angle(Math.atan2(numerator, denominator)); }\r\n /**\r\n * Copy all contents of `other` to this Angle.\r\n * @param other source data\r\n */\r\n public setFrom(other: Angle) { this._radians = other._radians; this._degrees = other._degrees; }\r\n /**\r\n * Create an Angle from a JSON object\r\n * @param json object from JSON.parse. If a number, value is in *DEGREES*\r\n * @param defaultValRadians if json is undefined, default value in radians.\r\n * @return a new Angle\r\n */\r\n public static fromJSON(json?: AngleProps, defaultValRadians?: number): Angle {\r\n const val = new Angle();\r\n val.setFromJSON(json, defaultValRadians);\r\n return val;\r\n }\r\n /**\r\n * set an Angle from a JSON object\r\n * * A simple number is degrees.\r\n * * specified `json.degrees` or `json._degrees` is degree value.\r\n * * specified `son.radians` or `json._radians` is radians value.\r\n * @param json object from JSON.parse. If a number, value is in *DEGREES*\r\n * @param defaultValRadians if json is undefined, default value in radians.\r\n */\r\n public setFromJSON(json?: AngleProps, defaultValRadians?: number) {\r\n this._radians = defaultValRadians ? defaultValRadians : 0;\r\n if (!json)\r\n return;\r\n if (typeof json === \"number\") {\r\n this.setDegrees(json);\r\n } else if (typeof (json as any).degrees === \"number\") {\r\n this.setDegrees((json as any).degrees);\r\n } else if (typeof (json as any)._degrees === \"number\") {\r\n this.setDegrees((json as any)._degrees);\r\n } else if (typeof (json as any).radians === \"number\") {\r\n this.setRadians((json as any).radians);\r\n } else if (typeof (json as any)._radians === \"number\") {\r\n this.setRadians((json as any)._radians);\r\n }\r\n }\r\n /** Convert an Angle to a JSON object as a number in degrees */\r\n public toJSON(): AngleProps { return this.degrees; }\r\n /** Return a json object with radians keyword, e.g. `{ radians: 0.10}` */\r\n public toJSONRadians(): AngleProps { return { radians: this.radians }; }\r\n /** Return the angle measured in radians. */\r\n public get radians(): number { return this._radians; }\r\n /** Return the angle measured in degrees. */\r\n public get degrees(): number { return this._degrees !== undefined ? this._degrees : Angle.radiansToDegrees(this._radians); }\r\n /**\r\n * Convert an angle in degrees to radians.\r\n * @param degrees angle in degrees\r\n */\r\n public static degreesToRadians(degrees: number) { return degrees * Math.PI / 180; }\r\n /**\r\n * Convert an angle in radians to degrees.\r\n * @param degrees angle in radians\r\n */\r\n public static radiansToDegrees(radians: number): number {\r\n if (radians < 0)\r\n return -Angle.radiansToDegrees(-radians);\r\n // Now radians is positive ...\r\n const pi = Math.PI;\r\n const factor = 180.0 / pi;\r\n if (radians <= 0.25 * pi)\r\n return factor * radians;\r\n if (radians < 0.75 * pi)\r\n return 90.0 + 180 * ((radians - 0.5 * pi) / pi);\r\n if (radians <= 1.25 * pi)\r\n return 180.0 + 180 * ((radians - pi) / pi);\r\n if (radians <= 1.75 * pi)\r\n return 270.0 + 180 * ((radians - 1.5 * pi) / pi);\r\n // all larger radians reference from 360 degrees (2PI)\r\n return 360.0 + 180 * ((radians - 2.0 * pi) / pi);\r\n }\r\n /**\r\n * Return the cosine of this Angle object's angle.\r\n */\r\n public cos(): number { return Math.cos(this._radians); }\r\n /**\r\n * Return the sine of this Angle object's angle.\r\n */\r\n public sin(): number { return Math.sin(this._radians); }\r\n /**\r\n * Return the tangent of this Angle object's angle.\r\n */\r\n public tan(): number { return Math.tan(this._radians); }\r\n /** Test if a radians (absolute) value is nearly 2PI or larger (!) */\r\n public static isFullCircleRadians(radians: number): boolean {\r\n return Math.abs(radians) >= Geometry.fullCircleRadiansMinusSmallAngle;\r\n }\r\n /** Test if the radians value is a complete circle */\r\n public static isHalfCircleRadians(radians: number): boolean {\r\n return Math.abs(Math.abs(radians) - Math.PI) <= Geometry.smallAngleRadians;\r\n }\r\n /** test if the angle is aa full circle */\r\n public get isFullCircle(): boolean { return Angle.isFullCircleRadians(this._radians); }\r\n\r\n /** test if the angle is a half circle (in either direction) */\r\n public get isHalfCircle(): boolean { return Angle.isHalfCircleRadians(this._radians); }\r\n /** Adjust a radians value so it is positive in 0..360 */\r\n public static adjustDegrees0To360(degrees: number): number {\r\n if (degrees >= 0) {\r\n const period = 360.0;\r\n if (degrees < period)\r\n return degrees;\r\n const numPeriods = Math.floor(degrees / period);\r\n return degrees - numPeriods * period;\r\n } else if (degrees < 0) {\r\n // negative angle ...\r\n const radians1 = Angle.adjustDegrees0To360(-degrees);\r\n return 360.0 - radians1;\r\n }\r\n // fall through for Nan (disaster) !!!\r\n return 0;\r\n }\r\n /** Adjust a radians value so it is in -180..180 */\r\n public static adjustDegreesSigned180(degrees: number): number {\r\n if (Math.abs(degrees) <= 180.0)\r\n return degrees;\r\n if (degrees >= 0) {\r\n const period = 360.0;\r\n const numPeriods = 1 + Math.floor((degrees - 180.0) / period);\r\n return degrees - numPeriods * period;\r\n } else if (degrees < 0) {\r\n // negative angle ...\r\n return -Angle.adjustDegreesSigned180(-degrees);\r\n }\r\n // fall through for NaN disaster.\r\n return 0;\r\n }\r\n /** Adjust a radians value so it is positive in 0..2Pi */\r\n public static adjustRadians0To2Pi(radians: number): number {\r\n if (radians >= 0) {\r\n const period = Math.PI * 2.0;\r\n if (radians < period)\r\n return radians;\r\n const numPeriods = Math.floor(radians / period);\r\n return radians - numPeriods * period;\r\n } else if (radians < 0) {\r\n // negative angle ...\r\n const radians1 = Angle.adjustRadians0To2Pi(-radians);\r\n return Math.PI * 2.0 - radians1;\r\n }\r\n // fall through for NaN disaster.\r\n return 0;\r\n }\r\n /** Adjust a radians value so it is positive in -PI..PI */\r\n public static adjustRadiansMinusPiPlusPi(radians: number): number {\r\n if (Math.abs(radians) <= Math.PI)\r\n return radians;\r\n if (radians >= 0) {\r\n const period = Math.PI * 2.0;\r\n const numPeriods = 1 + Math.floor((radians - Math.PI) / period);\r\n return radians - numPeriods * period;\r\n } else if (radians < 0) {\r\n // negative angle ...\r\n return -Angle.adjustRadiansMinusPiPlusPi(-radians);\r\n }\r\n // fall through for NaN disaster.\r\n return 0;\r\n }\r\n /** return a (newly allocated) Angle object with value 0 radians */\r\n public static zero() { return new Angle(0); }\r\n /** Test if the angle is exactly zero. */\r\n public get isExactZero() { return this.radians === 0; }\r\n /** Test if the angle is almost zero (within tolerance `Geometry.smallAngleRadians`) */\r\n public get isAlmostZero() { return Math.abs(this.radians) < Geometry.smallAngleRadians; }\r\n /** Test if the angle is almost a north or south pole (within tolerance `Geometry.smallAngleRadians`) */\r\n public get isAlmostNorthOrSouthPole() { return Angle.isHalfCircleRadians(this.radians * 2.0); }\r\n\r\n /** Create an angle object with degrees adjusted into 0..360. */\r\n public static createDegreesAdjustPositive(degrees: number): Angle { return Angle.createDegrees(Angle.adjustDegrees0To360(degrees)); }\r\n /** Create an angle object with degrees adjusted into -180..180. */\r\n public static createDegreesAdjustSigned180(degrees: number): Angle { return Angle.createDegrees(Angle.adjustDegreesSigned180(degrees)); }\r\n /**\r\n * Test if two radians values are equivalent, allowing shift by full circle (i.e. by a multiple of `2*PI`)\r\n * @param radiansA first radians value\r\n * @param radiansB second radians value\r\n */\r\n public static isAlmostEqualRadiansAllowPeriodShift(radiansA: number, radiansB: number): boolean {\r\n // try to get simple conclusions with un-shifted radians ...\r\n const delta = Math.abs(radiansA - radiansB);\r\n if (delta <= Geometry.smallAngleRadians)\r\n return true;\r\n const period = Math.PI * 2.0;\r\n if (Math.abs(delta - period) <= Geometry.smallAngleRadians)\r\n return true;\r\n const numPeriod = Math.round(delta / period);\r\n const delta1 = delta - numPeriod * period;\r\n return Math.abs(delta1) <= Geometry.smallAngleRadians;\r\n }\r\n /**\r\n * Test if this angle and other are equivalent, allowing shift by full circle (i.e. by a multiple of 360 degrees)\r\n */\r\n public isAlmostEqualAllowPeriodShift(other: Angle): boolean {\r\n return Angle.isAlmostEqualRadiansAllowPeriodShift(this._radians, other._radians);\r\n }\r\n /**\r\n * Test if two this angle and other are almost equal, NOT allowing shift by full circle multiples of 360 degrees.\r\n */\r\n public isAlmostEqualNoPeriodShift(other: Angle): boolean { return Math.abs(this._radians - other._radians) < Geometry.smallAngleRadians; }\r\n /**\r\n * Test if two angle (in radians) almost equal, NOT allowing shift by full circle multiples of `2 * PI`.\r\n * * (Same test as isAlmostEqualRadiansNoPeriodShift)\r\n */\r\n public isAlmostEqual(other: Angle): boolean { return this.isAlmostEqualNoPeriodShift(other); }\r\n /**\r\n * Test if two angle (in radians) almost equal, NOT allowing shift by full circle multiples of `2 * PI`.\r\n */\r\n public static isAlmostEqualRadiansNoPeriodShift(radiansA: number, radiansB: number): boolean { return Math.abs(radiansA - radiansB) < Geometry.smallAngleRadians; }\r\n /**\r\n * Test if dot product values indicate non-zero length perpendicular vectors.\r\n * @param dotUU dot product of vectorU with itself\r\n * @param dotVV dot product of vectorV with itself\r\n * @param dotUV dot product of vectorU with vectorV\r\n */\r\n public static isPerpendicularDotSet(dotUU: number, dotVV: number, dotUV: number) {\r\n return dotUU > Geometry.smallMetricDistanceSquared\r\n && dotVV > Geometry.smallMetricDistanceSquared\r\n && dotUV * dotUV <= Geometry.smallAngleRadiansSquared * dotUU * dotVV;\r\n }\r\n /**\r\n * Return cosine, sine, and radians for the half angle of a cosine,sine pair.\r\n * @param rCos2A cosine value (scaled by radius) for initial angle.\r\n * @param rSin2A sine value (scaled by radius) for final angle.\r\n */\r\n public static trigValuesToHalfAngleTrigValues(rCos2A: number, rSin2A: number): TrigValues {\r\n const r = Geometry.hypotenuseXY(rCos2A, rSin2A);\r\n if (r < Geometry.smallMetricDistance) {\r\n return { c: 1.0, s: 0.0, radians: 0.0 };\r\n } else {\r\n /* If the caller really gave you sine and cosine values, r should be 1. However,*/\r\n /* to allow scaled values -- e.g. the x and y components of any vector -- we normalize*/\r\n /* right here. This adds an extra sqrt and 2 divides to the whole process, but improves*/\r\n /* both the usefulness and robustness of the computation.*/\r\n let cosA;\r\n let sinA = 0.0;\r\n const cos2A = rCos2A / r;\r\n const sin2A = rSin2A / r;\r\n if (cos2A >= 0.0) {\r\n /* Original angle in NE and SE quadrants. Half angle in same quadrant */\r\n cosA = Math.sqrt(0.5 * (1.0 + cos2A));\r\n sinA = sin2A / (2.0 * (cosA));\r\n } else {\r\n if (sin2A > 0.0) {\r\n /* Original angle in NW quadrant. Half angle in NE quadrant */\r\n sinA = Math.sqrt(0.5 * (1.0 - cos2A));\r\n } else {\r\n /* Original angle in SW quadrant. Half angle in SE quadrant*/\r\n /* cosA comes out positive because both sines are negative. */\r\n sinA = -Math.sqrt(0.5 * (1.0 - cos2A));\r\n }\r\n cosA = sin2A / (2.0 * (sinA));\r\n }\r\n return { c: cosA, s: sinA, radians: Math.atan2(sinA, cosA) };\r\n }\r\n }\r\n /** If value is close to -1, -0.5, 0, 0.5, 1, adjust it to the exact value. */\r\n public static cleanupTrigValue(value: number, tolerance: number = 1.0e-15): number {\r\n const absValue = Math.abs(value);\r\n if (absValue <= tolerance)\r\n return 0;\r\n let a = Math.abs(absValue - 0.5);\r\n if (a <= tolerance)\r\n return value < 0.0 ? -0.5 : 0.5;\r\n a = Math.abs(absValue - 1.0);\r\n if (a <= tolerance)\r\n return value < 0.0 ? -1.0 : 1.0;\r\n return value;\r\n }\r\n /**\r\n * Return the half angle cosine, sine, and radians for given dot products between vectors.\r\n * @param dotUU dot product of vectorU with itself\r\n * @param dotVV dot product of vectorV with itself\r\n * @param dotUV dot product of vectorU with vectorV\r\n */\r\n public static dotProductsToHalfAngleTrigValues(dotUU: number, dotVV: number, dotUV: number, favorZero: boolean = true): TrigValues {\r\n const rCos = dotUU - dotVV;\r\n const rSin = 2.0 * dotUV;\r\n if (favorZero && Math.abs(rSin) < Geometry.smallAngleRadians * (Math.abs(dotUU) + Math.abs(dotVV)))\r\n return { c: 1.0, s: 0.0, radians: 0.0 };\r\n return Angle.trigValuesToHalfAngleTrigValues(rCos, rSin);\r\n }\r\n /**\r\n * * Returns the angle between two vectors, with the vectors given as xyz components\r\n * * The returned angle is between 0 and PI\r\n *\r\n * @param ux x component of vector u\r\n * @param uy y component of vector u\r\n * @param uz z component of vector u\r\n * @param vx x component of vector v\r\n * @param vy y component of vector v\r\n * @param vz z component of vector v\r\n */\r\n public static radiansBetweenVectorsXYZ(ux: number, uy: number, uz: number, vx: number, vy: number, vz: number): number {\r\n // const uu = ux * ux + uy * uy + uz * uz;\r\n const uDotV = ux * vx + uy * vy + uz * vz; // magU magV cos(theta)\r\n // const vv = vx * vx + vy * vy + vz * vz;\r\n return Math.atan2(Geometry.crossProductMagnitude(ux, uy, uz, vx, vy, vz), uDotV);\r\n }\r\n /**\r\n * Add a multiple of a full circle angle (360 degrees, 2PI) in place.\r\n * @param multiple multiplier factor\r\n */\r\n public addMultipleOf2PiInPlace(multiple: number) {\r\n if (this._degrees !== undefined) {\r\n this._degrees += multiple * 360.0;\r\n this._radians = Angle.degreesToRadians(this._degrees);\r\n } else {\r\n this._radians += multiple * Angle.pi2Radians;\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AngleSweep.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/AngleSweep.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AngleSweep.js","sourceRoot":"","sources":["../../../src/geometry3d/AngleSweep.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module CartesianGeometry\r\n */\r\n\r\nimport { AngleSweepProps, BeJSONFunctions, Geometry } from \"../Geometry\";\r\nimport { Angle } from \"./Angle\";\r\nimport { GrowableFloat64Array } from \"./GrowableFloat64Array\";\r\n\r\n/**\r\n * An `AngleSweep` is a pair of angles at start and end of an interval.\r\n *\r\n * * For stroking purposes, the \"included interval\" is all angles numerically reached by theta = start + f*(end-start), where f is between 0 and 1.\r\n * * This stroking formula is simple numbers -- 2PI shifts are not involved.\r\n * * 2PI shifts do become important in the reverse mapping of an angle to a fraction.\r\n * * If (start < end) the angle proceeds CCW around the unit circle.\r\n * * If (end < start) the angle proceeds CW around the unit circle.\r\n * * Angles beyond 360 are fine as endpoints.\r\n * * (350,370) covers the same unit angles as (-10,10).\r\n * * (370,350) covers the same unit angles as (10,-10).\r\n * @public\r\n */\r\nexport class AngleSweep implements BeJSONFunctions {\r\n private _radians0: number;\r\n private _radians1: number;\r\n /** Read-property for degrees at the start of this AngleSweep. */\r\n public get startDegrees() { return Angle.radiansToDegrees(this._radians0); }\r\n /** Read-property for degrees at the end of this AngleSweep. */\r\n public get endDegrees() { return Angle.radiansToDegrees(this._radians1); }\r\n /** Read-property for signed start-to-end sweep in degrees. */\r\n public get sweepDegrees() { return Angle.radiansToDegrees(this._radians1 - this._radians0); }\r\n /** Read-property for degrees at the start of this AngleSweep. */\r\n public get startRadians() { return this._radians0; }\r\n /** Read-property for degrees at the end of this AngleSweep. */\r\n public get endRadians() { return this._radians1; }\r\n /** Read-property for signed start-to-end sweep in radians. */\r\n public get sweepRadians() { return this._radians1 - this._radians0; }\r\n /** Return the (strongly typed) start angle */\r\n public get startAngle() { return Angle.createRadians(this._radians0); }\r\n /** Return the (strongly typed) end angle */\r\n public get endAngle() { return Angle.createRadians(this._radians1); }\r\n /** Create a sweep as one of\r\n * * A clone of a given sweep\r\n * * 0 to given angle\r\n * * full circle if no arg given (sweep 0 to 360 degrees)\r\n */\r\n public static create(data?: AngleSweep | Angle): AngleSweep {\r\n if (data instanceof AngleSweep)\r\n return data.clone();\r\n if (data instanceof Angle)\r\n return new AngleSweep(0, data.radians);\r\n return AngleSweep.create360();\r\n }\r\n /** (private) constructor with start and end angles in radians.\r\n * * Use explicitly named static methods to clarify intent and units of inputs:\r\n *\r\n * * createStartEndRadians (startRadians:number, endRadians:number)\r\n * * createStartEndDegrees (startDegrees:number, endDegrees:number)\r\n * * createStartEnd (startAngle:Angle, endAngle:Angle)\r\n * * createStartSweepRadians (startRadians:number, sweepRadians:number)\r\n * * createStartSweepDegrees (startDegrees:number, sweepDegrees:number)\r\n * * createStartSweep (startAngle:Angle, sweepAngle:Angle)\r\n */\r\n private constructor(startRadians: number = 0, endRadians: number = 0) { this._radians0 = startRadians; this._radians1 = endRadians; }\r\n /** create an AngleSweep from start and end angles given in radians. */\r\n public static createStartEndRadians(startRadians: number = 0, endRadians: number = 2.0 * Math.PI, result?: AngleSweep): AngleSweep {\r\n result = result ? result : new AngleSweep();\r\n result.setStartEndRadians(startRadians, endRadians);\r\n return result;\r\n }\r\n /** Return the angle obtained by subtracting radians from this angle. */\r\n public cloneMinusRadians(radians: number): AngleSweep { return new AngleSweep(this._radians0 - radians, this._radians1 - radians); }\r\n /** create an AngleSweep from start and end angles given in degrees. */\r\n public static createStartEndDegrees(startDegrees: number = 0, endDegrees: number = 360, result?: AngleSweep): AngleSweep {\r\n return AngleSweep.createStartEndRadians(Angle.degreesToRadians(startDegrees), Angle.degreesToRadians(endDegrees), result);\r\n }\r\n /** create an angle sweep from strongly typed start and end angles */\r\n public static createStartEnd(startAngle: Angle, endAngle: Angle, result?: AngleSweep): AngleSweep {\r\n result = result ? result : new AngleSweep();\r\n result.setStartEndRadians(startAngle.radians, endAngle.radians);\r\n return result;\r\n }\r\n /** Create an angle sweep with limits given as (strongly typed) angles for start and sweep */\r\n public static createStartSweep(startAngle: Angle, sweepAngle: Angle, result?: AngleSweep): AngleSweep {\r\n return AngleSweep.createStartSweepRadians(startAngle.radians, sweepAngle.radians, result);\r\n }\r\n /** Return a sweep with limits interpolated between this and other. */\r\n public interpolate(fraction: number, other: AngleSweep): AngleSweep {\r\n return new AngleSweep(Geometry.interpolate(this._radians0, fraction, other._radians0), Geometry.interpolate(this._radians1, fraction, other._radians1));\r\n }\r\n /** create an AngleSweep from start and end angles given in radians. */\r\n public static createStartSweepRadians(startRadians: number = 0, sweepRadians: number = Math.PI, result?: AngleSweep): AngleSweep {\r\n result = result ? result : new AngleSweep();\r\n result.setStartEndRadians(startRadians, startRadians + sweepRadians);\r\n return result;\r\n }\r\n /** create an AngleSweep from start and sweep given in degrees. */\r\n public static createStartSweepDegrees(startDegrees: number = 0, sweepDegrees: number = 360, result?: AngleSweep): AngleSweep {\r\n return AngleSweep.createStartEndRadians(Angle.degreesToRadians(startDegrees), Angle.degreesToRadians(startDegrees + sweepDegrees), result);\r\n }\r\n /** directly set the start and end angles in radians */\r\n public setStartEndRadians(startRadians: number = 0, endRadians: number = 2.0 * Math.PI) {\r\n const delta = endRadians - startRadians;\r\n if (Angle.isFullCircleRadians(delta)) {\r\n endRadians = startRadians + (delta > 0 ? 2.0 : -2.0) * Math.PI;\r\n }\r\n this._radians0 = startRadians;\r\n this._radians1 = endRadians;\r\n }\r\n /** directly set the start and end angles in degrees */\r\n public setStartEndDegrees(startDegrees: number = 0, endDegrees: number = 360.0) {\r\n this.setStartEndRadians(Angle.degreesToRadians(startDegrees), Angle.degreesToRadians(endDegrees));\r\n }\r\n /** copy from other AngleSweep. */\r\n public setFrom(other: AngleSweep) { this._radians0 = other._radians0; this._radians1 = other._radians1; }\r\n /** create a full circle sweep (CCW). startRadians defaults to 0 */\r\n public static create360(startRadians?: number): AngleSweep {\r\n startRadians = startRadians ? startRadians : 0.0;\r\n return new AngleSweep(startRadians, startRadians + 2.0 * Math.PI);\r\n }\r\n /** create a sweep from the south pole to the north pole. */\r\n public static createFullLatitude() { return AngleSweep.createStartEndRadians(-0.5 * Math.PI, 0.5 * Math.PI); }\r\n /** Reverse the start and end angle in place. */\r\n public reverseInPlace() { const a = this._radians0; this._radians0 = this._radians1; this._radians1 = a; }\r\n /** return a sweep for the \"other\" part of the circe.\r\n * @param reverse true to retain the start and move backwards, false to more forwards.\r\n */\r\n public cloneComplement(reverseDirection: boolean = false, result?: AngleSweep): AngleSweep {\r\n const s = this.sweepRadians >= 0 ? 2.0 : -2.0;\r\n if (reverseDirection)\r\n return AngleSweep.createStartEndRadians(this.startRadians, this.endRadians - s * Math.PI, result);\r\n else\r\n return AngleSweep.createStartEndRadians(this.endRadians, this.startRadians + s * Math.PI, result);\r\n }\r\n /** Restrict start and end angles into the range (-90,+90) in degrees. */\r\n public capLatitudeInPlace() {\r\n const limit = 0.5 * Math.PI;\r\n this._radians0 = Geometry.clampToStartEnd(this._radians0, -limit, limit);\r\n this._radians1 = Geometry.clampToStartEnd(this._radians1, -limit, limit);\r\n }\r\n /** Ask if the sweep is counterclockwise, i.e. positive sweep */\r\n public get isCCW(): boolean { return this._radians1 >= this._radians0; }\r\n /** Ask if the sweep is a full circle. */\r\n public get isFullCircle(): boolean { return Angle.isFullCircleRadians(this.sweepRadians); }\r\n /** Ask if the sweep is a full sweep from south pole to north pole. */\r\n public get isFullLatitudeSweep(): boolean {\r\n const a = Math.PI * 0.5;\r\n return Angle.isAlmostEqualRadiansNoPeriodShift(this._radians0, -a)\r\n && Angle.isAlmostEqualRadiansNoPeriodShift(this._radians1, a);\r\n }\r\n /** return a clone of this sweep. */\r\n public clone(): AngleSweep { return new AngleSweep(this._radians0, this._radians1); }\r\n /** Convert fractional position in the sweep to radians. */\r\n public fractionToRadians(fraction: number) {\r\n return fraction < 0.5 ?\r\n this._radians0 + fraction * (this._radians1 - this._radians0)\r\n : this._radians1 + (fraction - 1.0) * (this._radians1 - this._radians0);\r\n }\r\n /** Convert fractional position in the sweep to strongly typed Angle object. */\r\n public fractionToAngle(fraction: number) {\r\n return Angle.createRadians(this.fractionToRadians(fraction));\r\n }\r\n /** return 2PI divided by the sweep radians (i.e. 360 degrees divided by sweep angle).\r\n * This is the number of fractional intervals required to cover a whole circle.\r\n */\r\n public fractionPeriod(): number {\r\n return Geometry.safeDivideFraction(Math.PI * 2.0, Math.abs(this._radians1 - this._radians0), 1.0);\r\n }\r\n /** return the fractionalized position of the angle,\r\n * computed without consideration of 2PI period.\r\n * That is, an angle that is numerically much beyond than the end angle\r\n * will produce a large fraction and an angle much beyond the start angle\r\n * will produce a large negative fraction.\r\n *\r\n */\r\n public angleToUnboundedFraction(theta: Angle): number {\r\n return Geometry.safeDivideFraction(theta.radians - this._radians0, this._radians1 - this._radians0, 1.0);\r\n }\r\n /** map an angle to a fractional coordinate which is:\r\n *\r\n * * the start angle is at fraction 0\r\n * * the end angle is at fraction 1\r\n * * interior angles are between 0 and 1\r\n * * all exterior angles are at fractions greater than 1\r\n * * the periodic jump is at full wraparound to the start angle\r\n */\r\n public angleToPositivePeriodicFraction(theta: Angle): number { return this.radiansToPositivePeriodicFraction(theta.radians); }\r\n /**\r\n * Convert each value in an array from radians to fraction.\r\n * @param data array that is input as radians, output as fractions\r\n */\r\n public radiansArrayToPositivePeriodicFractions(data: GrowableFloat64Array) {\r\n const n = data.length;\r\n for (let i = 0; i < n; i++) {\r\n data.reassign(i, this.radiansToPositivePeriodicFraction(data.atUncheckedIndex(i)));\r\n }\r\n }\r\n /**\r\n * Convert a radians value to a fraction that is always positive and can wrap. See `angleToPositivePeriodicFraction` for detailed description.\r\n * @param radians\r\n */\r\n public radiansToPositivePeriodicFraction(radians: number, zeroSweepDefault: number = 0.0): number {\r\n return AngleSweep.radiansToPositivePeriodicFractionStartEnd(radians, this._radians0, this._radians1, zeroSweepDefault);\r\n }\r\n /**\r\n * Convert a radians value to a fraction that is always positive and can wrap. See `angleToPositivePeriodicFraction` for detailed description.\r\n * @param radians\r\n */\r\n public static radiansToPositivePeriodicFractionStartEnd(radians: number, radians0: number, radians1: number, zeroSweepDefault: number = 0.0): number {\r\n if (Angle.isAlmostEqualRadiansAllowPeriodShift(radians, radians0))\r\n return 0.0;\r\n if (Angle.isAlmostEqualRadiansAllowPeriodShift(radians, radians1))\r\n return 1.0;\r\n const sweep = radians1 - radians0;\r\n const delta = radians - radians0;\r\n if (sweep > 0) {\r\n const delta1 = Angle.adjustRadians0To2Pi(delta);\r\n const fraction1 = Geometry.safeDivideFraction(delta1, sweep, zeroSweepDefault);\r\n return fraction1;\r\n }\r\n const delta2 = Angle.adjustRadians0To2Pi(-delta);\r\n const fraction2 = Geometry.safeDivideFraction(delta2, -sweep, zeroSweepDefault);\r\n return fraction2;\r\n }\r\n /** map an angle to a fractional coordinate which is:\r\n *\r\n * * the start angle is at fraction 0\r\n * * the end angle is at fraction 1\r\n * * interior angles are between 0 and 1\r\n * * small negative for angles just \"before\" the start angle\r\n * * more than one for angles just \"after\" the end angle\r\n * * the periodic jump is at the middle of the \"outside\" interval\r\n */\r\n public angleToSignedPeriodicFraction(theta: Angle): number {\r\n return this.radiansToSignedPeriodicFraction(theta.radians);\r\n }\r\n /**\r\n * Convert a radians value to a fraction, allowing wraparound. See `angleToSignedPeriodicFraction` for detailed description.\r\n */\r\n public radiansToSignedPeriodicFraction(radians: number): number {\r\n if (Angle.isAlmostEqualRadiansAllowPeriodShift(radians, this._radians0))\r\n return 0.0;\r\n if (Angle.isAlmostEqualRadiansAllowPeriodShift(radians, this._radians1))\r\n return 1.0;\r\n const sweep = this._radians1 - this._radians0;\r\n // measure from middle of interval ...\r\n const delta = radians - this._radians0 - 0.5 * sweep;\r\n if (sweep > 0) {\r\n const delta1 = Angle.adjustRadiansMinusPiPlusPi(delta);\r\n const fraction1 = 0.5 + Geometry.safeDivideFraction(delta1, sweep, 0.0);\r\n return fraction1;\r\n }\r\n const delta2 = Angle.adjustRadiansMinusPiPlusPi(-delta);\r\n const fraction = 0.5 + Geometry.safeDivideFraction(delta2, -sweep, 0.0);\r\n return fraction;\r\n }\r\n /** test if an angle is within the sweep */\r\n public isAngleInSweep(angle: Angle): boolean { return this.isRadiansInSweep(angle.radians); }\r\n /** test if radians are within sweep */\r\n public isRadiansInSweep(radians: number, allowPeriodShift: boolean = true): boolean {\r\n return AngleSweep.isRadiansInStartEnd(radians, this.startRadians, this.endRadians, allowPeriodShift);\r\n }\r\n /** test if radians are within sweep */\r\n public static isRadiansInStartEnd(radians: number, radians0: number, radians1: number, allowPeriodShift: boolean = true): boolean {\r\n // quick out for simple inside ...\r\n const delta0 = radians - radians0;\r\n const delta1 = radians - radians1;\r\n if (delta0 * delta1 <= 0.0)\r\n return true;\r\n\r\n if (radians0 === radians1)\r\n return allowPeriodShift ? Angle.isAlmostEqualRadiansAllowPeriodShift(radians, radians0) : Angle.isAlmostEqualRadiansNoPeriodShift(radians, radians0);\r\n return allowPeriodShift ? this.radiansToPositivePeriodicFractionStartEnd(radians, radians0, radians1, 1000.0) <= 1.0 : false;\r\n }\r\n\r\n /** set this AngleSweep from various sources:\r\n *\r\n * * if json is undefined, a full-circle sweep is returned.\r\n * * If json is an AngleSweep object it is cloned\r\n * * If json is an array of 2 numbers, those numbers are start and end angles in degrees.\r\n * * If `json.degrees` is an array of 2 numbers, those numbers are start and end angles in degrees.\r\n * * If `json.radians` is an array of 2 numbers, those numbers are start and end angles in radians.\r\n */\r\n public setFromJSON(json?: any) {\r\n if (!json)\r\n this.setStartEndRadians(); // default full circle\r\n else if (json instanceof AngleSweep)\r\n this.setFrom(json);\r\n else if (Geometry.isNumberArray(json.degrees, 2))\r\n this.setStartEndDegrees(json.degrees[0], json.degrees[1]);\r\n else if (Geometry.isNumberArray(json.radians, 2))\r\n this.setStartEndRadians(json.radians[0], json.radians[1]);\r\n else if (Geometry.isNumberArray(json, 2))\r\n this.setStartEndDegrees(json[0], json[1]);\r\n }\r\n /** create an AngleSweep from a json object. */\r\n public static fromJSON(json?: AngleSweepProps) {\r\n const result = AngleSweep.create360();\r\n result.setFromJSON(json);\r\n return result;\r\n }\r\n /**\r\n * Convert an AngleSweep to a JSON object.\r\n * @return {*} {degrees: [startAngleInDegrees, endAngleInDegrees}\r\n */\r\n public toJSON(): any {\r\n // return { degrees: [this.startDegrees, this.endDegrees] };\r\n return [this.startDegrees, this.endDegrees];\r\n }\r\n /** test if start and end angles match, with explicit name to clarify that there is no test for 360-degree shifts. */\r\n public isAlmostEqualAllowPeriodShift(other: AngleSweep): boolean {\r\n return Angle.isAlmostEqualRadiansAllowPeriodShift(this._radians0, other._radians0)\r\n && Angle.isAlmostEqualRadiansNoPeriodShift(this._radians1 - this._radians0, other._radians1 - other._radians0);\r\n }\r\n /** test if start and end angles match, explicit name to clarify that 360-degree shifts are allowed. */\r\n public isAlmostEqualNoPeriodShift(other: AngleSweep): boolean {\r\n return Angle.isAlmostEqualRadiansNoPeriodShift(this._radians0, other._radians0)\r\n && Angle.isAlmostEqualRadiansNoPeriodShift(this._radians1 - this._radians0, other._radians1 - other._radians0);\r\n }\r\n /** test if start and end angles match with radians tolerance.\r\n * * This is equivalent to isAlmostEqualNoPeriodShift.\r\n * * it is present for consistency with other classes\r\n * * It is recommended that all callers use one of he longer names to be clear of their intentions:\r\n * * * isAlmostEqualAllowPeriodShift\r\n * * * isAlmostEqualRadiansNoPeriodShift\r\n */\r\n public isAlmostEqual(other: AngleSweep): boolean { return this.isAlmostEqualNoPeriodShift(other); }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarycentricTriangle.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/BarycentricTriangle.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,qDAAqD;IAC9C,MAAM,EAAE,OAAO,EAAE,CAAC;IACzB;;OAEG;IACH,SAAS,aAAa,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAOvE;;;OAGG;WACW,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,mBAAmB;IAO5L,mEAAmE;WACrD,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,mBAAmB;IAM1H,oEAAoE;IAC7D,KAAK,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,mBAAmB;IAI/D,qDAAqD;IACrD,IAAW,WAAW,IAAI,MAAM,CAG/B;IACD,uCAAuC;IACvC,IAAW,IAAI,IAAI,MAAM,CAExB;IACD;;;OAGG;IACI,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAIrF;OACG;IACI,OAAO,CAAC,KAAK,EAAE,mBAAmB;IAKzC,2DAA2D;IACpD,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS;IAMhG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAW;IACvC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAW;IACvC;;;OAGG;IACI,mCAAmC,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM;IAK9E,2CAA2C;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAS1C,4DAA4D;IACrD,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO;CAK1D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarycentricTriangle.js","sourceRoot":"","sources":["../../../src/geometry3d/BarycentricTriangle.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module CartesianGeometry\r\n */\r\n\r\nimport { Geometry } from \"../Geometry\";\r\nimport { Point3d, Vector3d } from \"./Point3dVector3d\";\r\n\r\n/**\r\n * 3 points defining a triangle to be evaluated with Barycentric coordinates.\r\n * @public\r\n */\r\nexport class BarycentricTriangle {\r\n /** Array of 3 point coordinates for the triangle. */\r\n public points: Point3d[];\r\n /** Constructor.\r\n * * Point references are CAPTURED\r\n */\r\n protected constructor(point0: Point3d, point1: Point3d, point2: Point3d) {\r\n this.points = [];\r\n this.points.push(point0);\r\n this.points.push(point1);\r\n this.points.push(point2);\r\n }\r\n\r\n /**\r\n * Return a `BarycentricTriangle` with coordinates given by enumerated x,y,z of the 3 points.\r\n * @param result optional pre-allocated triangle.\r\n */\r\n public static createXYZXYZXYZ(x0: number, y0: number, z0: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, result?: BarycentricTriangle): BarycentricTriangle {\r\n if (!result) return new this(Point3d.create(x0, y0, z0), Point3d.create(x1, y1, z1), Point3d.create(x2, y2, z2));\r\n result.points[0].set(x0, y0, z0);\r\n result.points[1].set(x1, y1, z1);\r\n result.points[2].set(x2, y2, z2);\r\n return result;\r\n }\r\n /** create a triangle with coordinates cloned from given points. */\r\n public static create(point0: Point3d, point1: Point3d, point2: Point3d, result?: BarycentricTriangle): BarycentricTriangle {\r\n if (!result)\r\n return new this(point0.clone(), point1.clone(), point2.clone());\r\n result.set(point0, point1, point2);\r\n return result;\r\n }\r\n /** Return a new `BarycentricTriangle` with the same coordinates. */\r\n public clone(result?: BarycentricTriangle): BarycentricTriangle {\r\n return BarycentricTriangle.create(this.points[0], this.points[1], this.points[2], result);\r\n }\r\n\r\n /** Return area divided by sum of squared lengths. */\r\n public get aspectRatio(): number {\r\n return Geometry.safeDivideFraction(0.5 * this.points[0].crossProductToPointsMagnitude(this.points[1], this.points[2]),\r\n (this.points[0].distanceSquared(this.points[1]) + this.points[1].distanceSquared(this.points[2]) + this.points[2].distanceSquared(this.points[0])), 0);\r\n }\r\n /** Return the area of the triangle. */\r\n public get area(): number {\r\n return 0.5 * this.points[0].crossProductToPointsMagnitude(this.points[1], this.points[2]);\r\n }\r\n /** Sum the points with given scales.\r\n * * In normal use, the scales will add to 1 and the result point is in the plane of the triangle.\r\n * * If scales do not add to 1, the point is in the triangle scaled (by the scale sum) from the origin.\r\n */\r\n public fractionToPoint(a0: number, a1: number, a2: number, result?: Point3d): Point3d {\r\n return Point3d.createAdd3Scaled(this.points[0], a0, this.points[1], a1, this.points[2], a2, result);\r\n }\r\n\r\n /** Copy all values from `other`\r\n */\r\n public setFrom(other: BarycentricTriangle) {\r\n this.points[0].setFromPoint3d(other.points[0]);\r\n this.points[1].setFromPoint3d(other.points[1]);\r\n this.points[2].setFromPoint3d(other.points[2]);\r\n }\r\n /** copy contents of (not pointers to) the given points. */\r\n public set(point0: Point3d | undefined, point1: Point3d | undefined, point2: Point3d | undefined) {\r\n this.points[0].setFromPoint3d(point0);\r\n this.points[1].setFromPoint3d(point1);\r\n this.points[2].setFromPoint3d(point2);\r\n\r\n }\r\n private static _workVector0?: Vector3d;\r\n private static _workVector1?: Vector3d;\r\n /**\r\n * * For `this` and `other` BarycentricTriangles, compute cross products of vectors from point0 to point1 and from point0 to point2.\r\n * * return the dot product of those two\r\n */\r\n public dotProductOfCrossProductsFromOrigin(other: BarycentricTriangle): number {\r\n BarycentricTriangle._workVector0 = this.points[0].crossProductToPoints(this.points[1], this.points[2], BarycentricTriangle._workVector0);\r\n BarycentricTriangle._workVector1 = other.points[0].crossProductToPoints(other.points[1], other.points[2], BarycentricTriangle._workVector1);\r\n return BarycentricTriangle._workVector0.dotProduct(BarycentricTriangle._workVector1);\r\n }\r\n /** Return the centroid of the 3 points. */\r\n public centroid(result?: Point3d): Point3d {\r\n // write it out to get single scale application.\r\n // Do the scale as true division (rather than multiply by precomputed 1/3). This might protect one bit of result.\r\n return Point3d.create(\r\n (this.points[0].x + this.points[1].x + this.points[2].x) / 3.0,\r\n (this.points[0].y + this.points[1].y + this.points[2].y) / 3.0,\r\n (this.points[0].z + this.points[1].z + this.points[2].z) / 3.0,\r\n result);\r\n }\r\n /** test for point-by-point `isAlmostEqual` relationship. */\r\n public isAlmostEqual(other: BarycentricTriangle): boolean {\r\n return this.points[0].isAlmostEqual(other.points[0])\r\n && this.points[1].isAlmostEqual(other.points[1])\r\n && this.points[2].isAlmostEqual(other.points[2]);\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BilinearPatch.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/BilinearPatch.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAA2B,MAAM,kCAAkC,CAAC;AAI1G,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,4CAA4C;IACrC,OAAO,EAAE,OAAO,CAAC;IACxB,4CAA4C;IACrC,OAAO,EAAE,OAAO,CAAC;IACxB,4CAA4C;IACrC,OAAO,EAAE,OAAO,CAAC;IACxB,4CAA4C;IACrC,OAAO,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;gBACgB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAMzF;;;;;OAKG;WACW,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAI3F;OACG;WACW,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAC3D,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EACrC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EACrC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAOvC,2CAA2C;IACpC,KAAK,IAAI,aAAa;IAO7B,oCAAoC;IAC7B,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAMnD,wCAAwC;IACjC,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAOzD;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS;IAKxE;OACG;IACI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS;IAaxD;;;OAGG;IACI,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAWzE;;;OAGG;IACI,4BAA4B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,yBAAyB;IAqBxH,oGAAoG;IACpG,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAO/B;;;;OAIG;IACI,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,6BAA6B,EAAE,GAAG,SAAS;IAmC5E;;OAEG;IACI,cAAc,IAAI,MAAM;IAG/B;;OAEG;IACI,cAAc,IAAI,MAAM;CAGhC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BilinearPatch.js","sourceRoot":"","sources":["../../../src/geometry3d/BilinearPatch.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Solid\r\n */\r\n\r\nimport { CurveAndSurfaceLocationDetail, UVSurfaceLocationDetail } from \"../bspline/SurfaceLocationDetail\";\r\nimport { CurveLocationDetail } from \"../curve/CurveLocationDetail\";\r\nimport { Geometry } from \"../Geometry\";\r\nimport { SmallSystem } from \"../numerics/Polynomials\";\r\nimport { UVSurface } from \"./GeometryHandler\";\r\nimport { Plane3dByOriginAndVectors } from \"./Plane3dByOriginAndVectors\";\r\nimport { Point3d } from \"./Point3dVector3d\";\r\nimport { Range3d } from \"./Range\";\r\nimport { Ray3d } from \"./Ray3d\";\r\nimport { Transform } from \"./Transform\";\r\n\r\n/**\r\n * * A Bilinear patch is defined by its 4 corner points.\r\n * * the corner points do not have to be coplanar\r\n *\r\n * * v direction (up)\r\n * |\r\n * |\r\n * |\r\n * point01---A1-----------point11\r\n * | | |\r\n * B0----X------------B1\r\n * | | |\r\n * point00--A0-----------point10 -----------> u direction\r\n *\r\n * * To evaluate aa point at (u,v), the following are equivalent:\r\n * * interpolate with u to get both A0 and A1, viz\r\n * * A0 = interpolate between point00 and point10 at fraction u\r\n * * A1 = interpolate between point01 and point11 at fraction u\r\n * * X = interpolate between A0 and A1 at fraction v\r\n * * interpolate first with v to get B0 and B1, viz\r\n * * B0 = interpolate between point00 and point01 at fraction v\r\n * * B1 = interpolate between point10 and point11 at fraction v\r\n * * X = interpolate between B0 and B1 at fraction u\r\n * * sum all at once as\r\n * * X = (1-u)* (1-v) *point00 + (1-u)*v * point01 + u * (1-v) *point10 + u* v * point11\r\n *\r\n * @internal\r\n */\r\nexport class BilinearPatch implements UVSurface {\r\n /** corner at parametric coordinate (0,0) */\r\n public point00: Point3d;\r\n /** corner at parametric coordinate (1,0) */\r\n public point10: Point3d;\r\n /** corner at parametric coordinate (0,1) */\r\n public point01: Point3d;\r\n /** corner at parametric coordinate (1,1) */\r\n public point11: Point3d;\r\n /**\r\n * Capture (not clone) corner points, in u direction at v=0, then in same direction at v=1\r\n * @param point00 Point at uv=0,0\r\n * @param point10 Point at uv=1,0\r\n * @param point10 Point at uv=0,1\r\n * @param point11 Point at uv=11\r\n */\r\n public constructor(point00: Point3d, point10: Point3d, point01: Point3d, point11: Point3d) {\r\n this.point00 = point00;\r\n this.point10 = point10;\r\n this.point01 = point01;\r\n this.point11 = point11;\r\n }\r\n /** clone (not capture) corners to create a new BilinearPatch\r\n * @param point00 Point at uv=0,0\r\n * @param point10 Point at uv=1,0\r\n * @param point10 Point at uv=0,1\r\n * @param point11 Point at uv=11\r\n */\r\n public static create(point00: Point3d, point10: Point3d, point01: Point3d, point11: Point3d) {\r\n return new BilinearPatch(point00.clone(), point10.clone(), point01.clone(), point11.clone());\r\n }\r\n\r\n /** create a patch with from xyz values of the 4 corners\r\n */\r\n public static createXYZ(x00: number, y00: number, z00: number,\r\n x10: number, y10: number, z10: number,\r\n x01: number, y01: number, z01: number,\r\n x11: number, y11: number, z11: number) {\r\n return new BilinearPatch(Point3d.create(x00, y00, z00),\r\n Point3d.create(x10, y10, z10),\r\n Point3d.create(x01, y01, z01),\r\n Point3d.create(x11, y11, z11));\r\n }\r\n\r\n /** return a clone with same coordinates */\r\n public clone(): BilinearPatch {\r\n return new BilinearPatch(\r\n this.point00.clone(),\r\n this.point10.clone(),\r\n this.point01.clone(),\r\n this.point11.clone());\r\n }\r\n /** test equality of the 4 points */\r\n public isAlmostEqual(other: BilinearPatch): boolean {\r\n return this.point00.isAlmostEqual(other.point00)\r\n && this.point10.isAlmostEqual(other.point10)\r\n && this.point01.isAlmostEqual(other.point01)\r\n && this.point11.isAlmostEqual(other.point11);\r\n }\r\n /** Apply the transform to each point */\r\n public tryTransformInPlace(transform: Transform): boolean {\r\n transform.multiplyPoint3d(this.point00, this.point00);\r\n transform.multiplyPoint3d(this.point10, this.point10);\r\n transform.multiplyPoint3d(this.point01, this.point01);\r\n transform.multiplyPoint3d(this.point11, this.point11);\r\n return true;\r\n }\r\n /**\r\n * return a cloned and transformed patch.\r\n * @param transform\r\n */\r\n public cloneTransformed(transform: Transform): BilinearPatch | undefined {\r\n const result = this.clone();\r\n result.tryTransformInPlace(transform);\r\n return result;\r\n }\r\n /** Extend a range by the range of the(optionally transformed) patch\r\n */\r\n public extendRange(range: Range3d, transform?: Transform) {\r\n if (transform) {\r\n range.extendTransformedPoint(transform, this.point00);\r\n range.extendTransformedPoint(transform, this.point10);\r\n range.extendTransformedPoint(transform, this.point01);\r\n range.extendTransformedPoint(transform, this.point11);\r\n } else {\r\n range.extendPoint(this.point00);\r\n range.extendPoint(this.point10);\r\n range.extendPoint(this.point01);\r\n range.extendPoint(this.point11);\r\n }\r\n }\r\n /** Evaluate as a uv surface\r\n * @param u fractional position in minor (phi)\r\n * @param v fractional position on major (theta) arc\r\n */\r\n public uvFractionToPoint(u: number, v: number, result?: Point3d): Point3d {\r\n const f00 = (1.0 - u) * (1.0 - v);\r\n const f10 = u * (1.0 - v);\r\n const f01 = (1.0 - u) * v;\r\n const f11 = u * v;\r\n return Point3d.create(\r\n f00 * this.point00.x + f10 * this.point10.x + f01 * this.point01.x + f11 * this.point11.x,\r\n f00 * this.point00.y + f10 * this.point10.y + f01 * this.point01.y + f11 * this.point11.y,\r\n f00 * this.point00.z + f10 * this.point10.z + f01 * this.point01.z + f11 * this.point11.z,\r\n result);\r\n }\r\n /** Evaluate as a uv surface, returning point and two derivative vectors.\r\n * @param u fractional position\r\n * @param v fractional position\r\n */\r\n public uvFractionToPointAndTangents(u: number, v: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors {\r\n const u0 = 1.0 - u;\r\n const v0 = 1.0 - v;\r\n const f00 = u0 * v0;\r\n const f10 = u * v0;\r\n const f01 = u0 * v;\r\n const f11 = u * v;\r\n return Plane3dByOriginAndVectors.createOriginAndVectorsXYZ(\r\n f00 * this.point00.x + f10 * this.point10.x + f01 * this.point01.x + f11 * this.point11.x,\r\n f00 * this.point00.y + f10 * this.point10.y + f01 * this.point01.y + f11 * this.point11.y,\r\n f00 * this.point00.z + f10 * this.point10.z + f01 * this.point01.z + f11 * this.point11.z,\r\n // u derivative ..\r\n v0 * (this.point10.x - this.point00.x) + v * (this.point11.x - this.point01.x),\r\n v0 * (this.point10.y - this.point00.y) + v * (this.point11.y - this.point01.y),\r\n v0 * (this.point10.z - this.point00.z) + v * (this.point11.z - this.point01.z),\r\n // v derivative ..\r\n u0 * (this.point01.x - this.point00.x) + u * (this.point11.x - this.point10.x),\r\n u0 * (this.point01.y - this.point00.y) + u * (this.point11.y - this.point10.y),\r\n u0 * (this.point01.z - this.point00.z) + u * (this.point11.z - this.point10.z),\r\n result);\r\n }\r\n /** if data[ib][pivotColumn] is larger (abs) than data[ia][pivotColumn] swap the iA and iB arrays */\r\n private static conditionalPivot(pivotColumn: number, data: Float64Array[], iA: number, iB: number) {\r\n if (Math.abs(data[iB][pivotColumn]) > Math.abs(data[iA][pivotColumn])) {\r\n const q = data[iA];\r\n data[iA] = data[iB];\r\n data[iB] = q;\r\n }\r\n }\r\n /**\r\n * Compute the (points of) intersection with a ray.\r\n * @param ray ray in space\r\n * @returns 1 or 2 points if there are intersections, undefined if no intersections\r\n */\r\n public intersectRay(ray: Ray3d): CurveAndSurfaceLocationDetail[] | undefined {\r\n const vectorU = this.point10.minus(this.point00);\r\n const vectorV = this.point01.minus(this.point00);\r\n const vectorW = this.point11.minus(this.point10);\r\n vectorW.subtractInPlace(vectorV);\r\n // coefficients of (each component of)\r\n // `ray.origin + t * ray.direction = point00 + u * vectorU + v * vectorV + u*v*vectorW`\r\n // for x as typical direction as x, the scalar equation with coefficient order for arrays is\r\n // `0 = -ray.origin.x * t + (point00.x - ray.origin.x) + u * vectorU.x + v * vectorV.x + u * v * vectorW.x`\r\n // (and that particular equation is invoked to isolate t when uv is known)\r\n const coffs = [\r\n new Float64Array([-ray.direction.x, this.point00.x - ray.origin.x, vectorU.x, vectorV.x, vectorW.x]),\r\n new Float64Array([-ray.direction.y, this.point00.y - ray.origin.y, vectorU.y, vectorV.y, vectorW.y]),\r\n new Float64Array([-ray.direction.z, this.point00.z - ray.origin.z, vectorU.z, vectorV.z, vectorW.z])];\r\n // bring the largest ray.direction coefficient to the 0 equation.\r\n BilinearPatch.conditionalPivot(0, coffs, 0, 1);\r\n BilinearPatch.conditionalPivot(0, coffs, 0, 2);\r\n SmallSystem.eliminateFromPivot(coffs[0], 0, coffs[1], -1.0);\r\n SmallSystem.eliminateFromPivot(coffs[0], 0, coffs[2], -1.0);\r\n const uvArray = SmallSystem.solveBilinearPair(\r\n coffs[1][1], coffs[1][2], coffs[1][3], coffs[1][4],\r\n coffs[2][1], coffs[2][2], coffs[2][3], coffs[2][4]);\r\n if (uvArray) {\r\n const result: CurveAndSurfaceLocationDetail[] = [];\r\n for (const uv of uvArray) {\r\n const t = -(coffs[0][1] + coffs[0][2] * uv.x + (coffs[0][3] + coffs[0][4] * uv.x) * uv.y) / coffs[0][0];\r\n const point = ray.fractionToPoint(t);\r\n result.push(new CurveAndSurfaceLocationDetail(\r\n CurveLocationDetail.createRayFractionPoint(ray, t, point),\r\n UVSurfaceLocationDetail.createSurfaceUVPoint(this, uv, point)));\r\n }\r\n return result;\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Returns the larger of the u-direction edge lengths at v=0 and v=1\r\n */\r\n public maxUEdgeLength(): number {\r\n return Geometry.maxXY(this.point00.distance(this.point10), this.point01.distance(this.point11));\r\n }\r\n /**\r\n * Returns the larger of the v-direction edge lengths at u=0 and u=1\r\n */\r\n public maxVEdgeLength(): number {\r\n return Geometry.maxXY(this.point00.distance(this.point01), this.point10.distance(this.point11));\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoincidentGeometryOps.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/CoincidentGeometryOps.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAI5F,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAGtD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO;WAGO,MAAM,CAAC,SAAS,GAAE,MAAqC,GAAG,uBAAuB;IAG/F;;;OAGG;WACW,0CAA0C,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAC1G,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAE,OAAe;IAazD;;OAEG;IACI,uBAAuB,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,mBAAmB;IAS1G;;;;;;;OAOG;IACI,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAE,OAAc,GAAG,uBAAuB,GAAG,SAAS;IA4D9K;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,gBAAgB;IAQxB;;;;;;OAMG;IACI,2BAA2B,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,GAAE,OAAc,GAAG,uBAAuB,EAAE,GAAG,SAAS;CAsCvI"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoincidentGeometryOps.js","sourceRoot":"","sources":["../../../src/geometry3d/CoincidentGeometryOps.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module CartesianGeometry\r\n */\r\nimport { Arc3d } from \"../curve/Arc3d\";\r\nimport { CurveLocationDetail, CurveLocationDetailPair } from \"../curve/CurveLocationDetail\";\r\nimport { CurvePrimitive } from \"../curve/CurvePrimitive\";\r\nimport { Geometry } from \"../Geometry\";\r\nimport { AngleSweep } from \"./AngleSweep\";\r\nimport { Point3d, Vector3d } from \"./Point3dVector3d\";\r\nimport { Segment1d } from \"./Segment1d\";\r\n\r\n/**\r\n * `CoincidentGeometryQuery` has methods useful in testing for overlapping geometry.\r\n * * Each instance carries tolerance information that can be reused over extended call sequences.\r\n * * These methods are expected to be called internally by CurveCurve intersection methods.\r\n * @internal\r\n */\r\nexport class CoincidentGeometryQuery {\r\n private _vectorU?: Vector3d;\r\n private _vectorV?: Vector3d;\r\n private _tolerance: number;\r\n private constructor(tolerance: number = Geometry.smallMetricDistance) {\r\n this._tolerance = tolerance;\r\n }\r\n public static create(tolerance: number = Geometry.smallMetricDistance): CoincidentGeometryQuery {\r\n return new CoincidentGeometryQuery(tolerance);\r\n }\r\n /**\r\n * * Assign both the fraction and fraction1 values in the detail, possibly swapped.\r\n * * reevaluate the points as simple interpolation between given points.\r\n */\r\n public static assignDetailInterpolatedFractionsAndPoints(detail: CurveLocationDetail, f0: number, f1: number,\r\n pointA: Point3d, pointB: Point3d, swap: boolean = false) {\r\n if (swap) {\r\n detail.fraction = f1;\r\n detail.fraction1 = f0;\r\n } else {\r\n detail.fraction = f0;\r\n detail.fraction1 = f1;\r\n }\r\n detail.point = pointA.interpolate(detail.fraction, pointB, detail.point);\r\n detail.point1 = pointA.interpolate(detail.fraction1, pointB, detail.point1);\r\n\r\n }\r\n\r\n /** Return a curve location detail with projection of a `spacePoint` to the line segment with `pointA` and `pointB`\r\n *\r\n */\r\n public projectPointToSegmentXY(spacePoint: Point3d, pointA: Point3d, pointB: Point3d): CurveLocationDetail {\r\n this._vectorU = Vector3d.createStartEnd(pointA, pointB, this._vectorU);\r\n this._vectorV = Vector3d.createStartEnd(pointA, spacePoint, this._vectorV);\r\n const uDotU = this._vectorU.dotProductXY(this._vectorU);\r\n const uDotV = this._vectorU.dotProductXY(this._vectorV);\r\n const fraction = Geometry.safeDivideFraction(uDotV, uDotU, 0.0);\r\n return CurveLocationDetail.createCurveFractionPoint(undefined, fraction,\r\n pointA.interpolate(fraction, pointB));\r\n }\r\n /**\r\n * * project `pointA0` and `pointA1` onto the segment with `pointB0` and `pointB1`\r\n * * In the returned detail pair, the `detailA` has fractions along segmentA, and `detailB` has fractions along segment B\r\n * @param pointA0 start point of segment A\r\n * @param pointA1 end point of segment A\r\n * @param pointB0 start point of segment B\r\n * @param pointB1 end point of segment B\r\n */\r\n public coincidentSegmentRangeXY(pointA0: Point3d, pointA1: Point3d, pointB0: Point3d, pointB1: Point3d, restrictToBounds: boolean = true): CurveLocationDetailPair | undefined {\r\n const detailAOnB = this.projectPointToSegmentXY(pointA0, pointB0, pointB1);\r\n if (pointA0.distanceXY(detailAOnB.point) > this._tolerance)\r\n return undefined;\r\n const detailA1OnB = this.projectPointToSegmentXY(pointA1, pointB0, pointB1);\r\n if (pointA1.distanceXY(detailA1OnB.point) > this._tolerance)\r\n return undefined;\r\n\r\n const detailBOnA = this.projectPointToSegmentXY(pointB0, pointA0, pointA1);\r\n if (pointB0.distanceXY(detailBOnA.point) > this._tolerance)\r\n return undefined;\r\n const detailB1OnA = this.projectPointToSegmentXY(pointB1, pointA0, pointA1);\r\n if (pointB1.distanceXY(detailB1OnA.point) > this._tolerance)\r\n return undefined;\r\n\r\n detailAOnB.fraction1 = detailA1OnB.fraction;\r\n detailAOnB.point1 = detailA1OnB.point; // capture -- detailB0OnA is not reused.\r\n detailBOnA.fraction1 = detailB1OnA.fraction;\r\n detailBOnA.point1 = detailB1OnA.point;\r\n if (!restrictToBounds)\r\n return CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);\r\n\r\n const segment = Segment1d.create(detailBOnA.fraction, detailBOnA.fraction1);\r\n if (segment.clampDirectedTo01()) {\r\n segment.reverseIfNeededForDeltaSign(1.0);\r\n const f0 = segment.x0;\r\n const f1 = segment.x1;\r\n const h0 = detailBOnA.inverseInterpolateFraction(f0);\r\n const h1 = detailBOnA.inverseInterpolateFraction(f1);\r\n // recompute fractions and points..\r\n CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailBOnA, f0, f1, pointA0, pointA1);\r\n CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailAOnB, h0, h1, pointB0, pointB1);\r\n return CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);\r\n } else {\r\n if (segment.signedDelta() < 0.0) {\r\n if (detailBOnA.point.isAlmostEqual(pointA0)) {\r\n detailBOnA.collapseToStart();\r\n detailAOnB.collapseToStart();\r\n return CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);\r\n }\r\n if (detailBOnA.point1.isAlmostEqual(pointA1)) {\r\n detailBOnA.collapseToEnd();\r\n detailAOnB.collapseToEnd();\r\n return CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);\r\n }\r\n } else {\r\n if (detailBOnA.point.isAlmostEqual(pointA1)) {\r\n detailBOnA.collapseToStart();\r\n detailAOnB.collapseToEnd();\r\n return CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);\r\n }\r\n if (detailBOnA.point1.isAlmostEqual(pointA0)) {\r\n detailBOnA.collapseToEnd();\r\n detailAOnB.collapseToStart();\r\n return CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Create a CurveLocationDetailPair from . . .\r\n * @param cpA curveA\r\n * @param cpB curve B\r\n * @param fractionsOnA fractions of an active section of curveA\r\n * @param fractionB0 fraction of an original containing B interval\r\n * @param fractionB1 end fraction of an original containing B interval\r\n */\r\n private createDetailPair(cpA: CurvePrimitive, cpB: CurvePrimitive, fractionsOnA: Segment1d, fractionB0: number, fractionB1: number, reverse: boolean): CurveLocationDetailPair | undefined {\r\n const deltaB = fractionB1 - fractionB0;\r\n const g0 = Geometry.conditionalDivideFraction(fractionsOnA.x0 - fractionB0, deltaB);\r\n const g1 = Geometry.conditionalDivideFraction(fractionsOnA.x1 - fractionB0, deltaB);\r\n if (g0 !== undefined && g1 !== undefined) {\r\n const detailA = CurveLocationDetail.createCurveEvaluatedFractionFraction(cpA, fractionsOnA.x0, fractionsOnA.x1);\r\n const detailB = CurveLocationDetail.createCurveEvaluatedFractionFraction(cpB, g0, g1);\r\n if (reverse) {\r\n detailA.swapFractionsAndPoints();\r\n detailB.swapFractionsAndPoints();\r\n }\r\n return CurveLocationDetailPair.createCapture(detailA, detailB);\r\n }\r\n return undefined;\r\n }\r\n private appendDetailPair(result: CurveLocationDetailPair[] | undefined, pair: CurveLocationDetailPair | undefined): CurveLocationDetailPair[] | undefined {\r\n if (pair === undefined)\r\n return result;\r\n if (result === undefined)\r\n return [pair];\r\n result.push(pair);\r\n return result;\r\n }\r\n /**\r\n * Test if 2 arcs have coinciding portions.\r\n * @param arcA\r\n * @param arcB\r\n * @param _restrictToBounds\r\n * @return 0, 1, or 2 overlap intervals.\r\n */\r\n public coincidentArcIntersectionXY(arcA: Arc3d, arcB: Arc3d, _restrictToBounds: boolean = true): CurveLocationDetailPair[] | undefined {\r\n let result: CurveLocationDetailPair[] | undefined;\r\n if (arcA.center.isAlmostEqual(arcB.center)) {\r\n const matrixBToA = arcA.matrixRef.multiplyMatrixInverseMatrix(arcB.matrixRef);\r\n if (matrixBToA) {\r\n const ux = matrixBToA.at(0, 0); const uy = matrixBToA.at(1, 0);\r\n const vx = matrixBToA.at(0, 1); const vy = matrixBToA.at(1, 1);\r\n const ru = Geometry.hypotenuseXY(ux, uy);\r\n const rv = Geometry.hypotenuseXY(vx, vy);\r\n const dot = Geometry.dotProductXYXY(ux, uy, vx, vy);\r\n const cross = Geometry.crossProductXYXY(ux, uy, vx, vy);\r\n if (Geometry.isAlmostEqualNumber(ru, 1.0)\r\n && Geometry.isAlmostEqualNumber(rv, 1.0)\r\n && Geometry.isAlmostEqualNumber(0, dot)) {\r\n const alphaB0Radians = Math.atan2(uy, ux); // angular position of arcB 0 point in A sweep\r\n const sweepDirection = cross > 0 ? 1.0 : -1.0; // 1 if arcB's parameter space sweeps forward, -1 if reverse\r\n const betaStartRadians = alphaB0Radians + sweepDirection * arcB.sweep.startRadians;\r\n const betaEndRadians = alphaB0Radians + sweepDirection * arcB.sweep.endRadians;\r\n const fractionSpacesReversed = (sweepDirection * arcA.sweep.sweepRadians * arcB.sweep.sweepRadians) < 0;\r\n const sweepB = AngleSweep.createStartEndRadians(betaStartRadians, betaEndRadians);\r\n const sweepA = arcA.sweep;\r\n const fractionPeriodA = sweepA.fractionPeriod();\r\n const fractionB0 = sweepA.radiansToPositivePeriodicFraction(sweepB.startRadians);\r\n const fractionSweep = sweepB.sweepRadians / sweepA.sweepRadians;\r\n const fractionB1 = fractionB0 + fractionSweep;\r\n const fractionSweepB = Segment1d.create(fractionB0, fractionB1);\r\n if (fractionSweepB.clampDirectedTo01())\r\n result = this.appendDetailPair(result, this.createDetailPair(arcA, arcB, fractionSweepB, fractionB0, fractionB1, fractionSpacesReversed));\r\n if (fractionB1 > fractionPeriodA) {\r\n const fractionSweepBWrap = Segment1d.create(fractionB0 - fractionPeriodA, fractionB1 - fractionPeriodA);\r\n if (fractionSweepBWrap.clampDirectedTo01())\r\n result = this.appendDetailPair(result, this.createDetailPair(arcA, arcB, fractionSweepBWrap, fractionB0, fractionB1, fractionSpacesReversed));\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n}\r\n"]}