@itwin/core-geometry 5.0.0-dev.99 → 5.0.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 (444) hide show
  1. package/CHANGELOG.md +58 -1
  2. package/lib/cjs/Geometry.d.ts +15 -4
  3. package/lib/cjs/Geometry.d.ts.map +1 -1
  4. package/lib/cjs/Geometry.js +17 -3
  5. package/lib/cjs/Geometry.js.map +1 -1
  6. package/lib/cjs/bspline/BSpline1dNd.d.ts +1 -1
  7. package/lib/cjs/bspline/BSpline1dNd.js +1 -1
  8. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  9. package/lib/cjs/bspline/BSplineSurface.d.ts +4 -3
  10. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  11. package/lib/cjs/bspline/BSplineSurface.js +6 -5
  12. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  13. package/lib/cjs/clipping/ClipPlane.d.ts +7 -5
  14. package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -1
  15. package/lib/cjs/clipping/ClipPlane.js +9 -5
  16. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  17. package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -1
  18. package/lib/cjs/clipping/ClipUtils.js +5 -3
  19. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  20. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  21. package/lib/cjs/clipping/ConvexClipPlaneSet.js +12 -23
  22. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  23. package/lib/cjs/core-geometry.d.ts +1 -0
  24. package/lib/cjs/core-geometry.d.ts.map +1 -1
  25. package/lib/cjs/core-geometry.js +1 -0
  26. package/lib/cjs/core-geometry.js.map +1 -1
  27. package/lib/cjs/curve/Arc3d.d.ts +56 -32
  28. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  29. package/lib/cjs/curve/Arc3d.js +91 -36
  30. package/lib/cjs/curve/Arc3d.js.map +1 -1
  31. package/lib/cjs/curve/CurveCollection.d.ts +2 -0
  32. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  33. package/lib/cjs/curve/CurveCollection.js +14 -0
  34. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  35. package/lib/cjs/curve/CurveExtendMode.d.ts +13 -5
  36. package/lib/cjs/curve/CurveExtendMode.d.ts.map +1 -1
  37. package/lib/cjs/curve/CurveExtendMode.js +19 -15
  38. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  39. package/lib/cjs/curve/CurveLocationDetail.d.ts +1 -1
  40. package/lib/cjs/curve/CurveLocationDetail.js +1 -1
  41. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  42. package/lib/cjs/curve/CurvePrimitive.d.ts +67 -8
  43. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  44. package/lib/cjs/curve/CurvePrimitive.js +59 -6
  45. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  46. package/lib/cjs/curve/CurveTypes.d.ts +1 -1
  47. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  48. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  49. package/lib/cjs/curve/LineSegment3d.js +1 -0
  50. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  51. package/lib/cjs/curve/LineString3d.d.ts +8 -7
  52. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  53. package/lib/cjs/curve/LineString3d.js +25 -22
  54. package/lib/cjs/curve/LineString3d.js.map +1 -1
  55. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -1
  56. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js +10 -5
  57. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  58. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  59. package/lib/cjs/curve/Query/PlanarSubdivision.js +7 -2
  60. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  61. package/lib/cjs/curve/RegionMomentsXY.d.ts +15 -21
  62. package/lib/cjs/curve/RegionMomentsXY.d.ts.map +1 -1
  63. package/lib/cjs/curve/RegionMomentsXY.js +38 -58
  64. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  65. package/lib/cjs/curve/RegionOps.d.ts +70 -38
  66. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  67. package/lib/cjs/curve/RegionOps.js +115 -45
  68. package/lib/cjs/curve/RegionOps.js.map +1 -1
  69. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts +12 -13
  70. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  71. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +23 -23
  72. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  73. package/lib/cjs/curve/StrokeOptions.d.ts +1 -1
  74. package/lib/cjs/curve/StrokeOptions.js +1 -1
  75. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  76. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts +71 -0
  77. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts.map +1 -0
  78. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js +181 -0
  79. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -0
  80. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts +21 -5
  81. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
  82. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js +42 -17
  83. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  84. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  85. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +36 -12
  86. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  87. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts +5 -3
  88. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts.map +1 -1
  89. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js +5 -3
  90. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  91. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.d.ts +14 -0
  92. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.d.ts.map +1 -0
  93. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.js +34 -0
  94. package/lib/cjs/curve/internalContexts/TransferWithSplitArcs.js.map +1 -0
  95. package/lib/cjs/geometry3d/AngleSweep.d.ts +25 -18
  96. package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
  97. package/lib/cjs/geometry3d/AngleSweep.js +39 -25
  98. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  99. package/lib/cjs/geometry3d/GeometryHandler.d.ts +15 -16
  100. package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -1
  101. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  102. package/lib/cjs/geometry3d/GrowableXYArray.d.ts +1 -1
  103. package/lib/cjs/geometry3d/GrowableXYArray.js +1 -1
  104. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  105. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +7 -2
  106. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  107. package/lib/cjs/geometry3d/GrowableXYZArray.js +20 -2
  108. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  109. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +2 -1
  110. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  111. package/lib/cjs/geometry3d/IndexedXYZCollection.js +7 -3
  112. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  113. package/lib/cjs/geometry3d/Matrix3d.d.ts +10 -11
  114. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  115. package/lib/cjs/geometry3d/Matrix3d.js +11 -12
  116. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  117. package/lib/cjs/geometry3d/Plane3d.d.ts +2 -0
  118. package/lib/cjs/geometry3d/Plane3d.d.ts.map +1 -1
  119. package/lib/cjs/geometry3d/Plane3d.js +6 -1
  120. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  121. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +2 -0
  122. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  123. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +6 -1
  124. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  125. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +8 -2
  126. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  127. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +18 -10
  128. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  129. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +4 -4
  130. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  131. package/lib/cjs/geometry3d/Point3dVector3d.js +6 -6
  132. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  133. package/lib/cjs/geometry3d/PointHelpers.d.ts +7 -7
  134. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  135. package/lib/cjs/geometry3d/PointHelpers.js +66 -26
  136. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  137. package/lib/cjs/geometry3d/PolygonOps.d.ts +57 -9
  138. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  139. package/lib/cjs/geometry3d/PolygonOps.js +57 -17
  140. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  141. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts +13 -6
  142. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -1
  143. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js +16 -9
  144. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  145. package/lib/cjs/geometry3d/PolylineOps.d.ts +5 -4
  146. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  147. package/lib/cjs/geometry3d/PolylineOps.js +5 -4
  148. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  149. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  150. package/lib/cjs/geometry3d/Ray3d.js +11 -23
  151. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  152. package/lib/cjs/geometry3d/Transform.d.ts +21 -2
  153. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  154. package/lib/cjs/geometry3d/Transform.js +32 -13
  155. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  156. package/lib/cjs/geometry4d/Matrix4d.d.ts +7 -7
  157. package/lib/cjs/geometry4d/Matrix4d.d.ts.map +1 -1
  158. package/lib/cjs/geometry4d/Matrix4d.js +9 -9
  159. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  160. package/lib/cjs/geometry4d/MomentData.d.ts +32 -34
  161. package/lib/cjs/geometry4d/MomentData.d.ts.map +1 -1
  162. package/lib/cjs/geometry4d/MomentData.js +56 -57
  163. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  164. package/lib/cjs/geometry4d/Point4d.d.ts +8 -5
  165. package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
  166. package/lib/cjs/geometry4d/Point4d.js +27 -16
  167. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  168. package/lib/cjs/polyface/FacetOrientation.d.ts +1 -1
  169. package/lib/cjs/polyface/FacetOrientation.js +2 -2
  170. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  171. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts +55 -40
  172. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  173. package/lib/cjs/polyface/IndexedEdgeMatcher.js +83 -75
  174. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  175. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts +15 -14
  176. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  177. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js +47 -38
  178. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  179. package/lib/cjs/polyface/IndexedPolyfaceWalker.d.ts +26 -19
  180. package/lib/cjs/polyface/IndexedPolyfaceWalker.d.ts.map +1 -1
  181. package/lib/cjs/polyface/IndexedPolyfaceWalker.js +47 -32
  182. package/lib/cjs/polyface/IndexedPolyfaceWalker.js.map +1 -1
  183. package/lib/cjs/polyface/Polyface.d.ts +19 -5
  184. package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
  185. package/lib/cjs/polyface/Polyface.js +18 -2
  186. package/lib/cjs/polyface/Polyface.js.map +1 -1
  187. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +1 -1
  188. package/lib/cjs/polyface/PolyfaceBuilder.js +3 -3
  189. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  190. package/lib/cjs/polyface/PolyfaceClip.d.ts +19 -18
  191. package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
  192. package/lib/cjs/polyface/PolyfaceClip.js +39 -42
  193. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  194. package/lib/cjs/polyface/PolyfaceData.d.ts +1 -1
  195. package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -1
  196. package/lib/cjs/polyface/PolyfaceData.js +3 -1
  197. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  198. package/lib/cjs/polyface/PolyfaceQuery.d.ts +119 -78
  199. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  200. package/lib/cjs/polyface/PolyfaceQuery.js +315 -231
  201. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  202. package/lib/cjs/polyface/RangeTree/RangeTreeNode.d.ts +3 -3
  203. package/lib/cjs/polyface/RangeTree/RangeTreeNode.d.ts.map +1 -1
  204. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js +3 -3
  205. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  206. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts +7 -6
  207. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  208. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +8 -9
  209. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  210. package/lib/cjs/serialization/GeometrySamples.d.ts +1 -1
  211. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  212. package/lib/cjs/serialization/GeometrySamples.js +1 -1
  213. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  214. package/lib/cjs/serialization/IModelJsonSchema.d.ts +3 -3
  215. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  216. package/lib/cjs/topology/ChainMerge.d.ts +1 -1
  217. package/lib/cjs/topology/ChainMerge.js +1 -1
  218. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  219. package/lib/cjs/topology/Triangulation.d.ts +3 -3
  220. package/lib/cjs/topology/Triangulation.d.ts.map +1 -1
  221. package/lib/cjs/topology/Triangulation.js +7 -7
  222. package/lib/cjs/topology/Triangulation.js.map +1 -1
  223. package/lib/esm/Geometry.d.ts +15 -4
  224. package/lib/esm/Geometry.d.ts.map +1 -1
  225. package/lib/esm/Geometry.js +17 -3
  226. package/lib/esm/Geometry.js.map +1 -1
  227. package/lib/esm/bspline/BSpline1dNd.d.ts +1 -1
  228. package/lib/esm/bspline/BSpline1dNd.js +1 -1
  229. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  230. package/lib/esm/bspline/BSplineSurface.d.ts +4 -3
  231. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  232. package/lib/esm/bspline/BSplineSurface.js +6 -5
  233. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  234. package/lib/esm/clipping/ClipPlane.d.ts +7 -5
  235. package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
  236. package/lib/esm/clipping/ClipPlane.js +9 -5
  237. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  238. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
  239. package/lib/esm/clipping/ClipUtils.js +5 -3
  240. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  241. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  242. package/lib/esm/clipping/ConvexClipPlaneSet.js +12 -23
  243. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  244. package/lib/esm/core-geometry.d.ts +1 -0
  245. package/lib/esm/core-geometry.d.ts.map +1 -1
  246. package/lib/esm/core-geometry.js +1 -0
  247. package/lib/esm/core-geometry.js.map +1 -1
  248. package/lib/esm/curve/Arc3d.d.ts +56 -32
  249. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  250. package/lib/esm/curve/Arc3d.js +91 -36
  251. package/lib/esm/curve/Arc3d.js.map +1 -1
  252. package/lib/esm/curve/CurveCollection.d.ts +2 -0
  253. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  254. package/lib/esm/curve/CurveCollection.js +14 -0
  255. package/lib/esm/curve/CurveCollection.js.map +1 -1
  256. package/lib/esm/curve/CurveExtendMode.d.ts +13 -5
  257. package/lib/esm/curve/CurveExtendMode.d.ts.map +1 -1
  258. package/lib/esm/curve/CurveExtendMode.js +19 -15
  259. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  260. package/lib/esm/curve/CurveLocationDetail.d.ts +1 -1
  261. package/lib/esm/curve/CurveLocationDetail.js +1 -1
  262. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  263. package/lib/esm/curve/CurvePrimitive.d.ts +67 -8
  264. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  265. package/lib/esm/curve/CurvePrimitive.js +59 -6
  266. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  267. package/lib/esm/curve/CurveTypes.d.ts +1 -1
  268. package/lib/esm/curve/CurveTypes.js.map +1 -1
  269. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  270. package/lib/esm/curve/LineSegment3d.js +1 -0
  271. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  272. package/lib/esm/curve/LineString3d.d.ts +8 -7
  273. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  274. package/lib/esm/curve/LineString3d.js +25 -22
  275. package/lib/esm/curve/LineString3d.js.map +1 -1
  276. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.d.ts.map +1 -1
  277. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js +10 -5
  278. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  279. package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  280. package/lib/esm/curve/Query/PlanarSubdivision.js +7 -2
  281. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  282. package/lib/esm/curve/RegionMomentsXY.d.ts +15 -21
  283. package/lib/esm/curve/RegionMomentsXY.d.ts.map +1 -1
  284. package/lib/esm/curve/RegionMomentsXY.js +38 -58
  285. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  286. package/lib/esm/curve/RegionOps.d.ts +70 -38
  287. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  288. package/lib/esm/curve/RegionOps.js +116 -46
  289. package/lib/esm/curve/RegionOps.js.map +1 -1
  290. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts +12 -13
  291. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  292. package/lib/esm/curve/RegionOpsClassificationSweeps.js +23 -23
  293. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  294. package/lib/esm/curve/StrokeOptions.d.ts +1 -1
  295. package/lib/esm/curve/StrokeOptions.js +1 -1
  296. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  297. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts +71 -0
  298. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts.map +1 -0
  299. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js +177 -0
  300. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -0
  301. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts +21 -5
  302. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
  303. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js +42 -17
  304. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  305. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  306. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +36 -12
  307. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  308. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts +5 -3
  309. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.d.ts.map +1 -1
  310. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js +5 -3
  311. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  312. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.d.ts +14 -0
  313. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.d.ts.map +1 -0
  314. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.js +30 -0
  315. package/lib/esm/curve/internalContexts/TransferWithSplitArcs.js.map +1 -0
  316. package/lib/esm/geometry3d/AngleSweep.d.ts +25 -18
  317. package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
  318. package/lib/esm/geometry3d/AngleSweep.js +39 -25
  319. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  320. package/lib/esm/geometry3d/GeometryHandler.d.ts +15 -16
  321. package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -1
  322. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  323. package/lib/esm/geometry3d/GrowableXYArray.d.ts +1 -1
  324. package/lib/esm/geometry3d/GrowableXYArray.js +1 -1
  325. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  326. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +7 -2
  327. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  328. package/lib/esm/geometry3d/GrowableXYZArray.js +20 -2
  329. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  330. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +2 -1
  331. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  332. package/lib/esm/geometry3d/IndexedXYZCollection.js +7 -3
  333. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  334. package/lib/esm/geometry3d/Matrix3d.d.ts +10 -11
  335. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  336. package/lib/esm/geometry3d/Matrix3d.js +11 -12
  337. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  338. package/lib/esm/geometry3d/Plane3d.d.ts +2 -0
  339. package/lib/esm/geometry3d/Plane3d.d.ts.map +1 -1
  340. package/lib/esm/geometry3d/Plane3d.js +6 -1
  341. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  342. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +2 -0
  343. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  344. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +6 -1
  345. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  346. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +8 -2
  347. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  348. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +18 -10
  349. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  350. package/lib/esm/geometry3d/Point3dVector3d.d.ts +4 -4
  351. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  352. package/lib/esm/geometry3d/Point3dVector3d.js +6 -6
  353. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  354. package/lib/esm/geometry3d/PointHelpers.d.ts +7 -7
  355. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  356. package/lib/esm/geometry3d/PointHelpers.js +66 -26
  357. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  358. package/lib/esm/geometry3d/PolygonOps.d.ts +57 -9
  359. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  360. package/lib/esm/geometry3d/PolygonOps.js +57 -17
  361. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  362. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts +13 -6
  363. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.d.ts.map +1 -1
  364. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +16 -9
  365. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  366. package/lib/esm/geometry3d/PolylineOps.d.ts +5 -4
  367. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  368. package/lib/esm/geometry3d/PolylineOps.js +5 -4
  369. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  370. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  371. package/lib/esm/geometry3d/Ray3d.js +11 -23
  372. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  373. package/lib/esm/geometry3d/Transform.d.ts +21 -2
  374. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  375. package/lib/esm/geometry3d/Transform.js +32 -13
  376. package/lib/esm/geometry3d/Transform.js.map +1 -1
  377. package/lib/esm/geometry4d/Matrix4d.d.ts +7 -7
  378. package/lib/esm/geometry4d/Matrix4d.d.ts.map +1 -1
  379. package/lib/esm/geometry4d/Matrix4d.js +9 -9
  380. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  381. package/lib/esm/geometry4d/MomentData.d.ts +32 -34
  382. package/lib/esm/geometry4d/MomentData.d.ts.map +1 -1
  383. package/lib/esm/geometry4d/MomentData.js +56 -57
  384. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  385. package/lib/esm/geometry4d/Point4d.d.ts +8 -5
  386. package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
  387. package/lib/esm/geometry4d/Point4d.js +27 -16
  388. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  389. package/lib/esm/polyface/FacetOrientation.d.ts +1 -1
  390. package/lib/esm/polyface/FacetOrientation.js +2 -2
  391. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  392. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts +55 -40
  393. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  394. package/lib/esm/polyface/IndexedEdgeMatcher.js +83 -75
  395. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  396. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +15 -14
  397. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  398. package/lib/esm/polyface/IndexedPolyfaceVisitor.js +47 -38
  399. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  400. package/lib/esm/polyface/IndexedPolyfaceWalker.d.ts +26 -19
  401. package/lib/esm/polyface/IndexedPolyfaceWalker.d.ts.map +1 -1
  402. package/lib/esm/polyface/IndexedPolyfaceWalker.js +47 -32
  403. package/lib/esm/polyface/IndexedPolyfaceWalker.js.map +1 -1
  404. package/lib/esm/polyface/Polyface.d.ts +19 -5
  405. package/lib/esm/polyface/Polyface.d.ts.map +1 -1
  406. package/lib/esm/polyface/Polyface.js +18 -2
  407. package/lib/esm/polyface/Polyface.js.map +1 -1
  408. package/lib/esm/polyface/PolyfaceBuilder.d.ts +1 -1
  409. package/lib/esm/polyface/PolyfaceBuilder.js +3 -3
  410. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  411. package/lib/esm/polyface/PolyfaceClip.d.ts +19 -18
  412. package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
  413. package/lib/esm/polyface/PolyfaceClip.js +39 -42
  414. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  415. package/lib/esm/polyface/PolyfaceData.d.ts +1 -1
  416. package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -1
  417. package/lib/esm/polyface/PolyfaceData.js +3 -1
  418. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  419. package/lib/esm/polyface/PolyfaceQuery.d.ts +119 -78
  420. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  421. package/lib/esm/polyface/PolyfaceQuery.js +316 -232
  422. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  423. package/lib/esm/polyface/RangeTree/RangeTreeNode.d.ts +3 -3
  424. package/lib/esm/polyface/RangeTree/RangeTreeNode.d.ts.map +1 -1
  425. package/lib/esm/polyface/RangeTree/RangeTreeNode.js +3 -3
  426. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  427. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +7 -6
  428. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  429. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +8 -9
  430. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  431. package/lib/esm/serialization/GeometrySamples.d.ts +1 -1
  432. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  433. package/lib/esm/serialization/GeometrySamples.js +1 -1
  434. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  435. package/lib/esm/serialization/IModelJsonSchema.d.ts +3 -3
  436. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  437. package/lib/esm/topology/ChainMerge.d.ts +1 -1
  438. package/lib/esm/topology/ChainMerge.js +1 -1
  439. package/lib/esm/topology/ChainMerge.js.map +1 -1
  440. package/lib/esm/topology/Triangulation.d.ts +3 -3
  441. package/lib/esm/topology/Triangulation.d.ts.map +1 -1
  442. package/lib/esm/topology/Triangulation.js +7 -7
  443. package/lib/esm/topology/Triangulation.js.map +1 -1
  444. package/package.json +3 -3
@@ -127,7 +127,7 @@ export declare class BSpline1dNd {
127
127
  * Test if the leading and trailing polygon coordinates are replicated in the manner of a "closed" bspline polygon
128
128
  * which has been expanded to act as a normal bspline.
129
129
  * @returns true if `degree` leading and trailing polygon blocks match.
130
- * @deprecated in 4.x. Use `testClosablePolygon` instead.
130
+ * @deprecated in 4.x - will not be removed until after 2026-06-13. Use `testClosablePolygon` instead.
131
131
  */
132
132
  testCloseablePolygon(mode?: BSplineWrapMode): boolean;
133
133
  /**
@@ -220,7 +220,7 @@ class BSpline1dNd {
220
220
  * Test if the leading and trailing polygon coordinates are replicated in the manner of a "closed" bspline polygon
221
221
  * which has been expanded to act as a normal bspline.
222
222
  * @returns true if `degree` leading and trailing polygon blocks match.
223
- * @deprecated in 4.x. Use `testClosablePolygon` instead.
223
+ * @deprecated in 4.x - will not be removed until after 2026-06-13. Use `testClosablePolygon` instead.
224
224
  */
225
225
  testCloseablePolygon(mode) {
226
226
  return this.testClosablePolygon(mode);
@@ -1 +1 @@
1
- {"version":3,"file":"BSpline1dNd.js","sourceRoot":"","sources":["../../../src/bspline/BSpline1dNd.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Bspline\n */\n\nimport { Geometry } from \"../Geometry\";\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\nimport { BSplineWrapMode, KnotVector } from \"./KnotVector\";\n\n/**\n * Knots and poles for a B-spline function mapping R to R^n.\n * * The \"pole\" (aka control point) of this class is a block of `poleLength` numbers.\n * * Derived classes (not this class) assign meaning such as x,y,z,w.\n * * For instance, an instance of this class with `poleLength===3` does not know if its poles are x,y,z or\n * weighted 2D x,y,w.\n * @public\n */\nexport class BSpline1dNd {\n /** Knots of the bspline. */\n public knots: KnotVector;\n /** Poles packed in blocks of `poleLength` doubles. */\n public packedData: Float64Array;\n /** The number of numeric values per pole. */\n public poleLength: number;\n /** (property accessor) Return the degree of the polynomials. */\n public get degree(): number {\n return this.knots.degree;\n }\n /** (property accessor) Return the order (one more than degree) of the polynomials. */\n public get order(): number {\n return this.knots.degree + 1;\n }\n /** (property accessor) Return the number of bezier spans (including null spans at multiple knots). */\n public get numSpan(): number {\n return this.numPoles - this.knots.degree;\n }\n /** (property accessor) Return the number of poles. */\n public get numPoles(): number {\n return this.packedData.length / this.poleLength;\n }\n /**\n * Copy 3 values of pole `i` into a point.\n * * The calling class is responsible for knowing if this is an appropriate access to the blocked data.\n */\n public getPoint3dPole(i: number, result?: Point3d): Point3d | undefined {\n return Point3d.createFromPacked(this.packedData, i, result);\n }\n /**\n * Values of the `order` relevant B-spline basis functions at a parameter.\n * * Preallocated to length `order` in the constructor and used as a temporary in evaluations.\n */\n public basisBuffer: Float64Array;\n /**\n * Derivatives of the `order` relevant B-spline basis functions at a parameter.\n * * Preallocated to length `order` in the constructor and used as a temporary in evaluations.\n */\n public basisBuffer1: Float64Array;\n /**\n * Second derivatives of the `order` relevant B-spline basis functions at a parameter.\n * * Preallocated to length `order` in the constructor and used as a temporary in evaluations.\n */\n public basisBuffer2: Float64Array;\n /**\n * Temporary to hold a single point.\n * * Preallocated to length `poleLength` in the constructor.\n */\n public poleBuffer: Float64Array;\n /**\n * Temporary to hold a single derivative vector.\n * * Preallocated to length `poleLength` in the constructor.\n */\n public poleBuffer1: Float64Array;\n /**\n * Temporary to hold a single second derivative vector.\n * * Preallocated to length `poleLength` in the constructor.\n */\n public poleBuffer2: Float64Array;\n /**\n * Initialize arrays for given spline dimensions.\n * @param numPoles number of poles.\n * @param poleLength number of coordinates per pole (e.g.. 3 for 3D unweighted, 4 for 3d weighted, 2 for 2d unweighted,\n * 3 for 2d weighted).\n * @param order number of poles defining a Bezier segment of the B-spline function.\n * @param knots the KnotVector. This is captured, not cloned.\n */\n protected constructor(numPoles: number, poleLength: number, order: number, knots: KnotVector) {\n this.knots = knots;\n this.packedData = new Float64Array(numPoles * poleLength);\n this.poleLength = poleLength;\n this.basisBuffer = new Float64Array(order);\n this.basisBuffer1 = new Float64Array(order);\n this.basisBuffer2 = new Float64Array(order);\n this.poleBuffer = new Float64Array(poleLength);\n this.poleBuffer1 = new Float64Array(poleLength);\n this.poleBuffer2 = new Float64Array(poleLength);\n }\n /**\n * Create a `BSpline1dNd`.\n * @param numPoles number of poles.\n * @param poleLength number of coordinates per pole (e.g.. 3 for 3D unweighted, 4 for 3d weighted, 2 for 2d unweighted,\n * 3 for 2d weighted).\n * @param order number of poles defining a Bezier segment of the B-spline function.\n * @param knots the KnotVector. This is captured, not cloned.\n */\n public static create(numPoles: number, poleLength: number, order: number, knots: KnotVector): BSpline1dNd {\n return new BSpline1dNd(numPoles, poleLength, order, knots);\n }\n /** Map a span index and span fraction to knot value. */\n public spanFractionToKnot(spanIndex: number, spanFraction: number): number {\n return this.knots.spanFractionToKnot(spanIndex, spanFraction);\n }\n /**\n * Evaluate the `order` basis functions (and optionally one or two derivatives) at a given fractional position within\n * indexed span.\n * @returns true if and only if output arrays are sufficiently sized.\n */\n public evaluateBasisFunctionsInSpan(\n spanIndex: number, spanFraction: number, f: Float64Array, df?: Float64Array, ddf?: Float64Array,\n ): boolean {\n if (spanIndex < 0)\n spanIndex = 0;\n if (spanIndex >= this.numSpan)\n spanIndex = this.numSpan - 1;\n const knotIndex0 = spanIndex + this.degree - 1;\n const globalKnot = this.knots.baseKnotFractionToKnot(knotIndex0, spanFraction);\n return df ?\n this.knots.evaluateBasisFunctions1(knotIndex0, globalKnot, f, df, ddf) :\n this.knots.evaluateBasisFunctions(knotIndex0, globalKnot, f);\n }\n /**\n * Compute the linear combination of the given span's poles and the weights in `basisBuffer`, and store this point\n * in `poleBuffer`.\n */\n public sumPoleBufferForSpan(spanIndex: number) {\n this.poleBuffer.fill(0);\n let k = spanIndex * this.poleLength;\n for (const f of this.basisBuffer)\n for (let j = 0; j < this.poleLength; j++)\n this.poleBuffer[j] += f * this.packedData[k++];\n }\n /**\n * Compute the linear combination of the given span's poles and the weights in `basisBuffer1`, and store this\n * derivative vector in `poleBuffer1`.\n */\n public sumPoleBuffer1ForSpan(spanIndex: number) {\n this.poleBuffer1.fill(0);\n let k = spanIndex * this.poleLength;\n for (const f of this.basisBuffer1)\n for (let j = 0; j < this.poleLength; j++)\n this.poleBuffer1[j] += f * this.packedData[k++];\n }\n /**\n * Compute the linear combination of the given span's poles and the weights in `basisBuffer2`, and store this\n * second derivative vector in `poleBuffer2`.\n */\n public sumPoleBuffer2ForSpan(spanIndex: number) {\n this.poleBuffer2.fill(0);\n let k = spanIndex * this.poleLength;\n for (const f of this.basisBuffer2) {\n for (let j = 0; j < this.poleLength; j++)\n this.poleBuffer2[j] += f * this.packedData[k++];\n }\n }\n /**\n * * Evaluate the basis functions at spanIndex and fraction.\n * * Evaluations are stored in the preallocated `this.basisBuffer`.\n * * Immediately do the summations of the basis values times the respective poles.\n * * Summations are stored in the preallocated `this.poleBuffer`\n * */\n public evaluateBuffersInSpan(spanIndex: number, spanFraction: number) {\n this.evaluateBasisFunctionsInSpan(spanIndex, spanFraction, this.basisBuffer);\n this.sumPoleBufferForSpan(spanIndex);\n }\n /**\n * * Evaluate the basis functions and one derivative at spanIndex and fraction.\n * * Function evaluations are stored in the preallocated `this.basisBuffer`; derivative evaluations in `this.basisBuffer1`.\n * * Immediately do the summations of the basis values times the respective poles.\n * * Summations are stored in the preallocated `this.poleBuffer` and `this.poleBuffer1`\n * */\n public evaluateBuffersInSpan1(spanIndex: number, spanFraction: number) {\n this.evaluateBasisFunctionsInSpan(spanIndex, spanFraction, this.basisBuffer, this.basisBuffer1);\n this.sumPoleBufferForSpan(spanIndex);\n this.sumPoleBuffer1ForSpan(spanIndex);\n }\n /**\n * Evaluate the B-spline function and optional derivatives at the given parameter in knot space.\n * * Function value is stored in `poleBuffer`; optional derivative vectors in `poleBuffer1` and `poleBuffer2`.\n */\n public evaluateBuffersAtKnot(u: number, numDerivative: number = 0) {\n const knotIndex0 = this.knots.knotToLeftKnotIndex(u);\n if (numDerivative < 1) {\n this.knots.evaluateBasisFunctions(knotIndex0, u, this.basisBuffer);\n this.sumPoleBufferForSpan(knotIndex0 - this.degree + 1);\n } else if (numDerivative === 1) {\n this.knots.evaluateBasisFunctions1(knotIndex0, u, this.basisBuffer, this.basisBuffer1);\n this.sumPoleBufferForSpan(knotIndex0 - this.degree + 1);\n this.sumPoleBuffer1ForSpan(knotIndex0 - this.degree + 1);\n } else {\n this.knots.evaluateBasisFunctions1(knotIndex0, u, this.basisBuffer, this.basisBuffer1, this.basisBuffer2);\n this.sumPoleBufferForSpan(knotIndex0 - this.degree + 1);\n this.sumPoleBuffer1ForSpan(knotIndex0 - this.degree + 1);\n this.sumPoleBuffer2ForSpan(knotIndex0 - this.degree + 1);\n }\n }\n /** Reverse the instance poles and knots in place. */\n public reverseInPlace(): void {\n const pLen = this.poleLength;\n const data = this.packedData;\n for (let i0 = 0, j0 = pLen * (this.numPoles - 1); i0 < j0; i0 += pLen, j0 -= pLen) {\n for (let i = 0; i < pLen; i++)\n [data[i0 + i], data[j0 + i]] = [data[j0 + i], data[i0 + i]];\n }\n this.knots.reflectKnots();\n }\n /**\n * Test if the leading and trailing polygon coordinates are replicated in the manner of a \"closed\" bspline polygon\n * which has been expanded to act as a normal bspline.\n * @returns true if `degree` leading and trailing polygon blocks match.\n * @deprecated in 4.x. Use `testClosablePolygon` instead.\n */\n public testCloseablePolygon(mode?: BSplineWrapMode): boolean {\n return this.testClosablePolygon(mode);\n }\n /**\n * Test if the leading and trailing poles are replicated in the manner of a \"closed\" B-spline function with wraparound\n * control polygon.\n * @param mode wrap mode, indicating the number of wraparound poles to check. If undefined, `knots.wrappable` is used.\n * @returns true if the expected leading and trailing poles match, according to `mode`.\n */\n public testClosablePolygon(mode?: BSplineWrapMode): boolean {\n if (mode === undefined)\n mode = this.knots.wrappable;\n let numPolesToTest = 0;\n if (mode === BSplineWrapMode.OpenByAddingControlPoints)\n numPolesToTest = this.degree;\n else if (mode === BSplineWrapMode.OpenByRemovingKnots)\n numPolesToTest = 1;\n else\n return false;\n // check for wraparound poles\n const blockSize = this.poleLength;\n const indexDelta = (this.numPoles - numPolesToTest) * blockSize;\n const numValuesToTest = numPolesToTest * blockSize;\n for (let i0 = 0; i0 < numValuesToTest; i0++) {\n if (!Geometry.isSameCoordinate(this.packedData[i0], this.packedData[i0 + indexDelta]))\n return false;\n }\n return true;\n }\n /**\n * Insert the knot and resulting pole into the instance, optionally multiple times.\n * @param knot the knot to be inserted (may already exist in the KnotVector).\n * @param totalMultiplicity the total multiplicity of the knot on return.\n */\n public addKnot(knot: number, totalMultiplicity: number): boolean {\n if (knot < this.knots.leftKnot || knot > this.knots.rightKnot)\n return false; // invalid input\n let iLeftKnot = this.knots.knotToLeftKnotIndex(knot);\n // snap input if too close to an existing knot\n if (Math.abs(knot - this.knots.knots[iLeftKnot]) < KnotVector.knotTolerance) {\n knot = this.knots.knots[iLeftKnot]; // snap to left knot of bracket\n } else if (Math.abs(knot - this.knots.knots[iLeftKnot + 1]) < KnotVector.knotTolerance) {\n iLeftKnot += this.knots.getKnotMultiplicityAtIndex(iLeftKnot + 1);\n if (iLeftKnot > this.knots.rightKnotIndex)\n return true; // nothing to do\n knot = this.knots.knots[iLeftKnot]; // snap to left knot of next bracket\n }\n const numKnotsToAdd = Math.min(totalMultiplicity, this.degree) - this.knots.getKnotMultiplicity(knot);\n if (numKnotsToAdd <= 0)\n return true; // nothing to do\n // working arrays and pole buffer\n let currKnotCount = this.knots.knots.length;\n const newKnots = new Float64Array(currKnotCount + numKnotsToAdd);\n for (let i = 0; i < currKnotCount; ++i)\n newKnots[i] = this.knots.knots[i];\n let currPoleCount = this.numPoles;\n const newPackedData = new Float64Array(this.packedData.length + (numKnotsToAdd * this.poleLength));\n for (let i = 0; i < this.packedData.length; ++i)\n newPackedData[i] = this.packedData[i];\n const dataBuf = new Float64Array(this.degree * this.poleLength); // holds degree poles\n // each iteration adds one knot and one pole to the working arrays (cf. Farin 4e)\n for (let iter = 0; iter < numKnotsToAdd; ++iter) {\n // fill the buffer with new poles obtained from control polygon corner cutting\n let iBuf = 0;\n const iStart = iLeftKnot - this.degree + 2;\n for (let i = iStart; i < iStart + this.degree; ++i) {\n const fraction = (knot - newKnots[i - 1]) / (newKnots[i + this.degree - 1] - newKnots[i - 1]);\n for (let j = i * this.poleLength; j < (i + 1) * this.poleLength; ++j) {\n dataBuf[iBuf++] = Geometry.interpolate(newPackedData[j - this.poleLength], fraction, newPackedData[j]);\n }\n }\n // overwrite degree-1 poles with degree new poles, shifting tail to the right by one\n newPackedData.copyWithin((iStart + this.degree) * this.poleLength, (iStart + this.degree - 1) * this.poleLength, currPoleCount * this.poleLength);\n let iData = iStart * this.poleLength;\n for (const d of dataBuf)\n newPackedData[iData++] = d; // overwrite degree new poles\n // add the knot to newKnots in position, shifting tail to the right by one\n newKnots.copyWithin(iLeftKnot + 2, iLeftKnot + 1, currKnotCount);\n newKnots[iLeftKnot + 1] = knot;\n ++iLeftKnot;\n ++currKnotCount;\n ++currPoleCount;\n }\n this.knots.setKnotsCapture(newKnots);\n this.packedData = newPackedData;\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"BSpline1dNd.js","sourceRoot":"","sources":["../../../src/bspline/BSpline1dNd.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Bspline\n */\n\nimport { Geometry } from \"../Geometry\";\nimport { Point3d } from \"../geometry3d/Point3dVector3d\";\nimport { BSplineWrapMode, KnotVector } from \"./KnotVector\";\n\n/**\n * Knots and poles for a B-spline function mapping R to R^n.\n * * The \"pole\" (aka control point) of this class is a block of `poleLength` numbers.\n * * Derived classes (not this class) assign meaning such as x,y,z,w.\n * * For instance, an instance of this class with `poleLength===3` does not know if its poles are x,y,z or\n * weighted 2D x,y,w.\n * @public\n */\nexport class BSpline1dNd {\n /** Knots of the bspline. */\n public knots: KnotVector;\n /** Poles packed in blocks of `poleLength` doubles. */\n public packedData: Float64Array;\n /** The number of numeric values per pole. */\n public poleLength: number;\n /** (property accessor) Return the degree of the polynomials. */\n public get degree(): number {\n return this.knots.degree;\n }\n /** (property accessor) Return the order (one more than degree) of the polynomials. */\n public get order(): number {\n return this.knots.degree + 1;\n }\n /** (property accessor) Return the number of bezier spans (including null spans at multiple knots). */\n public get numSpan(): number {\n return this.numPoles - this.knots.degree;\n }\n /** (property accessor) Return the number of poles. */\n public get numPoles(): number {\n return this.packedData.length / this.poleLength;\n }\n /**\n * Copy 3 values of pole `i` into a point.\n * * The calling class is responsible for knowing if this is an appropriate access to the blocked data.\n */\n public getPoint3dPole(i: number, result?: Point3d): Point3d | undefined {\n return Point3d.createFromPacked(this.packedData, i, result);\n }\n /**\n * Values of the `order` relevant B-spline basis functions at a parameter.\n * * Preallocated to length `order` in the constructor and used as a temporary in evaluations.\n */\n public basisBuffer: Float64Array;\n /**\n * Derivatives of the `order` relevant B-spline basis functions at a parameter.\n * * Preallocated to length `order` in the constructor and used as a temporary in evaluations.\n */\n public basisBuffer1: Float64Array;\n /**\n * Second derivatives of the `order` relevant B-spline basis functions at a parameter.\n * * Preallocated to length `order` in the constructor and used as a temporary in evaluations.\n */\n public basisBuffer2: Float64Array;\n /**\n * Temporary to hold a single point.\n * * Preallocated to length `poleLength` in the constructor.\n */\n public poleBuffer: Float64Array;\n /**\n * Temporary to hold a single derivative vector.\n * * Preallocated to length `poleLength` in the constructor.\n */\n public poleBuffer1: Float64Array;\n /**\n * Temporary to hold a single second derivative vector.\n * * Preallocated to length `poleLength` in the constructor.\n */\n public poleBuffer2: Float64Array;\n /**\n * Initialize arrays for given spline dimensions.\n * @param numPoles number of poles.\n * @param poleLength number of coordinates per pole (e.g.. 3 for 3D unweighted, 4 for 3d weighted, 2 for 2d unweighted,\n * 3 for 2d weighted).\n * @param order number of poles defining a Bezier segment of the B-spline function.\n * @param knots the KnotVector. This is captured, not cloned.\n */\n protected constructor(numPoles: number, poleLength: number, order: number, knots: KnotVector) {\n this.knots = knots;\n this.packedData = new Float64Array(numPoles * poleLength);\n this.poleLength = poleLength;\n this.basisBuffer = new Float64Array(order);\n this.basisBuffer1 = new Float64Array(order);\n this.basisBuffer2 = new Float64Array(order);\n this.poleBuffer = new Float64Array(poleLength);\n this.poleBuffer1 = new Float64Array(poleLength);\n this.poleBuffer2 = new Float64Array(poleLength);\n }\n /**\n * Create a `BSpline1dNd`.\n * @param numPoles number of poles.\n * @param poleLength number of coordinates per pole (e.g.. 3 for 3D unweighted, 4 for 3d weighted, 2 for 2d unweighted,\n * 3 for 2d weighted).\n * @param order number of poles defining a Bezier segment of the B-spline function.\n * @param knots the KnotVector. This is captured, not cloned.\n */\n public static create(numPoles: number, poleLength: number, order: number, knots: KnotVector): BSpline1dNd {\n return new BSpline1dNd(numPoles, poleLength, order, knots);\n }\n /** Map a span index and span fraction to knot value. */\n public spanFractionToKnot(spanIndex: number, spanFraction: number): number {\n return this.knots.spanFractionToKnot(spanIndex, spanFraction);\n }\n /**\n * Evaluate the `order` basis functions (and optionally one or two derivatives) at a given fractional position within\n * indexed span.\n * @returns true if and only if output arrays are sufficiently sized.\n */\n public evaluateBasisFunctionsInSpan(\n spanIndex: number, spanFraction: number, f: Float64Array, df?: Float64Array, ddf?: Float64Array,\n ): boolean {\n if (spanIndex < 0)\n spanIndex = 0;\n if (spanIndex >= this.numSpan)\n spanIndex = this.numSpan - 1;\n const knotIndex0 = spanIndex + this.degree - 1;\n const globalKnot = this.knots.baseKnotFractionToKnot(knotIndex0, spanFraction);\n return df ?\n this.knots.evaluateBasisFunctions1(knotIndex0, globalKnot, f, df, ddf) :\n this.knots.evaluateBasisFunctions(knotIndex0, globalKnot, f);\n }\n /**\n * Compute the linear combination of the given span's poles and the weights in `basisBuffer`, and store this point\n * in `poleBuffer`.\n */\n public sumPoleBufferForSpan(spanIndex: number) {\n this.poleBuffer.fill(0);\n let k = spanIndex * this.poleLength;\n for (const f of this.basisBuffer)\n for (let j = 0; j < this.poleLength; j++)\n this.poleBuffer[j] += f * this.packedData[k++];\n }\n /**\n * Compute the linear combination of the given span's poles and the weights in `basisBuffer1`, and store this\n * derivative vector in `poleBuffer1`.\n */\n public sumPoleBuffer1ForSpan(spanIndex: number) {\n this.poleBuffer1.fill(0);\n let k = spanIndex * this.poleLength;\n for (const f of this.basisBuffer1)\n for (let j = 0; j < this.poleLength; j++)\n this.poleBuffer1[j] += f * this.packedData[k++];\n }\n /**\n * Compute the linear combination of the given span's poles and the weights in `basisBuffer2`, and store this\n * second derivative vector in `poleBuffer2`.\n */\n public sumPoleBuffer2ForSpan(spanIndex: number) {\n this.poleBuffer2.fill(0);\n let k = spanIndex * this.poleLength;\n for (const f of this.basisBuffer2) {\n for (let j = 0; j < this.poleLength; j++)\n this.poleBuffer2[j] += f * this.packedData[k++];\n }\n }\n /**\n * * Evaluate the basis functions at spanIndex and fraction.\n * * Evaluations are stored in the preallocated `this.basisBuffer`.\n * * Immediately do the summations of the basis values times the respective poles.\n * * Summations are stored in the preallocated `this.poleBuffer`\n * */\n public evaluateBuffersInSpan(spanIndex: number, spanFraction: number) {\n this.evaluateBasisFunctionsInSpan(spanIndex, spanFraction, this.basisBuffer);\n this.sumPoleBufferForSpan(spanIndex);\n }\n /**\n * * Evaluate the basis functions and one derivative at spanIndex and fraction.\n * * Function evaluations are stored in the preallocated `this.basisBuffer`; derivative evaluations in `this.basisBuffer1`.\n * * Immediately do the summations of the basis values times the respective poles.\n * * Summations are stored in the preallocated `this.poleBuffer` and `this.poleBuffer1`\n * */\n public evaluateBuffersInSpan1(spanIndex: number, spanFraction: number) {\n this.evaluateBasisFunctionsInSpan(spanIndex, spanFraction, this.basisBuffer, this.basisBuffer1);\n this.sumPoleBufferForSpan(spanIndex);\n this.sumPoleBuffer1ForSpan(spanIndex);\n }\n /**\n * Evaluate the B-spline function and optional derivatives at the given parameter in knot space.\n * * Function value is stored in `poleBuffer`; optional derivative vectors in `poleBuffer1` and `poleBuffer2`.\n */\n public evaluateBuffersAtKnot(u: number, numDerivative: number = 0) {\n const knotIndex0 = this.knots.knotToLeftKnotIndex(u);\n if (numDerivative < 1) {\n this.knots.evaluateBasisFunctions(knotIndex0, u, this.basisBuffer);\n this.sumPoleBufferForSpan(knotIndex0 - this.degree + 1);\n } else if (numDerivative === 1) {\n this.knots.evaluateBasisFunctions1(knotIndex0, u, this.basisBuffer, this.basisBuffer1);\n this.sumPoleBufferForSpan(knotIndex0 - this.degree + 1);\n this.sumPoleBuffer1ForSpan(knotIndex0 - this.degree + 1);\n } else {\n this.knots.evaluateBasisFunctions1(knotIndex0, u, this.basisBuffer, this.basisBuffer1, this.basisBuffer2);\n this.sumPoleBufferForSpan(knotIndex0 - this.degree + 1);\n this.sumPoleBuffer1ForSpan(knotIndex0 - this.degree + 1);\n this.sumPoleBuffer2ForSpan(knotIndex0 - this.degree + 1);\n }\n }\n /** Reverse the instance poles and knots in place. */\n public reverseInPlace(): void {\n const pLen = this.poleLength;\n const data = this.packedData;\n for (let i0 = 0, j0 = pLen * (this.numPoles - 1); i0 < j0; i0 += pLen, j0 -= pLen) {\n for (let i = 0; i < pLen; i++)\n [data[i0 + i], data[j0 + i]] = [data[j0 + i], data[i0 + i]];\n }\n this.knots.reflectKnots();\n }\n /**\n * Test if the leading and trailing polygon coordinates are replicated in the manner of a \"closed\" bspline polygon\n * which has been expanded to act as a normal bspline.\n * @returns true if `degree` leading and trailing polygon blocks match.\n * @deprecated in 4.x - will not be removed until after 2026-06-13. Use `testClosablePolygon` instead.\n */\n public testCloseablePolygon(mode?: BSplineWrapMode): boolean {\n return this.testClosablePolygon(mode);\n }\n /**\n * Test if the leading and trailing poles are replicated in the manner of a \"closed\" B-spline function with wraparound\n * control polygon.\n * @param mode wrap mode, indicating the number of wraparound poles to check. If undefined, `knots.wrappable` is used.\n * @returns true if the expected leading and trailing poles match, according to `mode`.\n */\n public testClosablePolygon(mode?: BSplineWrapMode): boolean {\n if (mode === undefined)\n mode = this.knots.wrappable;\n let numPolesToTest = 0;\n if (mode === BSplineWrapMode.OpenByAddingControlPoints)\n numPolesToTest = this.degree;\n else if (mode === BSplineWrapMode.OpenByRemovingKnots)\n numPolesToTest = 1;\n else\n return false;\n // check for wraparound poles\n const blockSize = this.poleLength;\n const indexDelta = (this.numPoles - numPolesToTest) * blockSize;\n const numValuesToTest = numPolesToTest * blockSize;\n for (let i0 = 0; i0 < numValuesToTest; i0++) {\n if (!Geometry.isSameCoordinate(this.packedData[i0], this.packedData[i0 + indexDelta]))\n return false;\n }\n return true;\n }\n /**\n * Insert the knot and resulting pole into the instance, optionally multiple times.\n * @param knot the knot to be inserted (may already exist in the KnotVector).\n * @param totalMultiplicity the total multiplicity of the knot on return.\n */\n public addKnot(knot: number, totalMultiplicity: number): boolean {\n if (knot < this.knots.leftKnot || knot > this.knots.rightKnot)\n return false; // invalid input\n let iLeftKnot = this.knots.knotToLeftKnotIndex(knot);\n // snap input if too close to an existing knot\n if (Math.abs(knot - this.knots.knots[iLeftKnot]) < KnotVector.knotTolerance) {\n knot = this.knots.knots[iLeftKnot]; // snap to left knot of bracket\n } else if (Math.abs(knot - this.knots.knots[iLeftKnot + 1]) < KnotVector.knotTolerance) {\n iLeftKnot += this.knots.getKnotMultiplicityAtIndex(iLeftKnot + 1);\n if (iLeftKnot > this.knots.rightKnotIndex)\n return true; // nothing to do\n knot = this.knots.knots[iLeftKnot]; // snap to left knot of next bracket\n }\n const numKnotsToAdd = Math.min(totalMultiplicity, this.degree) - this.knots.getKnotMultiplicity(knot);\n if (numKnotsToAdd <= 0)\n return true; // nothing to do\n // working arrays and pole buffer\n let currKnotCount = this.knots.knots.length;\n const newKnots = new Float64Array(currKnotCount + numKnotsToAdd);\n for (let i = 0; i < currKnotCount; ++i)\n newKnots[i] = this.knots.knots[i];\n let currPoleCount = this.numPoles;\n const newPackedData = new Float64Array(this.packedData.length + (numKnotsToAdd * this.poleLength));\n for (let i = 0; i < this.packedData.length; ++i)\n newPackedData[i] = this.packedData[i];\n const dataBuf = new Float64Array(this.degree * this.poleLength); // holds degree poles\n // each iteration adds one knot and one pole to the working arrays (cf. Farin 4e)\n for (let iter = 0; iter < numKnotsToAdd; ++iter) {\n // fill the buffer with new poles obtained from control polygon corner cutting\n let iBuf = 0;\n const iStart = iLeftKnot - this.degree + 2;\n for (let i = iStart; i < iStart + this.degree; ++i) {\n const fraction = (knot - newKnots[i - 1]) / (newKnots[i + this.degree - 1] - newKnots[i - 1]);\n for (let j = i * this.poleLength; j < (i + 1) * this.poleLength; ++j) {\n dataBuf[iBuf++] = Geometry.interpolate(newPackedData[j - this.poleLength], fraction, newPackedData[j]);\n }\n }\n // overwrite degree-1 poles with degree new poles, shifting tail to the right by one\n newPackedData.copyWithin((iStart + this.degree) * this.poleLength, (iStart + this.degree - 1) * this.poleLength, currPoleCount * this.poleLength);\n let iData = iStart * this.poleLength;\n for (const d of dataBuf)\n newPackedData[iData++] = d; // overwrite degree new poles\n // add the knot to newKnots in position, shifting tail to the right by one\n newKnots.copyWithin(iLeftKnot + 2, iLeftKnot + 1, currKnotCount);\n newKnots[iLeftKnot + 1] = knot;\n ++iLeftKnot;\n ++currKnotCount;\n ++currPoleCount;\n }\n this.knots.setKnotsCapture(newKnots);\n this.packedData = newPackedData;\n return true;\n }\n}\n"]}
@@ -19,7 +19,7 @@ export declare enum UVSelect {
19
19
  uDirection = 0,
20
20
  /**
21
21
  * index of v direction
22
- * @deprecated in 4.x. Use vDirection instead.
22
+ * @deprecated in 4.x - will not be removed until after 2026-06-13. Use vDirection instead.
23
23
  */
24
24
  VDirection = 1,
25
25
  /** index of v direction */
@@ -152,7 +152,8 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
152
152
  knots: KnotVector[];
153
153
  /** flat array of coordinate data, blocked by poleDimension and row */
154
154
  coffs: Float64Array;
155
- /** Number of components per pole.
155
+ /**
156
+ * Number of components per pole.
156
157
  * * 3 for conventional xyz surface
157
158
  * * 4 for weighted (wx, wy, wz, w) surface.
158
159
  */
@@ -247,7 +248,7 @@ export declare abstract class BSpline2dNd extends GeometryQuery {
247
248
  sumPoleBufferForSpan(spanIndexU: number, spanIndexV: number): void;
248
249
  /**
249
250
  * sum poles by the weights in the basisBuffer, using poles for given span
250
- * @deprecated in 4.x. Use sumPoleBufferDerivativesForSpan instead.
251
+ * @deprecated in 4.x - will not be removed until after 2026-06-13. Use sumPoleBufferDerivativesForSpan instead.
251
252
  */
252
253
  sumpoleBufferDerivativesForSpan(spanIndexU: number, spanIndexV: number): void;
253
254
  /** sum derivatives by the weights in the basisBuffer, using poles for given span */
@@ -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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"}
@@ -27,7 +27,7 @@ var UVSelect;
27
27
  UVSelect[UVSelect["uDirection"] = 0] = "uDirection";
28
28
  /**
29
29
  * index of v direction
30
- * @deprecated in 4.x. Use vDirection instead.
30
+ * @deprecated in 4.x - will not be removed until after 2026-06-13. Use vDirection instead.
31
31
  */
32
32
  UVSelect[UVSelect["VDirection"] = 1] = "VDirection";
33
33
  /** index of v direction */
@@ -68,7 +68,8 @@ class BSpline2dNd extends GeometryQuery_1.GeometryQuery {
68
68
  knots;
69
69
  /** flat array of coordinate data, blocked by poleDimension and row */
70
70
  coffs;
71
- /** Number of components per pole.
71
+ /**
72
+ * Number of components per pole.
72
73
  * * 3 for conventional xyz surface
73
74
  * * 4 for weighted (wx, wy, wz, w) surface.
74
75
  */
@@ -253,7 +254,7 @@ class BSpline2dNd extends GeometryQuery_1.GeometryQuery {
253
254
  }
254
255
  /**
255
256
  * sum poles by the weights in the basisBuffer, using poles for given span
256
- * @deprecated in 4.x. Use sumPoleBufferDerivativesForSpan instead.
257
+ * @deprecated in 4.x - will not be removed until after 2026-06-13. Use sumPoleBufferDerivativesForSpan instead.
257
258
  */
258
259
  sumpoleBufferDerivativesForSpan(spanIndexU, spanIndexV) {
259
260
  return this.sumPoleBufferDerivativesForSpan(spanIndexU, spanIndexV);
@@ -476,7 +477,7 @@ class BSplineSurface3d extends BSpline2dNd {
476
477
  getPointGridJSON() {
477
478
  const result = {
478
479
  points: PointHelpers_1.Point3dArray.unpackNumbersToNestedArraysIJK(this.coffs, 3, this.numPolesUV(0)),
479
- weighStyle: WeightStyle.WeightsAlreadyAppliedToCoordinates, // @deprecated in 4.x. Use weightStyle instead.
480
+ weighStyle: WeightStyle.WeightsAlreadyAppliedToCoordinates, // @deprecated in 4.x - will not be removed until after 2026-06-13. Use weightStyle instead.
480
481
  weightStyle: WeightStyle.UnWeighted,
481
482
  numCartesianDimensions: 3,
482
483
  };
@@ -890,7 +891,7 @@ class BSplineSurface3dH extends BSpline2dNd {
890
891
  const result = {
891
892
  points: PointHelpers_1.Point3dArray.unpackNumbersToNestedArraysIJK(this.coffs, 4, this.numPolesUV(0)),
892
893
  numCartesianDimensions: 3,
893
- weighStyle: WeightStyle.WeightsAlreadyAppliedToCoordinates, // @deprecated in 4.x. Use weightStyle instead.
894
+ weighStyle: WeightStyle.WeightsAlreadyAppliedToCoordinates, // @deprecated in 4.x - will not be removed until after 2026-06-13. Use weightStyle instead.
894
895
  weightStyle: WeightStyle.WeightsAlreadyAppliedToCoordinates,
895
896
  };
896
897
  return result;