@itwin/core-geometry 4.1.0-dev.8 → 4.1.0-dev.81

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 (676) hide show
  1. package/CHANGELOG.md +87 -1
  2. package/lib/cjs/Geometry.js.map +1 -1
  3. package/lib/cjs/bspline/BSplineCurve.d.ts +1 -1
  4. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  5. package/lib/cjs/bspline/BSplineCurve.js +2 -2
  6. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  7. package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
  8. package/lib/cjs/bspline/BSplineSurface.js +1 -1
  9. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  10. package/lib/cjs/bspline/BezierCurveBase.d.ts +1 -1
  11. package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
  12. package/lib/cjs/bspline/BezierCurveBase.js +2 -2
  13. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  14. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  15. package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts +15 -17
  16. package/lib/cjs/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
  17. package/lib/cjs/clipping/AlternatingConvexClipTree.js +24 -20
  18. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  19. package/lib/cjs/clipping/BooleanClipFactory.d.ts +28 -28
  20. package/lib/cjs/clipping/BooleanClipFactory.d.ts.map +1 -1
  21. package/lib/cjs/clipping/BooleanClipFactory.js +28 -28
  22. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  23. package/lib/cjs/clipping/BooleanClipNode.d.ts +11 -11
  24. package/lib/cjs/clipping/BooleanClipNode.d.ts.map +1 -1
  25. package/lib/cjs/clipping/BooleanClipNode.js +11 -11
  26. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  27. package/lib/cjs/clipping/ClipPlane.d.ts +73 -76
  28. package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -1
  29. package/lib/cjs/clipping/ClipPlane.js +105 -86
  30. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  31. package/lib/cjs/clipping/ClipPrimitive.d.ts +78 -47
  32. package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -1
  33. package/lib/cjs/clipping/ClipPrimitive.js +112 -54
  34. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  35. package/lib/cjs/clipping/ClipUtils.d.ts +54 -44
  36. package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -1
  37. package/lib/cjs/clipping/ClipUtils.js +33 -29
  38. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  39. package/lib/cjs/clipping/ClipVector.d.ts +39 -25
  40. package/lib/cjs/clipping/ClipVector.d.ts.map +1 -1
  41. package/lib/cjs/clipping/ClipVector.js +35 -23
  42. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  43. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts +61 -38
  44. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  45. package/lib/cjs/clipping/ConvexClipPlaneSet.js +64 -41
  46. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  47. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts +49 -30
  48. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
  49. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js +50 -30
  50. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  51. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +2 -2
  52. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
  53. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
  54. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  55. package/lib/cjs/core-geometry.d.ts +5 -1
  56. package/lib/cjs/core-geometry.d.ts.map +1 -1
  57. package/lib/cjs/core-geometry.js +5 -1
  58. package/lib/cjs/core-geometry.js.map +1 -1
  59. package/lib/cjs/curve/Arc3d.d.ts +4 -3
  60. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  61. package/lib/cjs/curve/Arc3d.js +7 -5
  62. package/lib/cjs/curve/Arc3d.js.map +1 -1
  63. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +62 -42
  64. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  65. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +71 -48
  66. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  67. package/lib/cjs/curve/CurveCollection.d.ts +36 -26
  68. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  69. package/lib/cjs/curve/CurveCollection.js +46 -39
  70. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  71. package/lib/cjs/curve/CurveCurve.d.ts +6 -2
  72. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  73. package/lib/cjs/curve/CurveCurve.js +13 -9
  74. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  75. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts +74 -68
  76. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts.map +1 -1
  77. package/lib/cjs/curve/CurveCurveCloseApproachXY.js +100 -108
  78. package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -1
  79. package/lib/cjs/curve/CurveCurveIntersectXY.d.ts +46 -48
  80. package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -1
  81. package/lib/cjs/curve/CurveCurveIntersectXY.js +72 -61
  82. package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
  83. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts +32 -38
  84. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
  85. package/lib/cjs/curve/CurveCurveIntersectXYZ.js +86 -97
  86. package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -1
  87. package/lib/cjs/curve/CurveFactory.d.ts +67 -3
  88. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  89. package/lib/cjs/curve/CurveFactory.js +75 -7
  90. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  91. package/lib/cjs/curve/CurveLocationDetail.d.ts +6 -6
  92. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  93. package/lib/cjs/curve/CurveLocationDetail.js +9 -7
  94. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  95. package/lib/cjs/curve/CurveOps.d.ts +77 -0
  96. package/lib/cjs/curve/CurveOps.d.ts.map +1 -0
  97. package/lib/cjs/curve/CurveOps.js +160 -0
  98. package/lib/cjs/curve/CurveOps.js.map +1 -0
  99. package/lib/cjs/curve/CurvePrimitive.d.ts +26 -18
  100. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  101. package/lib/cjs/curve/CurvePrimitive.js +4 -3
  102. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  103. package/lib/cjs/curve/GeometryQuery.d.ts +2 -2
  104. package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -1
  105. package/lib/cjs/curve/GeometryQuery.js +2 -2
  106. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  107. package/lib/cjs/curve/LineSegment3d.d.ts +7 -5
  108. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  109. package/lib/cjs/curve/LineSegment3d.js +6 -6
  110. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  111. package/lib/cjs/curve/LineString3d.d.ts +2 -2
  112. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  113. package/lib/cjs/curve/LineString3d.js +3 -3
  114. package/lib/cjs/curve/LineString3d.js.map +1 -1
  115. package/lib/cjs/curve/Loop.d.ts +7 -5
  116. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  117. package/lib/cjs/curve/Loop.js +18 -6
  118. package/lib/cjs/curve/Loop.js.map +1 -1
  119. package/lib/cjs/curve/OffsetOptions.d.ts +97 -0
  120. package/lib/cjs/curve/OffsetOptions.d.ts.map +1 -0
  121. package/lib/cjs/curve/OffsetOptions.js +166 -0
  122. package/lib/cjs/curve/OffsetOptions.js.map +1 -0
  123. package/lib/cjs/curve/ParityRegion.d.ts +7 -7
  124. package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
  125. package/lib/cjs/curve/ParityRegion.js +19 -11
  126. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  127. package/lib/cjs/curve/Path.d.ts +6 -6
  128. package/lib/cjs/curve/Path.d.ts.map +1 -1
  129. package/lib/cjs/curve/Path.js +15 -9
  130. package/lib/cjs/curve/Path.js.map +1 -1
  131. package/lib/cjs/curve/ProxyCurve.d.ts +5 -7
  132. package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
  133. package/lib/cjs/curve/ProxyCurve.js +7 -7
  134. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  135. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  136. package/lib/cjs/curve/RegionOps.d.ts +76 -56
  137. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  138. package/lib/cjs/curve/RegionOps.js +83 -60
  139. package/lib/cjs/curve/RegionOps.js.map +1 -1
  140. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +2 -2
  141. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  142. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
  143. package/lib/cjs/curve/StrokeOptions.js +6 -2
  144. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  145. package/lib/cjs/curve/UnionRegion.d.ts +6 -5
  146. package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
  147. package/lib/cjs/curve/UnionRegion.js +17 -8
  148. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  149. package/lib/cjs/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
  150. package/lib/cjs/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
  151. package/lib/cjs/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
  152. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -0
  153. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts +2 -1
  154. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  155. package/lib/cjs/curve/internalContexts/GapSearchContext.js +6 -2
  156. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  157. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +59 -70
  158. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  159. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +130 -220
  160. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  161. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  162. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  163. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  164. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  165. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
  166. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  167. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +89 -178
  168. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  169. package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  170. package/lib/cjs/curve/internalContexts/SumLengthsContext.js +4 -1
  171. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  172. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +1 -1
  173. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  174. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +1 -1
  175. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  176. package/lib/cjs/curve/spiral/TransitionSpiral3d.js +2 -2
  177. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  178. package/lib/cjs/curve/spiral/XYCurveEvaluator.js +1 -1
  179. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  180. package/lib/cjs/geometry3d/Angle.d.ts +9 -0
  181. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
  182. package/lib/cjs/geometry3d/Angle.js +13 -0
  183. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  184. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  185. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  186. package/lib/cjs/geometry3d/BilinearPatch.d.ts +43 -48
  187. package/lib/cjs/geometry3d/BilinearPatch.d.ts.map +1 -1
  188. package/lib/cjs/geometry3d/BilinearPatch.js +51 -55
  189. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  190. package/lib/cjs/geometry3d/Ellipsoid.d.ts +1 -1
  191. package/lib/cjs/geometry3d/Ellipsoid.js +1 -1
  192. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  193. package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -1
  194. package/lib/cjs/geometry3d/FrameBuilder.js +13 -11
  195. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  196. package/lib/cjs/geometry3d/GeometryHandler.d.ts +103 -97
  197. package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -1
  198. package/lib/cjs/geometry3d/GeometryHandler.js +247 -124
  199. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  200. package/lib/cjs/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
  201. package/lib/cjs/geometry3d/GrowableBlockedArray.js +1 -1
  202. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  203. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  204. package/lib/cjs/geometry3d/GrowableFloat64Array.js +1 -1
  205. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  206. package/lib/cjs/geometry3d/Matrix3d.d.ts +18 -0
  207. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  208. package/lib/cjs/geometry3d/Matrix3d.js +32 -5
  209. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  210. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  211. package/lib/cjs/geometry3d/Plane3d.d.ts +41 -32
  212. package/lib/cjs/geometry3d/Plane3d.d.ts.map +1 -1
  213. package/lib/cjs/geometry3d/Plane3d.js +11 -8
  214. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  215. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
  216. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  217. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
  218. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  219. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  220. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  221. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +37 -32
  222. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  223. package/lib/cjs/geometry3d/Point2dVector2d.d.ts +8 -9
  224. package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -1
  225. package/lib/cjs/geometry3d/Point2dVector2d.js +9 -10
  226. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  227. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  228. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +12 -4
  229. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  230. package/lib/cjs/geometry3d/Point3dVector3d.js +18 -5
  231. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  232. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  233. package/lib/cjs/geometry3d/PointHelpers.js +5 -5
  234. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  235. package/lib/cjs/geometry3d/PolygonOps.d.ts +6 -2
  236. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  237. package/lib/cjs/geometry3d/PolygonOps.js +31 -22
  238. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  239. package/lib/cjs/geometry3d/PolylineOps.d.ts +16 -1
  240. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  241. package/lib/cjs/geometry3d/PolylineOps.js +55 -0
  242. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  243. package/lib/cjs/geometry3d/Range.d.ts +134 -94
  244. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  245. package/lib/cjs/geometry3d/Range.js +297 -145
  246. package/lib/cjs/geometry3d/Range.js.map +1 -1
  247. package/lib/cjs/geometry3d/Ray2d.d.ts +69 -0
  248. package/lib/cjs/geometry3d/Ray2d.d.ts.map +1 -0
  249. package/lib/cjs/geometry3d/Ray2d.js +146 -0
  250. package/lib/cjs/geometry3d/Ray2d.js.map +1 -0
  251. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  252. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  253. package/lib/cjs/geometry3d/Transform.d.ts +10 -3
  254. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  255. package/lib/cjs/geometry3d/Transform.js +18 -6
  256. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  257. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  258. package/lib/cjs/numerics/ConvexPolygon2d.d.ts +7 -49
  259. package/lib/cjs/numerics/ConvexPolygon2d.d.ts.map +1 -1
  260. package/lib/cjs/numerics/ConvexPolygon2d.js +16 -107
  261. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  262. package/lib/cjs/numerics/Newton.js.map +1 -1
  263. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  264. package/lib/cjs/numerics/Polynomials.js +0 -2
  265. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  266. package/lib/cjs/numerics/Quadrature.js +5 -5
  267. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  268. package/lib/cjs/polyface/IndexedEdgeMatcher.js +1 -1
  269. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  270. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  271. package/lib/cjs/polyface/PolyfaceBuilder.js +2 -2
  272. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  273. package/lib/cjs/polyface/PolyfaceQuery.d.ts +93 -14
  274. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  275. package/lib/cjs/polyface/PolyfaceQuery.js +173 -34
  276. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  277. package/lib/cjs/polyface/TaggedNumericData.js +1 -1
  278. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  279. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
  280. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  281. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +27 -19
  282. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -1
  283. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js +30 -12
  284. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  285. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +12 -8
  286. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -1
  287. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +18 -4
  288. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  289. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts +3 -4
  290. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -1
  291. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js +3 -5
  292. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  293. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  294. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts +15 -12
  295. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -1
  296. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  297. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts +38 -0
  298. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  299. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +104 -1
  300. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  301. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  302. package/lib/cjs/serialization/GeometrySamples.d.ts +11 -0
  303. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  304. package/lib/cjs/serialization/GeometrySamples.js +30 -0
  305. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  306. package/lib/cjs/serialization/IModelJsonSchema.d.ts +2 -7
  307. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  308. package/lib/cjs/serialization/IModelJsonSchema.js +2 -7
  309. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  310. package/lib/cjs/solid/LinearSweep.d.ts +2 -1
  311. package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
  312. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  313. package/lib/cjs/solid/RotationalSweep.d.ts +2 -1
  314. package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
  315. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  316. package/lib/cjs/solid/RuledSweep.d.ts +2 -1
  317. package/lib/cjs/solid/RuledSweep.d.ts.map +1 -1
  318. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  319. package/lib/cjs/solid/SweepContour.d.ts +2 -2
  320. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  321. package/lib/cjs/solid/SweepContour.js +9 -0
  322. package/lib/cjs/solid/SweepContour.js.map +1 -1
  323. package/lib/cjs/topology/ChainMerge.js +1 -1
  324. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  325. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  326. package/lib/cjs/topology/HalfEdgeGraphSearch.js +1 -1
  327. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  328. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js +1 -1
  329. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  330. package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  331. package/lib/cjs/topology/HalfEdgePriorityQueue.js +1 -1
  332. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  333. package/lib/cjs/topology/RegularizeFace.js +3 -3
  334. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  335. package/lib/cjs/topology/Triangulation.js +1 -1
  336. package/lib/cjs/topology/Triangulation.js.map +1 -1
  337. package/lib/esm/Geometry.js.map +1 -1
  338. package/lib/esm/bspline/BSplineCurve.d.ts +1 -1
  339. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  340. package/lib/esm/bspline/BSplineCurve.js +1 -1
  341. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  342. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  343. package/lib/esm/bspline/BSplineSurface.js +1 -1
  344. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  345. package/lib/esm/bspline/BezierCurveBase.d.ts +1 -1
  346. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
  347. package/lib/esm/bspline/BezierCurveBase.js +1 -1
  348. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  349. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  350. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts +15 -17
  351. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
  352. package/lib/esm/clipping/AlternatingConvexClipTree.js +24 -20
  353. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  354. package/lib/esm/clipping/BooleanClipFactory.d.ts +28 -28
  355. package/lib/esm/clipping/BooleanClipFactory.d.ts.map +1 -1
  356. package/lib/esm/clipping/BooleanClipFactory.js +28 -28
  357. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  358. package/lib/esm/clipping/BooleanClipNode.d.ts +11 -11
  359. package/lib/esm/clipping/BooleanClipNode.d.ts.map +1 -1
  360. package/lib/esm/clipping/BooleanClipNode.js +11 -11
  361. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  362. package/lib/esm/clipping/ClipPlane.d.ts +73 -76
  363. package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
  364. package/lib/esm/clipping/ClipPlane.js +105 -86
  365. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  366. package/lib/esm/clipping/ClipPrimitive.d.ts +78 -47
  367. package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -1
  368. package/lib/esm/clipping/ClipPrimitive.js +112 -54
  369. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  370. package/lib/esm/clipping/ClipUtils.d.ts +54 -44
  371. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
  372. package/lib/esm/clipping/ClipUtils.js +33 -29
  373. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  374. package/lib/esm/clipping/ClipVector.d.ts +39 -25
  375. package/lib/esm/clipping/ClipVector.d.ts.map +1 -1
  376. package/lib/esm/clipping/ClipVector.js +35 -23
  377. package/lib/esm/clipping/ClipVector.js.map +1 -1
  378. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +61 -38
  379. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  380. package/lib/esm/clipping/ConvexClipPlaneSet.js +64 -41
  381. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  382. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts +49 -30
  383. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
  384. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js +50 -30
  385. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  386. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +2 -2
  387. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
  388. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
  389. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  390. package/lib/esm/core-geometry.d.ts +5 -1
  391. package/lib/esm/core-geometry.d.ts.map +1 -1
  392. package/lib/esm/core-geometry.js +5 -1
  393. package/lib/esm/core-geometry.js.map +1 -1
  394. package/lib/esm/curve/Arc3d.d.ts +4 -3
  395. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  396. package/lib/esm/curve/Arc3d.js +6 -4
  397. package/lib/esm/curve/Arc3d.js.map +1 -1
  398. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +62 -42
  399. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  400. package/lib/esm/curve/CurveChainWithDistanceIndex.js +70 -47
  401. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  402. package/lib/esm/curve/CurveCollection.d.ts +36 -26
  403. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  404. package/lib/esm/curve/CurveCollection.js +46 -39
  405. package/lib/esm/curve/CurveCollection.js.map +1 -1
  406. package/lib/esm/curve/CurveCurve.d.ts +6 -2
  407. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  408. package/lib/esm/curve/CurveCurve.js +13 -9
  409. package/lib/esm/curve/CurveCurve.js.map +1 -1
  410. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts +74 -68
  411. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts.map +1 -1
  412. package/lib/esm/curve/CurveCurveCloseApproachXY.js +100 -108
  413. package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -1
  414. package/lib/esm/curve/CurveCurveIntersectXY.d.ts +46 -48
  415. package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -1
  416. package/lib/esm/curve/CurveCurveIntersectXY.js +72 -61
  417. package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
  418. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts +32 -38
  419. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
  420. package/lib/esm/curve/CurveCurveIntersectXYZ.js +86 -97
  421. package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -1
  422. package/lib/esm/curve/CurveFactory.d.ts +67 -3
  423. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  424. package/lib/esm/curve/CurveFactory.js +74 -6
  425. package/lib/esm/curve/CurveFactory.js.map +1 -1
  426. package/lib/esm/curve/CurveLocationDetail.d.ts +6 -6
  427. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  428. package/lib/esm/curve/CurveLocationDetail.js +9 -7
  429. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  430. package/lib/esm/curve/CurveOps.d.ts +77 -0
  431. package/lib/esm/curve/CurveOps.d.ts.map +1 -0
  432. package/lib/esm/curve/CurveOps.js +156 -0
  433. package/lib/esm/curve/CurveOps.js.map +1 -0
  434. package/lib/esm/curve/CurvePrimitive.d.ts +26 -18
  435. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  436. package/lib/esm/curve/CurvePrimitive.js +4 -3
  437. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  438. package/lib/esm/curve/GeometryQuery.d.ts +2 -2
  439. package/lib/esm/curve/GeometryQuery.d.ts.map +1 -1
  440. package/lib/esm/curve/GeometryQuery.js +2 -2
  441. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  442. package/lib/esm/curve/LineSegment3d.d.ts +7 -5
  443. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  444. package/lib/esm/curve/LineSegment3d.js +5 -5
  445. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  446. package/lib/esm/curve/LineString3d.d.ts +2 -2
  447. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  448. package/lib/esm/curve/LineString3d.js +2 -2
  449. package/lib/esm/curve/LineString3d.js.map +1 -1
  450. package/lib/esm/curve/Loop.d.ts +7 -5
  451. package/lib/esm/curve/Loop.d.ts.map +1 -1
  452. package/lib/esm/curve/Loop.js +18 -6
  453. package/lib/esm/curve/Loop.js.map +1 -1
  454. package/lib/esm/curve/OffsetOptions.d.ts +97 -0
  455. package/lib/esm/curve/OffsetOptions.d.ts.map +1 -0
  456. package/lib/esm/curve/OffsetOptions.js +161 -0
  457. package/lib/esm/curve/OffsetOptions.js.map +1 -0
  458. package/lib/esm/curve/ParityRegion.d.ts +7 -7
  459. package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
  460. package/lib/esm/curve/ParityRegion.js +19 -11
  461. package/lib/esm/curve/ParityRegion.js.map +1 -1
  462. package/lib/esm/curve/Path.d.ts +6 -6
  463. package/lib/esm/curve/Path.d.ts.map +1 -1
  464. package/lib/esm/curve/Path.js +15 -9
  465. package/lib/esm/curve/Path.js.map +1 -1
  466. package/lib/esm/curve/ProxyCurve.d.ts +5 -7
  467. package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
  468. package/lib/esm/curve/ProxyCurve.js +7 -7
  469. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  470. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  471. package/lib/esm/curve/RegionOps.d.ts +76 -56
  472. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  473. package/lib/esm/curve/RegionOps.js +84 -61
  474. package/lib/esm/curve/RegionOps.js.map +1 -1
  475. package/lib/esm/curve/RegionOpsClassificationSweeps.js +2 -2
  476. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  477. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
  478. package/lib/esm/curve/StrokeOptions.js +6 -2
  479. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  480. package/lib/esm/curve/UnionRegion.d.ts +6 -5
  481. package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
  482. package/lib/esm/curve/UnionRegion.js +17 -8
  483. package/lib/esm/curve/UnionRegion.js.map +1 -1
  484. package/lib/esm/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
  485. package/lib/esm/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
  486. package/lib/esm/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
  487. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -0
  488. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +2 -1
  489. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  490. package/lib/esm/curve/internalContexts/GapSearchContext.js +6 -2
  491. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  492. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +59 -70
  493. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  494. package/lib/esm/curve/internalContexts/MultiChainCollector.js +129 -218
  495. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  496. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  497. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  498. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  499. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  500. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
  501. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  502. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +86 -173
  503. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  504. package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  505. package/lib/esm/curve/internalContexts/SumLengthsContext.js +4 -1
  506. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  507. package/lib/esm/curve/spiral/IntegratedSpiral3d.js +1 -1
  508. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  509. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +1 -1
  510. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  511. package/lib/esm/curve/spiral/TransitionSpiral3d.js +1 -1
  512. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  513. package/lib/esm/curve/spiral/XYCurveEvaluator.js +1 -1
  514. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  515. package/lib/esm/geometry3d/Angle.d.ts +9 -0
  516. package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
  517. package/lib/esm/geometry3d/Angle.js +13 -0
  518. package/lib/esm/geometry3d/Angle.js.map +1 -1
  519. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  520. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  521. package/lib/esm/geometry3d/BilinearPatch.d.ts +43 -48
  522. package/lib/esm/geometry3d/BilinearPatch.d.ts.map +1 -1
  523. package/lib/esm/geometry3d/BilinearPatch.js +51 -55
  524. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  525. package/lib/esm/geometry3d/Ellipsoid.d.ts +1 -1
  526. package/lib/esm/geometry3d/Ellipsoid.js +1 -1
  527. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  528. package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -1
  529. package/lib/esm/geometry3d/FrameBuilder.js +13 -11
  530. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  531. package/lib/esm/geometry3d/GeometryHandler.d.ts +103 -97
  532. package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -1
  533. package/lib/esm/geometry3d/GeometryHandler.js +247 -124
  534. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  535. package/lib/esm/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
  536. package/lib/esm/geometry3d/GrowableBlockedArray.js +1 -1
  537. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  538. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  539. package/lib/esm/geometry3d/GrowableFloat64Array.js +1 -1
  540. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  541. package/lib/esm/geometry3d/Matrix3d.d.ts +18 -0
  542. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  543. package/lib/esm/geometry3d/Matrix3d.js +32 -5
  544. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  545. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  546. package/lib/esm/geometry3d/Plane3d.d.ts +41 -32
  547. package/lib/esm/geometry3d/Plane3d.d.ts.map +1 -1
  548. package/lib/esm/geometry3d/Plane3d.js +11 -8
  549. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  550. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
  551. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  552. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
  553. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  554. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  555. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  556. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +37 -32
  557. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  558. package/lib/esm/geometry3d/Point2dVector2d.d.ts +8 -9
  559. package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -1
  560. package/lib/esm/geometry3d/Point2dVector2d.js +9 -10
  561. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  562. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  563. package/lib/esm/geometry3d/Point3dVector3d.d.ts +12 -4
  564. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  565. package/lib/esm/geometry3d/Point3dVector3d.js +18 -5
  566. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  567. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  568. package/lib/esm/geometry3d/PointHelpers.js +5 -5
  569. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  570. package/lib/esm/geometry3d/PolygonOps.d.ts +6 -2
  571. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  572. package/lib/esm/geometry3d/PolygonOps.js +31 -22
  573. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  574. package/lib/esm/geometry3d/PolylineOps.d.ts +16 -1
  575. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  576. package/lib/esm/geometry3d/PolylineOps.js +56 -1
  577. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  578. package/lib/esm/geometry3d/Range.d.ts +134 -94
  579. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  580. package/lib/esm/geometry3d/Range.js +297 -145
  581. package/lib/esm/geometry3d/Range.js.map +1 -1
  582. package/lib/esm/geometry3d/Ray2d.d.ts +69 -0
  583. package/lib/esm/geometry3d/Ray2d.d.ts.map +1 -0
  584. package/lib/esm/geometry3d/Ray2d.js +142 -0
  585. package/lib/esm/geometry3d/Ray2d.js.map +1 -0
  586. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  587. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  588. package/lib/esm/geometry3d/Transform.d.ts +10 -3
  589. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  590. package/lib/esm/geometry3d/Transform.js +18 -6
  591. package/lib/esm/geometry3d/Transform.js.map +1 -1
  592. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  593. package/lib/esm/numerics/ConvexPolygon2d.d.ts +7 -49
  594. package/lib/esm/numerics/ConvexPolygon2d.d.ts.map +1 -1
  595. package/lib/esm/numerics/ConvexPolygon2d.js +14 -104
  596. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  597. package/lib/esm/numerics/Newton.js.map +1 -1
  598. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  599. package/lib/esm/numerics/Polynomials.js +0 -2
  600. package/lib/esm/numerics/Polynomials.js.map +1 -1
  601. package/lib/esm/numerics/Quadrature.js +5 -5
  602. package/lib/esm/numerics/Quadrature.js.map +1 -1
  603. package/lib/esm/polyface/IndexedEdgeMatcher.js +1 -1
  604. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  605. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  606. package/lib/esm/polyface/PolyfaceBuilder.js +2 -2
  607. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  608. package/lib/esm/polyface/PolyfaceQuery.d.ts +93 -14
  609. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  610. package/lib/esm/polyface/PolyfaceQuery.js +173 -35
  611. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  612. package/lib/esm/polyface/TaggedNumericData.js +1 -1
  613. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  614. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
  615. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  616. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts +27 -19
  617. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.d.ts.map +1 -1
  618. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js +30 -12
  619. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  620. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts +12 -8
  621. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.d.ts.map +1 -1
  622. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js +18 -4
  623. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  624. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts +3 -4
  625. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.d.ts.map +1 -1
  626. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js +3 -5
  627. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  628. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  629. package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts +15 -12
  630. package/lib/esm/polyface/multiclip/Range2dSearchInterface.d.ts.map +1 -1
  631. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  632. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +38 -0
  633. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  634. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +102 -1
  635. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  636. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  637. package/lib/esm/serialization/GeometrySamples.d.ts +11 -0
  638. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  639. package/lib/esm/serialization/GeometrySamples.js +30 -0
  640. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  641. package/lib/esm/serialization/IModelJsonSchema.d.ts +2 -7
  642. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  643. package/lib/esm/serialization/IModelJsonSchema.js +2 -7
  644. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  645. package/lib/esm/solid/LinearSweep.d.ts +2 -1
  646. package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
  647. package/lib/esm/solid/LinearSweep.js.map +1 -1
  648. package/lib/esm/solid/RotationalSweep.d.ts +2 -1
  649. package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
  650. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  651. package/lib/esm/solid/RuledSweep.d.ts +2 -1
  652. package/lib/esm/solid/RuledSweep.d.ts.map +1 -1
  653. package/lib/esm/solid/RuledSweep.js.map +1 -1
  654. package/lib/esm/solid/SweepContour.d.ts +2 -2
  655. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  656. package/lib/esm/solid/SweepContour.js +9 -0
  657. package/lib/esm/solid/SweepContour.js.map +1 -1
  658. package/lib/esm/topology/ChainMerge.js +1 -1
  659. package/lib/esm/topology/ChainMerge.js.map +1 -1
  660. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  661. package/lib/esm/topology/HalfEdgeGraphSearch.js +1 -1
  662. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  663. package/lib/esm/topology/HalfEdgeGraphSpineContext.js +1 -1
  664. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  665. package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  666. package/lib/esm/topology/HalfEdgePriorityQueue.js +1 -1
  667. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  668. package/lib/esm/topology/RegularizeFace.js +3 -3
  669. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  670. package/lib/esm/topology/Triangulation.js +1 -1
  671. package/lib/esm/topology/Triangulation.js.map +1 -1
  672. package/package.json +6 -17
  673. package/lib/cjs/curve/ChainCollectorContext.d.ts.map +0 -1
  674. package/lib/cjs/curve/ChainCollectorContext.js.map +0 -1
  675. package/lib/esm/curve/ChainCollectorContext.d.ts.map +0 -1
  676. package/lib/esm/curve/ChainCollectorContext.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurveOps.d.ts","sourceRoot":"","sources":["../../../src/curve/CurveOps.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAe,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,QAAQ;IACnB,8GAA8G;WAChG,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,MAAM;IAY/D,mIAAmI;WACrH,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,OAAO;IASjF;;;;;;;OAOG;WACW,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM;IAuBpH;;;;;;;;;OASG;WACW,gCAAgC,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE;IAgBlM;;;;;OAKG;WACW,sBAAsB,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,uBAAuB,EAAE,MAAM,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS;IAGvI;;;;OAIG;WACW,6BAA6B,CAAC,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,EAAE,GAAG,SAAS;IAGlK;;;;;;;OAOG;WACW,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,YAAY,GAAE,MAAqC,EAAE,cAAc,GAAE,MAAM,GAAG,SAAwC,GAAG,UAAU;IAOtL;;;;;;;;OAQG;WACW,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,YAAY,GAAE,MAAqC,EAAE,cAAc,GAAE,MAAM,GAAG,SAAwC;CAO3Q"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.CurveOps = void 0;
8
+ /** @packageDocumentation
9
+ * @module Curve
10
+ */
11
+ const Geometry_1 = require("../Geometry");
12
+ const CurveCollection_1 = require("./CurveCollection");
13
+ const CurvePrimitive_1 = require("./CurvePrimitive");
14
+ const MultiChainCollector_1 = require("./internalContexts/MultiChainCollector");
15
+ const PolygonOffsetContext_1 = require("./internalContexts/PolygonOffsetContext");
16
+ const Loop_1 = require("./Loop");
17
+ const Path_1 = require("./Path");
18
+ /**
19
+ * Static methods for miscellaneous curve operations.
20
+ * @public
21
+ */
22
+ class CurveOps {
23
+ /** Recursively sum curve lengths, allowing CurvePrimitive, CurveCollection, or array of such at any level. */
24
+ static sumLengths(curves) {
25
+ let mySum = 0;
26
+ if (curves instanceof CurvePrimitive_1.CurvePrimitive) {
27
+ mySum += curves.curveLength();
28
+ }
29
+ else if (curves instanceof CurveCollection_1.CurveCollection) {
30
+ mySum += curves.sumLengths();
31
+ }
32
+ else if (Array.isArray(curves)) {
33
+ for (const data1 of curves)
34
+ mySum += this.sumLengths(data1);
35
+ }
36
+ return mySum;
37
+ }
38
+ /** Recursively extend the range by each curve's range, allowing CurvePrimitive, CurveCollection, or array of such at any level. */
39
+ static extendRange(range, curves) {
40
+ if (Array.isArray(curves)) {
41
+ for (const data1 of curves)
42
+ this.extendRange(range, data1);
43
+ }
44
+ else {
45
+ curves.extendRange(range);
46
+ }
47
+ return range;
48
+ }
49
+ /**
50
+ * Construct a separate xy-offset for each input curve.
51
+ * * For best offset results, the inputs should be parallel to the xy-plane.
52
+ * @param curves input curve(s), z-coordinates ignored. Only [[ChainTypes]] are handled.
53
+ * @param offset offset distance (positive to left of curve, negative to right)
54
+ * @param result array to collect offset curves
55
+ * @returns summed length of offset curves
56
+ */
57
+ static appendXYOffsets(curves, offset, result) {
58
+ let summedLengths = 0;
59
+ if (curves instanceof CurvePrimitive_1.CurvePrimitive) {
60
+ const resultA = PolygonOffsetContext_1.CurveChainWireOffsetContext.constructCurveXYOffset(Path_1.Path.create(curves), offset);
61
+ if (resultA) {
62
+ summedLengths += this.sumLengths(resultA);
63
+ result.push(resultA);
64
+ }
65
+ }
66
+ else if (curves instanceof Loop_1.Loop || curves instanceof Path_1.Path) {
67
+ const resultA = PolygonOffsetContext_1.CurveChainWireOffsetContext.constructCurveXYOffset(curves, offset);
68
+ if (resultA) {
69
+ summedLengths += this.sumLengths(resultA);
70
+ result.push(resultA);
71
+ }
72
+ }
73
+ else if (curves instanceof CurveCollection_1.BagOfCurves) {
74
+ for (const q of curves.children)
75
+ summedLengths += this.appendXYOffsets(q, offset, result);
76
+ }
77
+ else if (Array.isArray(curves)) {
78
+ for (const q of curves)
79
+ summedLengths += this.appendXYOffsets(q, offset, result);
80
+ }
81
+ return summedLengths;
82
+ }
83
+ /**
84
+ * Restructure curve fragments as Paths and Loops, and construct xy-offsets of the chains.
85
+ * * If the inputs do not form Loop(s), the classification of offsets is suspect.
86
+ * * For best offset results, the inputs should be parallel to the xy-plane.
87
+ * * Chain formation is dependent upon input fragment order, as a greedy algorithm is employed.
88
+ * @param fragments fragments to be chained and offset
89
+ * @param offsetDistance offset distance, applied to both sides of each fragment to produce inside and outside xy-offset curves.
90
+ * @param gapTolerance distance to be treated as "effectively zero" when joining head-to-tail
91
+ * @returns object with named chains, insideOffsets, outsideOffsets
92
+ */
93
+ static collectInsideAndOutsideXYOffsets(fragments, offsetDistance, gapTolerance) {
94
+ const collector = new MultiChainCollector_1.MultiChainCollector(gapTolerance);
95
+ for (const s of fragments) {
96
+ collector.captureCurve(s);
97
+ }
98
+ const chains = collector.grabResult(true);
99
+ const myOffsetA = [];
100
+ const myOffsetB = [];
101
+ const offsetLengthA = CurveOps.appendXYOffsets(chains, offsetDistance, myOffsetA);
102
+ const offsetLengthB = CurveOps.appendXYOffsets(chains, -offsetDistance, myOffsetB);
103
+ if (offsetLengthA > offsetLengthB) {
104
+ return { outsideOffsets: myOffsetA, insideOffsets: myOffsetB, chains };
105
+ }
106
+ else {
107
+ return { insideOffsets: myOffsetA, outsideOffsets: myOffsetB, chains };
108
+ }
109
+ }
110
+ /**
111
+ * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).
112
+ * * The construction will remove "some" local effects of features smaller than the offset distance, but will not detect self intersection among widely separated edges.
113
+ * @param curves base curves.
114
+ * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.
115
+ */
116
+ static constructCurveXYOffset(curves, offsetDistanceOrOptions) {
117
+ return PolygonOffsetContext_1.CurveChainWireOffsetContext.constructCurveXYOffset(curves, offsetDistanceOrOptions);
118
+ }
119
+ /**
120
+ * Create the offset of a single curve primitive as viewed in the xy-plane (ignoring z).
121
+ * @param curve primitive to offset
122
+ * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object
123
+ */
124
+ static createSingleOffsetPrimitiveXY(curve, offsetDistanceOrOptions) {
125
+ return PolygonOffsetContext_1.CurveChainWireOffsetContext.createSingleOffsetPrimitiveXY(curve, offsetDistanceOrOptions);
126
+ }
127
+ /**
128
+ * Restructure curve fragments as Paths and Loops.
129
+ * * Chain formation is dependent upon input fragment order, as a greedy algorithm is employed.
130
+ * @param fragments fragments to be chained
131
+ * @param gapTolerance distance to be treated as "effectively zero" when assembling fragments head-to-tail
132
+ * @param planeTolerance tolerance for considering a closed chain to be planar. If undefined, only create Path. If defined, create Loops for closed chains within tolerance of a plane.
133
+ * @returns chains, possibly wrapped in a [[BagOfCurves]].
134
+ */
135
+ static collectChains(fragments, gapTolerance = Geometry_1.Geometry.smallMetricDistance, planeTolerance = Geometry_1.Geometry.smallMetricDistance) {
136
+ const collector = new MultiChainCollector_1.MultiChainCollector(gapTolerance, planeTolerance);
137
+ for (const s of fragments) {
138
+ collector.captureCurve(s);
139
+ }
140
+ return collector.grabResult(true);
141
+ }
142
+ /**
143
+ * Restructure curve fragments as Paths and Loops, to be stroked and passed into the callback.
144
+ * * Chain formation is dependent upon input fragment order, as a greedy algorithm is employed.
145
+ * @param fragments fragments to be chained and stroked
146
+ * @param announceChain callback to process each stroked Path and Loop
147
+ * @param strokeOptions options for stroking the chains
148
+ * @param gapTolerance distance to be treated as "effectively zero" when assembling fragments head-to-tail. Also used for removing duplicate points in the stroked chains.
149
+ * @param planeTolerance tolerance for considering a closed chain to be planar. If undefined, only create Path. If defined, create Loops for closed chains within tolerance of a plane.
150
+ */
151
+ static collectChainsAsLineString3d(fragments, announceChain, strokeOptions, gapTolerance = Geometry_1.Geometry.smallMetricDistance, planeTolerance = Geometry_1.Geometry.smallMetricDistance) {
152
+ const collector = new MultiChainCollector_1.MultiChainCollector(gapTolerance, planeTolerance);
153
+ for (const s of fragments) {
154
+ collector.captureCurve(s);
155
+ }
156
+ collector.announceChainsAsLineString3d(announceChain, strokeOptions);
157
+ }
158
+ }
159
+ exports.CurveOps = CurveOps;
160
+ //# sourceMappingURL=CurveOps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurveOps.js","sourceRoot":"","sources":["../../../src/curve/CurveOps.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Curve\r\n */\r\n\r\nimport { Geometry } from \"../Geometry\";\r\nimport { Range3d } from \"../geometry3d/Range\";\r\nimport { AnyCurve } from \"./CurveChain\";\r\nimport { BagOfCurves, CurveCollection } from \"./CurveCollection\";\r\nimport { CurvePrimitive } from \"./CurvePrimitive\";\r\nimport { MultiChainCollector } from \"./internalContexts/MultiChainCollector\";\r\nimport { CurveChainWireOffsetContext } from \"./internalContexts/PolygonOffsetContext\";\r\nimport { LineString3d } from \"./LineString3d\";\r\nimport { Loop } from \"./Loop\";\r\nimport { OffsetOptions } from \"./OffsetOptions\";\r\nimport { Path } from \"./Path\";\r\nimport { ChainTypes } from \"./RegionOps\";\r\nimport { StrokeOptions } from \"./StrokeOptions\";\r\n\r\n/**\r\n * Static methods for miscellaneous curve operations.\r\n * @public\r\n */\r\nexport class CurveOps {\r\n /** Recursively sum curve lengths, allowing CurvePrimitive, CurveCollection, or array of such at any level. */\r\n public static sumLengths(curves: AnyCurve | AnyCurve[]): number {\r\n let mySum = 0;\r\n if (curves instanceof CurvePrimitive) {\r\n mySum += curves.curveLength();\r\n } else if (curves instanceof CurveCollection) {\r\n mySum += curves.sumLengths();\r\n } else if (Array.isArray(curves)) {\r\n for (const data1 of curves)\r\n mySum += this.sumLengths(data1);\r\n }\r\n return mySum;\r\n }\r\n /** Recursively extend the range by each curve's range, allowing CurvePrimitive, CurveCollection, or array of such at any level. */\r\n public static extendRange(range: Range3d, curves: AnyCurve | AnyCurve[]): Range3d {\r\n if (Array.isArray(curves)) {\r\n for (const data1 of curves)\r\n this.extendRange(range, data1);\r\n } else {\r\n curves.extendRange(range);\r\n }\r\n return range;\r\n }\r\n /**\r\n * Construct a separate xy-offset for each input curve.\r\n * * For best offset results, the inputs should be parallel to the xy-plane.\r\n * @param curves input curve(s), z-coordinates ignored. Only [[ChainTypes]] are handled.\r\n * @param offset offset distance (positive to left of curve, negative to right)\r\n * @param result array to collect offset curves\r\n * @returns summed length of offset curves\r\n */\r\n public static appendXYOffsets(curves: AnyCurve | AnyCurve[] | undefined, offset: number, result: AnyCurve[]): number {\r\n let summedLengths = 0;\r\n if (curves instanceof CurvePrimitive) {\r\n const resultA = CurveChainWireOffsetContext.constructCurveXYOffset(Path.create(curves), offset);\r\n if (resultA) {\r\n summedLengths += this.sumLengths(resultA);\r\n result.push(resultA);\r\n }\r\n } else if (curves instanceof Loop || curves instanceof Path) {\r\n const resultA = CurveChainWireOffsetContext.constructCurveXYOffset(curves, offset);\r\n if (resultA) {\r\n summedLengths += this.sumLengths(resultA);\r\n result.push(resultA);\r\n }\r\n } else if (curves instanceof BagOfCurves) {\r\n for (const q of curves.children)\r\n summedLengths += this.appendXYOffsets(q, offset, result);\r\n } else if (Array.isArray(curves)) {\r\n for (const q of curves)\r\n summedLengths += this.appendXYOffsets(q, offset, result);\r\n }\r\n return summedLengths;\r\n }\r\n /**\r\n * Restructure curve fragments as Paths and Loops, and construct xy-offsets of the chains.\r\n * * If the inputs do not form Loop(s), the classification of offsets is suspect.\r\n * * For best offset results, the inputs should be parallel to the xy-plane.\r\n * * Chain formation is dependent upon input fragment order, as a greedy algorithm is employed.\r\n * @param fragments fragments to be chained and offset\r\n * @param offsetDistance offset distance, applied to both sides of each fragment to produce inside and outside xy-offset curves.\r\n * @param gapTolerance distance to be treated as \"effectively zero\" when joining head-to-tail\r\n * @returns object with named chains, insideOffsets, outsideOffsets\r\n */\r\n public static collectInsideAndOutsideXYOffsets(fragments: AnyCurve[], offsetDistance: number, gapTolerance: number): { insideOffsets: AnyCurve[], outsideOffsets: AnyCurve[], chains: ChainTypes } {\r\n const collector = new MultiChainCollector(gapTolerance);\r\n for (const s of fragments) {\r\n collector.captureCurve(s);\r\n }\r\n const chains = collector.grabResult(true);\r\n const myOffsetA: CurveCollection[] = [];\r\n const myOffsetB: CurveCollection[] = [];\r\n const offsetLengthA = CurveOps.appendXYOffsets(chains, offsetDistance, myOffsetA);\r\n const offsetLengthB = CurveOps.appendXYOffsets(chains, -offsetDistance, myOffsetB);\r\n if (offsetLengthA > offsetLengthB) {\r\n return { outsideOffsets: myOffsetA, insideOffsets: myOffsetB, chains };\r\n } else {\r\n return { insideOffsets: myOffsetA, outsideOffsets: myOffsetB, chains };\r\n }\r\n }\r\n /**\r\n * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).\r\n * * The construction will remove \"some\" local effects of features smaller than the offset distance, but will not detect self intersection among widely separated edges.\r\n * @param curves base curves.\r\n * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.\r\n */\r\n public static constructCurveXYOffset(curves: Path | Loop, offsetDistanceOrOptions: number | OffsetOptions): CurveCollection | undefined {\r\n return CurveChainWireOffsetContext.constructCurveXYOffset(curves, offsetDistanceOrOptions);\r\n }\r\n /**\r\n * Create the offset of a single curve primitive as viewed in the xy-plane (ignoring z).\r\n * @param curve primitive to offset\r\n * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object\r\n */\r\n public static createSingleOffsetPrimitiveXY(curve: CurvePrimitive, offsetDistanceOrOptions: number | OffsetOptions): CurvePrimitive | CurvePrimitive[] | undefined {\r\n return CurveChainWireOffsetContext.createSingleOffsetPrimitiveXY(curve, offsetDistanceOrOptions);\r\n }\r\n /**\r\n * Restructure curve fragments as Paths and Loops.\r\n * * Chain formation is dependent upon input fragment order, as a greedy algorithm is employed.\r\n * @param fragments fragments to be chained\r\n * @param gapTolerance distance to be treated as \"effectively zero\" when assembling fragments head-to-tail\r\n * @param planeTolerance tolerance for considering a closed chain to be planar. If undefined, only create Path. If defined, create Loops for closed chains within tolerance of a plane.\r\n * @returns chains, possibly wrapped in a [[BagOfCurves]].\r\n */\r\n public static collectChains(fragments: AnyCurve[], gapTolerance: number = Geometry.smallMetricDistance, planeTolerance: number | undefined = Geometry.smallMetricDistance): ChainTypes {\r\n const collector = new MultiChainCollector(gapTolerance, planeTolerance);\r\n for (const s of fragments) {\r\n collector.captureCurve(s);\r\n }\r\n return collector.grabResult(true);\r\n }\r\n /**\r\n * Restructure curve fragments as Paths and Loops, to be stroked and passed into the callback.\r\n * * Chain formation is dependent upon input fragment order, as a greedy algorithm is employed.\r\n * @param fragments fragments to be chained and stroked\r\n * @param announceChain callback to process each stroked Path and Loop\r\n * @param strokeOptions options for stroking the chains\r\n * @param gapTolerance distance to be treated as \"effectively zero\" when assembling fragments head-to-tail. Also used for removing duplicate points in the stroked chains.\r\n * @param planeTolerance tolerance for considering a closed chain to be planar. If undefined, only create Path. If defined, create Loops for closed chains within tolerance of a plane.\r\n */\r\n public static collectChainsAsLineString3d(fragments: AnyCurve[], announceChain: (chainPoints: LineString3d) => void, strokeOptions?: StrokeOptions, gapTolerance: number = Geometry.smallMetricDistance, planeTolerance: number | undefined = Geometry.smallMetricDistance) {\r\n const collector = new MultiChainCollector(gapTolerance, planeTolerance);\r\n for (const s of fragments) {\r\n collector.captureCurve(s);\r\n }\r\n collector.announceChainsAsLineString3d(announceChain, strokeOptions);\r\n }\r\n}\r\n"]}
@@ -1,28 +1,28 @@
1
- import { Clipper } from "../clipping/ClipUtils";
2
1
  import { StrokeCountMap } from "../curve/Query/StrokeCountMap";
3
- import { PlaneAltitudeEvaluator } from "../Geometry";
4
- import { IStrokeHandler } from "../geometry3d/GeometryHandler";
5
- import { Plane3dByOriginAndUnitNormal } from "../geometry3d/Plane3dByOriginAndUnitNormal";
6
- import { Plane3dByOriginAndVectors } from "../geometry3d/Plane3dByOriginAndVectors";
7
- import { Point3d, Vector3d } from "../geometry3d/Point3dVector3d";
8
- import { Range1d, Range3d } from "../geometry3d/Range";
2
+ import { type PlaneAltitudeEvaluator } from "../Geometry";
3
+ import { Point3d, type Vector3d } from "../geometry3d/Point3dVector3d";
4
+ import { type Range1d, Range3d } from "../geometry3d/Range";
9
5
  import { Ray3d } from "../geometry3d/Ray3d";
10
6
  import { Transform } from "../geometry3d/Transform";
11
- import { VariantCurveExtendParameter } from "./CurveExtendMode";
12
7
  import { CurveLocationDetail } from "./CurveLocationDetail";
13
8
  import { GeometryQuery } from "./GeometryQuery";
14
9
  import { LineString3d } from "./LineString3d";
15
- import { StrokeOptions } from "./StrokeOptions";
16
- import type { InterpolationCurve3d } from "../bspline/InterpolationCurve3d";
17
10
  import type { AkimaCurve3d } from "../bspline/AkimaCurve3d";
18
- import type { BSplineCurve3d } from "../bspline/BSplineCurve";
11
+ import type { Arc3d } from "./Arc3d";
19
12
  import type { BezierCurve3d } from "../bspline/BezierCurve3d";
13
+ import type { BSplineCurve3d } from "../bspline/BSplineCurve";
14
+ import type { Clipper } from "../clipping/ClipUtils";
20
15
  import type { CurveChainWithDistanceIndex } from "./CurveChainWithDistanceIndex";
21
16
  import type { DirectSpiral3d } from "./spiral/DirectSpiral3d";
22
17
  import type { IntegratedSpiral3d } from "./spiral/IntegratedSpiral3d";
23
- import type { Arc3d } from "./Arc3d";
18
+ import type { InterpolationCurve3d } from "../bspline/InterpolationCurve3d";
19
+ import type { IStrokeHandler } from "../geometry3d/GeometryHandler";
24
20
  import type { LineSegment3d } from "./LineSegment3d";
25
- import type { OffsetOptions } from "./internalContexts/PolygonOffsetContext";
21
+ import type { OffsetOptions } from "./OffsetOptions";
22
+ import type { Plane3dByOriginAndUnitNormal } from "../geometry3d/Plane3dByOriginAndUnitNormal";
23
+ import type { Plane3dByOriginAndVectors } from "../geometry3d/Plane3dByOriginAndVectors";
24
+ import type { StrokeOptions } from "./StrokeOptions";
25
+ import type { VariantCurveExtendParameter } from "./CurveExtendMode";
26
26
  /**
27
27
  * Describes the concrete type of a [[CurvePrimitive]]. Each type name maps to a specific subclass and can be used
28
28
  * for type-switching in conditional statements.
@@ -41,12 +41,19 @@ import type { OffsetOptions } from "./internalContexts/PolygonOffsetContext";
41
41
  */
42
42
  export type CurvePrimitiveType = "arc" | "lineSegment" | "lineString" | "bsplineCurve" | "bezierCurve" | "transitionSpiral" | "curveChainWithDistanceIndex" | "interpolationCurve" | "akimaCurve";
43
43
  /**
44
- * Union type for subclasses of [[CurvePrimitive]]. Specific subclasses can be discriminated at compile- or run-time using [[CurvePrimitive.curvePrimitiveType]].
44
+ * Union type for subclasses of [[CurvePrimitive]]. Specific subclasses can be discriminated at compile- or run-time
45
+ * using [[CurvePrimitive.curvePrimitiveType]].
45
46
  * @public
46
47
  */
47
48
  export type AnyCurvePrimitive = Arc3d | LineSegment3d | LineString3d | BSplineCurve3d | BezierCurve3d | DirectSpiral3d | IntegratedSpiral3d | CurveChainWithDistanceIndex | InterpolationCurve3d | AkimaCurve3d;
48
49
  /**
49
- * Function signature for callback which announces a pair of numbers, such as a fractional interval, along with a containing CurvePrimitive.
50
+ * Union type for a linear [[CurvePrimitive]].
51
+ * @public
52
+ */
53
+ export type LinearCurvePrimitive = LineSegment3d | LineString3d;
54
+ /**
55
+ * Function signature for callback which announces a pair of numbers, such as a fractional interval, along with a
56
+ * containing CurvePrimitive.
50
57
  * @public
51
58
  */
52
59
  export type AnnounceNumberNumberCurvePrimitive = (a0: number, a1: number, cp: CurvePrimitive) => void;
@@ -172,7 +179,7 @@ export declare abstract class CurvePrimitive extends GeometryQuery {
172
179
  curveLengthBetweenFractions(fraction0: number, fraction1: number): number;
173
180
  /**
174
181
  * Returns a (high accuracy) range of the curve between fractional positions
175
- * * Default implementation returns the range of the curve from clonePartialCurve
182
+ * * Default implementation returns the range of the curve from clonePartialCurve.
176
183
  */
177
184
  rangeBetweenFractions(fraction0: number, fraction1: number, transform?: Transform): Range3d;
178
185
  /**
@@ -192,6 +199,7 @@ export declare abstract class CurvePrimitive extends GeometryQuery {
192
199
  * @param fraction0 start fraction for evaluation
193
200
  * @param fraction1 end fraction for evaluation
194
201
  * @param count number of points to evaluate
202
+ * @param transform optional transform to be applied to the curve
195
203
  * @param extrapolationFactor if positive, evaluate again at interval midpoints and apply this fraction multiplier
196
204
  * to any increase in size.
197
205
  */
@@ -237,8 +245,8 @@ export declare abstract class CurvePrimitive extends GeometryQuery {
237
245
  * * `curveStartState` = `CurveSearchStatus.error`
238
246
  * @param startFraction fractional position where the move starts
239
247
  * @param signedDistance distance to move. Negative distance is backwards in the fraction space
240
- * @param allowExtension if true, all the move to go beyond the startPoint or endpoint of the curve. If false, do not
241
- * allow movement beyond the startPoint or endpoint
248
+ * @param allowExtension if true, allow the move to go beyond the startPoint or endpoint of the curve. If false,
249
+ * do not allow movement beyond the startPoint or endpoint
242
250
  * @param result optional result.
243
251
  * @returns A CurveLocationDetail annotated as above. Note that if the curve does not support the calculation, there is
244
252
  * still a result which contains the point at the input startFraction, with failure indicated in the `curveStartState`
@@ -1 +1 @@
1
- {"version":3,"file":"CurvePrimitive.d.ts","sourceRoot":"","sources":["../../../src/curve/CurvePrimitive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CurvePrimitive.d.ts","sourceRoot":"","sources":["../../../src/curve/CurvePrimitive.ts"],"names":[],"mappings":"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"}
@@ -147,7 +147,7 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
147
147
  }
148
148
  /**
149
149
  * Returns a (high accuracy) range of the curve between fractional positions
150
- * * Default implementation returns the range of the curve from clonePartialCurve
150
+ * * Default implementation returns the range of the curve from clonePartialCurve.
151
151
  */
152
152
  rangeBetweenFractions(fraction0, fraction1, transform) {
153
153
  return this.rangeBetweenFractionsByClone(fraction0, fraction1, transform);
@@ -176,6 +176,7 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
176
176
  * @param fraction0 start fraction for evaluation
177
177
  * @param fraction1 end fraction for evaluation
178
178
  * @param count number of points to evaluate
179
+ * @param transform optional transform to be applied to the curve
179
180
  * @param extrapolationFactor if positive, evaluate again at interval midpoints and apply this fraction multiplier
180
181
  * to any increase in size.
181
182
  */
@@ -263,8 +264,8 @@ class CurvePrimitive extends GeometryQuery_1.GeometryQuery {
263
264
  * * `curveStartState` = `CurveSearchStatus.error`
264
265
  * @param startFraction fractional position where the move starts
265
266
  * @param signedDistance distance to move. Negative distance is backwards in the fraction space
266
- * @param allowExtension if true, all the move to go beyond the startPoint or endpoint of the curve. If false, do not
267
- * allow movement beyond the startPoint or endpoint
267
+ * @param allowExtension if true, allow the move to go beyond the startPoint or endpoint of the curve. If false,
268
+ * do not allow movement beyond the startPoint or endpoint
268
269
  * @param result optional result.
269
270
  * @returns A CurveLocationDetail annotated as above. Note that if the curve does not support the calculation, there is
270
271
  * still a result which contains the point at the input startFraction, with failure indicated in the `curveStartState`