@itwin/core-geometry 4.3.0-dev.8 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/CHANGELOG.md +57 -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
@@ -420,13 +420,15 @@ export class UnivariateBezier extends BezierCoffs {
420
420
  this.coffs[i] += a;
421
421
  }
422
422
  }
423
- /** evaluate the basis functions at specified u.
423
+ /**
424
+ * Evaluate the basis functions at specified u.
424
425
  * @param u bezier parameter for evaluation.
425
- * @returns Return a (newly allocated) array of basis function values.
426
+ * @param result optional destination of length `order`. If insufficient length, a new array is returned.
427
+ * @returns array of `order` basis function values.
426
428
  */
427
429
  basisFunctions(u, result) {
428
430
  this._basisValues = PascalCoefficients.getBezierBasisValues(this.order, u, this._basisValues);
429
- if (!result || result.length !== this.order)
431
+ if (!result || result.length < this.order)
430
432
  result = new Float64Array(this.order);
431
433
  let i = 0;
432
434
  for (const a of this._basisValues)
@@ -436,9 +438,11 @@ export class UnivariateBezier extends BezierCoffs {
436
438
  /**
437
439
  * Sum weights[i] * data[...] in blocks of numPerBlock.
438
440
  * This is for low level use -- counts are not checked.
439
- * @param weights
440
- * @param data
441
- * @param numPerBlock
441
+ * @param weights input array of length `numWeights`
442
+ * @param numWeights number of weights
443
+ * @param data input array of length `numWeights * numPerBlock`
444
+ * @param numPerBlock control point dimension
445
+ * @param result output array of length `numPerBlock`
442
446
  */
443
447
  static sumWeightedBlocks(weights, numWeights, data, numPerBlock, result) {
444
448
  for (let k0 = 0; k0 < numPerBlock; k0++) {
@@ -454,33 +458,33 @@ export class UnivariateBezier extends BezierCoffs {
454
458
  }
455
459
  }
456
460
  /**
457
- * Given (multidimensional) control points, sum the control points weighted by the basis function values at parameter u.
461
+ * Sum the control points weighted by the basis function values at parameter u.
458
462
  * @param u bezier parameter
459
- * @param polygon Array with coefficients in blocks.
460
- * @param blockSize size of blocks
461
- * @param result `blockSize` summed values.
463
+ * @param polygon packed multidimensional control points. ASSUMED contains `blockSize*order` values.
464
+ * @param blockSize dimension of control points
465
+ * @param result optional preallocated array of length `blockSize` to fill and return. If insufficient length, a newly created array is returned.
466
+ * @returns array of `blockSize` summed basis function values.
462
467
  */
463
468
  sumBasisFunctions(u, polygon, blockSize, result) {
464
- const order = this._order;
465
- if (!result)
466
- result = new Float64Array(order);
469
+ if (!result || result.length < blockSize)
470
+ result = new Float64Array(blockSize);
467
471
  this._basisValues = PascalCoefficients.getBezierBasisValues(this.order, u, this._basisValues);
468
- UnivariateBezier.sumWeightedBlocks(this._basisValues, order, polygon, blockSize, result);
472
+ UnivariateBezier.sumWeightedBlocks(this._basisValues, this.order, polygon, blockSize, result);
469
473
  return result;
470
474
  }
471
475
  /**
472
- * Given (multidimensional) control points, sum the control points weighted by the basis function derivative values at parameter u.
476
+ * Sum the control points weighted by the basis function derivative values at parameter u.
473
477
  * @param u bezier parameter
474
- * @param polygon Array with coefficients in blocks.
475
- * @param blockSize size of blocks
476
- * @param result `blockSize` summed values.
478
+ * @param polygon packed multidimensional control points. ASSUMED contains `blockSize*order` values.
479
+ * @param blockSize dimension of control points
480
+ * @param result optional preallocated array of length `blockSize` to fill and return. If insufficient length, a newly created array is returned.
481
+ * @returns array of `blockSize` summed basis function derivative values.
477
482
  */
478
483
  sumBasisFunctionDerivatives(u, polygon, blockSize, result) {
479
- const order = this._order;
480
- if (!result)
484
+ if (!result || result.length < blockSize)
481
485
  result = new Float64Array(blockSize);
482
486
  this._basisValues = PascalCoefficients.getBezierBasisDerivatives(this.order, u, this._basisValues);
483
- UnivariateBezier.sumWeightedBlocks(this._basisValues, order, polygon, blockSize, result);
487
+ UnivariateBezier.sumWeightedBlocks(this._basisValues, this.order, polygon, blockSize, result);
484
488
  return result;
485
489
  }
486
490
  /**
@@ -712,26 +716,29 @@ export class Order2Bezier extends BezierCoffs {
712
716
  static solveCoffs(a0, a1) {
713
717
  return Geometry.conditionalDivideFraction(-a0, (a1 - a0));
714
718
  }
715
- /** evaluate the basis functions at specified u.
719
+ /**
720
+ * Evaluate the basis functions at specified u.
716
721
  * @param u bezier parameter for evaluation.
717
- * @returns Return a (newly allocated) array of basis function values.
722
+ * @param result optional destination of length 2. If insufficient length, a new array is returned.
723
+ * @returns array of 2 basis function values.
718
724
  */
719
725
  basisFunctions(u, result) {
720
- if (!result)
726
+ if (!result || result.length < 2)
721
727
  result = new Float64Array(2);
722
728
  result[0] = 1.0 - u;
723
729
  result[1] = u;
724
730
  return result;
725
731
  }
726
- /** evaluate the basis functions at specified u. Sum multidimensional control points with basis weights.
732
+ /**
733
+ * Sum the control points weighted by the basis function values at parameter u.
727
734
  * @param u bezier parameter for evaluation.
735
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
728
736
  * @param n dimension of control points.
729
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
730
- * @param result optional destination for values. ASSUMED size `order`
731
- * @returns Return a (newly allocated) array of basis function values.
737
+ * @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
738
+ * @returns array of `n` summed basis function values.
732
739
  */
733
740
  sumBasisFunctions(u, polygon, n, result) {
734
- if (!result)
741
+ if (!result || result.length < n)
735
742
  result = new Float64Array(n);
736
743
  const v = 1.0 - u;
737
744
  for (let i = 0; i < n; i++) {
@@ -739,15 +746,16 @@ export class Order2Bezier extends BezierCoffs {
739
746
  }
740
747
  return result;
741
748
  }
742
- /** evaluate the blocked derivative at u.
743
- * @param u bezier parameter for evaluation.
749
+ /**
750
+ * Sum the control points weighted by the basis function derivative values at parameter u.
751
+ * @param _u bezier parameter for evaluation.
752
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
744
753
  * @param n dimension of control points.
745
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
746
- * @param result optional destination for values. ASSUMED size `order`
747
- * @returns Return a (newly allocated) array of basis function values.
754
+ * @param result optional destination of length `n`. If insufficient length, a new array is returned.
755
+ * @returns array of `n` summed basis function derivative values.
748
756
  */
749
757
  sumBasisFunctionDerivatives(_u, polygon, n, result) {
750
- if (!result)
758
+ if (!result || result.length < n)
751
759
  result = new Float64Array(n);
752
760
  for (let i = 0; i < n; i++) {
753
761
  result[i] = polygon[i + n] - polygon[i];
@@ -795,12 +803,14 @@ export class Order3Bezier extends BezierCoffs {
795
803
  clone() {
796
804
  return new Order3Bezier(this.coffs[0], this.coffs[1], this.coffs[2]);
797
805
  }
798
- /** evaluate the basis functions at specified u.
806
+ /**
807
+ * Evaluate the basis functions at specified u.
799
808
  * @param u bezier parameter for evaluation.
800
- * @returns Return a (newly allocated) array of basis function values.
809
+ * @param result optional destination of length 3. If insufficient length, a new array is returned.
810
+ * @returns array of 3 basis function values.
801
811
  */
802
812
  basisFunctions(u, result) {
803
- if (!result)
813
+ if (!result || result.length < 3)
804
814
  result = new Float64Array(3);
805
815
  const v = 1.0 - u;
806
816
  result[0] = v * v;
@@ -808,15 +818,16 @@ export class Order3Bezier extends BezierCoffs {
808
818
  result[2] = u * u;
809
819
  return result;
810
820
  }
811
- /** evaluate the basis functions at specified u. Sum multidimensional control points with basis weights.
821
+ /**
822
+ * Sum the control points weighted by the basis function values at parameter u.
812
823
  * @param u bezier parameter for evaluation.
824
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
813
825
  * @param n dimension of control points.
814
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
815
- * @param result optional destination for values. ASSUMED size `order`
816
- * @returns Return a (newly allocated) array of basis function values.
826
+ * @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
827
+ * @returns array of `n` summed basis function values.
817
828
  */
818
829
  sumBasisFunctions(u, polygon, n, result) {
819
- if (!result)
830
+ if (!result || result.length < n)
820
831
  result = new Float64Array(n);
821
832
  const v = 1 - u;
822
833
  const b0 = v * v;
@@ -827,15 +838,16 @@ export class Order3Bezier extends BezierCoffs {
827
838
  }
828
839
  return result;
829
840
  }
830
- /** evaluate the blocked derivative at u.
841
+ /**
842
+ * Sum the control points weighted by the basis function derivative values at parameter u.
831
843
  * @param u bezier parameter for evaluation.
844
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
832
845
  * @param n dimension of control points.
833
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
834
- * @param result optional destination for values. ASSUMED size `order`
835
- * @returns Return a (newly allocated) array of basis function values.
846
+ * @param result optional destination of length `n`. If insufficient length, a new array is returned.
847
+ * @returns array of `n` summed basis function derivative values.
836
848
  */
837
849
  sumBasisFunctionDerivatives(u, polygon, n, result) {
838
- if (!result)
850
+ if (!result || result.length < n)
839
851
  result = new Float64Array(n);
840
852
  const f0 = 2 * (1 - u);
841
853
  const f1 = 2 * u;
@@ -901,12 +913,14 @@ export class Order4Bezier extends BezierCoffs {
901
913
  static createProductOrder3Order2(factorA, factorB) {
902
914
  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]);
903
915
  }
904
- /** evaluate the basis functions at specified u.
916
+ /**
917
+ * Evaluate the basis functions at specified u.
905
918
  * @param u bezier parameter for evaluation.
906
- * @returns Return a (newly allocated) array of basis function values.
919
+ * @param result optional destination of length 4. If insufficient length, a new array is returned.
920
+ * @returns array of 4 basis function values.
907
921
  */
908
922
  basisFunctions(u, result) {
909
- if (!result)
923
+ if (!result || result.length < 4)
910
924
  result = new Float64Array(4);
911
925
  const v = 1.0 - u;
912
926
  const uu = u * u;
@@ -917,15 +931,16 @@ export class Order4Bezier extends BezierCoffs {
917
931
  result[3] = u * uu;
918
932
  return result;
919
933
  }
920
- /** evaluate the basis functions at specified u. Sum multidimensional control points with basis weights.
934
+ /**
935
+ * Sum the control points weighted by the basis function values at parameter u.
921
936
  * @param u bezier parameter for evaluation.
937
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
922
938
  * @param n dimension of control points.
923
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
924
- * @param result optional destination for values. ASSUMED size `order`
925
- * @returns Return a (newly allocated) array of basis function values.
939
+ * @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
940
+ * @returns array of `n` summed basis function values.
926
941
  */
927
942
  sumBasisFunctions(u, polygon, n, result) {
928
- if (!result)
943
+ if (!result || result.length < n)
929
944
  result = new Float64Array(n);
930
945
  const v = 1 - u;
931
946
  const uu = u * u;
@@ -939,15 +954,16 @@ export class Order4Bezier extends BezierCoffs {
939
954
  }
940
955
  return result;
941
956
  }
942
- /** evaluate the blocked derivative at u.
957
+ /**
958
+ * Sum the control points weighted by the basis function derivative values at parameter u.
943
959
  * @param u bezier parameter for evaluation.
960
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
944
961
  * @param n dimension of control points.
945
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
946
- * @param result optional destination for values. ASSUMED size `order`
947
- * @returns Return a (newly allocated) array of basis function values.
962
+ * @param result optional destination of length `n`. If insufficient length, a new array is returned.
963
+ * @returns array of `n` summed basis function derivative values.
948
964
  */
949
965
  sumBasisFunctionDerivatives(u, polygon, n, result) {
950
- if (!result)
966
+ if (!result || result.length < n)
951
967
  result = new Float64Array(n);
952
968
  const v = 1 - u;
953
969
  // QUADRATIC basis functions applied to differences ... (with factor 3 for derivative)
@@ -1053,10 +1069,11 @@ export class Order5Bezier extends BezierCoffs {
1053
1069
  }
1054
1070
  /** evaluate the basis functions at specified u.
1055
1071
  * @param u bezier parameter for evaluation.
1056
- * @returns Return a (newly allocated) array of basis function values.
1072
+ * @param result optional destination of length 5. If insufficient length, a new array is returned.
1073
+ * @returns array of 5 basis function values.
1057
1074
  */
1058
1075
  basisFunctions(u, result) {
1059
- if (!result)
1076
+ if (!result || result.length < 5)
1060
1077
  result = new Float64Array(5);
1061
1078
  const v = 1.0 - u;
1062
1079
  const uu = u * u;
@@ -1070,15 +1087,16 @@ export class Order5Bezier extends BezierCoffs {
1070
1087
  result[4] = uu * uu;
1071
1088
  return result;
1072
1089
  }
1073
- /** evaluate the basis functions at specified u. Sum multidimensional control points with basis weights.
1090
+ /**
1091
+ * Sum the control points weighted by the basis function values at parameter u.
1074
1092
  * @param u bezier parameter for evaluation.
1093
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
1075
1094
  * @param n dimension of control points.
1076
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
1077
- * @param result optional destination for values. ASSUMED size `order`
1078
- * @returns Return a (newly allocated) array of basis function values.
1095
+ * @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
1096
+ * @returns array of `n` summed basis function values.
1079
1097
  */
1080
1098
  sumBasisFunctions(u, polygon, n, result) {
1081
- if (!result)
1099
+ if (!result || result.length < n)
1082
1100
  result = new Float64Array(n);
1083
1101
  const v = 1.0 - u;
1084
1102
  const uu = u * u;
@@ -1095,15 +1113,16 @@ export class Order5Bezier extends BezierCoffs {
1095
1113
  }
1096
1114
  return result;
1097
1115
  }
1098
- /** evaluate the blocked derivative at u.
1116
+ /**
1117
+ * Sum the control points weighted by the basis function derivative values at parameter u.
1099
1118
  * @param u bezier parameter for evaluation.
1119
+ * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
1100
1120
  * @param n dimension of control points.
1101
- * @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
1102
- * @param result optional destination for values. ASSUMED size `order`
1103
- * @returns Return a (newly allocated) array of basis function values.
1121
+ * @param result optional destination of length `n`. If insufficient length, a new array is returned.
1122
+ * @returns array of `n` summed basis function derivative values.
1104
1123
  */
1105
1124
  sumBasisFunctionDerivatives(u, polygon, n, result) {
1106
- if (!result)
1125
+ if (!result || result.length < n)
1107
1126
  result = new Float64Array(n);
1108
1127
  const v = 1 - u;
1109
1128
  // CUBIC basis functions applied to differences ...