@itwin/core-geometry 4.3.0-dev.9 → 4.3.1

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 (336) hide show
  1. package/CHANGELOG.md +62 -1
  2. package/lib/cjs/Geometry.d.ts +14 -2
  3. package/lib/cjs/Geometry.d.ts.map +1 -1
  4. package/lib/cjs/Geometry.js +20 -9
  5. package/lib/cjs/Geometry.js.map +1 -1
  6. package/lib/cjs/bspline/BSpline1dNd.d.ts +12 -2
  7. package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -1
  8. package/lib/cjs/bspline/BSpline1dNd.js +27 -17
  9. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  10. package/lib/cjs/bspline/BSplineCurve.d.ts +30 -16
  11. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  12. package/lib/cjs/bspline/BSplineCurve.js +68 -44
  13. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  14. package/lib/cjs/bspline/BSplineCurve3dH.d.ts +27 -20
  15. package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -1
  16. package/lib/cjs/bspline/BSplineCurve3dH.js +136 -87
  17. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  18. package/lib/cjs/bspline/BSplineSurface.d.ts +138 -74
  19. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  20. package/lib/cjs/bspline/BSplineSurface.js +242 -119
  21. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  22. package/lib/cjs/bspline/Bezier1dNd.d.ts +18 -4
  23. package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -1
  24. package/lib/cjs/bspline/Bezier1dNd.js +19 -5
  25. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  26. package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -1
  27. package/lib/cjs/bspline/BezierCurve3dH.js +2 -1
  28. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  29. package/lib/cjs/bspline/KnotVector.d.ts +30 -33
  30. package/lib/cjs/bspline/KnotVector.d.ts.map +1 -1
  31. package/lib/cjs/bspline/KnotVector.js +76 -69
  32. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  33. package/lib/cjs/clipping/ClipUtils.d.ts +32 -5
  34. package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -1
  35. package/lib/cjs/clipping/ClipUtils.js +92 -11
  36. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  37. package/lib/cjs/core-geometry.d.ts +0 -2
  38. package/lib/cjs/core-geometry.d.ts.map +1 -1
  39. package/lib/cjs/core-geometry.js +0 -2
  40. package/lib/cjs/core-geometry.js.map +1 -1
  41. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  42. package/lib/cjs/curve/Arc3d.js +5 -5
  43. package/lib/cjs/curve/Arc3d.js.map +1 -1
  44. package/lib/cjs/curve/CurveLocationDetail.d.ts +1 -4
  45. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  46. package/lib/cjs/curve/CurveLocationDetail.js +4 -10
  47. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  48. package/lib/cjs/curve/CurveOps.d.ts +4 -5
  49. package/lib/cjs/curve/CurveOps.d.ts.map +1 -1
  50. package/lib/cjs/curve/CurveOps.js +1 -1
  51. package/lib/cjs/curve/CurveOps.js.map +1 -1
  52. package/lib/cjs/curve/CurveTypes.d.ts +14 -2
  53. package/lib/cjs/curve/CurveTypes.d.ts.map +1 -1
  54. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  55. package/lib/cjs/curve/LineString3d.d.ts +3 -2
  56. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  57. package/lib/cjs/curve/LineString3d.js +1 -0
  58. package/lib/cjs/curve/LineString3d.js.map +1 -1
  59. package/lib/cjs/curve/PointString3d.d.ts +2 -1
  60. package/lib/cjs/curve/PointString3d.d.ts.map +1 -1
  61. package/lib/cjs/curve/PointString3d.js.map +1 -1
  62. package/lib/cjs/curve/RegionOps.d.ts +5 -11
  63. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  64. package/lib/cjs/curve/RegionOps.js.map +1 -1
  65. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +15 -9
  66. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  67. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +68 -56
  68. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  69. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +14 -16
  70. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  71. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +51 -69
  72. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  73. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
  74. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js +3 -2
  75. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  76. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +2 -3
  77. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  78. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  79. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +4 -4
  80. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  81. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +38 -36
  82. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  83. package/lib/cjs/geometry3d/Angle.d.ts +0 -1
  84. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
  85. package/lib/cjs/geometry3d/Angle.js +0 -1
  86. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  87. package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts +21 -5
  88. package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
  89. package/lib/cjs/geometry3d/CoincidentGeometryOps.js +71 -45
  90. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  91. package/lib/cjs/geometry3d/Matrix3d.d.ts +20 -13
  92. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  93. package/lib/cjs/geometry3d/Matrix3d.js +28 -21
  94. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  95. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +11 -2
  96. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  97. package/lib/cjs/geometry3d/Point3dVector3d.js +16 -5
  98. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  99. package/lib/cjs/geometry3d/PointHelpers.d.ts +58 -20
  100. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  101. package/lib/cjs/geometry3d/PointHelpers.js +213 -62
  102. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  103. package/lib/cjs/geometry3d/Segment1d.d.ts +5 -1
  104. package/lib/cjs/geometry3d/Segment1d.d.ts.map +1 -1
  105. package/lib/cjs/geometry3d/Segment1d.js +11 -7
  106. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  107. package/lib/cjs/geometry3d/Transform.d.ts +4 -5
  108. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  109. package/lib/cjs/geometry3d/Transform.js +4 -5
  110. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  111. package/lib/cjs/geometry4d/Point4d.d.ts +13 -0
  112. package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
  113. package/lib/cjs/geometry4d/Point4d.js +21 -0
  114. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  115. package/lib/cjs/numerics/BezierPolynomials.d.ts +88 -64
  116. package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -1
  117. package/lib/cjs/numerics/BezierPolynomials.js +92 -73
  118. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  119. package/lib/cjs/numerics/Newton.d.ts +143 -61
  120. package/lib/cjs/numerics/Newton.d.ts.map +1 -1
  121. package/lib/cjs/numerics/Newton.js +233 -66
  122. package/lib/cjs/numerics/Newton.js.map +1 -1
  123. package/lib/cjs/numerics/PascalCoefficients.d.ts +8 -12
  124. package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -1
  125. package/lib/cjs/numerics/PascalCoefficients.js +10 -12
  126. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  127. package/lib/cjs/numerics/Polynomials.d.ts +6 -10
  128. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  129. package/lib/cjs/numerics/Polynomials.js +6 -10
  130. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  131. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +3 -0
  132. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  133. package/lib/cjs/polyface/PolyfaceBuilder.js +13 -2
  134. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  135. package/lib/cjs/polyface/PolyfaceData.d.ts +1 -1
  136. package/lib/cjs/polyface/PolyfaceData.js +1 -1
  137. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  138. package/lib/cjs/polyface/PolyfaceQuery.d.ts +38 -11
  139. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  140. package/lib/cjs/polyface/PolyfaceQuery.js +93 -16
  141. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  142. package/lib/cjs/serialization/BGFBReader.d.ts +10 -10
  143. package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -1
  144. package/lib/cjs/serialization/BGFBReader.js +69 -42
  145. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  146. package/lib/cjs/serialization/BGFBWriter.d.ts +8 -8
  147. package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
  148. package/lib/cjs/serialization/BGFBWriter.js +80 -55
  149. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  150. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  151. package/lib/cjs/serialization/GeometrySamples.js +6 -8
  152. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  153. package/lib/cjs/serialization/IModelJsonSchema.d.ts +8 -14
  154. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  155. package/lib/cjs/serialization/IModelJsonSchema.js +85 -259
  156. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  157. package/lib/cjs/serialization/SerializationHelpers.d.ts +109 -0
  158. package/lib/cjs/serialization/SerializationHelpers.d.ts.map +1 -0
  159. package/lib/cjs/serialization/SerializationHelpers.js +591 -0
  160. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -0
  161. package/lib/cjs/topology/Graph.d.ts +399 -366
  162. package/lib/cjs/topology/Graph.d.ts.map +1 -1
  163. package/lib/cjs/topology/Graph.js +531 -464
  164. package/lib/cjs/topology/Graph.js.map +1 -1
  165. package/lib/cjs/topology/MaskManager.d.ts +8 -9
  166. package/lib/cjs/topology/MaskManager.d.ts.map +1 -1
  167. package/lib/cjs/topology/MaskManager.js +11 -12
  168. package/lib/cjs/topology/MaskManager.js.map +1 -1
  169. package/lib/esm/Geometry.d.ts +14 -2
  170. package/lib/esm/Geometry.d.ts.map +1 -1
  171. package/lib/esm/Geometry.js +20 -9
  172. package/lib/esm/Geometry.js.map +1 -1
  173. package/lib/esm/bspline/BSpline1dNd.d.ts +12 -2
  174. package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -1
  175. package/lib/esm/bspline/BSpline1dNd.js +27 -17
  176. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  177. package/lib/esm/bspline/BSplineCurve.d.ts +30 -16
  178. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  179. package/lib/esm/bspline/BSplineCurve.js +68 -44
  180. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  181. package/lib/esm/bspline/BSplineCurve3dH.d.ts +27 -20
  182. package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -1
  183. package/lib/esm/bspline/BSplineCurve3dH.js +137 -88
  184. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  185. package/lib/esm/bspline/BSplineSurface.d.ts +138 -74
  186. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  187. package/lib/esm/bspline/BSplineSurface.js +242 -119
  188. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  189. package/lib/esm/bspline/Bezier1dNd.d.ts +18 -4
  190. package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -1
  191. package/lib/esm/bspline/Bezier1dNd.js +19 -5
  192. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  193. package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -1
  194. package/lib/esm/bspline/BezierCurve3dH.js +2 -1
  195. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  196. package/lib/esm/bspline/KnotVector.d.ts +30 -33
  197. package/lib/esm/bspline/KnotVector.d.ts.map +1 -1
  198. package/lib/esm/bspline/KnotVector.js +76 -69
  199. package/lib/esm/bspline/KnotVector.js.map +1 -1
  200. package/lib/esm/clipping/ClipUtils.d.ts +32 -5
  201. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
  202. package/lib/esm/clipping/ClipUtils.js +92 -11
  203. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  204. package/lib/esm/core-geometry.d.ts +0 -2
  205. package/lib/esm/core-geometry.d.ts.map +1 -1
  206. package/lib/esm/core-geometry.js +0 -2
  207. package/lib/esm/core-geometry.js.map +1 -1
  208. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  209. package/lib/esm/curve/Arc3d.js +5 -5
  210. package/lib/esm/curve/Arc3d.js.map +1 -1
  211. package/lib/esm/curve/CurveLocationDetail.d.ts +1 -4
  212. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  213. package/lib/esm/curve/CurveLocationDetail.js +4 -10
  214. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  215. package/lib/esm/curve/CurveOps.d.ts +4 -5
  216. package/lib/esm/curve/CurveOps.d.ts.map +1 -1
  217. package/lib/esm/curve/CurveOps.js +1 -1
  218. package/lib/esm/curve/CurveOps.js.map +1 -1
  219. package/lib/esm/curve/CurveTypes.d.ts +14 -2
  220. package/lib/esm/curve/CurveTypes.d.ts.map +1 -1
  221. package/lib/esm/curve/CurveTypes.js.map +1 -1
  222. package/lib/esm/curve/LineString3d.d.ts +3 -2
  223. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  224. package/lib/esm/curve/LineString3d.js +1 -0
  225. package/lib/esm/curve/LineString3d.js.map +1 -1
  226. package/lib/esm/curve/PointString3d.d.ts +2 -1
  227. package/lib/esm/curve/PointString3d.d.ts.map +1 -1
  228. package/lib/esm/curve/PointString3d.js.map +1 -1
  229. package/lib/esm/curve/RegionOps.d.ts +5 -11
  230. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  231. package/lib/esm/curve/RegionOps.js.map +1 -1
  232. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +15 -9
  233. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  234. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +69 -57
  235. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  236. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +14 -16
  237. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  238. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +51 -68
  239. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  240. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
  241. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js +3 -2
  242. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  243. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +2 -3
  244. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  245. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  246. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +4 -4
  247. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  248. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +38 -36
  249. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  250. package/lib/esm/geometry3d/Angle.d.ts +0 -1
  251. package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
  252. package/lib/esm/geometry3d/Angle.js +0 -1
  253. package/lib/esm/geometry3d/Angle.js.map +1 -1
  254. package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts +21 -5
  255. package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
  256. package/lib/esm/geometry3d/CoincidentGeometryOps.js +71 -45
  257. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  258. package/lib/esm/geometry3d/Matrix3d.d.ts +20 -13
  259. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  260. package/lib/esm/geometry3d/Matrix3d.js +28 -21
  261. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  262. package/lib/esm/geometry3d/Point3dVector3d.d.ts +11 -2
  263. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  264. package/lib/esm/geometry3d/Point3dVector3d.js +16 -5
  265. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  266. package/lib/esm/geometry3d/PointHelpers.d.ts +58 -20
  267. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  268. package/lib/esm/geometry3d/PointHelpers.js +213 -62
  269. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  270. package/lib/esm/geometry3d/Segment1d.d.ts +5 -1
  271. package/lib/esm/geometry3d/Segment1d.d.ts.map +1 -1
  272. package/lib/esm/geometry3d/Segment1d.js +11 -7
  273. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  274. package/lib/esm/geometry3d/Transform.d.ts +4 -5
  275. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  276. package/lib/esm/geometry3d/Transform.js +4 -5
  277. package/lib/esm/geometry3d/Transform.js.map +1 -1
  278. package/lib/esm/geometry4d/Point4d.d.ts +13 -0
  279. package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
  280. package/lib/esm/geometry4d/Point4d.js +21 -0
  281. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  282. package/lib/esm/numerics/BezierPolynomials.d.ts +88 -64
  283. package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -1
  284. package/lib/esm/numerics/BezierPolynomials.js +92 -73
  285. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  286. package/lib/esm/numerics/Newton.d.ts +143 -61
  287. package/lib/esm/numerics/Newton.d.ts.map +1 -1
  288. package/lib/esm/numerics/Newton.js +229 -65
  289. package/lib/esm/numerics/Newton.js.map +1 -1
  290. package/lib/esm/numerics/PascalCoefficients.d.ts +8 -12
  291. package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -1
  292. package/lib/esm/numerics/PascalCoefficients.js +10 -12
  293. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  294. package/lib/esm/numerics/Polynomials.d.ts +6 -10
  295. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  296. package/lib/esm/numerics/Polynomials.js +6 -10
  297. package/lib/esm/numerics/Polynomials.js.map +1 -1
  298. package/lib/esm/polyface/PolyfaceBuilder.d.ts +3 -0
  299. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  300. package/lib/esm/polyface/PolyfaceBuilder.js +13 -2
  301. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  302. package/lib/esm/polyface/PolyfaceData.d.ts +1 -1
  303. package/lib/esm/polyface/PolyfaceData.js +1 -1
  304. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  305. package/lib/esm/polyface/PolyfaceQuery.d.ts +38 -11
  306. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  307. package/lib/esm/polyface/PolyfaceQuery.js +93 -16
  308. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  309. package/lib/esm/serialization/BGFBReader.d.ts +10 -10
  310. package/lib/esm/serialization/BGFBReader.d.ts.map +1 -1
  311. package/lib/esm/serialization/BGFBReader.js +69 -42
  312. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  313. package/lib/esm/serialization/BGFBWriter.d.ts +8 -8
  314. package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
  315. package/lib/esm/serialization/BGFBWriter.js +80 -55
  316. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  317. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  318. package/lib/esm/serialization/GeometrySamples.js +7 -9
  319. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  320. package/lib/esm/serialization/IModelJsonSchema.d.ts +8 -14
  321. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  322. package/lib/esm/serialization/IModelJsonSchema.js +86 -260
  323. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  324. package/lib/esm/serialization/SerializationHelpers.d.ts +109 -0
  325. package/lib/esm/serialization/SerializationHelpers.d.ts.map +1 -0
  326. package/lib/esm/serialization/SerializationHelpers.js +588 -0
  327. package/lib/esm/serialization/SerializationHelpers.js.map +1 -0
  328. package/lib/esm/topology/Graph.d.ts +399 -366
  329. package/lib/esm/topology/Graph.d.ts.map +1 -1
  330. package/lib/esm/topology/Graph.js +531 -464
  331. package/lib/esm/topology/Graph.js.map +1 -1
  332. package/lib/esm/topology/MaskManager.d.ts +8 -9
  333. package/lib/esm/topology/MaskManager.d.ts.map +1 -1
  334. package/lib/esm/topology/MaskManager.js +11 -12
  335. package/lib/esm/topology/MaskManager.js.map +1 -1
  336. package/package.json +3 -4
@@ -425,13 +425,15 @@ class UnivariateBezier extends BezierCoffs {
425
425
  this.coffs[i] += a;
426
426
  }
427
427
  }
428
- /** evaluate the basis functions at specified u.
428
+ /**
429
+ * Evaluate the basis functions at specified u.
429
430
  * @param u bezier parameter for evaluation.
430
- * @returns Return a (newly allocated) array of basis function values.
431
+ * @param result optional destination of length `order`. If insufficient length, a new array is returned.
432
+ * @returns array of `order` basis function values.
431
433
  */
432
434
  basisFunctions(u, result) {
433
435
  this._basisValues = PascalCoefficients_1.PascalCoefficients.getBezierBasisValues(this.order, u, this._basisValues);
434
- if (!result || result.length !== this.order)
436
+ if (!result || result.length < this.order)
435
437
  result = new Float64Array(this.order);
436
438
  let i = 0;
437
439
  for (const a of this._basisValues)
@@ -441,9 +443,11 @@ class UnivariateBezier extends BezierCoffs {
441
443
  /**
442
444
  * Sum weights[i] * data[...] in blocks of numPerBlock.
443
445
  * This is for low level use -- counts are not checked.
444
- * @param weights
445
- * @param data
446
- * @param numPerBlock
446
+ * @param weights input array of length `numWeights`
447
+ * @param numWeights number of weights
448
+ * @param data input array of length `numWeights * numPerBlock`
449
+ * @param numPerBlock control point dimension
450
+ * @param result output array of length `numPerBlock`
447
451
  */
448
452
  static sumWeightedBlocks(weights, numWeights, data, numPerBlock, result) {
449
453
  for (let k0 = 0; k0 < numPerBlock; k0++) {
@@ -459,33 +463,33 @@ class UnivariateBezier extends BezierCoffs {
459
463
  }
460
464
  }
461
465
  /**
462
- * Given (multidimensional) control points, sum the control points weighted by the basis function values at parameter u.
466
+ * Sum the control points weighted by the basis function values at parameter u.
463
467
  * @param u bezier parameter
464
- * @param polygon Array with coefficients in blocks.
465
- * @param blockSize size of blocks
466
- * @param result `blockSize` summed values.
468
+ * @param polygon packed multidimensional control points. ASSUMED contains `blockSize*order` values.
469
+ * @param blockSize dimension of control points
470
+ * @param result optional preallocated array of length `blockSize` to fill and return. If insufficient length, a newly created array is returned.
471
+ * @returns array of `blockSize` summed basis function values.
467
472
  */
468
473
  sumBasisFunctions(u, polygon, blockSize, result) {
469
- const order = this._order;
470
- if (!result)
471
- result = new Float64Array(order);
474
+ if (!result || result.length < blockSize)
475
+ result = new Float64Array(blockSize);
472
476
  this._basisValues = PascalCoefficients_1.PascalCoefficients.getBezierBasisValues(this.order, u, this._basisValues);
473
- UnivariateBezier.sumWeightedBlocks(this._basisValues, order, polygon, blockSize, result);
477
+ UnivariateBezier.sumWeightedBlocks(this._basisValues, this.order, polygon, blockSize, result);
474
478
  return result;
475
479
  }
476
480
  /**
477
- * Given (multidimensional) control points, sum the control points weighted by the basis function derivative values at parameter u.
481
+ * Sum the control points weighted by the basis function derivative values at parameter u.
478
482
  * @param u bezier parameter
479
- * @param polygon Array with coefficients in blocks.
480
- * @param blockSize size of blocks
481
- * @param result `blockSize` summed values.
483
+ * @param polygon packed multidimensional control points. ASSUMED contains `blockSize*order` values.
484
+ * @param blockSize dimension of control points
485
+ * @param result optional preallocated array of length `blockSize` to fill and return. If insufficient length, a newly created array is returned.
486
+ * @returns array of `blockSize` summed basis function derivative values.
482
487
  */
483
488
  sumBasisFunctionDerivatives(u, polygon, blockSize, result) {
484
- const order = this._order;
485
- if (!result)
489
+ if (!result || result.length < blockSize)
486
490
  result = new Float64Array(blockSize);
487
491
  this._basisValues = PascalCoefficients_1.PascalCoefficients.getBezierBasisDerivatives(this.order, u, this._basisValues);
488
- UnivariateBezier.sumWeightedBlocks(this._basisValues, order, polygon, blockSize, result);
492
+ UnivariateBezier.sumWeightedBlocks(this._basisValues, this.order, polygon, blockSize, result);
489
493
  return result;
490
494
  }
491
495
  /**
@@ -718,26 +722,29 @@ class Order2Bezier extends BezierCoffs {
718
722
  static solveCoffs(a0, a1) {
719
723
  return Geometry_1.Geometry.conditionalDivideFraction(-a0, (a1 - a0));
720
724
  }
721
- /** evaluate the basis functions at specified u.
725
+ /**
726
+ * Evaluate the basis functions at specified u.
722
727
  * @param u bezier parameter for evaluation.
723
- * @returns Return a (newly allocated) array of basis function values.
728
+ * @param result optional destination of length 2. If insufficient length, a new array is returned.
729
+ * @returns array of 2 basis function values.
724
730
  */
725
731
  basisFunctions(u, result) {
726
- if (!result)
732
+ if (!result || result.length < 2)
727
733
  result = new Float64Array(2);
728
734
  result[0] = 1.0 - u;
729
735
  result[1] = u;
730
736
  return result;
731
737
  }
732
- /** evaluate the basis functions at specified u. Sum multidimensional control points with basis weights.
738
+ /**
739
+ * Sum the control points weighted by the basis function values at parameter u.
733
740
  * @param u bezier parameter for evaluation.
741
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
734
742
  * @param n dimension of control points.
735
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
736
- * @param result optional destination for values. ASSUMED size `order`
737
- * @returns Return a (newly allocated) array of basis function values.
743
+ * @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
744
+ * @returns array of `n` summed basis function values.
738
745
  */
739
746
  sumBasisFunctions(u, polygon, n, result) {
740
- if (!result)
747
+ if (!result || result.length < n)
741
748
  result = new Float64Array(n);
742
749
  const v = 1.0 - u;
743
750
  for (let i = 0; i < n; i++) {
@@ -745,15 +752,16 @@ class Order2Bezier extends BezierCoffs {
745
752
  }
746
753
  return result;
747
754
  }
748
- /** evaluate the blocked derivative at u.
749
- * @param u bezier parameter for evaluation.
755
+ /**
756
+ * Sum the control points weighted by the basis function derivative values at parameter u.
757
+ * @param _u bezier parameter for evaluation.
758
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
750
759
  * @param n dimension of control points.
751
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
752
- * @param result optional destination for values. ASSUMED size `order`
753
- * @returns Return a (newly allocated) array of basis function values.
760
+ * @param result optional destination of length `n`. If insufficient length, a new array is returned.
761
+ * @returns array of `n` summed basis function derivative values.
754
762
  */
755
763
  sumBasisFunctionDerivatives(_u, polygon, n, result) {
756
- if (!result)
764
+ if (!result || result.length < n)
757
765
  result = new Float64Array(n);
758
766
  for (let i = 0; i < n; i++) {
759
767
  result[i] = polygon[i + n] - polygon[i];
@@ -802,12 +810,14 @@ class Order3Bezier extends BezierCoffs {
802
810
  clone() {
803
811
  return new Order3Bezier(this.coffs[0], this.coffs[1], this.coffs[2]);
804
812
  }
805
- /** evaluate the basis functions at specified u.
813
+ /**
814
+ * Evaluate the basis functions at specified u.
806
815
  * @param u bezier parameter for evaluation.
807
- * @returns Return a (newly allocated) array of basis function values.
816
+ * @param result optional destination of length 3. If insufficient length, a new array is returned.
817
+ * @returns array of 3 basis function values.
808
818
  */
809
819
  basisFunctions(u, result) {
810
- if (!result)
820
+ if (!result || result.length < 3)
811
821
  result = new Float64Array(3);
812
822
  const v = 1.0 - u;
813
823
  result[0] = v * v;
@@ -815,15 +825,16 @@ class Order3Bezier extends BezierCoffs {
815
825
  result[2] = u * u;
816
826
  return result;
817
827
  }
818
- /** evaluate the basis functions at specified u. Sum multidimensional control points with basis weights.
828
+ /**
829
+ * Sum the control points weighted by the basis function values at parameter u.
819
830
  * @param u bezier parameter for evaluation.
831
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
820
832
  * @param n dimension of control points.
821
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
822
- * @param result optional destination for values. ASSUMED size `order`
823
- * @returns Return a (newly allocated) array of basis function values.
833
+ * @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
834
+ * @returns array of `n` summed basis function values.
824
835
  */
825
836
  sumBasisFunctions(u, polygon, n, result) {
826
- if (!result)
837
+ if (!result || result.length < n)
827
838
  result = new Float64Array(n);
828
839
  const v = 1 - u;
829
840
  const b0 = v * v;
@@ -834,15 +845,16 @@ class Order3Bezier extends BezierCoffs {
834
845
  }
835
846
  return result;
836
847
  }
837
- /** evaluate the blocked derivative at u.
848
+ /**
849
+ * Sum the control points weighted by the basis function derivative values at parameter u.
838
850
  * @param u bezier parameter for evaluation.
851
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
839
852
  * @param n dimension of control points.
840
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
841
- * @param result optional destination for values. ASSUMED size `order`
842
- * @returns Return a (newly allocated) array of basis function values.
853
+ * @param result optional destination of length `n`. If insufficient length, a new array is returned.
854
+ * @returns array of `n` summed basis function derivative values.
843
855
  */
844
856
  sumBasisFunctionDerivatives(u, polygon, n, result) {
845
- if (!result)
857
+ if (!result || result.length < n)
846
858
  result = new Float64Array(n);
847
859
  const f0 = 2 * (1 - u);
848
860
  const f1 = 2 * u;
@@ -909,12 +921,14 @@ class Order4Bezier extends BezierCoffs {
909
921
  static createProductOrder3Order2(factorA, factorB) {
910
922
  return new Order4Bezier(factorA.coffs[0] * factorB.coffs[0], (factorA.coffs[0] * factorB.coffs[1] + 2.0 * factorA.coffs[1] * factorB.coffs[0]) / 3.0, (2.0 * factorA.coffs[1] * factorB.coffs[1] + factorA.coffs[2] * factorB.coffs[0]) / 3.0, factorA.coffs[2] * factorB.coffs[1]);
911
923
  }
912
- /** evaluate the basis functions at specified u.
924
+ /**
925
+ * Evaluate the basis functions at specified u.
913
926
  * @param u bezier parameter for evaluation.
914
- * @returns Return a (newly allocated) array of basis function values.
927
+ * @param result optional destination of length 4. If insufficient length, a new array is returned.
928
+ * @returns array of 4 basis function values.
915
929
  */
916
930
  basisFunctions(u, result) {
917
- if (!result)
931
+ if (!result || result.length < 4)
918
932
  result = new Float64Array(4);
919
933
  const v = 1.0 - u;
920
934
  const uu = u * u;
@@ -925,15 +939,16 @@ class Order4Bezier extends BezierCoffs {
925
939
  result[3] = u * uu;
926
940
  return result;
927
941
  }
928
- /** evaluate the basis functions at specified u. Sum multidimensional control points with basis weights.
942
+ /**
943
+ * Sum the control points weighted by the basis function values at parameter u.
929
944
  * @param u bezier parameter for evaluation.
945
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
930
946
  * @param n dimension of control points.
931
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
932
- * @param result optional destination for values. ASSUMED size `order`
933
- * @returns Return a (newly allocated) array of basis function values.
947
+ * @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
948
+ * @returns array of `n` summed basis function values.
934
949
  */
935
950
  sumBasisFunctions(u, polygon, n, result) {
936
- if (!result)
951
+ if (!result || result.length < n)
937
952
  result = new Float64Array(n);
938
953
  const v = 1 - u;
939
954
  const uu = u * u;
@@ -947,15 +962,16 @@ class Order4Bezier extends BezierCoffs {
947
962
  }
948
963
  return result;
949
964
  }
950
- /** evaluate the blocked derivative at u.
965
+ /**
966
+ * Sum the control points weighted by the basis function derivative values at parameter u.
951
967
  * @param u bezier parameter for evaluation.
968
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
952
969
  * @param n dimension of control points.
953
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
954
- * @param result optional destination for values. ASSUMED size `order`
955
- * @returns Return a (newly allocated) array of basis function values.
970
+ * @param result optional destination of length `n`. If insufficient length, a new array is returned.
971
+ * @returns array of `n` summed basis function derivative values.
956
972
  */
957
973
  sumBasisFunctionDerivatives(u, polygon, n, result) {
958
- if (!result)
974
+ if (!result || result.length < n)
959
975
  result = new Float64Array(n);
960
976
  const v = 1 - u;
961
977
  // QUADRATIC basis functions applied to differences ... (with factor 3 for derivative)
@@ -1062,10 +1078,11 @@ class Order5Bezier extends BezierCoffs {
1062
1078
  }
1063
1079
  /** evaluate the basis functions at specified u.
1064
1080
  * @param u bezier parameter for evaluation.
1065
- * @returns Return a (newly allocated) array of basis function values.
1081
+ * @param result optional destination of length 5. If insufficient length, a new array is returned.
1082
+ * @returns array of 5 basis function values.
1066
1083
  */
1067
1084
  basisFunctions(u, result) {
1068
- if (!result)
1085
+ if (!result || result.length < 5)
1069
1086
  result = new Float64Array(5);
1070
1087
  const v = 1.0 - u;
1071
1088
  const uu = u * u;
@@ -1079,15 +1096,16 @@ class Order5Bezier extends BezierCoffs {
1079
1096
  result[4] = uu * uu;
1080
1097
  return result;
1081
1098
  }
1082
- /** evaluate the basis functions at specified u. Sum multidimensional control points with basis weights.
1099
+ /**
1100
+ * Sum the control points weighted by the basis function values at parameter u.
1083
1101
  * @param u bezier parameter for evaluation.
1102
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
1084
1103
  * @param n dimension of control points.
1085
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
1086
- * @param result optional destination for values. ASSUMED size `order`
1087
- * @returns Return a (newly allocated) array of basis function values.
1104
+ * @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
1105
+ * @returns array of `n` summed basis function values.
1088
1106
  */
1089
1107
  sumBasisFunctions(u, polygon, n, result) {
1090
- if (!result)
1108
+ if (!result || result.length < n)
1091
1109
  result = new Float64Array(n);
1092
1110
  const v = 1.0 - u;
1093
1111
  const uu = u * u;
@@ -1104,15 +1122,16 @@ class Order5Bezier extends BezierCoffs {
1104
1122
  }
1105
1123
  return result;
1106
1124
  }
1107
- /** evaluate the blocked derivative at u.
1125
+ /**
1126
+ * Sum the control points weighted by the basis function derivative values at parameter u.
1108
1127
  * @param u bezier parameter for evaluation.
1128
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
1109
1129
  * @param n dimension of control points.
1110
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
1111
- * @param result optional destination for values. ASSUMED size `order`
1112
- * @returns Return a (newly allocated) array of basis function values.
1130
+ * @param result optional destination of length `n`. If insufficient length, a new array is returned.
1131
+ * @returns array of `n` summed basis function derivative values.
1113
1132
  */
1114
1133
  sumBasisFunctionDerivatives(u, polygon, n, result) {
1115
- if (!result)
1134
+ if (!result || result.length < n)
1116
1135
  result = new Float64Array(n);
1117
1136
  const v = 1 - u;
1118
1137
  // CUBIC basis functions applied to differences ...