@itwin/core-geometry 4.1.0-dev.7 → 4.1.0-dev.71

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 (614) 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 +3 -1
  56. package/lib/cjs/core-geometry.d.ts.map +1 -1
  57. package/lib/cjs/core-geometry.js +3 -1
  58. package/lib/cjs/core-geometry.js.map +1 -1
  59. package/lib/cjs/curve/Arc3d.d.ts +2 -1
  60. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  61. package/lib/cjs/curve/Arc3d.js +3 -2
  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.map +1 -1
  72. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  73. package/lib/cjs/curve/CurveFactory.d.ts +67 -3
  74. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  75. package/lib/cjs/curve/CurveFactory.js +75 -7
  76. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  77. package/lib/cjs/curve/CurveLocationDetail.d.ts +6 -6
  78. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  79. package/lib/cjs/curve/CurveLocationDetail.js +9 -7
  80. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  81. package/lib/cjs/curve/CurveOps.d.ts +77 -0
  82. package/lib/cjs/curve/CurveOps.d.ts.map +1 -0
  83. package/lib/cjs/curve/CurveOps.js +160 -0
  84. package/lib/cjs/curve/CurveOps.js.map +1 -0
  85. package/lib/cjs/curve/CurvePrimitive.d.ts +21 -18
  86. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  87. package/lib/cjs/curve/CurvePrimitive.js +4 -3
  88. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  89. package/lib/cjs/curve/GeometryQuery.d.ts +2 -2
  90. package/lib/cjs/curve/GeometryQuery.d.ts.map +1 -1
  91. package/lib/cjs/curve/GeometryQuery.js +2 -2
  92. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  93. package/lib/cjs/curve/LineSegment3d.d.ts +7 -5
  94. package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
  95. package/lib/cjs/curve/LineSegment3d.js +6 -6
  96. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  97. package/lib/cjs/curve/LineString3d.d.ts +2 -2
  98. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  99. package/lib/cjs/curve/LineString3d.js +3 -3
  100. package/lib/cjs/curve/LineString3d.js.map +1 -1
  101. package/lib/cjs/curve/Loop.d.ts +7 -5
  102. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  103. package/lib/cjs/curve/Loop.js +18 -6
  104. package/lib/cjs/curve/Loop.js.map +1 -1
  105. package/lib/cjs/curve/OffsetOptions.d.ts +97 -0
  106. package/lib/cjs/curve/OffsetOptions.d.ts.map +1 -0
  107. package/lib/cjs/curve/OffsetOptions.js +166 -0
  108. package/lib/cjs/curve/OffsetOptions.js.map +1 -0
  109. package/lib/cjs/curve/ParityRegion.d.ts +7 -7
  110. package/lib/cjs/curve/ParityRegion.d.ts.map +1 -1
  111. package/lib/cjs/curve/ParityRegion.js +19 -11
  112. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  113. package/lib/cjs/curve/Path.d.ts +6 -6
  114. package/lib/cjs/curve/Path.d.ts.map +1 -1
  115. package/lib/cjs/curve/Path.js +15 -9
  116. package/lib/cjs/curve/Path.js.map +1 -1
  117. package/lib/cjs/curve/ProxyCurve.d.ts +5 -7
  118. package/lib/cjs/curve/ProxyCurve.d.ts.map +1 -1
  119. package/lib/cjs/curve/ProxyCurve.js +7 -7
  120. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  121. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  122. package/lib/cjs/curve/RegionOps.d.ts +76 -56
  123. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  124. package/lib/cjs/curve/RegionOps.js +83 -60
  125. package/lib/cjs/curve/RegionOps.js.map +1 -1
  126. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +2 -2
  127. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  128. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
  129. package/lib/cjs/curve/StrokeOptions.js +6 -2
  130. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  131. package/lib/cjs/curve/UnionRegion.d.ts +6 -5
  132. package/lib/cjs/curve/UnionRegion.d.ts.map +1 -1
  133. package/lib/cjs/curve/UnionRegion.js +17 -8
  134. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  135. package/lib/cjs/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
  136. package/lib/cjs/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
  137. package/lib/cjs/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
  138. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -0
  139. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts +2 -1
  140. package/lib/cjs/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  141. package/lib/cjs/curve/internalContexts/GapSearchContext.js +6 -2
  142. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  143. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +59 -70
  144. package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  145. package/lib/cjs/curve/internalContexts/MultiChainCollector.js +130 -220
  146. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  147. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  148. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  149. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  150. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  151. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
  152. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  153. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +89 -178
  154. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  155. package/lib/cjs/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  156. package/lib/cjs/curve/internalContexts/SumLengthsContext.js +4 -1
  157. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  158. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +1 -1
  159. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  160. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts +1 -1
  161. package/lib/cjs/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  162. package/lib/cjs/curve/spiral/TransitionSpiral3d.js +2 -2
  163. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  164. package/lib/cjs/curve/spiral/XYCurveEvaluator.js +1 -1
  165. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  166. package/lib/cjs/geometry3d/Angle.d.ts +9 -0
  167. package/lib/cjs/geometry3d/Angle.d.ts.map +1 -1
  168. package/lib/cjs/geometry3d/Angle.js +13 -0
  169. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  170. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  171. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  172. package/lib/cjs/geometry3d/BilinearPatch.d.ts +43 -48
  173. package/lib/cjs/geometry3d/BilinearPatch.d.ts.map +1 -1
  174. package/lib/cjs/geometry3d/BilinearPatch.js +51 -55
  175. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  176. package/lib/cjs/geometry3d/Ellipsoid.d.ts +1 -1
  177. package/lib/cjs/geometry3d/Ellipsoid.js +1 -1
  178. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  179. package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -1
  180. package/lib/cjs/geometry3d/FrameBuilder.js +13 -11
  181. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  182. package/lib/cjs/geometry3d/GeometryHandler.d.ts +5 -5
  183. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  184. package/lib/cjs/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
  185. package/lib/cjs/geometry3d/GrowableBlockedArray.js +1 -1
  186. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  187. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  188. package/lib/cjs/geometry3d/GrowableFloat64Array.js +1 -1
  189. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  190. package/lib/cjs/geometry3d/Matrix3d.d.ts +18 -0
  191. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  192. package/lib/cjs/geometry3d/Matrix3d.js +32 -5
  193. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  194. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  195. package/lib/cjs/geometry3d/Plane3d.d.ts +41 -32
  196. package/lib/cjs/geometry3d/Plane3d.d.ts.map +1 -1
  197. package/lib/cjs/geometry3d/Plane3d.js +11 -8
  198. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  199. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
  200. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  201. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
  202. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  203. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  204. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  205. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js +37 -32
  206. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  207. package/lib/cjs/geometry3d/Point2dVector2d.d.ts +8 -9
  208. package/lib/cjs/geometry3d/Point2dVector2d.d.ts.map +1 -1
  209. package/lib/cjs/geometry3d/Point2dVector2d.js +9 -10
  210. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  211. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  212. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +12 -4
  213. package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
  214. package/lib/cjs/geometry3d/Point3dVector3d.js +18 -5
  215. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  216. package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
  217. package/lib/cjs/geometry3d/PointHelpers.js +5 -5
  218. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  219. package/lib/cjs/geometry3d/PolygonOps.d.ts +1 -2
  220. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  221. package/lib/cjs/geometry3d/PolygonOps.js +2 -3
  222. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  223. package/lib/cjs/geometry3d/PolylineOps.d.ts +16 -1
  224. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  225. package/lib/cjs/geometry3d/PolylineOps.js +55 -0
  226. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  227. package/lib/cjs/geometry3d/Range.d.ts +134 -94
  228. package/lib/cjs/geometry3d/Range.d.ts.map +1 -1
  229. package/lib/cjs/geometry3d/Range.js +297 -145
  230. package/lib/cjs/geometry3d/Range.js.map +1 -1
  231. package/lib/cjs/geometry3d/Ray2d.d.ts +69 -0
  232. package/lib/cjs/geometry3d/Ray2d.d.ts.map +1 -0
  233. package/lib/cjs/geometry3d/Ray2d.js +146 -0
  234. package/lib/cjs/geometry3d/Ray2d.js.map +1 -0
  235. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  236. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  237. package/lib/cjs/geometry3d/Transform.d.ts +10 -3
  238. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  239. package/lib/cjs/geometry3d/Transform.js +18 -6
  240. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  241. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  242. package/lib/cjs/numerics/ConvexPolygon2d.d.ts +7 -49
  243. package/lib/cjs/numerics/ConvexPolygon2d.d.ts.map +1 -1
  244. package/lib/cjs/numerics/ConvexPolygon2d.js +16 -107
  245. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  246. package/lib/cjs/numerics/Newton.js.map +1 -1
  247. package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
  248. package/lib/cjs/numerics/Polynomials.js +0 -2
  249. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  250. package/lib/cjs/numerics/Quadrature.js +5 -5
  251. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  252. package/lib/cjs/polyface/IndexedEdgeMatcher.js +1 -1
  253. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  254. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  255. package/lib/cjs/polyface/PolyfaceBuilder.js +2 -2
  256. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  257. package/lib/cjs/polyface/PolyfaceQuery.d.ts +73 -12
  258. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  259. package/lib/cjs/polyface/PolyfaceQuery.js +117 -31
  260. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  261. package/lib/cjs/polyface/TaggedNumericData.js +1 -1
  262. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  263. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
  264. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  265. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  266. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts +11 -0
  267. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  268. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +79 -1
  269. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  270. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  271. package/lib/cjs/serialization/GeometrySamples.d.ts +11 -0
  272. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  273. package/lib/cjs/serialization/GeometrySamples.js +30 -0
  274. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  275. package/lib/cjs/serialization/IModelJsonSchema.d.ts +2 -7
  276. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  277. package/lib/cjs/serialization/IModelJsonSchema.js +2 -7
  278. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  279. package/lib/cjs/solid/LinearSweep.d.ts +2 -1
  280. package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
  281. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  282. package/lib/cjs/solid/RotationalSweep.d.ts +2 -1
  283. package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
  284. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  285. package/lib/cjs/solid/RuledSweep.d.ts +2 -1
  286. package/lib/cjs/solid/RuledSweep.d.ts.map +1 -1
  287. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  288. package/lib/cjs/solid/SweepContour.d.ts +2 -2
  289. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  290. package/lib/cjs/solid/SweepContour.js +9 -0
  291. package/lib/cjs/solid/SweepContour.js.map +1 -1
  292. package/lib/cjs/topology/ChainMerge.js +1 -1
  293. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  294. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  295. package/lib/cjs/topology/HalfEdgeGraphSearch.js +1 -1
  296. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  297. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js +1 -1
  298. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  299. package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  300. package/lib/cjs/topology/HalfEdgePriorityQueue.js +1 -1
  301. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  302. package/lib/cjs/topology/RegularizeFace.js +3 -3
  303. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  304. package/lib/cjs/topology/Triangulation.js +1 -1
  305. package/lib/cjs/topology/Triangulation.js.map +1 -1
  306. package/lib/esm/Geometry.js.map +1 -1
  307. package/lib/esm/bspline/BSplineCurve.d.ts +1 -1
  308. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  309. package/lib/esm/bspline/BSplineCurve.js +1 -1
  310. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  311. package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
  312. package/lib/esm/bspline/BSplineSurface.js +1 -1
  313. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  314. package/lib/esm/bspline/BezierCurveBase.d.ts +1 -1
  315. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
  316. package/lib/esm/bspline/BezierCurveBase.js +1 -1
  317. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  318. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  319. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts +15 -17
  320. package/lib/esm/clipping/AlternatingConvexClipTree.d.ts.map +1 -1
  321. package/lib/esm/clipping/AlternatingConvexClipTree.js +24 -20
  322. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  323. package/lib/esm/clipping/BooleanClipFactory.d.ts +28 -28
  324. package/lib/esm/clipping/BooleanClipFactory.d.ts.map +1 -1
  325. package/lib/esm/clipping/BooleanClipFactory.js +28 -28
  326. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  327. package/lib/esm/clipping/BooleanClipNode.d.ts +11 -11
  328. package/lib/esm/clipping/BooleanClipNode.d.ts.map +1 -1
  329. package/lib/esm/clipping/BooleanClipNode.js +11 -11
  330. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  331. package/lib/esm/clipping/ClipPlane.d.ts +73 -76
  332. package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
  333. package/lib/esm/clipping/ClipPlane.js +105 -86
  334. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  335. package/lib/esm/clipping/ClipPrimitive.d.ts +78 -47
  336. package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -1
  337. package/lib/esm/clipping/ClipPrimitive.js +112 -54
  338. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  339. package/lib/esm/clipping/ClipUtils.d.ts +54 -44
  340. package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
  341. package/lib/esm/clipping/ClipUtils.js +33 -29
  342. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  343. package/lib/esm/clipping/ClipVector.d.ts +39 -25
  344. package/lib/esm/clipping/ClipVector.d.ts.map +1 -1
  345. package/lib/esm/clipping/ClipVector.js +35 -23
  346. package/lib/esm/clipping/ClipVector.js.map +1 -1
  347. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +61 -38
  348. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  349. package/lib/esm/clipping/ConvexClipPlaneSet.js +64 -41
  350. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  351. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts +49 -30
  352. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.d.ts.map +1 -1
  353. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js +50 -30
  354. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  355. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +2 -2
  356. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
  357. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +2 -2
  358. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  359. package/lib/esm/core-geometry.d.ts +3 -1
  360. package/lib/esm/core-geometry.d.ts.map +1 -1
  361. package/lib/esm/core-geometry.js +3 -1
  362. package/lib/esm/core-geometry.js.map +1 -1
  363. package/lib/esm/curve/Arc3d.d.ts +2 -1
  364. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  365. package/lib/esm/curve/Arc3d.js +2 -1
  366. package/lib/esm/curve/Arc3d.js.map +1 -1
  367. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +62 -42
  368. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  369. package/lib/esm/curve/CurveChainWithDistanceIndex.js +70 -47
  370. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  371. package/lib/esm/curve/CurveCollection.d.ts +36 -26
  372. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  373. package/lib/esm/curve/CurveCollection.js +46 -39
  374. package/lib/esm/curve/CurveCollection.js.map +1 -1
  375. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  376. package/lib/esm/curve/CurveCurve.js.map +1 -1
  377. package/lib/esm/curve/CurveFactory.d.ts +67 -3
  378. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  379. package/lib/esm/curve/CurveFactory.js +74 -6
  380. package/lib/esm/curve/CurveFactory.js.map +1 -1
  381. package/lib/esm/curve/CurveLocationDetail.d.ts +6 -6
  382. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  383. package/lib/esm/curve/CurveLocationDetail.js +9 -7
  384. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  385. package/lib/esm/curve/CurveOps.d.ts +77 -0
  386. package/lib/esm/curve/CurveOps.d.ts.map +1 -0
  387. package/lib/esm/curve/CurveOps.js +156 -0
  388. package/lib/esm/curve/CurveOps.js.map +1 -0
  389. package/lib/esm/curve/CurvePrimitive.d.ts +21 -18
  390. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  391. package/lib/esm/curve/CurvePrimitive.js +4 -3
  392. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  393. package/lib/esm/curve/GeometryQuery.d.ts +2 -2
  394. package/lib/esm/curve/GeometryQuery.d.ts.map +1 -1
  395. package/lib/esm/curve/GeometryQuery.js +2 -2
  396. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  397. package/lib/esm/curve/LineSegment3d.d.ts +7 -5
  398. package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
  399. package/lib/esm/curve/LineSegment3d.js +5 -5
  400. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  401. package/lib/esm/curve/LineString3d.d.ts +2 -2
  402. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  403. package/lib/esm/curve/LineString3d.js +2 -2
  404. package/lib/esm/curve/LineString3d.js.map +1 -1
  405. package/lib/esm/curve/Loop.d.ts +7 -5
  406. package/lib/esm/curve/Loop.d.ts.map +1 -1
  407. package/lib/esm/curve/Loop.js +18 -6
  408. package/lib/esm/curve/Loop.js.map +1 -1
  409. package/lib/esm/curve/OffsetOptions.d.ts +97 -0
  410. package/lib/esm/curve/OffsetOptions.d.ts.map +1 -0
  411. package/lib/esm/curve/OffsetOptions.js +161 -0
  412. package/lib/esm/curve/OffsetOptions.js.map +1 -0
  413. package/lib/esm/curve/ParityRegion.d.ts +7 -7
  414. package/lib/esm/curve/ParityRegion.d.ts.map +1 -1
  415. package/lib/esm/curve/ParityRegion.js +19 -11
  416. package/lib/esm/curve/ParityRegion.js.map +1 -1
  417. package/lib/esm/curve/Path.d.ts +6 -6
  418. package/lib/esm/curve/Path.d.ts.map +1 -1
  419. package/lib/esm/curve/Path.js +15 -9
  420. package/lib/esm/curve/Path.js.map +1 -1
  421. package/lib/esm/curve/ProxyCurve.d.ts +5 -7
  422. package/lib/esm/curve/ProxyCurve.d.ts.map +1 -1
  423. package/lib/esm/curve/ProxyCurve.js +7 -7
  424. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  425. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  426. package/lib/esm/curve/RegionOps.d.ts +76 -56
  427. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  428. package/lib/esm/curve/RegionOps.js +84 -61
  429. package/lib/esm/curve/RegionOps.js.map +1 -1
  430. package/lib/esm/curve/RegionOpsClassificationSweeps.js +2 -2
  431. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  432. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
  433. package/lib/esm/curve/StrokeOptions.js +6 -2
  434. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  435. package/lib/esm/curve/UnionRegion.d.ts +6 -5
  436. package/lib/esm/curve/UnionRegion.d.ts.map +1 -1
  437. package/lib/esm/curve/UnionRegion.js +17 -8
  438. package/lib/esm/curve/UnionRegion.js.map +1 -1
  439. package/lib/esm/curve/{ChainCollectorContext.d.ts → internalContexts/ChainCollectorContext.d.ts} +4 -4
  440. package/lib/esm/curve/internalContexts/ChainCollectorContext.d.ts.map +1 -0
  441. package/lib/esm/curve/{ChainCollectorContext.js → internalContexts/ChainCollectorContext.js} +4 -4
  442. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -0
  443. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts +2 -1
  444. package/lib/esm/curve/internalContexts/GapSearchContext.d.ts.map +1 -1
  445. package/lib/esm/curve/internalContexts/GapSearchContext.js +6 -2
  446. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  447. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +59 -70
  448. package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
  449. package/lib/esm/curve/internalContexts/MultiChainCollector.js +129 -218
  450. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  451. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts +14 -8
  452. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.d.ts.map +1 -1
  453. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js +14 -8
  454. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  455. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +23 -95
  456. package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
  457. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +86 -173
  458. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  459. package/lib/esm/curve/internalContexts/SumLengthsContext.d.ts.map +1 -1
  460. package/lib/esm/curve/internalContexts/SumLengthsContext.js +4 -1
  461. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  462. package/lib/esm/curve/spiral/IntegratedSpiral3d.js +1 -1
  463. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  464. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts +1 -1
  465. package/lib/esm/curve/spiral/TransitionSpiral3d.d.ts.map +1 -1
  466. package/lib/esm/curve/spiral/TransitionSpiral3d.js +1 -1
  467. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  468. package/lib/esm/curve/spiral/XYCurveEvaluator.js +1 -1
  469. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  470. package/lib/esm/geometry3d/Angle.d.ts +9 -0
  471. package/lib/esm/geometry3d/Angle.d.ts.map +1 -1
  472. package/lib/esm/geometry3d/Angle.js +13 -0
  473. package/lib/esm/geometry3d/Angle.js.map +1 -1
  474. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  475. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  476. package/lib/esm/geometry3d/BilinearPatch.d.ts +43 -48
  477. package/lib/esm/geometry3d/BilinearPatch.d.ts.map +1 -1
  478. package/lib/esm/geometry3d/BilinearPatch.js +51 -55
  479. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  480. package/lib/esm/geometry3d/Ellipsoid.d.ts +1 -1
  481. package/lib/esm/geometry3d/Ellipsoid.js +1 -1
  482. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  483. package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -1
  484. package/lib/esm/geometry3d/FrameBuilder.js +13 -11
  485. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  486. package/lib/esm/geometry3d/GeometryHandler.d.ts +5 -5
  487. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  488. package/lib/esm/geometry3d/GrowableBlockedArray.d.ts.map +1 -1
  489. package/lib/esm/geometry3d/GrowableBlockedArray.js +1 -1
  490. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  491. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  492. package/lib/esm/geometry3d/GrowableFloat64Array.js +1 -1
  493. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  494. package/lib/esm/geometry3d/Matrix3d.d.ts +18 -0
  495. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  496. package/lib/esm/geometry3d/Matrix3d.js +32 -5
  497. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  498. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  499. package/lib/esm/geometry3d/Plane3d.d.ts +41 -32
  500. package/lib/esm/geometry3d/Plane3d.d.ts.map +1 -1
  501. package/lib/esm/geometry3d/Plane3d.js +11 -8
  502. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  503. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts +37 -34
  504. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.d.ts.map +1 -1
  505. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +65 -43
  506. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  507. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts +36 -32
  508. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.d.ts.map +1 -1
  509. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js +37 -32
  510. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  511. package/lib/esm/geometry3d/Point2dVector2d.d.ts +8 -9
  512. package/lib/esm/geometry3d/Point2dVector2d.d.ts.map +1 -1
  513. package/lib/esm/geometry3d/Point2dVector2d.js +9 -10
  514. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  515. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  516. package/lib/esm/geometry3d/Point3dVector3d.d.ts +12 -4
  517. package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
  518. package/lib/esm/geometry3d/Point3dVector3d.js +18 -5
  519. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  520. package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
  521. package/lib/esm/geometry3d/PointHelpers.js +5 -5
  522. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  523. package/lib/esm/geometry3d/PolygonOps.d.ts +1 -2
  524. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  525. package/lib/esm/geometry3d/PolygonOps.js +2 -3
  526. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  527. package/lib/esm/geometry3d/PolylineOps.d.ts +16 -1
  528. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  529. package/lib/esm/geometry3d/PolylineOps.js +56 -1
  530. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  531. package/lib/esm/geometry3d/Range.d.ts +134 -94
  532. package/lib/esm/geometry3d/Range.d.ts.map +1 -1
  533. package/lib/esm/geometry3d/Range.js +297 -145
  534. package/lib/esm/geometry3d/Range.js.map +1 -1
  535. package/lib/esm/geometry3d/Ray2d.d.ts +69 -0
  536. package/lib/esm/geometry3d/Ray2d.d.ts.map +1 -0
  537. package/lib/esm/geometry3d/Ray2d.js +142 -0
  538. package/lib/esm/geometry3d/Ray2d.js.map +1 -0
  539. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  540. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  541. package/lib/esm/geometry3d/Transform.d.ts +10 -3
  542. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  543. package/lib/esm/geometry3d/Transform.js +18 -6
  544. package/lib/esm/geometry3d/Transform.js.map +1 -1
  545. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  546. package/lib/esm/numerics/ConvexPolygon2d.d.ts +7 -49
  547. package/lib/esm/numerics/ConvexPolygon2d.d.ts.map +1 -1
  548. package/lib/esm/numerics/ConvexPolygon2d.js +14 -104
  549. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  550. package/lib/esm/numerics/Newton.js.map +1 -1
  551. package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
  552. package/lib/esm/numerics/Polynomials.js +0 -2
  553. package/lib/esm/numerics/Polynomials.js.map +1 -1
  554. package/lib/esm/numerics/Quadrature.js +5 -5
  555. package/lib/esm/numerics/Quadrature.js.map +1 -1
  556. package/lib/esm/polyface/IndexedEdgeMatcher.js +1 -1
  557. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  558. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  559. package/lib/esm/polyface/PolyfaceBuilder.js +2 -2
  560. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  561. package/lib/esm/polyface/PolyfaceQuery.d.ts +73 -12
  562. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  563. package/lib/esm/polyface/PolyfaceQuery.js +117 -32
  564. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  565. package/lib/esm/polyface/TaggedNumericData.js +1 -1
  566. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  567. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +2 -2
  568. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  569. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  570. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts +11 -0
  571. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  572. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +78 -1
  573. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  574. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  575. package/lib/esm/serialization/GeometrySamples.d.ts +11 -0
  576. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  577. package/lib/esm/serialization/GeometrySamples.js +30 -0
  578. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  579. package/lib/esm/serialization/IModelJsonSchema.d.ts +2 -7
  580. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  581. package/lib/esm/serialization/IModelJsonSchema.js +2 -7
  582. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  583. package/lib/esm/solid/LinearSweep.d.ts +2 -1
  584. package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
  585. package/lib/esm/solid/LinearSweep.js.map +1 -1
  586. package/lib/esm/solid/RotationalSweep.d.ts +2 -1
  587. package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
  588. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  589. package/lib/esm/solid/RuledSweep.d.ts +2 -1
  590. package/lib/esm/solid/RuledSweep.d.ts.map +1 -1
  591. package/lib/esm/solid/RuledSweep.js.map +1 -1
  592. package/lib/esm/solid/SweepContour.d.ts +2 -2
  593. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  594. package/lib/esm/solid/SweepContour.js +9 -0
  595. package/lib/esm/solid/SweepContour.js.map +1 -1
  596. package/lib/esm/topology/ChainMerge.js +1 -1
  597. package/lib/esm/topology/ChainMerge.js.map +1 -1
  598. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  599. package/lib/esm/topology/HalfEdgeGraphSearch.js +1 -1
  600. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  601. package/lib/esm/topology/HalfEdgeGraphSpineContext.js +1 -1
  602. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  603. package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  604. package/lib/esm/topology/HalfEdgePriorityQueue.js +1 -1
  605. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  606. package/lib/esm/topology/RegularizeFace.js +3 -3
  607. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  608. package/lib/esm/topology/Triangulation.js +1 -1
  609. package/lib/esm/topology/Triangulation.js.map +1 -1
  610. package/package.json +6 -17
  611. package/lib/cjs/curve/ChainCollectorContext.d.ts.map +0 -1
  612. package/lib/cjs/curve/ChainCollectorContext.js.map +0 -1
  613. package/lib/esm/curve/ChainCollectorContext.d.ts.map +0 -1
  614. package/lib/esm/curve/ChainCollectorContext.js.map +0 -1
@@ -37,23 +37,29 @@ export declare class PlaneAltitudeRangeContext extends RecurseToCurvesGeometryHa
37
37
  private _workPoint?;
38
38
  handleArc3d(g: Arc3d): void;
39
39
  private static findExtremesInDirection;
40
- /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
41
- * and return points at min and max altitude, packed into a `LineSegment3d`.
40
+ /**
41
+ * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and
42
+ * return points at min and max altitude, packed into a `LineSegment3d`.
42
43
  * @param geometry geometry to project
43
- * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
44
+ * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with
45
+ * zero origin.
44
46
  * @param lowHigh optional receiver for output
45
47
  */
46
48
  static findExtremePointsInDirection(geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: LineSegment3d): LineSegment3d | undefined;
47
- /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
48
- * and return the min and max altitudes, packed into a Range1d.
49
+ /**
50
+ * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and return
51
+ * the min and max altitudes, packed into a Range1d.
49
52
  * @param geometry geometry to project
50
- * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
53
+ * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with
54
+ * zero origin.
51
55
  * @param lowHigh optional receiver for output
52
56
  */
53
57
  static findExtremeAltitudesInDirection(geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: Range1d): Range1d | undefined;
54
- /** Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
58
+ /**
59
+ * Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
55
60
  * @param geometry geometry to project
56
- * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
61
+ * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with
62
+ * zero origin.
57
63
  * @param lowHigh optional receiver for output
58
64
  */
59
65
  static findExtremeFractionsAlongDirection(geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: Range1d): Range1d | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"PlaneAltitudeRangeContext.d.ts","sourceRoot":"","sources":["../../../../src/curve/internalContexts/PlaneAltitudeRangeContext.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAY,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,8BAA8B;IACpE,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,OAAO;IAOA,UAAU;IAIV,aAAa,CAAC,KAAK,EAAE,OAAO;IAQ5B,cAAc,CAAC,MAAM,EAAE,gBAAgB;WAUhC,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,yBAAyB;IAKrE,mBAAmB,CAAC,OAAO,EAAE,aAAa;IAK1C,kBAAkB,CAAC,UAAU,EAAE,YAAY;IAI3D,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,iBAAiB;IAOT,oBAAoB,CAAC,MAAM,EAAE,cAAc;IAO3C,qBAAqB,CAAC,MAAM,EAAE,eAAe;IAQ7D,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IACrD,OAAO,CAAC,UAAU,CAAC,CAAU;IACb,WAAW,CAAC,CAAC,EAAE,KAAK;IAYpC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAkBtC;;;;;MAKE;WACY,4BAA4B,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS;IAMnL;;;;;MAKE;WACY,+BAA+B,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAM1K;;;;OAIG;WACW,kCAAkC,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;CAa9K"}
1
+ {"version":3,"file":"PlaneAltitudeRangeContext.d.ts","sourceRoot":"","sources":["../../../../src/curve/internalContexts/PlaneAltitudeRangeContext.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAY,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,8BAA8B;IACpE,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,OAAO;IAOA,UAAU;IAIV,aAAa,CAAC,KAAK,EAAE,OAAO;IAQ5B,cAAc,CAAC,MAAM,EAAE,gBAAgB;WAUhC,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,yBAAyB;IAKrE,mBAAmB,CAAC,OAAO,EAAE,aAAa;IAK1C,kBAAkB,CAAC,UAAU,EAAE,YAAY;IAI3D,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,OAAO,CAAC,iBAAiB;IAQT,oBAAoB,CAAC,MAAM,EAAE,cAAc;IAQ3C,qBAAqB,CAAC,MAAM,EAAE,eAAe;IAQ7D,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IAErD,OAAO,CAAC,UAAU,CAAC,CAAU;IAEb,WAAW,CAAC,CAAC,EAAE,KAAK;IAYpC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAoBtC;;;;;;;MAOE;WACY,4BAA4B,CACxC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,aAAa,GAC3G,aAAa,GAAG,SAAS;IAO5B;;;;;;;MAOE;WACY,+BAA+B,CAC3C,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GACrG,OAAO,GAAG,SAAS;IAOtB;;;;;;OAMG;WACW,kCAAkC,CAC9C,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GACrG,OAAO,GAAG,SAAS;CAavB"}
@@ -110,10 +110,12 @@ class PlaneAltitudeRangeContext extends GeometryHandler_1.RecurseToCurvesGeometr
110
110
  }
111
111
  return undefined;
112
112
  }
113
- /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
114
- * and return points at min and max altitude, packed into a `LineSegment3d`.
113
+ /**
114
+ * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and
115
+ * return points at min and max altitude, packed into a `LineSegment3d`.
115
116
  * @param geometry geometry to project
116
- * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
117
+ * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with
118
+ * zero origin.
117
119
  * @param lowHigh optional receiver for output
118
120
  */
119
121
  static findExtremePointsInDirection(geometry, direction, lowHigh) {
@@ -122,10 +124,12 @@ class PlaneAltitudeRangeContext extends GeometryHandler_1.RecurseToCurvesGeometr
122
124
  return LineSegment3d_1.LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);
123
125
  return undefined;
124
126
  }
125
- /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
126
- * and return the min and max altitudes, packed into a Range1d.
127
+ /**
128
+ * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and return
129
+ * the min and max altitudes, packed into a Range1d.
127
130
  * @param geometry geometry to project
128
- * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
131
+ * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with
132
+ * zero origin.
129
133
  * @param lowHigh optional receiver for output
130
134
  */
131
135
  static findExtremeAltitudesInDirection(geometry, direction, lowHigh) {
@@ -134,9 +138,11 @@ class PlaneAltitudeRangeContext extends GeometryHandler_1.RecurseToCurvesGeometr
134
138
  return Range_1.Range1d.createFrom(context.range, lowHigh);
135
139
  return undefined;
136
140
  }
137
- /** Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
141
+ /**
142
+ * Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
138
143
  * @param geometry geometry to project
139
- * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
144
+ * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with
145
+ * zero origin.
140
146
  * @param lowHigh optional receiver for output
141
147
  */
142
148
  static findExtremeFractionsAlongDirection(geometry, direction, lowHigh) {
@@ -1 +1 @@
1
- {"version":3,"file":"PlaneAltitudeRangeContext.js","sourceRoot":"","sources":["../../../../src/curve/internalContexts/PlaneAltitudeRangeContext.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 { BSplineCurve3d } from \"../../bspline/BSplineCurve\";\r\nimport { BSplineCurve3dH } from \"../../bspline/BSplineCurve3dH\";\r\nimport { Geometry, PlaneAltitudeEvaluator } from \"../../Geometry\";\r\nimport { Angle } from \"../../geometry3d/Angle\";\r\nimport { RecurseToCurvesGeometryHandler } from \"../../geometry3d/GeometryHandler\";\r\nimport { GrowableXYZArray } from \"../../geometry3d/GrowableXYZArray\";\r\nimport { Plane3dByOriginAndUnitNormal } from \"../../geometry3d/Plane3dByOriginAndUnitNormal\";\r\nimport { Point3d, Vector3d } from \"../../geometry3d/Point3dVector3d\";\r\nimport { Range1d } from \"../../geometry3d/Range\";\r\nimport { Ray3d } from \"../../geometry3d/Ray3d\";\r\nimport { SineCosinePolynomial } from \"../../numerics/Polynomials\";\r\nimport { Arc3d } from \"../Arc3d\";\r\nimport { GeometryQuery } from \"../GeometryQuery\";\r\nimport { LineSegment3d } from \"../LineSegment3d\";\r\nimport { LineString3d } from \"../LineString3d\";\r\nimport { StrokeOptions } from \"../StrokeOptions\";\r\n\r\n/**\r\n * Accumulator context for searching for extrema of geometry along a plane.\r\n * @internal\r\n */\r\nexport class PlaneAltitudeRangeContext extends RecurseToCurvesGeometryHandler {\r\n public plane: PlaneAltitudeEvaluator;\r\n public range: Range1d;\r\n public lowPoint: Point3d | undefined;\r\n public highPoint: Point3d | undefined;\r\n private constructor(plane: PlaneAltitudeEvaluator) {\r\n super();\r\n this.plane = plane;\r\n this.range = Range1d.createNull();\r\n this.resetRange();\r\n }\r\n\r\n public resetRange() {\r\n this.range.setNull();\r\n }\r\n\r\n public announcePoint(point: Point3d) {\r\n const h = this.plane.altitude(point);\r\n if (this.range.extendLow(h))\r\n this.lowPoint = point.clone(this.lowPoint);\r\n if (this.range.extendHigh(h))\r\n this.highPoint = point.clone(this.highPoint);\r\n }\r\n\r\n public announcePoints(points: GrowableXYZArray) {\r\n for (let i = 0; i < points.length; i++) {\r\n const h = points.evaluateUncheckedIndexPlaneAltitude(i, this.plane);\r\n if (this.range.extendLow(h))\r\n this.lowPoint = points.getPoint3dAtUncheckedPointIndex(i, this.lowPoint);\r\n if (this.range.extendHigh(h))\r\n this.highPoint = points.getPoint3dAtUncheckedPointIndex(i, this.highPoint);\r\n }\r\n }\r\n\r\n public static createCapture(plane: PlaneAltitudeEvaluator): PlaneAltitudeRangeContext {\r\n const context = new PlaneAltitudeRangeContext(plane);\r\n return context;\r\n }\r\n\r\n public override handleLineSegment3d(segment: LineSegment3d) {\r\n this.announcePoint(segment.point0Ref);\r\n this.announcePoint(segment.point1Ref);\r\n }\r\n\r\n public override handleLineString3d(lineString: LineString3d) {\r\n this.announcePoints(lineString.packedPoints);\r\n }\r\n\r\n private _strokeOptions?: StrokeOptions;\r\n private initStrokeOptions() {\r\n // TODO: compute the exact extrema; until then stroke aggressively\r\n if (undefined === this._strokeOptions) {\r\n this._strokeOptions = new StrokeOptions();\r\n this._strokeOptions.angleTol = Angle.createDegrees(1);\r\n }\r\n }\r\n public override handleBSplineCurve3d(bcurve: BSplineCurve3d) {\r\n // ugh. The point MUST be on the curve -- usual excess-range of poles is not ok.\r\n this.initStrokeOptions();\r\n const ls = LineString3d.create();\r\n bcurve.emitStrokes(ls, this._strokeOptions);\r\n this.handleLineString3d(ls);\r\n }\r\n public override handleBSplineCurve3dH(bcurve: BSplineCurve3dH) {\r\n // ugh. The point MUST be on the curve -- usual excess-range of poles is not ok.\r\n this.initStrokeOptions();\r\n const ls = LineString3d.create();\r\n bcurve.emitStrokes(ls, this._strokeOptions);\r\n this.handleLineString3d(ls);\r\n }\r\n\r\n private _sineCosinePolynomial?: SineCosinePolynomial;\r\n private _workPoint?: Point3d;\r\n public override handleArc3d(g: Arc3d) {\r\n this._sineCosinePolynomial = g.getPlaneAltitudeSineCosinePolynomial(this.plane, this._sineCosinePolynomial);\r\n let radians = this._sineCosinePolynomial.referenceMinMaxRadians();\r\n if (g.sweep.isRadiansInSweep(radians))\r\n this.announcePoint((this._workPoint = g.radiansToPoint(radians, this._workPoint)));\r\n radians += Math.PI;\r\n if (g.sweep.isRadiansInSweep(radians))\r\n this.announcePoint((this._workPoint = g.radiansToPoint(radians, this._workPoint)));\r\n this.announcePoint((this._workPoint = g.startPoint(this._workPoint)));\r\n this.announcePoint((this._workPoint = g.endPoint(this._workPoint)));\r\n }\r\n\r\n private static findExtremesInDirection(geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d): PlaneAltitudeRangeContext | undefined {\r\n const origin = direction instanceof Ray3d ? direction.origin : Point3d.createZero();\r\n const vector = direction instanceof Ray3d ? direction.direction : direction;\r\n const plane = Plane3dByOriginAndUnitNormal.create(origin, vector); // vector is normalized, so altitudes are distances\r\n if (plane) {\r\n const context = new PlaneAltitudeRangeContext(plane);\r\n if (geometry instanceof GeometryQuery) {\r\n geometry.dispatchToGeometryHandler(context);\r\n } else if (geometry instanceof GrowableXYZArray) {\r\n context.announcePoints(geometry);\r\n } else {\r\n for (const pt of geometry)\r\n context.announcePoint(pt);\r\n }\r\n return context;\r\n }\r\n return undefined;\r\n }\r\n /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,\r\n * and return points at min and max altitude, packed into a `LineSegment3d`.\r\n * @param geometry geometry to project\r\n * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.\r\n * @param lowHigh optional receiver for output\r\n */\r\n public static findExtremePointsInDirection(geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: LineSegment3d): LineSegment3d | undefined {\r\n const context = this.findExtremesInDirection(geometry, direction);\r\n if (context && context.highPoint && context.lowPoint)\r\n return LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);\r\n return undefined;\r\n }\r\n /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,\r\n * and return the min and max altitudes, packed into a Range1d.\r\n * @param geometry geometry to project\r\n * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.\r\n * @param lowHigh optional receiver for output\r\n */\r\n public static findExtremeAltitudesInDirection(geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: Range1d): Range1d | undefined {\r\n const context = this.findExtremesInDirection(geometry, direction);\r\n if (context && !context.range.isNull)\r\n return Range1d.createFrom(context.range, lowHigh);\r\n return undefined;\r\n }\r\n /** Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.\r\n * @param geometry geometry to project\r\n * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.\r\n * @param lowHigh optional receiver for output\r\n */\r\n public static findExtremeFractionsAlongDirection(geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: Range1d): Range1d | undefined {\r\n const range = this.findExtremeAltitudesInDirection(geometry, direction, lowHigh);\r\n if (undefined !== range) {\r\n const mag = (direction instanceof Vector3d) ? direction.magnitude() : direction.direction.magnitude();\r\n const scaleToFraction = Geometry.conditionalDivideCoordinate(1.0, mag);\r\n if (undefined !== scaleToFraction) {\r\n range.low *= scaleToFraction;\r\n range.high *= scaleToFraction;\r\n return range;\r\n }\r\n }\r\n return undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"PlaneAltitudeRangeContext.js","sourceRoot":"","sources":["../../../../src/curve/internalContexts/PlaneAltitudeRangeContext.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 { BSplineCurve3d } from \"../../bspline/BSplineCurve\";\r\nimport { BSplineCurve3dH } from \"../../bspline/BSplineCurve3dH\";\r\nimport { Geometry, PlaneAltitudeEvaluator } from \"../../Geometry\";\r\nimport { Angle } from \"../../geometry3d/Angle\";\r\nimport { RecurseToCurvesGeometryHandler } from \"../../geometry3d/GeometryHandler\";\r\nimport { GrowableXYZArray } from \"../../geometry3d/GrowableXYZArray\";\r\nimport { Plane3dByOriginAndUnitNormal } from \"../../geometry3d/Plane3dByOriginAndUnitNormal\";\r\nimport { Point3d, Vector3d } from \"../../geometry3d/Point3dVector3d\";\r\nimport { Range1d } from \"../../geometry3d/Range\";\r\nimport { Ray3d } from \"../../geometry3d/Ray3d\";\r\nimport { SineCosinePolynomial } from \"../../numerics/Polynomials\";\r\nimport { Arc3d } from \"../Arc3d\";\r\nimport { GeometryQuery } from \"../GeometryQuery\";\r\nimport { LineSegment3d } from \"../LineSegment3d\";\r\nimport { LineString3d } from \"../LineString3d\";\r\nimport { StrokeOptions } from \"../StrokeOptions\";\r\n\r\n/**\r\n * Accumulator context for searching for extrema of geometry along a plane.\r\n * @internal\r\n */\r\nexport class PlaneAltitudeRangeContext extends RecurseToCurvesGeometryHandler {\r\n public plane: PlaneAltitudeEvaluator;\r\n public range: Range1d;\r\n public lowPoint: Point3d | undefined;\r\n public highPoint: Point3d | undefined;\r\n private constructor(plane: PlaneAltitudeEvaluator) {\r\n super();\r\n this.plane = plane;\r\n this.range = Range1d.createNull();\r\n this.resetRange();\r\n }\r\n\r\n public resetRange() {\r\n this.range.setNull();\r\n }\r\n\r\n public announcePoint(point: Point3d) {\r\n const h = this.plane.altitude(point);\r\n if (this.range.extendLow(h))\r\n this.lowPoint = point.clone(this.lowPoint);\r\n if (this.range.extendHigh(h))\r\n this.highPoint = point.clone(this.highPoint);\r\n }\r\n\r\n public announcePoints(points: GrowableXYZArray) {\r\n for (let i = 0; i < points.length; i++) {\r\n const h = points.evaluateUncheckedIndexPlaneAltitude(i, this.plane);\r\n if (this.range.extendLow(h))\r\n this.lowPoint = points.getPoint3dAtUncheckedPointIndex(i, this.lowPoint);\r\n if (this.range.extendHigh(h))\r\n this.highPoint = points.getPoint3dAtUncheckedPointIndex(i, this.highPoint);\r\n }\r\n }\r\n\r\n public static createCapture(plane: PlaneAltitudeEvaluator): PlaneAltitudeRangeContext {\r\n const context = new PlaneAltitudeRangeContext(plane);\r\n return context;\r\n }\r\n\r\n public override handleLineSegment3d(segment: LineSegment3d) {\r\n this.announcePoint(segment.point0Ref);\r\n this.announcePoint(segment.point1Ref);\r\n }\r\n\r\n public override handleLineString3d(lineString: LineString3d) {\r\n this.announcePoints(lineString.packedPoints);\r\n }\r\n\r\n private _strokeOptions?: StrokeOptions;\r\n\r\n private initStrokeOptions() {\r\n // TODO: compute the exact extrema; until then stroke aggressively\r\n if (undefined === this._strokeOptions) {\r\n this._strokeOptions = new StrokeOptions();\r\n this._strokeOptions.angleTol = Angle.createDegrees(1);\r\n }\r\n }\r\n\r\n public override handleBSplineCurve3d(bcurve: BSplineCurve3d) {\r\n // ugh. The point MUST be on the curve -- usual excess-range of poles is not ok.\r\n this.initStrokeOptions();\r\n const ls = LineString3d.create();\r\n bcurve.emitStrokes(ls, this._strokeOptions);\r\n this.handleLineString3d(ls);\r\n }\r\n\r\n public override handleBSplineCurve3dH(bcurve: BSplineCurve3dH) {\r\n // ugh. The point MUST be on the curve -- usual excess-range of poles is not ok.\r\n this.initStrokeOptions();\r\n const ls = LineString3d.create();\r\n bcurve.emitStrokes(ls, this._strokeOptions);\r\n this.handleLineString3d(ls);\r\n }\r\n\r\n private _sineCosinePolynomial?: SineCosinePolynomial;\r\n\r\n private _workPoint?: Point3d;\r\n\r\n public override handleArc3d(g: Arc3d) {\r\n this._sineCosinePolynomial = g.getPlaneAltitudeSineCosinePolynomial(this.plane, this._sineCosinePolynomial);\r\n let radians = this._sineCosinePolynomial.referenceMinMaxRadians();\r\n if (g.sweep.isRadiansInSweep(radians))\r\n this.announcePoint((this._workPoint = g.radiansToPoint(radians, this._workPoint)));\r\n radians += Math.PI;\r\n if (g.sweep.isRadiansInSweep(radians))\r\n this.announcePoint((this._workPoint = g.radiansToPoint(radians, this._workPoint)));\r\n this.announcePoint((this._workPoint = g.startPoint(this._workPoint)));\r\n this.announcePoint((this._workPoint = g.endPoint(this._workPoint)));\r\n }\r\n\r\n private static findExtremesInDirection(\r\n geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d,\r\n ): PlaneAltitudeRangeContext | undefined {\r\n const origin = direction instanceof Ray3d ? direction.origin : Point3d.createZero();\r\n const vector = direction instanceof Ray3d ? direction.direction : direction;\r\n const plane = Plane3dByOriginAndUnitNormal.create(origin, vector); // vector is normalized, so altitudes are distances\r\n if (plane) {\r\n const context = new PlaneAltitudeRangeContext(plane);\r\n if (geometry instanceof GeometryQuery) {\r\n geometry.dispatchToGeometryHandler(context);\r\n } else if (geometry instanceof GrowableXYZArray) {\r\n context.announcePoints(geometry);\r\n } else {\r\n for (const pt of geometry)\r\n context.announcePoint(pt);\r\n }\r\n return context;\r\n }\r\n return undefined;\r\n }\r\n /**\r\n * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and\r\n * return points at min and max altitude, packed into a `LineSegment3d`.\r\n * @param geometry geometry to project\r\n * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with\r\n * zero origin.\r\n * @param lowHigh optional receiver for output\r\n */\r\n public static findExtremePointsInDirection(\r\n geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: LineSegment3d,\r\n ): LineSegment3d | undefined {\r\n const context = this.findExtremesInDirection(geometry, direction);\r\n if (context && context.highPoint && context.lowPoint)\r\n return LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and return\r\n * the min and max altitudes, packed into a Range1d.\r\n * @param geometry geometry to project\r\n * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with\r\n * zero origin.\r\n * @param lowHigh optional receiver for output\r\n */\r\n public static findExtremeAltitudesInDirection(\r\n geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: Range1d,\r\n ): Range1d | undefined {\r\n const context = this.findExtremesInDirection(geometry, direction);\r\n if (context && !context.range.isNull)\r\n return Range1d.createFrom(context.range, lowHigh);\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.\r\n * @param geometry geometry to project\r\n * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with\r\n * zero origin.\r\n * @param lowHigh optional receiver for output\r\n */\r\n public static findExtremeFractionsAlongDirection(\r\n geometry: GeometryQuery | GrowableXYZArray | Point3d[], direction: Vector3d | Ray3d, lowHigh?: Range1d,\r\n ): Range1d | undefined {\r\n const range = this.findExtremeAltitudesInDirection(geometry, direction, lowHigh);\r\n if (undefined !== range) {\r\n const mag = (direction instanceof Vector3d) ? direction.magnitude() : direction.direction.magnitude();\r\n const scaleToFraction = Geometry.conditionalDivideCoordinate(1.0, mag);\r\n if (undefined !== scaleToFraction) {\r\n range.low *= scaleToFraction;\r\n range.high *= scaleToFraction;\r\n return range;\r\n }\r\n }\r\n return undefined;\r\n }\r\n}\r\n"]}
@@ -1,88 +1,18 @@
1
1
  /** @packageDocumentation
2
2
  * @module Curve
3
3
  */
4
- import { Angle } from "../../geometry3d/Angle";
5
4
  import { Point3d } from "../../geometry3d/Point3dVector3d";
6
- import { CurveCollection } from "../CurveCollection";
5
+ import { CurveChain, CurveCollection } from "../CurveCollection";
7
6
  import { CurvePrimitive } from "../CurvePrimitive";
8
7
  import { Loop } from "../Loop";
8
+ import { JointOptions, OffsetOptions } from "../OffsetOptions";
9
9
  import { Path } from "../Path";
10
- import { StrokeOptions } from "../StrokeOptions";
11
- /**
12
- * * Control parameters for joint construction.
13
- * * Decision order is:
14
- * * if turn angle is greater than minArcDegrees, make an arc.
15
- * * if turn angle is less than or equal maxChamferTurnDegrees, extend curves along tangent to single intersection point.
16
- * * if turn angle is greater than maxChamferTurnDegrees, construct multiple lines that are tangent to the turn circle "from the outside",
17
- * with each equal turn less than maxChamferTurnDegrees.
18
- * * otherwise make single edge.
19
- * @public
20
- */
21
- export declare class JointOptions {
22
- /** smallest arc to construct.
23
- * * If this control angle is large, arcs are never created.
24
- */
25
- minArcDegrees: number;
26
- maxChamferTurnDegrees: number;
27
- /** Offset distance, positive to left of base curve. */
28
- leftOffsetDistance: number;
29
- /** Whether to offset elliptical arcs as elliptical arcs (true) or as B-spline curves (false, default). */
30
- preserveEllipticalArcs: boolean;
31
- /** Construct JointOptions.
32
- * * leftOffsetDistance is required
33
- * * minArcDegrees and maxChamferDegrees are optional.
34
- */
35
- constructor(leftOffsetDistance: number, minArcDegrees?: number, maxChamferDegrees?: number, preserveEllipticalArcs?: boolean);
36
- /** Return a deep clone. */
37
- clone(): JointOptions;
38
- /** Copy values of input options */
39
- setFrom(other: JointOptions): void;
40
- /**
41
- * Parse a number or JointOptions up to JointOptions:
42
- * * If leftOffsetDistanceOptions is a number, create a JointOptions with other options set to default values.
43
- * * If leftOffsetDistanceOrOptions is a JointOptions, return it unchanged.
44
- * @param leftOffsetDistanceOrOptions
45
- */
46
- static create(leftOffsetDistanceOrOptions: number | JointOptions): JointOptions;
47
- /** return true if the options indicate this amount of turn should be handled with an arc. */
48
- needArc(theta: Angle): boolean;
49
- /** Test if turn by theta should be output as single point. */
50
- numChamferPoints(theta: Angle): number;
51
- }
52
- /**
53
- * Options for offsetting a curve.
54
- * @public
55
- */
56
- export declare class OffsetOptions {
57
- /** Options for offsetting and joining CurvePrimitives */
58
- jointOptions: JointOptions;
59
- /** Options for generating a B-spline curve offset */
60
- strokeOptions: StrokeOptions;
61
- /** Options that are provided are captured. */
62
- constructor(offsetDistanceOrOptions: number | JointOptions, strokeOptions?: StrokeOptions);
63
- get minArcDegrees(): number;
64
- set minArcDegrees(value: number);
65
- get maxChamferTurnDegrees(): number;
66
- set maxChamferTurnDegrees(value: number);
67
- get leftOffsetDistance(): number;
68
- set leftOffsetDistance(value: number);
69
- get preserveEllipticalArcs(): boolean;
70
- set preserveEllipticalArcs(value: boolean);
71
- /** Convert variant input into OffsetOptions.
72
- * * If a JointOptions is provided, it is captured.
73
- * * If an OffsetOptions is provided, a reference to it is returned. */
74
- static create(offsetDistanceOrOptions: number | JointOptions | OffsetOptions): OffsetOptions;
75
- /** Convert variant input into offset distance */
76
- static getOffsetDistance(offsetDistanceOrOptions: number | JointOptions | OffsetOptions): number;
77
- /** Return a deep clone. */
78
- clone(): OffsetOptions;
79
- }
80
10
  /**
81
11
  * Context for building a wire offset.
82
12
  * @internal
83
13
  */
84
14
  export declare class PolygonWireOffsetContext {
85
- /** construct a context. */
15
+ /** Construct a context. */
86
16
  constructor();
87
17
  private static _unitAlong;
88
18
  private static _unitPerp;
@@ -90,13 +20,17 @@ export declare class PolygonWireOffsetContext {
90
20
  private static _offsetB;
91
21
  private static createOffsetSegment;
92
22
  /**
93
- * Construct curves that are offset from a polygon.
94
- * * The construction will remove "some" local effects of features smaller than the offset distance, but will not detect self intersection with far-away edges.
95
- * @param points
96
- * @param wrap
97
- * @param offsetDistance
23
+ * Construct a wire (not area) that is offset from given polyline or polygon (which must be in xy-plane or in
24
+ * a plane parallel to xy-plane).
25
+ * * This is a simple wire offset (in the form of a line string), not an area.
26
+ * * If offsetDistance is given as a number, default OffsetOptions are applied.
27
+ * * See [[JointOptions]] class doc for offset construction rules.
28
+ * @param points a single loop or path
29
+ * @param wrap true to offset the wraparound joint. Assumes first = last point.
30
+ * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or JointOptions
31
+ * object.
98
32
  */
99
- constructPolygonWireXYOffset(points: Point3d[], wrap: boolean, leftOffsetDistanceOrOptions: number | JointOptions): CurveCollection | undefined;
33
+ constructPolygonWireXYOffset(points: Point3d[], wrap: boolean, leftOffsetDistanceOrOptions: number | JointOptions): CurveChain | undefined;
100
34
  }
101
35
  /**
102
36
  * Context for building a wire offset from a Path or Loop of CurvePrimitives
@@ -107,32 +41,26 @@ export declare class CurveChainWireOffsetContext {
107
41
  constructor();
108
42
  /**
109
43
  * Annotate a CurvePrimitive with properties `baseCurveStart` and `baseCurveEnd`.
110
- * * return cp
111
- * @param cp primitive to annotate
44
+ * @param cp curve primitive to annotate
112
45
  * @param startPoint optional start point
113
46
  * @param endPoint optional end point
47
+ * @return the input CurvePrimitive with annotations
114
48
  */
115
49
  static applyBasePoints(cp: CurvePrimitive | undefined, startPoint: Point3d | undefined, endPoint: Point3d | undefined): CurvePrimitive | undefined;
116
50
  /**
117
- * Create the offset of a single primitive.
118
- * * each primitive may be labeled (as an `any` object) with start or end point of base curve:
51
+ * Create the offset of a single curve primitive as viewed in the xy-plane (ignoring z).
52
+ * * Each primitive may be labeled (as an `any` object) with start or end point of base curve:
119
53
  * * `(primitive as any).baseCurveStart: Point3d`
120
54
  * * `(primitive as any).baseCurveEnd: Point3d`
121
- * @param g primitive to offset
122
- * @param offsetDistanceOrOptions offset distance (positive to left of g), or options object
55
+ * @param curve primitive to offset
56
+ * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object
123
57
  */
124
- static createSingleOffsetPrimitiveXY(g: CurvePrimitive, offsetDistanceOrOptions: number | OffsetOptions): CurvePrimitive | CurvePrimitive[] | undefined;
58
+ static createSingleOffsetPrimitiveXY(curve: CurvePrimitive, offsetDistanceOrOptions: number | OffsetOptions): CurvePrimitive | CurvePrimitive[] | undefined;
125
59
  /**
126
60
  * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).
127
- * * The construction will remove "some" local effects of features smaller than the offset distance, but will not detect self intersection among widely separated edges.
128
- * * If offsetDistance is given as a number, default OffsetOptions are applied.
129
- * * When the offset needs to do an "outside" turn, the first applicable construction is applied:
130
- * * If the turn is larger than `options.minArcDegrees`, a circular arc is constructed.
131
- * * If the turn is less than or equal to `options.maxChamferTurnDegrees`, extend curves along tangent to single intersection point.
132
- * * If the turn is larger than `options.maxChamferDegrees`, the turn is constructed as a sequence of straight lines that are:
133
- * * outside the arc
134
- * * have uniform turn angle less than `options.maxChamferDegrees`
135
- * * each line segment (except first and last) touches the arc at its midpoint.
61
+ * * The construction will remove "some" local effects of features smaller than the offset distance, but will
62
+ * not detect self intersection among widely separated edges.
63
+ * * Visualization can be found at https://www.itwinjs.org/sandbox/SaeedTorabi/Offset
136
64
  * @param curves base curves.
137
65
  * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.
138
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PolygonOffsetContext.d.ts","sourceRoot":"","sources":["../../../../src/curve/internalContexts/PolygonOffsetContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PolygonOffsetContext.d.ts","sourceRoot":"","sources":["../../../../src/curve/internalContexts/PolygonOffsetContext.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,OAAO,EAAY,MAAM,kCAAkC,CAAC;AAGrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAia/B;;;GAGG;AACH,qBAAa,wBAAwB;IACnC,2BAA2B;;IAE3B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAqB;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAE3C,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAelC;;;;;;;;;;OAUG;IACI,4BAA4B,CACjC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,MAAM,GAAG,YAAY,GACnF,UAAU,GAAG,SAAS;CAwD1B;AAED;;;GAGG;AACH,qBAAa,2BAA2B;IACtC,2BAA2B;;IAE3B;;;;;;OAMG;WACW,eAAe,CAC3B,EAAE,EAAE,cAAc,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,GAC7F,cAAc,GAAG,SAAS;IAS7B;;;;;;;OAOG;WACW,6BAA6B,CACzC,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,GAAG,aAAa,GACrE,cAAc,GAAG,cAAc,EAAE,GAAG,SAAS;IAehD;;;;;;;OAOG;WACW,sBAAsB,CAClC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,uBAAuB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,GAClF,eAAe,GAAG,SAAS;CA6C/B"}