@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":"IModelJsonSchema.js","sourceRoot":"","sources":["../../../src/serialization/IModelJsonSchema.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 Serialization\r\n */\r\n\r\nimport { BezierCurve3d } from \"../bspline/BezierCurve3d\";\r\nimport { BezierCurve3dH } from \"../bspline/BezierCurve3dH\";\r\nimport { BSplineCurve3d } from \"../bspline/BSplineCurve\";\r\nimport { BSplineCurve3dH } from \"../bspline/BSplineCurve3dH\";\r\nimport { BSplineSurface3d, BSplineSurface3dH, WeightStyle } from \"../bspline/BSplineSurface\";\r\nimport { BSplineWrapMode } from \"../bspline/KnotVector\";\r\nimport { Arc3d } from \"../curve/Arc3d\";\r\nimport { CoordinateXYZ } from \"../curve/CoordinateXYZ\";\r\nimport { BagOfCurves, CurveCollection } from \"../curve/CurveCollection\";\r\nimport { AnyGeometryQuery, GeometryQuery } from \"../curve/GeometryQuery\";\r\nimport { LineSegment3d } from \"../curve/LineSegment3d\";\r\nimport { LineString3d } from \"../curve/LineString3d\";\r\nimport { Loop } from \"../curve/Loop\";\r\nimport { ParityRegion } from \"../curve/ParityRegion\";\r\nimport { Path } from \"../curve/Path\";\r\nimport { PointString3d } from \"../curve/PointString3d\";\r\nimport { TransitionSpiral3d } from \"../curve/spiral/TransitionSpiral3d\";\r\nimport { IntegratedSpiral3d } from \"../curve/spiral/IntegratedSpiral3d\";\r\nimport { UnionRegion } from \"../curve/UnionRegion\";\r\nimport { AngleProps, AngleSweepProps, AxisOrder, Geometry } from \"../Geometry\";\r\nimport { Angle } from \"../geometry3d/Angle\";\r\nimport { AngleSweep } from \"../geometry3d/AngleSweep\";\r\nimport { GeometryHandler } from \"../geometry3d/GeometryHandler\";\r\nimport { Matrix3d } from \"../geometry3d/Matrix3d\";\r\nimport { Point2d } from \"../geometry3d/Point2dVector2d\";\r\nimport { Point3d, Vector3d, XYZ } from \"../geometry3d/Point3dVector3d\";\r\nimport { Ray3d } from \"../geometry3d/Ray3d\";\r\nimport { Segment1d } from \"../geometry3d/Segment1d\";\r\nimport { Transform } from \"../geometry3d/Transform\";\r\nimport { XYProps, XYZProps } from \"../geometry3d/XYZProps\";\r\nimport { YawPitchRollAngles, YawPitchRollProps } from \"../geometry3d/YawPitchRollAngles\";\r\nimport { Point4d } from \"../geometry4d/Point4d\";\r\nimport { AuxChannel, AuxChannelData, AuxChannelDataType, PolyfaceAuxData } from \"../polyface/AuxData\";\r\nimport { IndexedPolyface } from \"../polyface/Polyface\";\r\nimport { Box } from \"../solid/Box\";\r\nimport { Cone } from \"../solid/Cone\";\r\nimport { LinearSweep } from \"../solid/LinearSweep\";\r\nimport { RotationalSweep } from \"../solid/RotationalSweep\";\r\nimport { RuledSweep } from \"../solid/RuledSweep\";\r\nimport { Sphere } from \"../solid/Sphere\";\r\nimport { TorusPipe } from \"../solid/TorusPipe\";\r\nimport { DirectSpiral3d } from \"../curve/spiral/DirectSpiral3d\";\r\nimport { TaggedNumericData } from \"../polyface/TaggedNumericData\";\r\nimport { InterpolationCurve3d as InterpolationCurve3d, InterpolationCurve3dProps } from \"../bspline/InterpolationCurve3d\";\r\nimport { AkimaCurve3d } from \"../bspline/AkimaCurve3d\";\r\nimport { BSplineCurveOps } from \"../bspline/BSplineCurveOps\";\r\n// cspell:word bagof\r\n/* eslint-disable no-console*/\r\n/**\r\n * `ImodelJson` namespace has classes for serializing and deserialization json objects\r\n * @public\r\n */\r\nexport namespace IModelJson {\r\n /**\r\n * Property rules for json objects that can be deserialized to various Curve and Solid objects\r\n * @public\r\n */\r\n export interface GeometryProps extends CurvePrimitiveProps, SolidPrimitiveProps, CurveCollectionProps {\r\n /** `{indexedMesh:...}` */\r\n indexedMesh?: IndexedMeshProps;\r\n /** `{point:...}` */\r\n point?: XYZProps;\r\n /** `{bsurf:...}` */\r\n bsurf?: BSplineSurfaceProps;\r\n }\r\n /**\r\n * Property rules for json objects that can be deserialized to various CurvePrimitives\r\n * * Only one of these is allowed in each instance.\r\n * @public\r\n */\r\n export interface CurvePrimitiveProps {\r\n /** `{lineSegment:...}` */\r\n lineSegment?: [XYZProps, XYZProps];\r\n /** `{lineString:...}` */\r\n lineString?: XYZProps[];\r\n /** `{bcurve:...}` */\r\n bcurve?: BcurveProps;\r\n /** `{transitionSpiral:...}` */\r\n transitionSpiral?: TransitionSpiralProps;\r\n /** `{arc:...}` */\r\n arc?: ArcByVectorProps | [XYZProps, XYZProps, XYZProps];\r\n /** `{interpolationCurve:...}~ */\r\n interpolationCurve?: InterpolationCurve3dProps;\r\n }\r\n\r\n /**\r\n * Property rules for json objects that can be deserialized to single point\r\n * @public\r\n */\r\n export interface PointProps {\r\n /** `{point:...}` */\r\n point?: XYZProps;\r\n }\r\n\r\n /**\r\n * Property rules for json objects that can be deserialized to a BsplineSurface\r\n * See `BCurveProps` for discussion of knot and pole counts.\r\n * @public\r\n */\r\n export interface BSplineSurfaceProps {\r\n /** polynomial order (one more than degree) in the u parameter direction */\r\n orderU: number;\r\n /** polynomial order (one more than degree) in the v parameter direction */\r\n orderV: number;\r\n /** Square grid of control points (aka poles) in row major order (row is along the u direction) */\r\n points: [[[number]]]; // each inner array is xyz or xyzw for a single control point. each middle array is a row of control points.\r\n /** Array of knots for the u direction bspline */\r\n uKnots: [number];\r\n /** Array of knots for the v direction bspline */\r\n vKnots: [number];\r\n }\r\n\r\n /**\r\n * Interface for a collection of curves, eg. as used as a swept contour.\r\n * @public\r\n */\r\n export interface CurveCollectionProps extends PlanarRegionProps {\r\n /** A sequence of curves joined head to tail: */\r\n path?: [CurvePrimitiveProps];\r\n /** A collection of curves with no required structure or connections: */\r\n bagofCurves?: [CurveCollectionProps];\r\n }\r\n\r\n /**\r\n * Interface for a collection of curves that bound a planar region\r\n * @public\r\n */\r\n export interface PlanarRegionProps {\r\n /** `{loop:...}`\r\n * * A sequence of curves which connect head to tail, with the final connecting back to the first\r\n */\r\n loop?: [CurvePrimitiveProps];\r\n /** `{parityRegion:...}`\r\n * * A collection of loops, with composite inside/outside determined by parity rules.\r\n * * (The single outer boundary with one or more holes is a parityRegion)\r\n */\r\n parityRegion?: [{ loop: [CurvePrimitiveProps] }];\r\n /** `{unionRegion:...}`\r\n * * A collection of loops and parityRegions\r\n */\r\n\r\n unionRegion?: [PlanarRegionProps];\r\n }\r\n /**\r\n * Interface for solid primitives: box, sphere, cylinder, cone, torusPipe, linear sweep, rotational sweep, ruled sweep.\r\n * @public\r\n */\r\n export interface SolidPrimitiveProps {\r\n /** `{cylinder:...}` */\r\n cylinder?: CylinderProps;\r\n /** `{box:...}` */\r\n box?: BoxProps;\r\n /** `{sphere:............}` */\r\n sphere?: SphereProps;\r\n /** `{cone:............}` */\r\n cone?: ConeProps;\r\n /** `{torusPipe:............}` */\r\n torusPipe?: TorusPipeProps;\r\n /** `{linearSweep:.........}` */\r\n linearSweep?: LinearSweepProps;\r\n /** `{rotationalSweep:...}` */\r\n rotationalSweep?: RotationalSweepProps;\r\n /** `{ruledSweep:...}` */\r\n ruledSweep?: RuledSweepProps;\r\n }\r\n /**\r\n * * There are multiple ways to specify an orientation\r\n * * A \"Best\" among these is application specific.\r\n * * An object with AxesProps should only specify one of the variants.\r\n * * YawPitchRollAngles uses 3 angles.\r\n * * * Cases where only one of the 3 is nonzero are intuitive\r\n * * * Cases where more than one is nonzero have difficult interactions and order issues.\r\n * * xyVectors uses a vector along the x direction and a vector into positive xy plane\r\n * along any direction not parallel to x.\r\n * * * In most cases, users supply a normalized x and the actual normalized y vector.\r\n * * zxVectors uses a z vector and another vector into the positive zx plane.\r\n * * * In most cases, users supply a normalized z and the actual normalized x vector.\r\n * @public\r\n */\r\n export interface AxesProps {\r\n /**\r\n * See YawPitchAngles class for further information about using 3 rotations to specify orientation.\r\n * @public\r\n */\r\n yawPitchRollAngles?: YawPitchRollProps;\r\n /**\r\n * Cartesian coordinate directions defined by X direction then Y direction.\r\n * * The right side contains two vectors in an array.\r\n * * The first vector gives the x axis direction\r\n * * * This is normalized to unit length.\r\n * * The second vector gives the positive y direction in the xy plane.\r\n * * * This vector is adjusted to be unit length and perpendicular to the x direction.\r\n */\r\n xyVectors?: [XYZProps, XYZProps];\r\n /**\r\n * Cartesian coordinate directions defined by X direction then Y direction.\r\n * * The right side contains two vectors in an array.\r\n * * The first vector gives the z axis direction\r\n * * * This is normalized to unit length.\r\n * * The second vector gives the positive x direction in the zx plane.\r\n * * * This vector is adjusted to be unit length and perpendicular to the z direction.\r\n */\r\n zxVectors?: [XYZProps, XYZProps];\r\n }\r\n\r\n /**\r\n * Interface for Arc3d value defined by center, vectorX, vectorY and sweepStartEnd.\r\n * @public\r\n */\r\n export interface ArcByVectorProps {\r\n /** Arc center point */\r\n center: XYZProps;\r\n /** Vector from center to 0-degree point (commonly called major axis vector) */\r\n vectorX: XYZProps;\r\n /** Vector from center to 90-degree point (common called minor axis vector) */\r\n vectorY: XYZProps;\r\n /** Start and end angles in parameterization `X=C+cos(theta) * vectorX + sin(theta) * vectorY` */\r\n sweepStartEnd: AngleSweepProps;\r\n }\r\n\r\n /**\r\n * Interface for Cone value defined by centers, radii, and (optional) vectors for circular section planes.\r\n * * VectorX and vectorY are optional.\r\n * * If either one is missing, both vectors are constructed perpendicular to the vector from start to end.\r\n * @public\r\n */\r\n export interface ConeProps extends AxesProps {\r\n /** Point on axis at start section. */\r\n start: XYZProps;\r\n /** Point on axis at end section */\r\n end: XYZProps;\r\n\r\n /** radius at `start` section */\r\n startRadius?: number;\r\n /** radius at `end` section */\r\n endRadius?: number;\r\n /** single radius to be applied as both start and end */\r\n radius?: number;\r\n /** optional x vector in start section. Omit for circular sections perpendicular to axis. */\r\n vectorX?: XYZProps;\r\n /** optional y vector in start section. Omit for circular sections perpendicular to axis. */\r\n vectorY?: XYZProps;\r\n /** flag for circular end caps. */\r\n capped?: boolean;\r\n }\r\n\r\n /**\r\n * Interface for cylinder defined by a radius and axis start and end centers.\r\n * @public\r\n */\r\n export interface CylinderProps {\r\n /** axis point at start */\r\n start: XYZProps;\r\n /** axis point at end */\r\n end: XYZProps;\r\n /** cylinder radius */\r\n radius: number;\r\n /** flag for circular end caps. */\r\n capped?: boolean;\r\n }\r\n\r\n /**\r\n * Interface for a linear sweep of a base curve or region.\r\n * @public\r\n */\r\n export interface LinearSweepProps {\r\n /** The swept curve or region. Any curve collection */\r\n contour: CurveCollectionProps;\r\n /** The sweep vector */\r\n vector: XYZProps;\r\n /** flag for circular end caps. */\r\n capped?: boolean;\r\n }\r\n\r\n /**\r\n * Interface for a rotational sweep of a base curve or region around an axis.\r\n * @public\r\n */\r\n export interface RotationalSweepProps {\r\n /** The swept curve or region. Any curve collection */\r\n contour: CurveCollectionProps;\r\n /** any point on the axis of rotation. */\r\n center: XYZProps;\r\n /** The axis of rotation */\r\n axis: XYZProps;\r\n /** sweep angle */\r\n sweepAngle: AngleProps;\r\n /** flag for circular end caps. */\r\n capped?: boolean;\r\n }\r\n\r\n /**\r\n * Interface for a surface with ruled sweeps between corresponding curves on successive contours\r\n * @public\r\n */\r\n export interface RuledSweepProps {\r\n /** The swept curve or region. An array of curve collections. */\r\n contour: [CurveCollectionProps];\r\n /** flag for circular end caps. */\r\n capped?: boolean;\r\n }\r\n\r\n /**\r\n * Interface for spiral\r\n * * Any 4 (but not 5) of the 5 values `[startBearing, endBearing, startRadius, endRadius, length]`\r\n * may be defined.\r\n * * In radius data, zero radius indicates straight line (infinite radius)\r\n * * Note that the inherited AxesProps allows multiple ways to specify orientation of the placement..\r\n * @public\r\n */\r\n export interface TransitionSpiralProps extends AxesProps {\r\n\r\n /** origin of the coordinate system. */\r\n origin: XYZProps;\r\n /** angle at departure from origin. */\r\n startBearing?: AngleProps;\r\n /** End bearing. */\r\n endBearing?: AngleProps;\r\n /** Radius at start (0 for straight line) */\r\n startRadius?: number;\r\n /** Radius at end (0 for straight line) */\r\n endRadius?: number;\r\n /** length along curve.\r\n */\r\n length?: number;\r\n /** Fractional part of active interval.\r\n * * There has been name confusion between native and typescript .... accept any variant ..\r\n * * native (July 2020) emits activeFractionInterval\r\n */\r\n activeFractionInterval?: number[];\r\n /** TransitionSpiral type.\r\n * * expected names are given in `IntegratedSpiralTypeName` and `DirectSpiralTypeName`\r\n */\r\n type?: string;\r\n }\r\n\r\n /**\r\n * Interface for bspline curve (aka bcurve)\r\n * @public\r\n */\r\n export interface BcurveProps {\r\n /** control points */\r\n points: [XYZProps];\r\n /** knots. */\r\n knots: [number];\r\n /** order of polynomial\r\n * * The order is the number of basis functions that are in effect at any knot value.\r\n * * The order is the number of points that affect the curve at any knot value,\r\n * i.e. the size of the \"local support\" set\r\n * * `order=2` is lines (degree 1)\r\n * * `order=3` is quadratic (degree 2)\r\n * * `order=4` is cubic (degree 3)\r\n * * The number of knots follows the convention \"poles+order= knots\".\r\n * * In this convention (for example), a clamped cubic with knots `[0,0,0,0, 1,2,3,4,4,4,4]`\r\n * has:\r\n * * * 4 (`order`) copies of the start and end knot (0 and 4) and\r\n * * * 3 interior knots\r\n * * Hence expect 7 poles.\r\n */\r\n order: number;\r\n /** optional flag for periodic data. */\r\n closed?: boolean;\r\n }\r\n\r\n /**\r\n * Interface for Box (or frustum with all rectangular sections parallel to primary xy section)\r\n * * Orientation may be given in any `AxesProp`s way (yawPitchRoll, xyVectors, zxVectors)\r\n * * if topX or topY are omitted, each defaults to its baseX or baseY peer.\r\n * * `topOrigin` is determined with this priority order:\r\n * * * `topOrigin` overrides given `height`\r\n * * * on the z axis at distance `height`\r\n * * * If both `topOrigin` and `height` are omitted, `height` defaults to `baseX`\r\n * @public\r\n */\r\n export interface BoxProps extends AxesProps {\r\n /** Origin of the box coordinate system (required) */\r\n origin: XYZProps;\r\n /** base x size (required) */\r\n baseX: number;\r\n /** base size\r\n * * if omitted, defaults to baseX.\r\n */\r\n baseY: number;\r\n /** top origin.\r\n * * This is NOT required to be on the z axis.\r\n * * If omitted, a `heigh` must be present to given topOrigin on z axis.\r\n */\r\n topOrigin?: XYZProps;\r\n /** optional height. This is only used if `topOrigin` is omitted. */\r\n height?: number;\r\n /** x size on top section.\r\n * * If omitted, `baseX` is used\r\n */\r\n topX?: number;\r\n /** y size on top section.\r\n * * If omitted, `baseY` is used\r\n */\r\n topY?: number;\r\n /** optional capping flag. */\r\n capped?: boolean;\r\n\r\n }\r\n\r\n /**\r\n * Interface for Sphere (with optionally different radius to pole versus equator)\r\n * * Orientation may be given in any `AxesProp`s way (yawPitchRoll, xyVectors, zxVectors)\r\n * @public\r\n */\r\n export interface SphereProps extends AxesProps {\r\n /** Center of the sphere coordinate system */\r\n center: XYZProps;\r\n\r\n /** primary radius */\r\n radius?: number;\r\n /** optional x radius */\r\n radiusX?: number;\r\n /** optional y radius */\r\n radiusY?: number;\r\n\r\n /** optional radius at poles. */\r\n radiusZ?: number;\r\n\r\n /** optional sweep range for latitude. Default latitude limits are [-90,90 ] degrees. */\r\n latitudeStartEnd?: AngleSweepProps;\r\n /** optional capping flag. If missing, implied false */\r\n capped?: boolean;\r\n }\r\n\r\n /**\r\n * Interface for TorusPipe data\r\n * * Orientation may be given in any `AxesProp`s way (yawPitchRoll, xyVectors, zxVectors)\r\n * * Both radii are required.\r\n * * axes are required\r\n * * Axis definition is\r\n * * xy plane contains the major circle\r\n * * x axis points from donut hole center to flow center at start of pipe.\r\n * * z axis points through the hole.\r\n * @public\r\n */\r\n export interface TorusPipeProps extends AxesProps {\r\n /** Center of the full torus coordinate system. (donut hole center) */\r\n center: XYZProps;\r\n\r\n /** primary radius (elbow radius) */\r\n majorRadius: number;\r\n /** pipe radius */\r\n minorRadius?: number;\r\n /** sweep angle.\r\n * * if omitted, full 360 degree sweep.\r\n */\r\n sweepAngle?: AngleProps;\r\n /** optional capping flag. If missing, implied false */\r\n capped?: boolean;\r\n }\r\n\r\n /**\r\n * Interface for a ruled sweep.\r\n * @public\r\n */\r\n export interface RuledSweepProps {\r\n /** Array of contours */\r\n contour: [CurveCollectionProps];\r\n /** optional capping flag. */\r\n capped?: boolean;\r\n }\r\n /**\r\n * Interface for extra data attached to an indexed mesh.\r\n * See `TaggedNumericData` for further information (e.g. value `tagA` and `tagB` values)\r\n * @public\r\n */\r\n export interface TaggedNumericDataProps {\r\n /** integer tag identifying the meaning of this tag. */\r\n tagA: number;\r\n /** Second integer tag. */\r\n tagB: number;\r\n /** application specific integer data */\r\n intData?: number[];\r\n /** application specific doubles */\r\n doubleData?: number[];\r\n }\r\n /**\r\n * Interface for an indexed mesh.\r\n * * IMPORTANT: All indices are one-based.\r\n * * i.e. vertex index given as 11 appears at index 10 in the data array.\r\n * * This is to allow a negated index to mean \"don't draw the following edge\"\r\n * * Although negative indices are not allowed for normalIndex, colorIndex, or paramIndex, the \"one based\" style\r\n * is used for them so that all indices within the indexedMesh json object are handled similarly.\r\n * * In all index arrays, a ZERO indicates \"end of facet\".\r\n * @public\r\n */\r\n export interface IndexedMeshProps {\r\n /** vertex coordinates */\r\n point: [XYZProps];\r\n /** surface normals */\r\n normal?: [XYZProps];\r\n /** texture space (uv parameter) coordinates */\r\n param?: [XYProps];\r\n /** 32 bit color values */\r\n color?: [number];\r\n\r\n /** SIGNED ONE BASED ZERO TERMINATED array of point indices. */\r\n pointIndex: [number];\r\n /** ONE BASED ZERO TERMINATED array of param indices. ZERO is terminator for single facet. */\r\n paramIndex?: [number];\r\n /** ONE BASED ZERO TERMINATED array of normal indices. ZERO is terminator for single facet. */\r\n normalIndex?: [number];\r\n /** ONE BASED ZERO TERMINATED array of color indices. ZERO is terminator for single facet. */\r\n colorIndex?: [number];\r\n /** optional array of tagged geometry (such as to request subdivision surface) */\r\n taggedNumericData?: TaggedNumericDataProps;\r\n }\r\n /** parser services for \"iModelJson\" schema\r\n * * 1: create a reader with `new ImodelJsonReader`\r\n * * 2: parse json fragment to strongly typed geometry: `const g = reader.parse (fragment)`\r\n * @public\r\n */\r\n export class Reader {\r\n\r\n public constructor() { // empty ctor\r\n }\r\n\r\n private static parseVector3dProperty(json: any, propertyName: string, defaultValue?: Vector3d | undefined): Vector3d | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n if (Geometry.isNumberArray(value, 3))\r\n return Vector3d.create(value[0], value[1], value[2]);\r\n if (XYZ.isXAndY(value))\r\n return Vector3d.fromJSON(value);\r\n }\r\n return defaultValue;\r\n }\r\n\r\n private static parsePoint3dProperty(json: any, propertyName: string, defaultValue?: Point3d | undefined): Point3d | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n if (Geometry.isNumberArray(value, 3))\r\n return Point3d.create(value[0], value[1], value[2]);\r\n if (XYZ.isXAndY(value))\r\n return Point3d.fromJSON(value);\r\n }\r\n return defaultValue;\r\n }\r\n\r\n private static parseSegment1dProperty(json: any, propertyName: string, defaultValue?: Segment1d | undefined): Segment1d | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n if (Geometry.isNumberArray(value, 2))\r\n return Segment1d.create(value[0], value[1]);\r\n }\r\n return defaultValue;\r\n }\r\n\r\n private static parseNumberProperty(json: any, propertyName: string, defaultValue?: number | undefined): number | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n if (Number.isFinite(value))\r\n return value as number;\r\n }\r\n return defaultValue;\r\n }\r\n /**\r\n * @internal\r\n */\r\n public static parseTaggedNumericProps(json: any): TaggedNumericData | undefined {\r\n const tagA = this.parseNumberProperty(json, \"tagA\");\r\n const tagB = this.parseNumberProperty(json, \"tagB\", 0);\r\n if (tagA !== undefined) {\r\n const result = new TaggedNumericData(tagA, tagB);\r\n if (json.hasOwnProperty(\"intData\"))\r\n result.intData = this.parseNumberArrayProperty(json, \"intData\", 0, undefined);\r\n if (json.hasOwnProperty(\"doubleData\"))\r\n result.doubleData = this.parseNumberArrayProperty(json, \"doubleData\", 0, undefined);\r\n return result;\r\n }\r\n return undefined;\r\n }\r\n\r\n private static parseNumberArrayProperty(json: any, propertyName: string, minValues: number, maxValues: number | undefined, defaultValue?: number[] | undefined): number[] | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n if (Array.isArray(value)\r\n && value.length >= minValues && (undefined === maxValues || value.length <= maxValues)) {\r\n const result = [];\r\n for (const a of value) {\r\n result.push(a);\r\n }\r\n return result;\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n\r\n private static parseAngleProperty(json: any, propertyName: string, defaultValue?: Angle | undefined): Angle | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n return Angle.fromJSON(value);\r\n }\r\n return defaultValue;\r\n }\r\n /**\r\n * @param defaultFunction function to call if needed to produce a default value\r\n */\r\n private static parseAngleSweepProps(json: any, propertyName: string, defaultFunction?: () => AngleSweep): AngleSweep | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n return AngleSweep.fromJSON(value);\r\n }\r\n if (defaultFunction === undefined)\r\n return undefined;\r\n return defaultFunction();\r\n }\r\n\r\n private static parseBooleanProperty(json: any, propertyName: string, defaultValue?: boolean | undefined): boolean | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n if (value === true) return true;\r\n if (value === false) return false;\r\n }\r\n return defaultValue;\r\n }\r\n\r\n private static loadContourArray(json: any, propertyName: string): CurveCollection[] | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n if (Array.isArray(value)) {\r\n const result = [];\r\n for (const contourData of value) {\r\n const contour = Reader.parse(contourData);\r\n if (contour instanceof CurveCollection) {\r\n result.push(contour);\r\n }\r\n }\r\n if (result.length > 0)\r\n return result;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n private static parseYawPitchRollAnglesToMatrix3d(json: YawPitchRollProps): Matrix3d | undefined {\r\n const ypr = YawPitchRollAngles.fromJSON(json);\r\n return ypr.toMatrix3d();\r\n }\r\n\r\n private static parseStringProperty(json: any, propertyName: string, defaultValue?: string | undefined): string | undefined {\r\n if (json.hasOwnProperty(propertyName)) {\r\n const value = json[propertyName];\r\n // if (value instanceof string)\r\n return value;\r\n }\r\n return defaultValue;\r\n }\r\n\r\n private static parseAxesFromVectors(json: any, axisOrder: AxisOrder, createDefaultIdentity: boolean): Matrix3d | undefined {\r\n if (Array.isArray(json) && json.length === 2) {\r\n const xVector = Vector3d.fromJSON(json[0]);\r\n const yVector = Vector3d.fromJSON(json[1]);\r\n const matrix = Matrix3d.createRigidFromColumns(xVector, yVector, axisOrder);\r\n if (matrix) return matrix;\r\n }\r\n if (createDefaultIdentity)\r\n return Matrix3d.createIdentity();\r\n return undefined;\r\n }\r\n /**\r\n * Look for orientation data and convert to Matrix3d.\r\n * * Search order is:\r\n * * * yawPitchRollAngles\r\n * * * xyVectors\r\n * * * zxVectors\r\n * @param json [in] json source data\r\n * @param createDefaultIdentity [in] If true and no orientation is present, return an identity matrix. If false and no orientation is present, return undefined.\r\n */\r\n private static parseOrientation(json: any, createDefaultIdentity: boolean): Matrix3d | undefined {\r\n if (json.yawPitchRollAngles) {\r\n return Reader.parseYawPitchRollAnglesToMatrix3d(json.yawPitchRollAngles);\r\n } else if (json.xyVectors) {\r\n return Reader.parseAxesFromVectors(json.xyVectors, AxisOrder.XYZ, createDefaultIdentity);\r\n } else if (json.zxVectors) {\r\n return Reader.parseAxesFromVectors(json.zxVectors, AxisOrder.ZXY, createDefaultIdentity);\r\n }\r\n if (createDefaultIdentity)\r\n return Matrix3d.createIdentity();\r\n return undefined;\r\n }\r\n\r\n private static parseArcByVectorProps(data?: ArcByVectorProps): Arc3d | undefined {\r\n if (data\r\n && data.center !== undefined\r\n && data.vectorX !== undefined\r\n && data.vectorY !== undefined\r\n && data.sweepStartEnd !== undefined\r\n ) {\r\n return Arc3d.create(\r\n Point3d.fromJSON(data.center),\r\n Vector3d.fromJSON(data.vectorX),\r\n Vector3d.fromJSON(data.vectorY),\r\n AngleSweep.fromJSON(data.sweepStartEnd));\r\n }\r\n return undefined;\r\n }\r\n // remark: Returns LineString3d as last default when give points are colinear.\r\n private static parseArcBy3Points(data?: ArcByVectorProps): Arc3d | LineString3d | undefined {\r\n if (Array.isArray(data) && data.length > 2) {\r\n const pointA = Point3d.fromJSON(data[0]);\r\n const pointB = Point3d.fromJSON(data[1]);\r\n const pointC = Point3d.fromJSON(data[2]);\r\n return Arc3d.createCircularStartMiddleEnd(pointA, pointB, pointC);\r\n }\r\n return undefined;\r\n }\r\n\r\n private static parseArcObject(data?: ArcByVectorProps): Arc3d | LineString3d | undefined {\r\n let arc: Arc3d | LineString3d | undefined = Reader.parseArcByVectorProps(data);\r\n if (arc)\r\n return arc;\r\n arc = Reader.parseArcBy3Points(data);\r\n return arc; // possibly undefined.\r\n }\r\n /** Parse point content (right side) `[1,2,3]` to a CoordinateXYZ object. */\r\n public static parseCoordinate(data?: any): CoordinateXYZ | undefined {\r\n const point = Point3d.fromJSON(data);\r\n if (point)\r\n return CoordinateXYZ.create(point);\r\n return undefined;\r\n }\r\n /** Parse TransitionSpiral content (right side) to TransitionSpiral3d\r\n * @alpha\r\n */\r\n public static parseTransitionSpiral(data?: TransitionSpiralProps): TransitionSpiral3d | undefined {\r\n const axes = Reader.parseOrientation(data, true)!;\r\n const origin = Reader.parsePoint3dProperty(data, \"origin\");\r\n // the create method will juggle any 4 out of these 5 inputs to define the other ..\r\n const startBearing = Reader.parseAngleProperty(data, \"startBearing\");\r\n const endBearing = Reader.parseAngleProperty(data, \"endBearing\");\r\n const startRadius = Reader.parseNumberProperty(data, \"startRadius\");\r\n const endRadius = Reader.parseNumberProperty(data, \"endRadius\");\r\n let length = Reader.parseNumberProperty(data, \"length\", undefined);\r\n if (length === undefined)\r\n length = Reader.parseNumberProperty(data, \"curveLength\", undefined);\r\n\r\n let interval = Reader.parseSegment1dProperty(data, \"activeFractionInterval\", undefined);\r\n if (!interval)\r\n interval = Reader.parseSegment1dProperty(data, \"fractionInterval\", undefined);\r\n if (!interval)\r\n interval = Reader.parseSegment1dProperty(data, \"activeInterval\", undefined);\r\n const spiralType = Reader.parseStringProperty(data, \"type\", \"clothoid\")!;\r\n // REMARK: Our job is to parse and pass data along -- inscrutable validation happens in the implementation classes . . .\r\n if (origin) {\r\n let candidate: TransitionSpiral3d | undefined;\r\n candidate = IntegratedSpiral3d.createFrom4OutOf5(\r\n spiralType,\r\n startRadius, endRadius,\r\n startBearing, endBearing,\r\n length,\r\n interval,\r\n Transform.createOriginAndMatrix(origin, axes));\r\n if (candidate)\r\n return candidate;\r\n candidate = DirectSpiral3d.createFromLengthAndRadius(\r\n spiralType,\r\n startRadius, endRadius,\r\n startBearing, endBearing,\r\n length,\r\n interval,\r\n Transform.createOriginAndMatrix(origin, axes));\r\n if (candidate)\r\n return candidate;\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Special closed case if the input was forced to bezier . . . (e.g. arc)\r\n * (b-1) 0 0 0 a . . . b 111 (a+1)\r\n * with {order} clamp-like values .. no pole duplication needed, but throw out 2 knots at each end . ..\r\n * @param numPoles number of poles\r\n * @param knots knot vector\r\n * @param order curve order\r\n * @param newKnots array to receive new knots.\r\n * @returns true if this is a closed-but-clamped case and corrected knots are filled in.\r\n */\r\n private static getCorrectedKnotsForClosedClamped(numPoles: number, knots: number[], order: number, newKnots: number[]): boolean {\r\n const numKnots = knots.length;\r\n if (numPoles + 2 * order - 1 === numKnots\r\n && knots[0] < knots[1]\r\n && knots[numKnots - 2] < knots[numKnots - 1]) {\r\n const a0 = knots[1];\r\n const a1 = knots[numKnots - 2];\r\n for (let i = 2; i <= order; i++) {\r\n if (knots[i] !== a0)\r\n return false;\r\n if (knots[numKnots - 1 - i] !== a1)\r\n return false;\r\n }\r\n // copy only the \"minimal\" set - without the typical extra knots from microstation and psd.\r\n for (let i = 2; i + 2 < numKnots; i++)\r\n newKnots.push(knots[i]);\r\n return true;\r\n }\r\n return false;\r\n }\r\n /** Parse `bcurve` content (right side)to BSplineCurve3d or BSplineCurve3dH object. */\r\n public static parseBcurve(data?: any): BSplineCurve3d | BSplineCurve3dH | undefined {\r\n if (data === undefined)\r\n return undefined;\r\n if (Array.isArray(data.points) && Array.isArray(data.knots) && Number.isFinite(data.order) && data.closed !== undefined) {\r\n if (data.points[0].length === 4) {\r\n const hPoles: Point4d[] = [];\r\n for (const p of data.points) hPoles.push(Point4d.fromJSON(p));\r\n const knots: number[] = [];\r\n let wrapMode = BSplineWrapMode.None;\r\n if (data.closed && this.getCorrectedKnotsForClosedClamped(data.points.length, data.knots, data.order, knots)) {\r\n // leave the poles alone -- knots are fixed.\r\n wrapMode = BSplineWrapMode.OpenByRemovingKnots;\r\n } else if (data.closed) {\r\n for (const knot of data.knots) knots.push(knot);\r\n for (let i = 0; i + 1 < data.order; i++) {\r\n hPoles.push(hPoles[i].clone());\r\n }\r\n wrapMode = BSplineWrapMode.OpenByAddingControlPoints;\r\n } else {\r\n // simple case .. just copy\r\n for (const knot of data.knots) knots.push(knot);\r\n }\r\n const newCurve = BSplineCurve3dH.create(hPoles, knots, data.order);\r\n if (newCurve) {\r\n if (data.closed === true)\r\n newCurve.setWrappable(wrapMode);\r\n return newCurve;\r\n }\r\n } else if (data.points[0].length === 3 || data.points[0].length === 2) {\r\n\r\n const poles: Point3d[] = [];\r\n for (const p of data.points) poles.push(Point3d.fromJSON(p));\r\n const knots: number[] = [];\r\n let wrapMode = BSplineWrapMode.None;\r\n if (data.closed && this.getCorrectedKnotsForClosedClamped(data.points.length, data.knots, data.order, knots)) {\r\n wrapMode = BSplineWrapMode.OpenByRemovingKnots;\r\n // leave the poles alone -- knots are fixed.\r\n } else if (data.closed) {\r\n for (const knot of data.knots) knots.push(knot);\r\n for (let i = 0; i + 1 < data.order; i++) {\r\n poles.push(poles[i].clone());\r\n }\r\n wrapMode = BSplineWrapMode.OpenByAddingControlPoints;\r\n } else {\r\n // simple case .. just copy\r\n for (const knot of data.knots) knots.push(knot);\r\n }\r\n const newCurve = BSplineCurve3d.create(poles, knots, data.order);\r\n if (newCurve) {\r\n if (data.closed === true)\r\n newCurve.setWrappable(wrapMode);\r\n return newCurve;\r\n }\r\n }\r\n\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Parse `bcurve` content (right side)to BSplineCurve3d or BSplineCurve3dH object. */\r\n public static parseInterpolationCurve(data?: any): InterpolationCurve3d | undefined {\r\n if (data === undefined)\r\n return undefined;\r\n return InterpolationCurve3d.create(data);\r\n }\r\n\r\n /** Parse `bcurve` content (right side)to an Akima curve object. */\r\n public static parseAkimaCurve3d(data?: any): AkimaCurve3d | undefined {\r\n if (data === undefined)\r\n return undefined;\r\n return AkimaCurve3d.create(data);\r\n }\r\n\r\n /** Parse array of json objects to array of instances. */\r\n public static parseArray(data?: any): any[] | undefined {\r\n if (Array.isArray(data)) {\r\n const myArray = [];\r\n let c;\r\n for (c of data) {\r\n const g = Reader.parse(c);\r\n if (g !== undefined)\r\n myArray.push(g);\r\n }\r\n return myArray;\r\n }\r\n return undefined;\r\n }\r\n\r\n // For each nonzero index, Announce Math.abs (value) -1\r\n private static addZeroBasedIndicesFromSignedOneBased(data: any, numPerFace: number, f: (x: number) => any): void {\r\n if (data && Geometry.isNumberArray(data)) {\r\n if (numPerFace > 1) {\r\n // all indices are used ...\r\n for (const value of data) {\r\n f(Math.abs(value) - 1);\r\n }\r\n } else {\r\n // ignore separator zeros ...\r\n for (const value of data) {\r\n if (value !== 0)\r\n f(Math.abs(value) - 1);\r\n }\r\n }\r\n }\r\n }\r\n /** parse polyface aux data content to PolyfaceAuxData instance */\r\n public static parsePolyfaceAuxData(data: any = undefined, numPerFace: number = 0): PolyfaceAuxData | undefined {\r\n\r\n if (!Array.isArray(data.channels) || !Array.isArray(data.indices))\r\n return undefined;\r\n\r\n const outChannels: AuxChannel[] = [];\r\n for (const inChannel of data.channels) {\r\n if (Array.isArray(inChannel.data) && inChannel.hasOwnProperty(\"dataType\")) {\r\n const outChannelData: AuxChannelData[] = [];\r\n for (const inChannelData of inChannel.data) {\r\n if (inChannelData.hasOwnProperty(\"input\") && Array.isArray(inChannelData.values))\r\n outChannelData.push(new AuxChannelData(inChannelData.input, inChannelData.values));\r\n }\r\n outChannels.push(new AuxChannel(outChannelData, inChannel.dataType as AuxChannelDataType, inChannel.name, inChannel.inputName));\r\n }\r\n }\r\n\r\n const auxData = new PolyfaceAuxData(outChannels, []);\r\n Reader.addZeroBasedIndicesFromSignedOneBased(data.indices, numPerFace, (x: number) => { auxData.indices.push(x); });\r\n\r\n return auxData;\r\n }\r\n\r\n /** parse indexed mesh content to an IndexedPolyface instance */\r\n public static parseIndexedMesh(data?: any): IndexedPolyface | undefined {\r\n // {Coord:[[x,y,z],. . . ], -- simple xyz for each point\r\n // CoordIndex[1,2,3,0] -- zero-terminated, one based !!!\r\n if (data.hasOwnProperty(\"point\") && Array.isArray(data.point)\r\n && data.hasOwnProperty(\"pointIndex\") && Array.isArray(data.pointIndex)) {\r\n const polyface = IndexedPolyface.create();\r\n if (data.hasOwnProperty(\"normal\") && Array.isArray(data.normal)) {\r\n // for normals, addNormal() is overeager to detect the (common) case of duplicate normals in sequence.\r\n // use addNormalXYZ which always creates a new one.\r\n // likewise for params\r\n for (const uvw of data.normal) {\r\n if (Geometry.isNumberArray(uvw, 3))\r\n polyface.addNormalXYZ(uvw[0], uvw[1], uvw[2]);\r\n }\r\n }\r\n if (data.hasOwnProperty(\"twoSided\")) {\r\n const q = data.twoSided;\r\n if (q === true || q === false) {\r\n polyface.twoSided = q;\r\n }\r\n }\r\n const numPerFace = data.hasOwnProperty(\"numPerFace\") ? data.numPerFace : 0;\r\n if (data.hasOwnProperty(\"expectedClosure\")) {\r\n const q = data.expectedClosure;\r\n if (Number.isFinite(q)) {\r\n polyface.expectedClosure = q;\r\n }\r\n }\r\n if (data.hasOwnProperty(\"param\") && Array.isArray(data.param)) {\r\n for (const uv of data.param) {\r\n if (Geometry.isNumberArray(uv, 2))\r\n polyface.addParamUV(uv[0], uv[1]);\r\n }\r\n }\r\n if (data.hasOwnProperty(\"color\") && Array.isArray(data.color)) {\r\n for (const c of data.color) {\r\n polyface.addColor(c);\r\n }\r\n }\r\n\r\n for (const p of data.point) polyface.addPointXYZ(p[0], p[1], p[2]);\r\n\r\n if (numPerFace > 1) {\r\n for (let i = 0; i < data.pointIndex.length; i++) {\r\n const p = data.pointIndex[i];\r\n const p0 = Math.abs(p) - 1;\r\n polyface.addPointIndex(p0, p > 0);\r\n if ((i + 1) % numPerFace === 0)\r\n polyface.terminateFacet(false);\r\n }\r\n\r\n } else {\r\n for (const p of data.pointIndex) {\r\n if (p === 0)\r\n polyface.terminateFacet(false); // we are responsible for index checking !!!\r\n else {\r\n const p0 = Math.abs(p) - 1;\r\n polyface.addPointIndex(p0, p > 0);\r\n }\r\n }\r\n }\r\n\r\n if (data.hasOwnProperty(\"normalIndex\")) {\r\n Reader.addZeroBasedIndicesFromSignedOneBased(data.normalIndex, numPerFace,\r\n (x: number) => { polyface.addNormalIndex(x); });\r\n }\r\n if (data.hasOwnProperty(\"paramIndex\")) {\r\n Reader.addZeroBasedIndicesFromSignedOneBased(data.paramIndex, numPerFace,\r\n (x: number) => { polyface.addParamIndex(x); });\r\n }\r\n\r\n if (data.hasOwnProperty(\"colorIndex\")) {\r\n Reader.addZeroBasedIndicesFromSignedOneBased(data.colorIndex, numPerFace,\r\n (x: number) => { polyface.addColorIndex(x); });\r\n }\r\n if (data.hasOwnProperty(\"auxData\"))\r\n polyface.data.auxData = Reader.parsePolyfaceAuxData(data.auxData, numPerFace);\r\n\r\n if (data.hasOwnProperty(\"tags\")) {\r\n polyface.data.taggedNumericData = Reader.parseTaggedNumericProps(data.tags);\r\n }\r\n\r\n return polyface;\r\n }\r\n return undefined;\r\n }\r\n /** parse contents of a curve collection to a CurveCollection instance */\r\n public static parseCurveCollectionMembers(result: CurveCollection, data?: any): CurveCollection | undefined {\r\n if (data && Array.isArray(data)) {\r\n for (const c of data) {\r\n const g = Reader.parse(c);\r\n if (g instanceof GeometryQuery && (\"curveCollection\" === g.geometryCategory || \"curvePrimitive\" === g.geometryCategory))\r\n result.tryAddChild(g);\r\n }\r\n return result;\r\n }\r\n return undefined;\r\n }\r\n /** Parse content of `bsurf` to BSplineSurface3d or BSplineSurface3dH */\r\n public static parseBsurf(data?: any): BSplineSurface3d | BSplineSurface3dH | undefined {\r\n if (data.hasOwnProperty(\"uKnots\") && Array.isArray(data.uKnots)\r\n && data.hasOwnProperty(\"vKnots\") && Array.isArray(data.vKnots)\r\n && data.hasOwnProperty(\"orderU\") && Number.isFinite(data.orderU)\r\n && data.hasOwnProperty(\"orderV\") && Number.isFinite(data.orderV)\r\n && data.hasOwnProperty(\"points\") && Array.isArray(data.points)\r\n ) {\r\n const orderU = data.orderU;\r\n const orderV = data.orderV;\r\n if (Array.isArray(data.points[0]) && Array.isArray(data.points[0][0])) {\r\n const d = data.points[0][0].length;\r\n /** xyz surface (no weights) */\r\n if (d === 3) {\r\n return BSplineSurface3d.createGrid(data.points,\r\n orderU, data.uKnots,\r\n orderV, data.vKnots);\r\n }\r\n /** xyzw surface (weights already applied) */\r\n if (d === 4) {\r\n return BSplineSurface3dH.createGrid(data.points,\r\n WeightStyle.WeightsAlreadyAppliedToCoordinates,\r\n orderU, data.uKnots,\r\n orderV, data.vKnots);\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n /** Parse `cone` contents to `Cone` instance */\r\n public static parseConeProps(json?: ConeProps): Cone | undefined {\r\n const axes = Reader.parseOrientation(json, false);\r\n const start = Reader.parsePoint3dProperty(json, \"start\");\r\n const end = Reader.parsePoint3dProperty(json, \"end\");\r\n const radius = Reader.parseNumberProperty(json, \"radius\");\r\n const startRadius = Reader.parseNumberProperty(json, \"startRadius\", radius);\r\n const endRadius = Reader.parseNumberProperty(json, \"endRadius\", startRadius);\r\n\r\n const capped = Reader.parseBooleanProperty(json, \"capped\", false) as boolean;\r\n\r\n if (start\r\n && end\r\n && startRadius !== undefined\r\n && endRadius !== undefined) {\r\n if (axes === undefined) {\r\n const axisVector = Vector3d.createStartEnd(start, end);\r\n const frame = Matrix3d.createRigidHeadsUp(axisVector, AxisOrder.ZXY);\r\n const vectorX = frame.columnX();\r\n const vectorY = frame.columnY();\r\n return Cone.createBaseAndTarget(start, end, vectorX, vectorY, startRadius, endRadius, capped);\r\n } else {\r\n return Cone.createBaseAndTarget(start, end, axes.columnX(), axes.columnY(), startRadius, endRadius, capped);\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Parse `cylinder` content to `Cone` instance */\r\n public static parseCylinderProps(json?: CylinderProps): Cone | undefined {\r\n const start = Reader.parsePoint3dProperty(json, \"start\");\r\n const end = Reader.parsePoint3dProperty(json, \"end\");\r\n const radius = Reader.parseNumberProperty(json, \"radius\");\r\n\r\n const capped = Reader.parseBooleanProperty(json, \"capped\", false) as boolean;\r\n\r\n if (start\r\n && end\r\n && radius !== undefined) {\r\n return Cone.createAxisPoints(start, end, radius, radius, capped);\r\n }\r\n return undefined;\r\n }\r\n /** Parse line segment (array of 2 points) properties to `LineSegment3d` instance */\r\n private static parseLineSegmentProps(value: any[]): LineSegment3d | undefined {\r\n if (Array.isArray(value) && value.length > 1)\r\n return LineSegment3d.create(Point3d.fromJSON(value[0]), Point3d.fromJSON(value[1]));\r\n else\r\n return undefined;\r\n }\r\n /** Parse linear sweep content to `LinearSweep` instance. */\r\n public static parseLinearSweep(json?: any): LinearSweep | undefined {\r\n const contour = Reader.parse(json.contour);\r\n const capped = Reader.parseBooleanProperty(json, \"capped\");\r\n const extrusionVector = Reader.parseVector3dProperty(json, \"vector\");\r\n if (contour instanceof GeometryQuery\r\n && \"curveCollection\" === contour.geometryCategory\r\n && capped !== undefined\r\n && extrusionVector\r\n ) {\r\n return LinearSweep.create(contour, extrusionVector, capped);\r\n }\r\n return undefined;\r\n }\r\n /** Parse rotational sweep contents to `RotationalSweep` instance */\r\n public static parseRotationalSweep(json?: RotationalSweepProps): RotationalSweep | undefined {\r\n if (json === undefined)\r\n return undefined;\r\n const contour = Reader.parse(json.contour);\r\n const capped = Reader.parseBooleanProperty(json, \"capped\");\r\n const axisVector = Reader.parseVector3dProperty(json, \"axis\");\r\n const center = Reader.parsePoint3dProperty(json, \"center\");\r\n const sweepDegrees = Reader.parseNumberProperty(json, \"sweepAngle\");\r\n if (contour instanceof GeometryQuery\r\n && \"curveCollection\" === contour.geometryCategory\r\n && sweepDegrees !== undefined\r\n && capped !== undefined\r\n && axisVector\r\n && center\r\n ) {\r\n return RotationalSweep.create(\r\n contour,\r\n Ray3d.createCapture(center, axisVector),\r\n Angle.createDegrees(sweepDegrees),\r\n capped);\r\n }\r\n return undefined;\r\n }\r\n /** Parse box contents to `Box` instance */\r\n public static parseBox(json?: BoxProps): Box | undefined {\r\n const capped = Reader.parseBooleanProperty(json, \"capped\", false);\r\n const baseOrigin = Reader.parsePoint3dProperty(json, \"baseOrigin\");\r\n const baseX = Reader.parseNumberProperty(json, \"baseX\");\r\n const baseY = Reader.parseNumberProperty(json, \"baseY\", baseX);\r\n let topOrigin = Reader.parsePoint3dProperty(json, \"topOrigin\");\r\n const topX = Reader.parseNumberProperty(json, \"topX\", baseX);\r\n const topY = Reader.parseNumberProperty(json, \"topY\", baseY);\r\n const height = Reader.parseNumberProperty(json, \"height\", baseX);\r\n const axes = Reader.parseOrientation(json, true)!;\r\n\r\n if (baseOrigin && !topOrigin)\r\n topOrigin = Matrix3d.xyzMinusMatrixTimesXYZ(baseOrigin, axes, Vector3d.create(0, 0, height));\r\n\r\n if (capped !== undefined\r\n && baseX !== undefined\r\n && baseY !== undefined\r\n && topY !== undefined\r\n && topX !== undefined\r\n && axes\r\n && baseOrigin\r\n && topOrigin\r\n ) {\r\n return Box.createDgnBoxWithAxes(baseOrigin, axes, topOrigin, baseX, baseY, topX, topY, capped);\r\n }\r\n return undefined;\r\n }\r\n /** Parse `SphereProps` to `Sphere` instance. */\r\n public static parseSphere(json?: SphereProps): Sphere | undefined {\r\n const center = Reader.parsePoint3dProperty(json, \"center\");\r\n // optional unqualified radius . . .\r\n const radius = Reader.parseNumberProperty(json, \"radius\");\r\n // optional specific X\r\n const radiusX = Reader.parseNumberProperty(json, \"radiusX\", radius);\r\n // missing Y and Z both pick up radiusX (which may have already been defaulted from unqualified radius)\r\n const radiusY = Reader.parseNumberProperty(json, \"radiusX\", radiusX);\r\n const radiusZ = Reader.parseNumberProperty(json, \"radiusX\", radiusX);\r\n const latitudeStartEnd = Reader.parseAngleSweepProps(json, \"latitudeStartEnd\"); // this may be undefined!!\r\n\r\n const axes = Reader.parseOrientation(json, true)!;\r\n\r\n const capped = Reader.parseBooleanProperty(json, \"capped\", false);\r\n\r\n if (center !== undefined\r\n && radiusX !== undefined\r\n && radiusY !== undefined\r\n && radiusZ !== undefined\r\n && capped !== undefined) {\r\n return Sphere.createFromAxesAndScales(center, axes, radiusX, radiusY, radiusZ, latitudeStartEnd, capped);\r\n }\r\n return undefined;\r\n }\r\n /** Parse RuledSweepProps to RuledSweep instance. */\r\n public static parseRuledSweep(json?: RuledSweepProps): RuledSweep | undefined {\r\n const capped = Reader.parseBooleanProperty(json, \"capped\", false);\r\n const contours = this.loadContourArray(json, \"contour\");\r\n if (contours !== undefined\r\n && capped !== undefined) {\r\n return RuledSweep.create(contours, capped);\r\n }\r\n return undefined;\r\n }\r\n /** Parse TorusPipe props to TorusPipe instance. */\r\n public static parseTorusPipe(json?: TorusPipeProps): TorusPipe | undefined {\r\n\r\n const axes = Reader.parseOrientation(json, true)!;\r\n const center = Reader.parsePoint3dProperty(json, \"center\");\r\n const radiusA = Reader.parseNumberProperty(json, \"majorRadius\");\r\n const radiusB = Reader.parseNumberProperty(json, \"minorRadius\");\r\n const sweepAngle = Reader.parseAngleProperty(json, \"sweepAngle\", undefined);\r\n const capped = Reader.parseBooleanProperty(json, \"capped\", false)!;\r\n if (center\r\n && radiusA !== undefined\r\n && radiusB !== undefined\r\n ) {\r\n\r\n return TorusPipe.createDgnTorusPipe(center, axes.columnX(), axes.columnY(),\r\n radiusA, radiusB,\r\n sweepAngle ? sweepAngle : Angle.createDegrees(360), capped);\r\n }\r\n return undefined;\r\n }\r\n /** Parse an array object to array of Point3d instances. */\r\n public static parsePointArray(json?: any[]): Point3d[] {\r\n const points = [];\r\n if (json && Array.isArray(json)) {\r\n for (const member of json) {\r\n if (XYZ.isXAndY(member)) {\r\n points.push(Point3d.fromJSON(member));\r\n } else if (Geometry.isNumberArray(member, 2)) {\r\n points.push(Point3d.fromJSON(member));\r\n }\r\n }\r\n }\r\n return points;\r\n }\r\n /** Deserialize `json` to `GeometryQuery` instances. */\r\n public static parse(json?: any): AnyGeometryQuery | any[] | undefined {\r\n if (json !== undefined && json as object) {\r\n if (json.lineSegment !== undefined) {\r\n return Reader.parseLineSegmentProps(json.lineSegment);\r\n } else if (json.lineString !== undefined) {\r\n return LineString3d.create(Reader.parsePointArray(json.lineString));\r\n } else if (json.arc !== undefined) {\r\n return Reader.parseArcObject(json.arc);\r\n } else if (json.hasOwnProperty(\"point\")) {\r\n return Reader.parseCoordinate(json.point);\r\n\r\n } else if (json.hasOwnProperty(\"bcurve\")) {\r\n return Reader.parseBcurve(json.bcurve);\r\n } else if (json.hasOwnProperty(\"interpolationCurve\")) {\r\n return Reader.parseInterpolationCurve(json.interpolationCurve);\r\n } else if (json.hasOwnProperty(\"akimaCurve\")) {\r\n return Reader.parseAkimaCurve3d(json.akimaCurve);\r\n } else if (json.hasOwnProperty(\"path\")) {\r\n return Reader.parseCurveCollectionMembers(new Path(), json.path);\r\n } else if (json.hasOwnProperty(\"loop\")) {\r\n return Reader.parseCurveCollectionMembers(new Loop(), json.loop);\r\n } else if (json.hasOwnProperty(\"parityRegion\")) {\r\n return Reader.parseCurveCollectionMembers(new ParityRegion(), json.parityRegion);\r\n } else if (json.hasOwnProperty(\"unionRegion\")) {\r\n return Reader.parseCurveCollectionMembers(new UnionRegion(), json.unionRegion);\r\n } else if (json.hasOwnProperty(\"bagOfCurves\")) {\r\n return Reader.parseCurveCollectionMembers(new BagOfCurves(), json.bagOfCurves);\r\n } else if (json.hasOwnProperty(\"indexedMesh\")) {\r\n return Reader.parseIndexedMesh(json.indexedMesh);\r\n } else if (json.hasOwnProperty(\"bsurf\")) {\r\n return Reader.parseBsurf(json.bsurf);\r\n } else if (json.hasOwnProperty(\"cone\")) {\r\n return Reader.parseConeProps(json.cone);\r\n } else if (json.hasOwnProperty(\"cylinder\")) {\r\n return Reader.parseCylinderProps(json.cylinder);\r\n } else if (json.hasOwnProperty(\"sphere\")) {\r\n return Reader.parseSphere(json.sphere);\r\n } else if (json.hasOwnProperty(\"linearSweep\")) {\r\n return Reader.parseLinearSweep(json.linearSweep);\r\n } else if (json.hasOwnProperty(\"box\")) {\r\n return Reader.parseBox(json.box);\r\n } else if (json.hasOwnProperty(\"rotationalSweep\")) {\r\n return Reader.parseRotationalSweep(json.rotationalSweep);\r\n } else if (json.hasOwnProperty(\"ruledSweep\")) {\r\n return Reader.parseRuledSweep(json.ruledSweep);\r\n } else if (json.hasOwnProperty(\"torusPipe\")) {\r\n return Reader.parseTorusPipe(json.torusPipe);\r\n } else if (json.hasOwnProperty(\"pointString\")) {\r\n return PointString3d.create(Reader.parsePointArray(json.pointString));\r\n } else if (json.hasOwnProperty(\"transitionSpiral\")) {\r\n return Reader.parseTransitionSpiral(json.transitionSpiral);\r\n } else if (Array.isArray(json))\r\n return Reader.parseArray(json);\r\n }\r\n return undefined;\r\n }\r\n }\r\n // ISSUE: include 3d in names?\r\n // ISSUE: would like shorter term than lineSegment\r\n // ISSUE: is arc clear?\r\n // ISSUE: label center, vectorX, vector90 on arc?\r\n // ISSUE: sweep data on arc -- serialize as AngleSweep?\r\n /**\r\n * Class to deserialize json objects into GeometryQuery objects\r\n * @public\r\n */\r\n export class Writer extends GeometryHandler {\r\n\r\n public handleTaggedNumericData(data: TaggedNumericData): TaggedNumericDataProps {\r\n const result: TaggedNumericDataProps = { tagA: data.tagA, tagB: data.tagB };\r\n if (data.intData !== undefined && data.intData.length > 0)\r\n result.intData = data.intData.slice();\r\n if (data.doubleData !== undefined && data.doubleData.length > 0)\r\n result.doubleData = data.doubleData.slice();\r\n return result;\r\n }\r\n /** Convert strongly typed instance to tagged json */\r\n public handleLineSegment3d(data: LineSegment3d): any {\r\n return { lineSegment: [data.point0Ref.toJSON(), data.point1Ref.toJSON()] };\r\n }\r\n /** Convert strongly typed instance to tagged json */\r\n public handleCoordinateXYZ(data: CoordinateXYZ): any {\r\n return { point: data.point.toJSON() };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleArc3d(data: Arc3d): any {\r\n return {\r\n arc: {\r\n center: data.center.toJSON(),\r\n vectorX: data.vector0.toJSON(),\r\n vectorY: data.vector90.toJSON(),\r\n sweepStartEnd: [data.sweep.startDegrees, data.sweep.endDegrees],\r\n },\r\n };\r\n }\r\n /**\r\n * Insert orientation description to a data object.\r\n * @param matrix matrix with orientation\r\n * @param omitIfIdentity omit the axis data if the matrix is an identity.\r\n * @param data AxesProps object to be annotated.\r\n */\r\n private static insertOrientationFromMatrix(data: AxesProps, matrix: Matrix3d | undefined, omitIfIdentity: boolean) {\r\n if (omitIfIdentity) {\r\n if (matrix === undefined)\r\n return;\r\n if (matrix.isIdentity)\r\n return;\r\n }\r\n if (matrix)\r\n data.xyVectors = [matrix.columnX().toJSON(), matrix.columnY().toJSON()];\r\n else\r\n data.xyVectors = [[1, 0, 0], [0, 1, 0]];\r\n }\r\n private static isIdentityXY(xVector: Vector3d, yVector: Vector3d): boolean {\r\n return xVector.isAlmostEqualXYZ(1, 0, 0) && yVector.isAlmostEqualXYZ(0, 1, 0);\r\n }\r\n\r\n /**\r\n * Insert orientation description to a data object.\r\n * @param matrix matrix with orientation\r\n * @param omitIfIdentity omit the axis data if the matrix is an identity.\r\n * @param data AxesProps object to be annotated.\r\n */\r\n private static insertOrientationFromXYVectors(data: AxesProps, vectorX: Vector3d, vectorY: Vector3d, omitIfIdentity: boolean) {\r\n if (omitIfIdentity && Writer.isIdentityXY(vectorX, vectorY))\r\n return;\r\n data.xyVectors = [vectorX.toJSON(), vectorY.toJSON()];\r\n }\r\n\r\n /**\r\n * Insert orientation description to a data object, with orientation defined by u and v direction\r\n * vectors.\r\n * @param vectorX u direction\r\n * @param vectorV v direction\r\n * @param omitIfIdentity omit the axis data if the vectorU and vectorV are global x and y vectors.\r\n * @param data AxesProps object to be annotated.\r\n */\r\n private static insertXYOrientation(data: AxesProps, vectorU: Vector3d, vectorV: Vector3d, omitIfIdentity: boolean) {\r\n if (omitIfIdentity) {\r\n if (vectorU.isAlmostEqualXYZ(1, 0, 0) && vectorV.isAlmostEqualXYZ(0, 1, 0))\r\n return;\r\n }\r\n data.xyVectors = [vectorU.toJSON(), vectorV.toJSON()];\r\n }\r\n /**\r\n * parse properties of a TransitionSpiral.\r\n * @alpha\r\n */\r\n public handleTransitionSpiral(data: TransitionSpiral3d): any {\r\n // TODO: HANDLE NONRIGID TRANSFORM !!\r\n // the spiral may have indication of how it was defined. If so, use defined/undefined state of the original data\r\n // as indication of what current data to use. (Current data may have changed due to transforms.)\r\n if (data instanceof DirectSpiral3d) {\r\n const value: TransitionSpiralProps = {\r\n origin: data.localToWorld.origin.toJSON(),\r\n type: data.spiralType,\r\n };\r\n Writer.insertOrientationFromMatrix(value, data.localToWorld.matrix, true);\r\n\r\n if (!data.activeFractionInterval.isExact01)\r\n value.activeFractionInterval = [data.activeFractionInterval.x0, data.activeFractionInterval.x1];\r\n // Object.defineProperty(value, \"fractionInterval\", { value: [data.activeFractionInterval.x0, data.activeFractionInterval.x1] });\r\n value.startRadius = 0;\r\n value.endRadius = data.nominalR1;\r\n value.length = data.nominalL1;\r\n return { transitionSpiral: value };\r\n\r\n } else if (data instanceof IntegratedSpiral3d) {\r\n // TODO: HANDLE NONRIGID TRANSFORM !!\r\n // the spiral may have indication of how it was defined. If so, use defined/undefined state of the original data\r\n // as indication of what current data to use. (Current data may have changed due to transforms.)\r\n const originalProperties = data.designProperties;\r\n\r\n const value: TransitionSpiralProps = {\r\n origin: data.localToWorld.origin.toJSON(),\r\n type: data.spiralType,\r\n };\r\n Writer.insertOrientationFromMatrix(value, data.localToWorld.matrix, true);\r\n\r\n if (!data.activeFractionInterval.isExact01)\r\n value.activeFractionInterval = [data.activeFractionInterval.x0, data.activeFractionInterval.x1];\r\n // Object.defineProperty(value, \"fractionInterval\", { value: [data.activeFractionInterval.x0, data.activeFractionInterval.x1] });\r\n\r\n // if possible, do selective output of defining data (omit exactly one out of the 5, matching original definition)\r\n // EXCEPT do not omit final radius .. readers want it?\r\n if (originalProperties !== undefined && originalProperties.numDefinedProperties() === 4) {\r\n if (originalProperties.radius0 !== undefined)\r\n value.startRadius = data.radius01.x0;\r\n if (originalProperties.radius1 !== undefined)\r\n value.endRadius = data.radius01.x1;\r\n if (originalProperties.bearing0 !== undefined)\r\n value.startBearing = data.bearing01.startAngle.toJSON();\r\n if (originalProperties.bearing1 !== undefined)\r\n value.endBearing = data.bearing01.endAngle.toJSON();\r\n if (originalProperties.curveLength !== undefined)\r\n value.length = data.curveLength();\r\n if (value.endRadius === undefined)\r\n value.endRadius = data.radius01.x1;\r\n } else {\r\n // uh oh ... no original data, but the spiral itself knows all 5 values. We don't know which to consider primary.\r\n // DECISION -- put everything out, let readers make sense if they can. (It should be consistent ?)\r\n value.startRadius = data.radius01.x0;\r\n value.endRadius = data.radius01.x1;\r\n value.startBearing = data.bearing01.startAngle.toJSON();\r\n value.endBearing = data.bearing01.endAngle.toJSON();\r\n value.length = data.curveLength();\r\n }\r\n return { transitionSpiral: value };\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleCone(data: Cone): any {\r\n\r\n const radiusA = data.getRadiusA();\r\n const radiusB = data.getRadiusB();\r\n const centerA = data.getCenterA();\r\n const centerB = data.getCenterB();\r\n const vectorX = data.getVectorX();\r\n const vectorY = data.getVectorY();\r\n const axisVector = Vector3d.createStartEnd(centerA, centerB);\r\n\r\n if (Geometry.isSameCoordinate(radiusA, radiusB)\r\n && vectorX.isPerpendicularTo(axisVector)\r\n && vectorY.isPerpendicularTo(axisVector)\r\n && Geometry.isSameCoordinate(vectorX.magnitude(), 1.0)\r\n && Geometry.isSameCoordinate(vectorY.magnitude(), 1.0)) {\r\n return {\r\n cylinder: {\r\n capped: data.capped,\r\n start: data.getCenterA().toJSON(),\r\n end: data.getCenterB().toJSON(),\r\n radius: radiusA,\r\n },\r\n };\r\n } else {\r\n const coneProps: ConeProps = {\r\n capped: data.capped,\r\n start: data.getCenterA().toJSON(),\r\n end: data.getCenterB().toJSON(),\r\n startRadius: data.getRadiusA(),\r\n endRadius: data.getRadiusB(),\r\n };\r\n Writer.insertOrientationFromXYVectors(coneProps, vectorX, vectorY, false);\r\n return { cone: coneProps };\r\n }\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleSphere(data: Sphere): any {\r\n const xData = data.cloneVectorX().normalizeWithLength();\r\n const yData = data.cloneVectorY().normalizeWithLength();\r\n const zData = data.cloneVectorZ().normalizeWithLength();\r\n const latitudeSweep = data.cloneLatitudeSweep();\r\n\r\n const rX = xData.mag;\r\n const rY = yData.mag;\r\n const rZ = zData.mag;\r\n if (xData.v && zData.v) {\r\n const value: SphereProps = {\r\n center: data.cloneCenter().toJSON(),\r\n };\r\n if (!(data.getConstructiveFrame()!).matrix.isIdentity)\r\n value.zxVectors = [zData.v.toJSON(), xData.v.toJSON()];\r\n const fullSweep = latitudeSweep.isFullLatitudeSweep;\r\n\r\n if (data.capped && !fullSweep)\r\n value.capped = data.capped;\r\n\r\n if (Geometry.isSameCoordinate(rX, rY) && Geometry.isSameCoordinate(rX, rZ))\r\n value.radius = rX;\r\n else {\r\n value.radiusX = rX;\r\n value.radiusY = rY;\r\n value.radiusZ = rZ;\r\n }\r\n if (!fullSweep)\r\n value.latitudeStartEnd = latitudeSweep.toJSON();\r\n return { sphere: value };\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleTorusPipe(data: TorusPipe): any {\r\n\r\n const vectorX = data.cloneVectorX();\r\n const vectorY = data.cloneVectorY();\r\n const radiusA = data.getMajorRadius();\r\n const radiusB = data.getMinorRadius();\r\n const sweep = data.getSweepAngle();\r\n if (data.getIsReversed()) {\r\n vectorY.scaleInPlace(-1.0);\r\n sweep.setRadians(-sweep.radians);\r\n }\r\n const value: TorusPipeProps = {\r\n center: data.cloneCenter().toJSON(),\r\n majorRadius: radiusA,\r\n minorRadius: radiusB,\r\n xyVectors: [vectorX.toJSON(), vectorY.toJSON()],\r\n };\r\n if (!sweep.isFullCircle) {\r\n value.sweepAngle = sweep.degrees;\r\n value.capped = data.capped;\r\n }\r\n return { torusPipe: value };\r\n\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleLineString3d(data: LineString3d): any {\r\n const pointsA = data.points;\r\n const pointsB = [];\r\n if (pointsA)\r\n for (const p of pointsA) pointsB.push(p.toJSON());\r\n return { lineString: pointsB };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handlePointString3d(data: PointString3d): any {\r\n const pointsA = data.points;\r\n const pointsB = [];\r\n if (pointsA)\r\n for (const p of pointsA) pointsB.push(p.toJSON());\r\n return { pointString: pointsB };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public override handlePath(data: Path): any {\r\n return { path: this.collectChildren(data) };\r\n }\r\n /** Convert strongly typed instance to tagged json */\r\n public override handleLoop(data: Loop): any {\r\n return { loop: this.collectChildren(data) };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public override handleParityRegion(data: ParityRegion): any {\r\n return { parityRegion: this.collectChildren(data) };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public override handleUnionRegion(data: UnionRegion): any {\r\n return { unionRegion: this.collectChildren(data) };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public override handleBagOfCurves(data: BagOfCurves): any {\r\n return { bagOfCurves: this.collectChildren(data) };\r\n }\r\n\r\n private collectChildren(data: CurveCollection): any[] {\r\n const children = [];\r\n if (data.children && Array.isArray(data.children)) {\r\n for (const child of data.children) {\r\n const cdata = child.dispatchToGeometryHandler(this);\r\n if (cdata)\r\n children.push(cdata);\r\n }\r\n }\r\n return children;\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleLinearSweep(data: LinearSweep): any {\r\n const extrusionVector = data.cloneSweepVector();\r\n const curves = data.getCurvesRef();\r\n const capped = data.capped;\r\n if (extrusionVector\r\n && curves\r\n && capped !== undefined) {\r\n return {\r\n linearSweep: {\r\n contour: curves.dispatchToGeometryHandler(this),\r\n capped,\r\n vector: extrusionVector.toJSON(),\r\n },\r\n };\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleRuledSweep(data: RuledSweep): any {\r\n const contours = data.cloneContours();\r\n const capped = data.capped;\r\n if (contours\r\n && contours.length > 1\r\n && capped !== undefined) {\r\n const jsonContours = [];\r\n for (const c of contours) {\r\n jsonContours.push(this.emit(c));\r\n }\r\n return {\r\n ruledSweep: {\r\n contour: jsonContours,\r\n capped,\r\n },\r\n };\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleRotationalSweep(data: RotationalSweep): any {\r\n const axisRay = data.cloneAxisRay();\r\n const curves = data.getCurves();\r\n const capped = data.capped;\r\n const sweepAngle = data.getSweep();\r\n return {\r\n rotationalSweep: {\r\n axis: axisRay.direction.toJSON(),\r\n contour: curves.dispatchToGeometryHandler(this),\r\n capped,\r\n center: axisRay.origin.toJSON(),\r\n sweepAngle: sweepAngle.degrees,\r\n },\r\n };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleBox(box: Box): any {\r\n const out: any = {\r\n box: {\r\n baseOrigin: box.getBaseOrigin().toJSON(),\r\n baseX: box.getBaseX(),\r\n baseY: box.getBaseY(),\r\n capped: box.capped,\r\n topOrigin: box.getTopOrigin().toJSON(),\r\n },\r\n };\r\n Writer.insertXYOrientation(out.box, box.getVectorX(), box.getVectorY(), true);\r\n if (!Geometry.isSameCoordinate(box.getTopX(), box.getBaseX()))\r\n out.box.topX = box.getTopX();\r\n if (!Geometry.isSameCoordinate(box.getTopY(), box.getBaseY()))\r\n out.box.topY = box.getTopY();\r\n\r\n return out;\r\n }\r\n\r\n private handlePolyfaceAuxData(auxData: PolyfaceAuxData, pf: IndexedPolyface): any {\r\n const contents: { [k: string]: any } = {};\r\n contents.indices = [];\r\n const visitor = pf.createVisitor(0);\r\n if (!visitor.auxData) return;\r\n\r\n while (visitor.moveToNextFacet()) {\r\n for (let i = 0; i < visitor.indexCount; i++) {\r\n contents.indices.push(visitor.auxData.indices[i] + 1);\r\n }\r\n contents.indices.push(0); // facet terminator.\r\n }\r\n contents.channels = [];\r\n for (const inChannel of auxData.channels) {\r\n const outChannel: { [k: string]: any } = {};\r\n outChannel.dataType = inChannel.dataType;\r\n outChannel.name = inChannel.name;\r\n outChannel.inputName = inChannel.inputName;\r\n outChannel.data = [];\r\n for (const inData of inChannel.data) {\r\n const outData: { [k: string]: any } = {};\r\n outData.input = inData.input;\r\n outData.values = inData.values.slice(0);\r\n outChannel.data.push(outData);\r\n }\r\n\r\n contents.channels.push(outChannel);\r\n }\r\n return contents;\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleIndexedPolyface(pf: IndexedPolyface): any {\r\n const points = [];\r\n const pointIndex: number[] = [];\r\n const normals = [];\r\n const params = [];\r\n const colors = [];\r\n {\r\n const p = Point3d.create();\r\n for (let i = 0; pf.data.point.getPoint3dAtCheckedPointIndex(i, p); i++)\r\n points.push(p.toJSON());\r\n }\r\n if (pf.data.normal) {\r\n const numNormal = pf.data.normal.length;\r\n const normal = Vector3d.create();\r\n for (let i = 0; i < numNormal; i++) {\r\n pf.data.normal.getVector3dAtCheckedVectorIndex(i, normal);\r\n normals.push(normal.toJSON());\r\n }\r\n\r\n }\r\n\r\n if (pf.data.param) {\r\n const uv = Point2d.create();\r\n for (let i = 0; pf.data.param.getPoint2dAtCheckedPointIndex(i, uv); i++)\r\n params.push(uv.toJSON());\r\n }\r\n\r\n if (pf.data.color) {\r\n for (const value of pf.data.color) colors.push(value);\r\n }\r\n\r\n const visitor = pf.createVisitor(0);\r\n let indexCounter = 0;\r\n\r\n const normalIndex = [];\r\n const paramIndex = [];\r\n const colorIndex = [];\r\n\r\n let n;\r\n while (visitor.moveToNextFacet()) {\r\n n = visitor.indexCount;\r\n // All meshes have point and point index ...\r\n for (let i = 0; i < n; i++) {\r\n // Change sign of value to be pushed based on whether or not the edge was originally visible or not\r\n const toPush = pf.data.edgeVisible[indexCounter + i] ? visitor.pointIndex[i] + 1 : - (visitor.clientPointIndex(i) + 1);\r\n pointIndex.push(toPush);\r\n }\r\n pointIndex.push(0); // facet terminator.\r\n indexCounter += visitor.indexCount;\r\n\r\n if (visitor.normalIndex) {\r\n for (let i = 0; i < n; i++) normalIndex.push(1 + visitor.clientNormalIndex(i));\r\n normalIndex.push(0);\r\n }\r\n if (visitor.paramIndex) {\r\n for (let i = 0; i < n; i++) paramIndex.push(1 + visitor.clientParamIndex(i));\r\n paramIndex.push(0);\r\n }\r\n if (visitor.colorIndex) {\r\n for (let i = 0; i < n; i++) colorIndex.push(1 + visitor.clientColorIndex(i));\r\n colorIndex.push(0);\r\n }\r\n }\r\n let taggedNumericData;\r\n if (pf.data.taggedNumericData) {\r\n taggedNumericData = this.handleTaggedNumericData(pf.data.taggedNumericData);\r\n }\r\n // assemble the contents in alphabetical order.\r\n const contents: { [k: string]: any } = {};\r\n if (pf.expectedClosure !== 0)\r\n contents.expectedClosure = pf.expectedClosure;\r\n if (pf.twoSided)\r\n contents.twoSided = true;\r\n if (pf.data.auxData)\r\n contents.auxData = this.handlePolyfaceAuxData(pf.data.auxData, pf);\r\n\r\n if (pf.data.color) contents.color = colors;\r\n if (pf.data.colorIndex) contents.colorIndex = colorIndex;\r\n\r\n if (pf.data.normal) contents.normal = normals;\r\n if (pf.data.normalIndex) contents.normalIndex = normalIndex;\r\n\r\n if (pf.data.param) contents.param = params;\r\n if (pf.data.paramIndex) contents.paramIndex = paramIndex;\r\n\r\n contents.point = points;\r\n contents.pointIndex = pointIndex;\r\n\r\n if (taggedNumericData)\r\n contents.tags = taggedNumericData;\r\n return { indexedMesh: contents };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleBSplineCurve3d(curve: BSplineCurve3d): any {\r\n // ASSUME -- if the curve originated \"closed\" the knot and pole replication are unchanged,\r\n // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.\r\n const wrapMode = curve.isClosable;\r\n if (wrapMode === BSplineWrapMode.OpenByAddingControlPoints) {\r\n const knots = curve.copyKnots(true);\r\n const poles = curve.copyPoints();\r\n const degree = curve.degree;\r\n for (let i = 0; i < degree; i++) poles.pop();\r\n // knots have replicated first and last. Change the values to be periodic.\r\n const leftIndex = degree;\r\n const rightIndex = knots.length - degree - 1;\r\n const knotPeriod = knots[rightIndex] - knots[leftIndex];\r\n knots[0] = knots[rightIndex - degree] - knotPeriod;\r\n knots[knots.length - 1] = knots[leftIndex + degree] + knotPeriod;\r\n return {\r\n bcurve: {\r\n points: poles,\r\n knots,\r\n closed: true,\r\n order: curve.order,\r\n },\r\n };\r\n } else if (curve.isClosable === BSplineWrapMode.OpenByRemovingKnots) {\r\n // special case to re-close the case that originated as : a a0 a0 .. a0 knot0 knot1 knot2 ... b1 b1 .. b1 b\r\n // with (order) copies of a0 and b1 (usually 0 and 1)\r\n // and a,b are related to the interior knots\r\n // (This is the \"bezier saturated arc\")\r\n const rawKnots = curve.copyKnots(false); // unchanged knots . . .\r\n const poles = curve.copyPoints();\r\n const degree = curve.degree;\r\n const leftIndex = degree - 1;\r\n const rightIndex = rawKnots.length - degree;\r\n const leftKnot = rawKnots[leftIndex];\r\n const rightKnot = rawKnots[rightIndex];\r\n const knotPeriod = rightKnot - leftKnot;\r\n const knots = [];\r\n knots.push(rawKnots[rightIndex - 1] - knotPeriod);\r\n knots.push(leftKnot);\r\n for (const k of rawKnots) knots.push(k);\r\n knots.push(rightKnot);\r\n knots.push(rawKnots[leftIndex + 1] + knotPeriod);\r\n return {\r\n bcurve: {\r\n points: poles,\r\n knots,\r\n closed: true,\r\n order: curve.order,\r\n },\r\n };\r\n } else {\r\n return {\r\n bcurve: {\r\n points: curve.copyPoints(),\r\n knots: curve.copyKnots(true),\r\n closed: false,\r\n order: curve.order,\r\n },\r\n };\r\n }\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleInterpolationCurve3d(curve: InterpolationCurve3d): any {\r\n const props = curve.cloneProps();\r\n BSplineCurveOps.C2CubicFit.convertToJsonKnots(props);\r\n return { interpolationCurve: props };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleAkimaCurve3d(curve: AkimaCurve3d): any {\r\n return { akimaCurve: curve.cloneProps() };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleBezierCurve3d(curve: BezierCurve3d): any {\r\n const knots = [];\r\n const order = curve.order;\r\n for (let i = 0; i < order; i++) knots.push(0.0);\r\n for (let i = 0; i < order; i++) knots.push(1.0);\r\n return {\r\n bcurve: {\r\n points: curve.copyPolesAsJsonArray(),\r\n knots,\r\n closed: false,\r\n order: curve.order,\r\n },\r\n };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleBSplineCurve3dH(curve: BSplineCurve3dH): any {\r\n // ASSUME -- if the curve originated \"closed\" the knot and pole replication are unchanged,\r\n // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.\r\n if (curve.isClosable) {\r\n const knots = curve.copyKnots(true);\r\n const poles = curve.copyPoints();\r\n const degree = curve.degree;\r\n for (let i = 0; i < degree; i++) poles.pop();\r\n // knots have replicated first and last. Change the values to be periodic.\r\n const leftIndex = degree;\r\n const rightIndex = knots.length - degree - 1;\r\n const knotPeriod = knots[rightIndex] - knots[leftIndex];\r\n knots[0] = knots[rightIndex - degree] - knotPeriod;\r\n knots[knots.length - 1] = knots[leftIndex + degree] + knotPeriod;\r\n return {\r\n bcurve: {\r\n points: poles,\r\n knots,\r\n closed: true,\r\n order: curve.order,\r\n },\r\n };\r\n } else {\r\n return {\r\n bcurve: {\r\n points: curve.copyPoints(),\r\n knots: curve.copyKnots(true),\r\n closed: false,\r\n order: curve.order,\r\n },\r\n };\r\n }\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleBSplineSurface3d(surface: BSplineSurface3d): any {\r\n // ASSUME -- if the curve originated \"closed\" the knot and pole replication are unchanged,\r\n // so first and last knots can be re-assigned, and last (degree - 1) poles can be deleted.\r\n const periodicU = surface.isClosable(0);\r\n const periodicV = surface.isClosable(1);\r\n if (periodicU || periodicV) {\r\n let numUPoles = surface.numPolesUV(0);\r\n let numVPoles = surface.numPolesUV(1);\r\n if (periodicU) numUPoles -= surface.degreeUV(0);\r\n if (periodicV) numVPoles -= surface.degreeUV(1);\r\n const xyz = Point3d.create();\r\n const grid = [];\r\n for (let j = 0; j < numVPoles; j++) {\r\n const stringer = [];\r\n for (let i = 0; i < numUPoles; i++) {\r\n surface.getPoint3dPole(i, j, xyz)!;\r\n stringer.push([xyz.x, xyz.y, xyz.z]);\r\n }\r\n grid.push(stringer);\r\n }\r\n return {\r\n bsurf: {\r\n points: grid,\r\n uKnots: surface.copyKnots(0, true),\r\n vKnots: surface.copyKnots(1, true),\r\n orderU: surface.orderUV(0),\r\n orderV: surface.orderUV(1),\r\n closedU: periodicU,\r\n closedV: periodicV,\r\n },\r\n };\r\n } else {\r\n return {\r\n bsurf: {\r\n points: surface.getPointArray(false),\r\n uKnots: surface.copyKnots(0, true),\r\n vKnots: surface.copyKnots(1, true),\r\n orderU: surface.orderUV(0),\r\n orderV: surface.orderUV(1),\r\n },\r\n };\r\n }\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleBezierCurve3dH(curve: BezierCurve3dH): any {\r\n const knots = [];\r\n const order = curve.order;\r\n for (let i = 0; i < order; i++) knots.push(0.0);\r\n for (let i = 0; i < order; i++) knots.push(1.0);\r\n return {\r\n bcurve: {\r\n points: curve.copyPolesAsJsonArray(),\r\n knots,\r\n closed: false,\r\n order: curve.order,\r\n },\r\n };\r\n }\r\n\r\n /** Convert strongly typed instance to tagged json */\r\n public handleBSplineSurface3dH(surface: BSplineSurface3dH): any {\r\n const data = surface.getPointGridJSON();\r\n return {\r\n bsurf: {\r\n points: data.points,\r\n uKnots: surface.copyKnots(0, true),\r\n vKnots: surface.copyKnots(1, true),\r\n orderU: surface.orderUV(0),\r\n orderV: surface.orderUV(1),\r\n },\r\n };\r\n }\r\n\r\n /** Convert an array of strongly typed instances to an array of tagged json */\r\n public emitArray(data: object[]): any {\r\n const members = [];\r\n for (const c of data) {\r\n const toPush = this.emit(c);\r\n members.push(toPush);\r\n }\r\n return members;\r\n }\r\n /** Convert GeometryQuery data (array or single instance) to instance to tagged json */\r\n public emit(data: any): any {\r\n if (Array.isArray(data))\r\n return this.emitArray(data);\r\n\r\n if (data instanceof GeometryQuery) {\r\n return data.dispatchToGeometryHandler(this);\r\n } else if (data instanceof TaggedNumericData) {\r\n return this.handleTaggedNumericData(data);\r\n }\r\n return undefined;\r\n }\r\n /** One-step static method to create a writer and emit a json object */\r\n public static toIModelJson(data: any): any {\r\n const writer = new Writer();\r\n return writer.emit(data);\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1,122 @@
1
+ /** @packageDocumentation
2
+ * @module Solid
3
+ */
4
+ import { CurveCollection } from "../curve/CurveCollection";
5
+ import { GeometryQuery } from "../curve/GeometryQuery";
6
+ import { LineString3d } from "../curve/LineString3d";
7
+ import { GeometryHandler } from "../geometry3d/GeometryHandler";
8
+ import { Matrix3d } from "../geometry3d/Matrix3d";
9
+ import { Point3d, Vector3d } from "../geometry3d/Point3dVector3d";
10
+ import { Range3d } from "../geometry3d/Range";
11
+ import { Transform } from "../geometry3d/Transform";
12
+ import { SolidPrimitive } from "./SolidPrimitive";
13
+ /**
14
+ * A box-like solid defined by
15
+ * * A local coordinate frame
16
+ * * (0,0,0) is left lower rear corner of box (considering "left" to reference x, "lower" to reference y, "rear and front" to reference z=0 and z=1)
17
+ * * (0,0,1) is left lower front corner.
18
+ * * (baseX,baseY,z) is right upper corner at z
19
+ * * note that the frame x and y columns are usually unit vectors in local space, but z is full rear to front vector
20
+ * * The separate values for base and top x and y allow the box to be a "view frustum" with parallel back and front planes but independent x and y bellows effects.
21
+ * @public
22
+ */
23
+ export declare class Box extends SolidPrimitive {
24
+ /** String name for schema properties */
25
+ readonly solidPrimitiveType = "box";
26
+ private _localToWorld;
27
+ private _baseX;
28
+ private _baseY;
29
+ private _topX;
30
+ private _topY;
31
+ protected constructor(map: Transform, baseX: number, baseY: number, topX: number, topY: number, capped: boolean);
32
+ /** Return a clone */
33
+ clone(): Box;
34
+ /** Return a coordinate frame (right handed unit vectors)
35
+ * * origin lower left of box
36
+ * * x direction on base rectangle x edge
37
+ * * y direction in base rectangle
38
+ * * z direction perpendicular
39
+ */
40
+ getConstructiveFrame(): Transform | undefined;
41
+ /** Apply the transform to the box's `localToWorld` frame.
42
+ * * Note that this may make the frame nonrigid.
43
+ */
44
+ tryTransformInPlace(transform: Transform): boolean;
45
+ /** Clone the box and immediately apply `transform` to the local frame of the clone. */
46
+ cloneTransformed(transform: Transform): Box | undefined;
47
+ /**
48
+ * Create a new box from vector and size daa.
49
+ * @param baseOrigin Origin of base rectangle
50
+ * @param vectorX Direction for base rectangle
51
+ * @param vectorY Direction for base rectangle
52
+ * @param topOrigin origin of top rectangle
53
+ * @param baseX size factor for base rectangle (multiplies vectorX)
54
+ * @param baseY size factor for base rectangle (multiplies vectorY)
55
+ * @param topX size factor for top rectangle (multiplies vectorX)
56
+ * @param topY size factor for top rectangle (multiplies vectorY)
57
+ * @param capped true to define top and bottom closure caps
58
+ */
59
+ static createDgnBox(baseOrigin: Point3d, vectorX: Vector3d, vectorY: Vector3d, topOrigin: Point3d, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): Box | undefined;
60
+ /**
61
+ * Create a new box with xy directions taken from columns of the `axes` matrix.
62
+ * @param baseOrigin Origin of base rectangle
63
+ * @param axes Direction for base rectangle
64
+ * @param topOrigin origin of top rectangle
65
+ * @param baseX size factor for base rectangle (multiplies vectorX)
66
+ * @param baseY size factor for base rectangle (multiplies vectorY)
67
+ * @param topX size factor for top rectangle (multiplies vectorX)
68
+ * @param topY size factor for top rectangle (multiplies vectorY)
69
+ * @param capped true to define top and bottom closure caps
70
+ */
71
+ static createDgnBoxWithAxes(baseOrigin: Point3d, axes: Matrix3d, topOrigin: Point3d, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): Box | undefined;
72
+ /**
73
+ * Create an axis-aligned `Box` primitive for a range.
74
+ * @param range range corners Origin of base rectangle
75
+ * @param capped true to define top and bottom closure caps
76
+ */
77
+ static createRange(range: Range3d, capped: boolean): Box | undefined;
78
+ /** (property accessor) return the x length at z = 0 */
79
+ getBaseX(): number;
80
+ /** (property accessor) return the y length at z = 0 */
81
+ getBaseY(): number;
82
+ /** (property accessor) return the x length at z = 1 */
83
+ getTopX(): number;
84
+ /** (property accessor) return the x length at z = 1 */
85
+ getTopY(): number;
86
+ /** (property accessor) return the local coordinates point (0,0,0) to world */
87
+ getBaseOrigin(): Point3d;
88
+ /** (property accessor) return the local coordinates point (0,0,1) to world */
89
+ getTopOrigin(): Point3d;
90
+ /** (property accessor) return the local coordinate frame x vector */
91
+ getVectorX(): Vector3d;
92
+ /** (property accessor) return the local coordinate frame y vector */
93
+ getVectorY(): Vector3d;
94
+ /** (property accessor) return the local coordinate frame z vector */
95
+ getVectorZ(): Vector3d;
96
+ /** Test of `other` is also of class `Box` */
97
+ isSameGeometryClass(other: any): boolean;
98
+ /** test for near equality */
99
+ isAlmostEqual(other: GeometryQuery): boolean;
100
+ /** Second step of double dispatch: call `handler.handleBox(this)` */
101
+ dispatchToGeometryHandler(handler: GeometryHandler): any;
102
+ /** Return strokes of the cross-section rectangle at local z coordinate */
103
+ strokeConstantVSection(zFraction: number): LineString3d;
104
+ /**
105
+ * Returns the 8 corners in x fastest, then y, finally z lexical order.
106
+ */
107
+ getCorners(): Point3d[];
108
+ /**
109
+ * Consider the box sides (not top and bottom) as a (u,v) surface with
110
+ * * v = 0 as the z=0 local plane
111
+ * * v = 1 as the z=1 local plane
112
+ * Return the (rectangular) section at fractional v
113
+ */
114
+ constantVSection(zFraction: number): CurveCollection;
115
+ /** Extend `rangeToExtend` by each of the 8 corners */
116
+ extendRange(rangeToExtend: Range3d, transform?: Transform): void;
117
+ /**
118
+ * @return true if this is a closed volume.
119
+ */
120
+ get isClosedVolume(): boolean;
121
+ }
122
+ //# sourceMappingURL=Box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../src/solid/Box.ts"],"names":[],"mappings":"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"}