@itwin/core-geometry 4.3.0-dev.2 → 4.3.0-dev.21

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 (350) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/lib/cjs/Geometry.d.ts.map +1 -1
  3. package/lib/cjs/Geometry.js +2 -4
  4. package/lib/cjs/Geometry.js.map +1 -1
  5. package/lib/cjs/bspline/BSpline1dNd.d.ts +12 -2
  6. package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -1
  7. package/lib/cjs/bspline/BSpline1dNd.js +27 -17
  8. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  9. package/lib/cjs/bspline/BSplineCurve.d.ts +30 -16
  10. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  11. package/lib/cjs/bspline/BSplineCurve.js +68 -44
  12. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  13. package/lib/cjs/bspline/BSplineCurve3dH.d.ts +27 -20
  14. package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -1
  15. package/lib/cjs/bspline/BSplineCurve3dH.js +136 -87
  16. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  17. package/lib/cjs/bspline/BSplineSurface.d.ts +138 -74
  18. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  19. package/lib/cjs/bspline/BSplineSurface.js +242 -119
  20. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  21. package/lib/cjs/bspline/Bezier1dNd.d.ts +18 -4
  22. package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -1
  23. package/lib/cjs/bspline/Bezier1dNd.js +19 -5
  24. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  25. package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -1
  26. package/lib/cjs/bspline/BezierCurve3dH.js +2 -1
  27. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  28. package/lib/cjs/bspline/KnotVector.d.ts +30 -33
  29. package/lib/cjs/bspline/KnotVector.d.ts.map +1 -1
  30. package/lib/cjs/bspline/KnotVector.js +76 -69
  31. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  32. package/lib/cjs/clipping/AlternatingConvexClipTree.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/curve/CurveChainWithDistanceIndex.d.ts +18 -1
  38. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  39. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +47 -0
  40. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  41. package/lib/cjs/curve/CurveCollection.d.ts +9 -9
  42. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  43. package/lib/cjs/curve/CurveCollection.js +7 -10
  44. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  45. package/lib/cjs/curve/CurveCurve.d.ts +2 -2
  46. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  47. package/lib/cjs/curve/CurveCurve.js +3 -16
  48. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  49. package/lib/cjs/curve/CurveLocationDetail.d.ts +17 -4
  50. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  51. package/lib/cjs/curve/CurveLocationDetail.js +32 -10
  52. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  53. package/lib/cjs/curve/CurveOps.d.ts +4 -5
  54. package/lib/cjs/curve/CurveOps.d.ts.map +1 -1
  55. package/lib/cjs/curve/CurveOps.js +1 -1
  56. package/lib/cjs/curve/CurveOps.js.map +1 -1
  57. package/lib/cjs/curve/CurveTypes.d.ts +14 -2
  58. package/lib/cjs/curve/CurveTypes.d.ts.map +1 -1
  59. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  60. package/lib/cjs/curve/CurveWireMomentsXYZ.d.ts.map +1 -1
  61. package/lib/cjs/curve/CurveWireMomentsXYZ.js +2 -4
  62. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  63. package/lib/cjs/curve/LineString3d.d.ts +3 -6
  64. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  65. package/lib/cjs/curve/LineString3d.js +1 -4
  66. package/lib/cjs/curve/LineString3d.js.map +1 -1
  67. package/lib/cjs/curve/PointString3d.d.ts +2 -1
  68. package/lib/cjs/curve/PointString3d.d.ts.map +1 -1
  69. package/lib/cjs/curve/PointString3d.js.map +1 -1
  70. package/lib/cjs/curve/RegionOps.d.ts +7 -12
  71. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  72. package/lib/cjs/curve/RegionOps.js +2 -1
  73. package/lib/cjs/curve/RegionOps.js.map +1 -1
  74. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +0 -9
  75. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  76. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +16 -35
  77. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  78. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +12 -6
  79. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  80. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +80 -18
  81. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  82. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts +11 -5
  83. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
  84. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js +73 -8
  85. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  86. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +2 -3
  87. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  88. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +2 -3
  89. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  90. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +4 -4
  91. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  92. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +38 -36
  93. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  94. package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts +21 -5
  95. package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
  96. package/lib/cjs/geometry3d/CoincidentGeometryOps.js +71 -45
  97. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  98. package/lib/cjs/geometry3d/Matrix3d.d.ts +20 -13
  99. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  100. package/lib/cjs/geometry3d/Matrix3d.js +28 -21
  101. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  102. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +11 -2
  103. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  104. package/lib/cjs/geometry3d/Point3dVector3d.js +16 -5
  105. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  106. package/lib/cjs/geometry3d/PointHelpers.d.ts +58 -20
  107. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  108. package/lib/cjs/geometry3d/PointHelpers.js +213 -62
  109. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  110. package/lib/cjs/geometry3d/Segment1d.d.ts +5 -1
  111. package/lib/cjs/geometry3d/Segment1d.d.ts.map +1 -1
  112. package/lib/cjs/geometry3d/Segment1d.js +11 -7
  113. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  114. package/lib/cjs/geometry3d/Transform.d.ts +2 -3
  115. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  116. package/lib/cjs/geometry3d/Transform.js +2 -3
  117. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  118. package/lib/cjs/geometry4d/Point4d.d.ts +14 -1
  119. package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
  120. package/lib/cjs/geometry4d/Point4d.js +22 -1
  121. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  122. package/lib/cjs/numerics/BezierPolynomials.d.ts +91 -68
  123. package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -1
  124. package/lib/cjs/numerics/BezierPolynomials.js +100 -79
  125. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  126. package/lib/cjs/numerics/Newton.d.ts +115 -60
  127. package/lib/cjs/numerics/Newton.d.ts.map +1 -1
  128. package/lib/cjs/numerics/Newton.js +120 -62
  129. package/lib/cjs/numerics/Newton.js.map +1 -1
  130. package/lib/cjs/numerics/PascalCoefficients.d.ts +8 -12
  131. package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -1
  132. package/lib/cjs/numerics/PascalCoefficients.js +10 -12
  133. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  134. package/lib/cjs/numerics/Polynomials.d.ts +2 -2
  135. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  136. package/lib/cjs/numerics/Polynomials.js +2 -2
  137. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  138. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +3 -0
  139. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  140. package/lib/cjs/polyface/PolyfaceBuilder.js +13 -2
  141. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  142. package/lib/cjs/polyface/PolyfaceClip.d.ts +1 -1
  143. package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
  144. package/lib/cjs/polyface/PolyfaceClip.js +6 -3
  145. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  146. package/lib/cjs/polyface/PolyfaceData.d.ts +1 -1
  147. package/lib/cjs/polyface/PolyfaceData.js +1 -1
  148. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  149. package/lib/cjs/polyface/PolyfaceQuery.d.ts +39 -12
  150. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  151. package/lib/cjs/polyface/PolyfaceQuery.js +94 -17
  152. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  153. package/lib/cjs/serialization/BGFBReader.d.ts +10 -10
  154. package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -1
  155. package/lib/cjs/serialization/BGFBReader.js +69 -42
  156. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  157. package/lib/cjs/serialization/BGFBWriter.d.ts +8 -8
  158. package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
  159. package/lib/cjs/serialization/BGFBWriter.js +80 -55
  160. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  161. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  162. package/lib/cjs/serialization/GeometrySamples.js +6 -8
  163. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  164. package/lib/cjs/serialization/IModelJsonSchema.d.ts +8 -14
  165. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  166. package/lib/cjs/serialization/IModelJsonSchema.js +85 -259
  167. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  168. package/lib/cjs/serialization/SerializationHelpers.d.ts +109 -0
  169. package/lib/cjs/serialization/SerializationHelpers.d.ts.map +1 -0
  170. package/lib/cjs/serialization/SerializationHelpers.js +591 -0
  171. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -0
  172. package/lib/cjs/solid/SweepContour.d.ts +4 -2
  173. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  174. package/lib/cjs/solid/SweepContour.js +4 -2
  175. package/lib/cjs/solid/SweepContour.js.map +1 -1
  176. package/lib/esm/Geometry.d.ts.map +1 -1
  177. package/lib/esm/Geometry.js +2 -4
  178. package/lib/esm/Geometry.js.map +1 -1
  179. package/lib/esm/bspline/BSpline1dNd.d.ts +12 -2
  180. package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -1
  181. package/lib/esm/bspline/BSpline1dNd.js +27 -17
  182. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  183. package/lib/esm/bspline/BSplineCurve.d.ts +30 -16
  184. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  185. package/lib/esm/bspline/BSplineCurve.js +68 -44
  186. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  187. package/lib/esm/bspline/BSplineCurve3dH.d.ts +27 -20
  188. package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -1
  189. package/lib/esm/bspline/BSplineCurve3dH.js +137 -88
  190. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  191. package/lib/esm/bspline/BSplineSurface.d.ts +138 -74
  192. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  193. package/lib/esm/bspline/BSplineSurface.js +242 -119
  194. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  195. package/lib/esm/bspline/Bezier1dNd.d.ts +18 -4
  196. package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -1
  197. package/lib/esm/bspline/Bezier1dNd.js +19 -5
  198. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  199. package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -1
  200. package/lib/esm/bspline/BezierCurve3dH.js +2 -1
  201. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  202. package/lib/esm/bspline/KnotVector.d.ts +30 -33
  203. package/lib/esm/bspline/KnotVector.d.ts.map +1 -1
  204. package/lib/esm/bspline/KnotVector.js +76 -69
  205. package/lib/esm/bspline/KnotVector.js.map +1 -1
  206. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  207. package/lib/esm/clipping/ClipUtils.d.ts +32 -5
  208. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
  209. package/lib/esm/clipping/ClipUtils.js +92 -11
  210. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  211. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +18 -1
  212. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  213. package/lib/esm/curve/CurveChainWithDistanceIndex.js +48 -1
  214. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  215. package/lib/esm/curve/CurveCollection.d.ts +9 -9
  216. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  217. package/lib/esm/curve/CurveCollection.js +7 -10
  218. package/lib/esm/curve/CurveCollection.js.map +1 -1
  219. package/lib/esm/curve/CurveCurve.d.ts +2 -2
  220. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  221. package/lib/esm/curve/CurveCurve.js +3 -16
  222. package/lib/esm/curve/CurveCurve.js.map +1 -1
  223. package/lib/esm/curve/CurveLocationDetail.d.ts +17 -4
  224. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  225. package/lib/esm/curve/CurveLocationDetail.js +32 -10
  226. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  227. package/lib/esm/curve/CurveOps.d.ts +4 -5
  228. package/lib/esm/curve/CurveOps.d.ts.map +1 -1
  229. package/lib/esm/curve/CurveOps.js +1 -1
  230. package/lib/esm/curve/CurveOps.js.map +1 -1
  231. package/lib/esm/curve/CurveTypes.d.ts +14 -2
  232. package/lib/esm/curve/CurveTypes.d.ts.map +1 -1
  233. package/lib/esm/curve/CurveTypes.js.map +1 -1
  234. package/lib/esm/curve/CurveWireMomentsXYZ.d.ts.map +1 -1
  235. package/lib/esm/curve/CurveWireMomentsXYZ.js +2 -4
  236. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  237. package/lib/esm/curve/LineString3d.d.ts +3 -6
  238. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  239. package/lib/esm/curve/LineString3d.js +1 -4
  240. package/lib/esm/curve/LineString3d.js.map +1 -1
  241. package/lib/esm/curve/PointString3d.d.ts +2 -1
  242. package/lib/esm/curve/PointString3d.d.ts.map +1 -1
  243. package/lib/esm/curve/PointString3d.js.map +1 -1
  244. package/lib/esm/curve/RegionOps.d.ts +7 -12
  245. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  246. package/lib/esm/curve/RegionOps.js +2 -1
  247. package/lib/esm/curve/RegionOps.js.map +1 -1
  248. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +0 -9
  249. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  250. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +16 -35
  251. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  252. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +12 -6
  253. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  254. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +81 -19
  255. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  256. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts +11 -5
  257. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
  258. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js +74 -9
  259. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  260. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +2 -3
  261. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  262. package/lib/esm/curve/internalContexts/MultiChainCollector.js +2 -3
  263. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  264. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +4 -4
  265. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  266. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +38 -36
  267. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  268. package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts +21 -5
  269. package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
  270. package/lib/esm/geometry3d/CoincidentGeometryOps.js +71 -45
  271. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  272. package/lib/esm/geometry3d/Matrix3d.d.ts +20 -13
  273. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  274. package/lib/esm/geometry3d/Matrix3d.js +28 -21
  275. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  276. package/lib/esm/geometry3d/Point3dVector3d.d.ts +11 -2
  277. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  278. package/lib/esm/geometry3d/Point3dVector3d.js +16 -5
  279. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  280. package/lib/esm/geometry3d/PointHelpers.d.ts +58 -20
  281. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  282. package/lib/esm/geometry3d/PointHelpers.js +213 -62
  283. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  284. package/lib/esm/geometry3d/Segment1d.d.ts +5 -1
  285. package/lib/esm/geometry3d/Segment1d.d.ts.map +1 -1
  286. package/lib/esm/geometry3d/Segment1d.js +11 -7
  287. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  288. package/lib/esm/geometry3d/Transform.d.ts +2 -3
  289. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  290. package/lib/esm/geometry3d/Transform.js +2 -3
  291. package/lib/esm/geometry3d/Transform.js.map +1 -1
  292. package/lib/esm/geometry4d/Point4d.d.ts +14 -1
  293. package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
  294. package/lib/esm/geometry4d/Point4d.js +22 -1
  295. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  296. package/lib/esm/numerics/BezierPolynomials.d.ts +91 -68
  297. package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -1
  298. package/lib/esm/numerics/BezierPolynomials.js +100 -79
  299. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  300. package/lib/esm/numerics/Newton.d.ts +115 -60
  301. package/lib/esm/numerics/Newton.d.ts.map +1 -1
  302. package/lib/esm/numerics/Newton.js +120 -62
  303. package/lib/esm/numerics/Newton.js.map +1 -1
  304. package/lib/esm/numerics/PascalCoefficients.d.ts +8 -12
  305. package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -1
  306. package/lib/esm/numerics/PascalCoefficients.js +10 -12
  307. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  308. package/lib/esm/numerics/Polynomials.d.ts +2 -2
  309. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  310. package/lib/esm/numerics/Polynomials.js +2 -2
  311. package/lib/esm/numerics/Polynomials.js.map +1 -1
  312. package/lib/esm/polyface/PolyfaceBuilder.d.ts +3 -0
  313. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  314. package/lib/esm/polyface/PolyfaceBuilder.js +13 -2
  315. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  316. package/lib/esm/polyface/PolyfaceClip.d.ts +1 -1
  317. package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
  318. package/lib/esm/polyface/PolyfaceClip.js +6 -3
  319. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  320. package/lib/esm/polyface/PolyfaceData.d.ts +1 -1
  321. package/lib/esm/polyface/PolyfaceData.js +1 -1
  322. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  323. package/lib/esm/polyface/PolyfaceQuery.d.ts +39 -12
  324. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  325. package/lib/esm/polyface/PolyfaceQuery.js +94 -17
  326. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  327. package/lib/esm/serialization/BGFBReader.d.ts +10 -10
  328. package/lib/esm/serialization/BGFBReader.d.ts.map +1 -1
  329. package/lib/esm/serialization/BGFBReader.js +69 -42
  330. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  331. package/lib/esm/serialization/BGFBWriter.d.ts +8 -8
  332. package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
  333. package/lib/esm/serialization/BGFBWriter.js +80 -55
  334. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  335. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  336. package/lib/esm/serialization/GeometrySamples.js +7 -9
  337. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  338. package/lib/esm/serialization/IModelJsonSchema.d.ts +8 -14
  339. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  340. package/lib/esm/serialization/IModelJsonSchema.js +86 -260
  341. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  342. package/lib/esm/serialization/SerializationHelpers.d.ts +109 -0
  343. package/lib/esm/serialization/SerializationHelpers.d.ts.map +1 -0
  344. package/lib/esm/serialization/SerializationHelpers.js +588 -0
  345. package/lib/esm/serialization/SerializationHelpers.js.map +1 -0
  346. package/lib/esm/solid/SweepContour.d.ts +4 -2
  347. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  348. package/lib/esm/solid/SweepContour.js +4 -2
  349. package/lib/esm/solid/SweepContour.js.map +1 -1
  350. package/package.json +3 -3
@@ -2,7 +2,7 @@
2
2
  * @module Bspline
3
3
  */
4
4
  import { GeometryQuery } from "../curve/GeometryQuery";
5
- import { GeometryHandler } from "../geometry3d/GeometryHandler";
5
+ import { GeometryHandler, UVSurface } from "../geometry3d/GeometryHandler";
6
6
  import { Plane3dByOriginAndUnitNormal } from "../geometry3d/Plane3dByOriginAndUnitNormal";
7
7
  import { Plane3dByOriginAndVectors } from "../geometry3d/Plane3dByOriginAndVectors";
8
8
  import { Point3d } from "../geometry3d/Point3dVector3d";
@@ -17,14 +17,19 @@ import { BSplineWrapMode, KnotVector } from "./KnotVector";
17
17
  export declare enum UVSelect {
18
18
  /** index of u direction */
19
19
  uDirection = 0,
20
+ /**
21
+ * index of v direction
22
+ * @deprecated in 4.x. Use vDirection instead.
23
+ */
24
+ VDirection = 1,
20
25
  /** index of v direction */
21
- VDirection = 1
26
+ vDirection = 1
22
27
  }
23
28
  /**
24
29
  * Enumeration of how weights are carried
25
30
  * * UnWeighted (0) -- there are no weights
26
- * * WeightsAlreadyAppliedToCoordinates (1) -- for real point (x,y,z) the homogeneous point has weight applied throughout as (wx,wy,wz,w)
27
- * * WeightsSeparateFromCoordinates (2) -- for real point (x,y,z) the homogeneous point is (x,y,z,w)
31
+ * * WeightsAlreadyAppliedToCoordinates (1) -- for real point (x,y,z) the homogeneous point (wx,wy,wx,w) is stored as (wx,wy,wz,w)
32
+ * * WeightsSeparateFromCoordinates (2) -- for real point (x,y,z) the homogeneous point (wx,wy,wx,w) is stored as (x,y,z,w)
28
33
  * * Note that "internal" computations never use WeightsSeparateFromCoordinates.
29
34
  * * WeightsSeparateFromCoordinates is only useful as input or output state in serializer.
30
35
  * @public
@@ -33,13 +38,13 @@ export declare enum WeightStyle {
33
38
  /** There are no weights. */
34
39
  UnWeighted = 0,
35
40
  /**
36
- * * Data is weighted
37
- * * point with normalized coordinate `[x,y,z]` and weight `w` has weights already multiplied in as `[x*w,y*w,z*w,w]`
41
+ * * Data is weighted.
42
+ * * The point with normalized coordinate `[x,y,z]` and weight `w` is stored as `[x*w,y*w,z*w,w]`
38
43
  * */
39
44
  WeightsAlreadyAppliedToCoordinates = 1,
40
45
  /**
41
- * * Data is weighted
42
- * * point with normalized coordinate `[x,y,z]` and weight `w` has is `[x,y,z,w]`
46
+ * * Data is weighted.
47
+ * * The point with normalized coordinate `[x,y,z]` and weight `w` is stored as `[x,y,z,w]`
43
48
  * */
44
49
  WeightsSeparateFromCoordinates = 2
45
50
  }
@@ -76,7 +81,7 @@ export interface BSplineSurface3dQuery {
76
81
  * * y column is a unit vector in the direction of the v derivative
77
82
  * * z direction is the surface normal
78
83
  */
79
- fractionToRigidFrame(uFraction: number, vFraction: number): Transform | undefined;
84
+ fractionToRigidFrame(uFraction: number, vFraction: number, result?: Transform): Transform | undefined;
80
85
  /** Evaluate xyz coordinates at knot values (uKnot, vKnot) */
81
86
  knotToPoint(uKnot: number, vKnot: number): Point3d;
82
87
  /** apply a transform to the surface */
@@ -128,12 +133,6 @@ export interface BSplineSurface3dQuery {
128
133
  * @param select 0 for u, 1 for v
129
134
  */
130
135
  poleStepUV(select: UVSelect): number;
131
- /**
132
- * evaluate the surface at u and v fractions. Return a (squared, right handed) coordinate frame at that point on the surface.
133
- * @param fractionU u parameter
134
- * @param fractionV v parameter
135
- * @param result undefined if surface derivatives are parallel (or either alone is zero)
136
- */
137
136
  /**
138
137
  * Return control points json arrays.
139
138
  * * Each row of points is an an array.
@@ -151,7 +150,7 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
151
150
  readonly geometryCategory = "bsurf";
152
151
  /** Array of (exactly 2) knot vectors for the u, v directions */
153
152
  knots: KnotVector[];
154
- /** flat array of coordinate daa, blocked by poleDimension and row */
153
+ /** flat array of coordinate data, blocked by poleDimension and row */
155
154
  coffs: Float64Array;
156
155
  /** Number of components per pole.
157
156
  * * 3 for conventional xyz surface
@@ -173,14 +172,24 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
173
172
  poleStepUV(select: UVSelect): number;
174
173
  /** Confirm that order and pole counts agree for both u and v directions */
175
174
  static validOrderAndPoleCounts(orderU: number, numPolesU: number, orderV: number, numPolesV: number, numUV: number): boolean;
176
- /** Get the Point3d by row and column.
175
+ /** Get the indexed Point3d.
177
176
  * * (IMPORTANT) This assumes this is an xyz surface. Data will be incorrect if this is an xyzw surface.
177
+ * @param i index in [0, numPolesU)
178
+ * @param j index in [0, numPolesV)
178
179
  */
179
180
  getPoint3dPole(i: number, j: number, result?: Point3d): Point3d | undefined;
180
- /** Get the Point3d by row and column, projecting the weight away to get to xyz
181
+ /** Get the indexed Point3d, projecting the weight away to get to xyz.
181
182
  * * (IMPORTANT) This assumes this is an xyzw surface. Data will be incorrect if this is an xyz surface.
183
+ * @param i index in [0, numPolesU)
184
+ * @param j index in [0, numPolesV)
182
185
  */
183
186
  getPoint3dPoleXYZW(i: number, j: number, result?: Point3d): Point3d | undefined;
187
+ /** Get the indexed Point4d.
188
+ * * (IMPORTANT) This assumes this is an xyzw surface. Data will be incorrect if this is an xyz surface.
189
+ * @param i index in [0, numPolesU)
190
+ * @param j index in [0, numPolesV)
191
+ */
192
+ getPoint4dPole(i: number, j: number, result?: Point4d): Point4d | undefined;
184
193
  /**
185
194
  * Return 0 for 0 input, 1 for any nonzero input.
186
195
  * @param value numeric value to convert to strict 0 or 1.
@@ -231,12 +240,18 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
231
240
  * * choice of u or v
232
241
  * * span index
233
242
  * * local fraction within the span.
243
+ * @returns true if and only if output arrays are sufficiently sized
234
244
  */
235
- spanFractionsToBasisFunctions(select: UVSelect, spanIndex: number, spanFraction: number, f: Float64Array, df?: Float64Array): void;
245
+ spanFractionsToBasisFunctions(select: UVSelect, spanIndex: number, spanFraction: number, f: Float64Array, df?: Float64Array): boolean;
236
246
  /** sum poles by the weights in the basisBuffer, using poles for given span */
237
247
  sumPoleBufferForSpan(spanIndexU: number, spanIndexV: number): void;
238
- /** sum derivatives by the weights in the basisBuffer, using poles for given span */
248
+ /**
249
+ * sum poles by the weights in the basisBuffer, using poles for given span
250
+ * @deprecated in 4.x. Use sumPoleBufferDerivativesForSpan instead.
251
+ */
239
252
  sumpoleBufferDerivativesForSpan(spanIndexU: number, spanIndexV: number): void;
253
+ /** sum derivatives by the weights in the basisBuffer, using poles for given span */
254
+ sumPoleBufferDerivativesForSpan(spanIndexU: number, spanIndexV: number): void;
240
255
  /**
241
256
  * Evaluate the _basisBuffer, _poleBuffer and (optionally) _basisBuffer1 and _poleBuffer1 arrays at given knot.
242
257
  *
@@ -252,15 +267,42 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
252
267
  */
253
268
  reverseInPlace(select: UVSelect): void;
254
269
  /**
255
- * Set the flag indicating the bspline might be suitable for having wrapped "closed" interpretation.
270
+ * Get the flag indicating the surface might be suitable for having wrapped "closed" interpretation.
271
+ */
272
+ getWrappable(select: UVSelect): BSplineWrapMode;
273
+ /**
274
+ * Set the flag indicating the surface might be suitable for having wrapped "closed" interpretation.
256
275
  */
257
276
  setWrappable(select: UVSelect, value: BSplineWrapMode): void;
258
277
  /**
259
- * Test if `degree` leading and trailing (one of U or V) blocks match, as if the data is an unwrapped closed spline in the selected direction.
278
+ * Test if leading and trailing blocks of points match in a given direction.
279
+ * @param data packed array of points in row-major order (numRows x numColumns x dimension numbers)
280
+ * @param numRows number of rows of points in the array
281
+ * @param numColumns number of columns of points in the array (equal to the number of points in each row)
282
+ * @param dimension point dimension (e.g., 2,3,4)
283
+ * @param blockLength number of leading/trailing points to check
284
+ * @param select 0 to test first/last columns of points; 1 to test first/last rows of points
285
+ * @returns true if coordinates matched
286
+ */
287
+ static isWrappedGrid(data: Float64Array, numRows: number, numColumns: number, dimension: number, blockLength: number, select: UVSelect): boolean;
288
+ /**
289
+ * Test if `degree` leading and trailing (one of U or V) blocks match, as if the data is a non-periodic physically closed spline in the selected direction.
260
290
  * @param select select U or V direction
261
291
  * @returns true if coordinates matched.
262
292
  */
293
+ testClosableGrid(select: UVSelect, mode?: BSplineWrapMode): boolean;
294
+ /**
295
+ * Test knots and control points to determine if it is possible to close (aka "wrap") the surface in the selected parametric direction.
296
+ * @param select select U or V direction
297
+ * @return whether the surface can be wrapped in the given parametric direction.
298
+ */
263
299
  isClosable(select: UVSelect): boolean;
300
+ /**
301
+ * Test knots and control points to determine if it is possible to close (aka "wrap") the surface in the selected parametric direction.
302
+ * @param select select U or V direction
303
+ * @return the manner of closing. See `BSplineWrapMode` for particulars of each mode.
304
+ */
305
+ isClosableSurface(select: UVSelect): BSplineWrapMode;
264
306
  }
265
307
  /** BSplineSurface3d is a parametric surface in xyz space.
266
308
  * * This (BSplineSurface3d) is an unweighted surface. Use the separate class BSplineSurface3dH for a weighted surface.
@@ -271,7 +313,7 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
271
313
  * | createGrid | array of array of [x,y,z ] | There are no `numPolesU` or `numPolesV` args. The counts are conveyed by the deep arrays |
272
314
  * @public
273
315
  */
274
- export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurface3dQuery {
316
+ export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurface3dQuery, UVSurface {
275
317
  /** Test if `other` is an instance of `BSplineSurface3d */
276
318
  isSameGeometryClass(other: any): boolean;
277
319
  /** Apply the transform to the poles */
@@ -298,41 +340,41 @@ export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurf
298
340
  * in classic over-clamped manner
299
341
  */
300
342
  copyKnots(select: UVSelect, includeExtraEndKnot: boolean): number[];
301
- /** Create a bspline surface.
343
+ /**
344
+ * Create a bspline surface.
302
345
  * * This `create` variant takes control points in a "flattened" array, with
303
346
  * points from succeeding U rows packed together in one array. Use `createGrid` if the points are in
304
347
  * a row-by-row grid structure
305
348
  * * knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
306
- * * When knots are given, two knot count conditions are recognized:
307
- * * + If poleArray.length + order == knotArray.length, the first and last are assumed to be the
349
+ * * When knots are given, two knot count conditions are recognized:
350
+ * * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
308
351
  * extraneous knots of classic clamping.
309
- * * + If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
352
+ * * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
310
353
  * the classic unused first and last knot.
311
354
  * @param controlPointArray Array of points, ordered along the U direction.
312
- * @param numPoleU number of poles in each row in the U direction.
355
+ * @param numPoleU number of poles in each row
313
356
  * @param orderU order for the U direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
314
- * @param KnotArrayU knots for the V direction. See note above about knot counts.
315
- * @param numPoleV number of poles in each row in the U direction.
357
+ * @param knotArrayU knots for the V direction. See note above about knot counts.
358
+ * @param numPoleV number of rows of poles
316
359
  * @param orderV order for the V direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
317
- * @param KnotArrayV knots for the V direction. See note above about knot counts.
360
+ * @param knotArrayV knots for the V direction. See note above about knot counts.
318
361
  */
319
362
  static create(controlPointArray: Point3d[] | Float64Array, numPolesU: number, orderU: number, knotArrayU: number[] | Float64Array | undefined, numPolesV: number, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3d | undefined;
320
- /** Create a bspline surface.
363
+ /**
364
+ * Create a bspline surface.
321
365
  * * This `create` variant takes control points in a "grid" array, with the points from
322
- * each grid row `[rowIndex]` being an independent array `points[rowIndex][indexAlongRow][x,y,z]`
366
+ * each grid row `[rowIndex]` being an independent array `points[rowIndex][indexAlongRow][x,y,z]`
323
367
  * * knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
324
- * * When knots are given, two knot count conditions are recognized:
325
- * * + If poleArray.length + order == knotArray.length, the first and last are assumed to be the
368
+ * * When knots are given, two knot count conditions are recognized in each direction:
369
+ * * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
326
370
  * extraneous knots of classic clamping.
327
- * * + If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
371
+ * * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
328
372
  * the classic unused first and last knot.
329
- * @param controlPointArray Array of points, ordered along the U direction.
330
- * @param numPoleU number of poles in each row in the U direction.
373
+ * @param points Array of points, ordered along the U direction.
331
374
  * @param orderU order for the U direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
332
- * @param KnotArrayU knots for the V direction. See note above about knot counts.
333
- * @param numPoleV number of poles in each row in the U direction.
375
+ * @param knotArrayU knots for the V direction. See note above about knot counts.
334
376
  * @param orderV order for the V direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
335
- * @param KnotArrayV knots for the V direction. See note above about knot counts.
377
+ * @param knotArrayV knots for the V direction. See note above about knot counts.
336
378
  */
337
379
  static createGrid(points: number[][][], orderU: number, knotArrayU: number[] | Float64Array | undefined, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3d | undefined;
338
380
  /**
@@ -367,6 +409,10 @@ export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurf
367
409
  * @returns Returns point and derivative directions.
368
410
  */
369
411
  fractionToPointAndDerivatives(fractionU: number, fractionV: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
412
+ /** Implementation of the UVSurface interface; allows `PolyfaceBuilder.addUVGridBody` to facet this B-spline surface. */
413
+ uvFractionToPoint(u: number, v: number): Point3d;
414
+ /** Implementation of the UVSurface interface; allows `PolyfaceBuilder.addUVGridBody` to facet this B-spline surface. */
415
+ uvFractionToPointAndTangents(u: number, v: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
370
416
  /** test for identical counts and near-equal coordinates */
371
417
  isAlmostEqual(other: any): boolean;
372
418
  /** Test if all poles are in a plane */
@@ -381,7 +427,7 @@ export declare class BSplineSurface3d extends BSpline2dNd implements BSplineSurf
381
427
  /** BSpline Surface in xyzw homogeneous space
382
428
  * @public
383
429
  */
384
- export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSurface3dQuery {
430
+ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSurface3dQuery, UVSurface {
385
431
  /** Test if `other` is an instance of `BSplineSurface3dH */
386
432
  isSameGeometryClass(other: any): boolean;
387
433
  /** Apply the transform to the poles */
@@ -389,14 +435,21 @@ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSur
389
435
  /** Return a pole by u and v indices */
390
436
  getPole(i: number, j: number, result?: Point3d): Point3d | undefined;
391
437
  private constructor();
392
- /** Return a simple array of the control points. */
438
+ /** Unpack the control points to a Point4d array of form [wx,wy,wz,w]. */
393
439
  copyPoints4d(): Point4d[];
394
- /** Return a simple array of the control points. */
440
+ /**
441
+ * Unpack the control points to a Point3d array and an array of weights.
442
+ * @param points output xyz, weighted by default formatter
443
+ * @param weights output weights
444
+ * @param formatter optional xyz formatter. By default, returns a Point3d of form [wx,wy,wz].
445
+ */
395
446
  copyPointsAndWeights(points: Point3d[], weights: number[], formatter?: (x: number, y: number, z: number) => any): void;
396
- /** unpack from xyzw xyzw ... to packed xyz, optionally unweighted
447
+ /**
448
+ * Copy the control points to a packed 3D array.
449
+ * @param unweight if true, output array has form x,y,z; if false, output array has form wx,wy,wz.
397
450
  */
398
451
  copyXYZToFloat64Array(unweight: boolean): Float64Array;
399
- /** unpack from xyzw xyzw ... to packed xyz, optionally unweighted
452
+ /** unpack from xyzw xyzw ... to packed weights
400
453
  */
401
454
  copyWeightsToFloat64Array(): Float64Array;
402
455
  /**
@@ -404,36 +457,43 @@ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSur
404
457
  * in classic over-clamped manner
405
458
  */
406
459
  copyKnots(select: UVSelect, includeExtraEndKnot: boolean): number[];
407
- /** Create a weighted bspline surface, with control points and weights each organized as flattened array of points continuing from one U row to the next.
408
- * * This `create` variant takes control points in a "flattened" array, with
409
- * points from succeeding U rows packed together in one array. Use `createGrid` if the points are in
410
- * a deeper grid array structure.
460
+ /**
461
+ * Create a weighted bspline surface, with control points and weights each organized as flattened arrays continuing from one U row to the next.
462
+ * * Use `createGrid` if the control points are in a deeper grid array structure.
411
463
  * * knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
412
- * * When knots are given, two knot count conditions are recognized:
413
- * * * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
464
+ * * When knots are given, two knot count conditions are recognized:
465
+ * * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
414
466
  * extraneous knots of classic clamping.
415
- * * * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
467
+ * * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
416
468
  * the classic unused first and last knot.
417
- * @param controlPointArray Array of points, ordered along the U direction.
418
- * @param weightArray array of weights, ordered along the U direction.
419
- * @param numPoleU number of poles in each row in the U direction.
469
+ * @param controlPointArray Array of [wx,wy,wz] points, ordered along the U direction.
470
+ * @param weightArray array of weights, ordered along the U direction. If undefined, unit weights are installed.
471
+ * @param numPolesU number of poles in each row in the U direction.
420
472
  * @param orderU order for the U direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
421
- * @param KnotArrayU optional knots for the V direction. See note above about knot counts.
422
- * @param numPoleV number of poles in each row in the U direction.
473
+ * @param knotArrayU optional knots for the V direction. See note above about knot counts.
474
+ * @param numPolesV number of poles in each column in the V direction (the number of rows).
423
475
  * @param orderV order for the V direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
424
- * @param KnotArrayV optional knots for the V direction. See note above about knot counts.
476
+ * @param knotArrayV optional knots for the V direction. See note above about knot counts.
425
477
  */
426
- static create(controlPointArray: Point3d[] | Float64Array, weightArray: number[] | Float64Array, numPolesU: number, orderU: number, knotArrayU: number[] | Float64Array | undefined, numPolesV: number, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3dH | undefined;
427
- /** Create a bspline with given knots.
428
- *
429
- * Two count conditions are recognized in each direction:
430
- *
431
- * ** If poleArray.length + order == knotArray.length, the first and last are assumed to be the
478
+ static create(controlPointArray: Point3d[] | Float64Array, weightArray: number[] | Float64Array | undefined, numPolesU: number, orderU: number, knotArrayU: number[] | Float64Array | undefined, numPolesV: number, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3dH | undefined;
479
+ /**
480
+ * Create a bspline surface with given knots.
481
+ * * This `create` variant takes control points in a "grid" array, with the points from
482
+ * each grid row `[rowIndex]` being an independent array `points[rowIndex][indexAlongRow][x,y,z,w]`
483
+ * * knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
484
+ * * When knots are given, two count conditions are recognized in each direction:
485
+ * * If poleArray.length + order == knotArray.length, the first and last are assumed to be the
432
486
  * extraneous knots of classic clamping.
433
- * ** If poleArray.length + order == knotArray.length + 2, the knots are in modern form.
434
- *
487
+ * * If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have
488
+ * the classic unused first and last knot.
489
+ * @param xyzwGrid Array of points, ordered along the U direction.
490
+ * @param weightStyle how the points are weighted
491
+ * @param orderU order for the U direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
492
+ * @param knotArrayU knots for the V direction. See note above about knot counts.
493
+ * @param orderV order for the V direction polynomial (`order` is one more than the `degree`. "cubic" polynomial is order 4.)
494
+ * @param knotArrayV knots for the V direction. See note above about knot counts.
435
495
  */
436
- static createGrid(xyzwGrid: number[][][], weightStyle: WeightStyle, orderU: number, knotArrayU: number[], orderV: number, knotArrayV: number[]): BSplineSurface3dH | undefined;
496
+ static createGrid(xyzwGrid: number[][][], weightStyle: WeightStyle, orderU: number, knotArrayU: number[] | Float64Array | undefined, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3dH | undefined;
437
497
  /** Return a deep clone */
438
498
  clone(): BSplineSurface3dH;
439
499
  /** Return a transformed clone */
@@ -444,15 +504,15 @@ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSur
444
504
  * * Within the array for each row, each point is an array [wx,wy,wz,w].
445
505
  */
446
506
  getPointGridJSON(): PackedPointGrid;
447
- /** Evaluate at a position given by a knot value. */
448
- knotToPoint4d(u: number, v: number): Point4d;
507
+ /** Evaluate at a position given by a knot value. If deweight fails, returns 000. */
508
+ knotToPoint4d(u: number, v: number, result?: Point4d): Point4d;
449
509
  /** Evaluate at a position given by a knot value. */
450
510
  knotToPointAndDerivatives(u: number, v: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
451
- /** Evaluate the Point4d (leaving weights in the point) at given fractional coordinates. */
452
- fractionToPoint4d(fractionU: number, fractionV: number): Point4d;
511
+ /** Evaluate the Point4d (leaving weights in the point) at given fractional coordinates. If deweight fails, returns 000. */
512
+ fractionToPoint4d(fractionU: number, fractionV: number, result?: Point4d): Point4d;
453
513
  /**
454
- * * evaluate the surface and return the cartesian (weight = 1) point.
455
- * * if the surface XYZW point has weight0, returns point3d at 000.
514
+ * Evaluate the surface and return the Cartesian point (weight = 1).
515
+ * * If the surface XYZW point has weight 0, returns 000.
456
516
  * @param fractionU u direction fraction
457
517
  * @param fractionV v direction fraction
458
518
  * @param result optional result
@@ -475,6 +535,10 @@ export declare class BSplineSurface3dH extends BSpline2dNd implements BSplineSur
475
535
  * @returns Returns point and derivative directions.
476
536
  */
477
537
  fractionToPointAndDerivatives(fractionU: number, fractionV: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
538
+ /** Implementation of the UVSurface interface; allows `PolyfaceBuilder.addUVGridBody` to facet this B-spline surface. */
539
+ uvFractionToPoint(u: number, v: number): Point3d;
540
+ /** Implementation of the UVSurface interface; allows `PolyfaceBuilder.addUVGridBody` to facet this B-spline surface. */
541
+ uvFractionToPointAndTangents(u: number, v: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors;
478
542
  /** test for identical counts and near-equal coordinates */
479
543
  isAlmostEqual(other: any): boolean;
480
544
  /** Test if all poles are in a plane */
@@ -1 +1 @@
1
- {"version":3,"file":"BSplineSurface.d.ts","sourceRoot":"","sources":["../../../src/bspline/BSplineSurface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BSplineSurface.d.ts","sourceRoot":"","sources":["../../../src/bspline/BSplineSurface.ts"],"names":[],"mappings":"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"}