@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
@@ -26,22 +26,26 @@ export type ConvexClipPlaneSetProps = ClipPlaneProps[];
26
26
  export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
27
27
  /** Value acting as "at infinity" for coordinates along a ray. */
28
28
  static readonly hugeVal = 1e+37;
29
+ /** Planes that define the convex set. */
29
30
  private _planes;
30
31
  private constructor();
31
- /** Return an array containing all the planes of the convex set.
32
+ /**
33
+ * Return an array containing all the planes of the convex set.
32
34
  * * Note that this has no leading keyword identifying it as a ConvexClipPlaneSet.
33
35
  */
34
36
  toJSON(): ConvexClipPlaneSetProps;
35
- /** Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
37
+ /**
38
+ * Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
36
39
  * * Non-clipPlane members are ignored.
37
40
  */
38
41
  static fromJSON(json: ConvexClipPlaneSetProps | undefined, result?: ConvexClipPlaneSet): ConvexClipPlaneSet;
39
42
  /**
40
- * Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
43
+ * Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
41
44
  * @param other clip plane to compare
42
45
  */
43
46
  isAlmostEqual(other: ConvexClipPlaneSet): boolean;
44
- /** create from an array of planes.
47
+ /**
48
+ * Create ConvexClipPlaneSet from an array of planes.
45
49
  * * Each plane reference in the `planes` array is taken into the result.
46
50
  * * The input array itself is NOT taken into the result.
47
51
  */
@@ -57,20 +61,23 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
57
61
  * @param highZ true to clip at the high z plane
58
62
  */
59
63
  static createRange3dPlanes(range: Range3d, lowX?: boolean, highX?: boolean, lowY?: boolean, highY?: boolean, lowZ?: boolean, highZ?: boolean): ConvexClipPlaneSet;
60
- /** create an empty `ConvexClipPlaneSet` */
64
+ /** Create an empty `ConvexClipPlaneSet` */
61
65
  static createEmpty(result?: ConvexClipPlaneSet): ConvexClipPlaneSet;
62
- /** negate all planes of the set. */
66
+ /** Negate all planes of the set. */
63
67
  negateAllPlanes(): void;
64
- /** Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
68
+ /**
69
+ * Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
65
70
  * * Note that there is no test for the usual ordering `x0 <= x1` or `y0 <= y1`.
66
- * * if the usual ordering is violated, the convex set is an empty set.
71
+ * * if the usual ordering is violated, the convex set is an empty set.
67
72
  */
68
73
  static createXYBox(x0: number, y0: number, x1: number, y1: number, result?: ConvexClipPlaneSet): ConvexClipPlaneSet;
69
- /** Create a convex set containing a half space for each edge between points of a polyline.
74
+ /**
75
+ * Create a convex set containing a half space for each edge between points of a polyline.
70
76
  * * Caller is responsible for assuring the polyline is convex.
71
- * @param points array of points. Only xy parts are considered.
72
- * @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the succeeding segment. If this array is not provided, both are false.
73
- * @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right"
77
+ * @param points array of points. Only xy parts are considered.
78
+ * @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the
79
+ * succeeding segment. If this array is not provided, both are false.
80
+ * @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right".
74
81
  */
75
82
  static createXYPolyLine(points: Point3d[], interior: boolean[] | undefined, leftIsInside: boolean, result?: ConvexClipPlaneSet): ConvexClipPlaneSet;
76
83
  /**
@@ -79,7 +86,7 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
79
86
  */
80
87
  static createXYPolyLineInsideLeft(points: Point3d[], result?: ConvexClipPlaneSet): ConvexClipPlaneSet;
81
88
  /**
82
- * (re)set a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
89
+ * Set (or reset) a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
83
90
  * * The planeOfPolygon is (re)initialized with the normal from 3 points, but not otherwise referenced.
84
91
  * * The ConvexClipPlaneSet is filled with outward normals of the facet edges as viewed to xy plane.
85
92
  * @param points
@@ -94,7 +101,7 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
94
101
  * Test if there is any intersection with a ray defined by origin and direction.
95
102
  * * Optionally record the range (null or otherwise) in caller-allocated result.
96
103
  * * If the ray is unbounded inside the clip, result can contain positive or negative
97
- * "Geometry.largeCoordinateResult" values
104
+ * "Geometry.largeCoordinateResult" values.
98
105
  * * If no result is provide, there are no object allocations.
99
106
  * @param result optional Range1d to receive parameters along the ray.
100
107
  */
@@ -104,7 +111,8 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
104
111
  * @param matrix matrix to apply.
105
112
  * @param invert if true, use in verse of the matrix.
106
113
  * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
107
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
114
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
115
+ * on the plane is the inverse transpose of matrixA.
108
116
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
109
117
  * * Both params default to true to get the full effect of transforming space.
110
118
  * @param matrix matrix to apply
@@ -120,13 +128,15 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
120
128
  * @param radius radius of sphere.
121
129
  */
122
130
  isSphereInside(centerPoint: Point3d, radius: number): boolean;
123
- /** Find the parts of the line segment (if any) that is within the convex clip volume.
124
- * * The input fractional interval from fraction0 to fraction1 (increasing!!) is the active part to consider.
125
- * * To clip to the usual bounded line segment, starts with fractions (0,1).
131
+ /**
132
+ * Find the parts of the line segment (if any) that is within the convex clip volume.
133
+ * * The line segment is defined by `pointA` and `pointB`.
134
+ * * The input fractional interval from `fraction0` to `fraction1` (increasing) is the active part to consider.
135
+ * * To clip to the usual bounded line segment, start with fractions (0,1).
126
136
  * If the clip volume is unbounded, the line interval may also be unbounded.
127
- * * An unbounded line portion will have fraction coordinates positive or negative Number.MAX_VALUE.
128
- * @param fraction0 fraction that is the initial lower fraction of the active interval. (e.g. 0.0 for bounded segment)
129
- * @param fraction1 fraction that is the initial upper fraction of the active interval. (e.g. 1.0 for bounded segment)
137
+ * * An unbounded line portion will have fraction coordinates positive or negative `Number.MAX_VALUE`.
138
+ * @param f0 fraction that is the initial lower fraction of the active interval (e.g., 0.0 for bounded segment).
139
+ * @param f1 fraction that is the initial upper fraction of the active interval (e.g., 1.0 for bounded segment).
130
140
  * @param pointA segment start (fraction 0)
131
141
  * @param pointB segment end (fraction 1)
132
142
  * @param announce function to be called to announce a fraction interval that is within the convex clip volume.
@@ -134,11 +144,13 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
134
144
  */
135
145
  announceClippedSegmentIntervals(f0: number, f1: number, pointA: Point3d, pointB: Point3d, announce?: AnnounceNumberNumber): boolean;
136
146
  private static _clipArcFractionArray;
137
- /** Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
147
+ /**
148
+ * Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
138
149
  * * `announce(fraction, fraction, curve)`
139
150
  */
140
151
  announceClippedArcIntervals(arc: Arc3d, announce?: AnnounceNumberNumberCurvePrimitive): boolean;
141
- /** Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
152
+ /**
153
+ * Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
142
154
  * @param pointA segment start (fraction 0)
143
155
  * @param pointB segment end (fraction 1)
144
156
  * @param announce function to be called to announce a fraction interval that is within the convex clip volume.
@@ -156,27 +168,30 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
156
168
  * @param tolerance tolerance for "on plane" decision.
157
169
  */
158
170
  clipConvexPolygonInPlace(xyz: GrowableXYZArray, work: GrowableXYZArray, tolerance?: number): void;
159
- /** Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
171
+ /**
172
+ * Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
160
173
  * @param xyz input polygon.
161
174
  * @param outsideFragments an array to receive (via push, with no preliminary clear) outside fragments
162
175
  * @param arrayCache cache for work arrays.
163
176
  * @return the surviving inside part (if any)
164
177
  */
165
178
  clipInsidePushOutside(xyz: GrowableXYZArray, outsideFragments: GrowableXYZArray[] | undefined, arrayCache: GrowableXYZArrayCache): GrowableXYZArray | undefined;
166
- /** Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
179
+ /**
180
+ * Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
167
181
  * * This has a peculiar expected use case as a very fast pre-filter for more precise clipping.
168
182
  * * The expected point set is for a polygon.
169
183
  * * Hence any clipping will eventually have to consider the lines between the points.
170
184
  * * This method looks for the special case of a single clip plane that has all the points outside.
171
185
  * * In this case the whole polygon must be outside.
172
186
  * * Note that this does not detect a polygon that is outside but "crosses a corner" -- it is mixed with respect to
173
- * multiple planes.
187
+ * multiple planes.
174
188
  */
175
189
  classifyPointContainment(points: Point3d[], onIsOutside: boolean): ClipPlaneContainment;
176
190
  /**
177
191
  * * Create a convex clip set for a polygon swept with possible tilt angle.
178
192
  * * planes are constructed by ClipPlane.createEdgeAndUpVector, using successive points from the array.
179
- * * If the first and last points match, the polygon area is checked. If the area is negative, points are used in reverse order.
193
+ * * If the first and last points match, the polygon area is checked. If the area is negative, points are used in
194
+ * reverse order.
180
195
  * * If first and last points do not match, points are used in order given
181
196
  * @param points polygon points. (Closure point optional)
182
197
  * @param upVector primary sweep direction, as applied by ClipPlane.createEdgeAndUpVector
@@ -189,7 +204,7 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
189
204
  */
190
205
  addPlaneToConvexSet(plane: ClipPlane | Plane3dByOriginAndUnitNormal | undefined): void;
191
206
  /**
192
- * test many points. Distribute them to arrays depending on in/out result.
207
+ * Test many points. Distribute them to arrays depending on in/out result.
193
208
  * @param points points to test
194
209
  * @param inOrOn points that are in or on the set
195
210
  * @param out points that are out.
@@ -198,8 +213,10 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
198
213
  /**
199
214
  * Clip a polygon to the planes of the clip plane set.
200
215
  * * For a convex input polygon, the output is another convex polygon.
201
- * * For a non-convex input, the output may have double-back edges along plane intersections. This is still a valid clip in a parity sense.
202
- * * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain the polygon
216
+ * * For a non-convex input, the output may have double-back edges along plane intersections. This is still a
217
+ * valid clip in a parity sense.
218
+ * * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain
219
+ * the polygon.
203
220
  * @param input input polygon, usually convex.
204
221
  * @param output output polygon
205
222
  * @param work work array.
@@ -220,13 +237,16 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
220
237
  * * optionally throw out points that are not in the set.
221
238
  * * optionally push the points in the caller-supplied point array.
222
239
  * * optionally extend a caller supplied range.
223
- * * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the range is the range of the convex set.
224
- * * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the range is not a representative of the "range of all points in the set" .
240
+ * * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the
241
+ * range is the range of the convex set.
242
+ * * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the
243
+ * range is not a representative of the "range of all points in the set".
225
244
  * @param transform (optional) transform to apply to the points.
226
245
  * @param points (optional) array to which computed points are to be added.
227
246
  * @param range (optional) range to be extended by the computed points
228
247
  * @param transform (optional) transform to apply to the accepted points.
229
- * @param testContainment if true, test each point to see if it is within the convex set. (Send false if confident that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible)
248
+ * @param testContainment if true, test each point to see if it is within the convex set. (send false if confident
249
+ * that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible).
230
250
  * @returns number of points.
231
251
  */
232
252
  computePlanePlanePlaneIntersections(points: Point3d[] | undefined, rangeToExtend: Range3d | undefined, transform?: Transform, testContainment?: boolean): number;
@@ -242,15 +262,18 @@ export declare class ConvexClipPlaneSet implements Clipper, PolygonClipper {
242
262
  * @param zHigh high z value. The plane clips out points with z above this.
243
263
  */
244
264
  addZClipPlanes(invisible: boolean, zLow?: number, zHigh?: number): void;
245
- /** Implement appendPolygonClip, as defined in interface PolygonClipper. /**
246
- *
265
+ /**
266
+ * Implement appendPolygonClip, as defined in interface PolygonClipper.
247
267
  * @param xyz input polygon. This is not changed.
248
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
249
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
268
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
269
+ * the cache. This is NOT cleared.
270
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
271
+ * the cache. This is NOT cleared.
250
272
  * @param arrayCache cache for reusable GrowableXYZArray.
251
273
  */
252
274
  appendPolygonClip(xyz: GrowableXYZArray, insideFragments: GrowableXYZArray[], outsideFragments: GrowableXYZArray[], arrayCache: GrowableXYZArrayCache): void;
253
- /** Create a convex clip set from a convex mesh.
275
+ /**
276
+ * Create a convex clip set from a convex mesh.
254
277
  * * Create a plane for each facet.
255
278
  * * Assemble the planes as a single clip plane set.
256
279
  * * If the facets are closed by edge pairing, use the sign of the computed volume to point the plane normals inward.
@@ -1 +1 @@
1
- {"version":3,"file":"ConvexClipPlaneSet.d.ts","sourceRoot":"","sources":["../../../src/clipping/ConvexClipPlaneSet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConvexClipPlaneSet.d.ts","sourceRoot":"","sources":["../../../src/clipping/ConvexClipPlaneSet.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,8 @@ class ConvexClipPlaneSet {
26
26
  // this._parity = 1;
27
27
  this._planes = planes ? planes : [];
28
28
  }
29
- /** Return an array containing all the planes of the convex set.
29
+ /**
30
+ * Return an array containing all the planes of the convex set.
30
31
  * * Note that this has no leading keyword identifying it as a ConvexClipPlaneSet.
31
32
  */
32
33
  toJSON() {
@@ -35,7 +36,8 @@ class ConvexClipPlaneSet {
35
36
  val.push(plane.toJSON());
36
37
  return val;
37
38
  }
38
- /** Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
39
+ /**
40
+ * Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
39
41
  * * Non-clipPlane members are ignored.
40
42
  */
41
43
  static fromJSON(json, result) {
@@ -51,7 +53,7 @@ class ConvexClipPlaneSet {
51
53
  return result;
52
54
  }
53
55
  /**
54
- * Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
56
+ * Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
55
57
  * @param other clip plane to compare
56
58
  */
57
59
  isAlmostEqual(other) {
@@ -62,7 +64,8 @@ class ConvexClipPlaneSet {
62
64
  return false;
63
65
  return true;
64
66
  }
65
- /** create from an array of planes.
67
+ /**
68
+ * Create ConvexClipPlaneSet from an array of planes.
66
69
  * * Each plane reference in the `planes` array is taken into the result.
67
70
  * * The input array itself is NOT taken into the result.
68
71
  */
@@ -105,7 +108,7 @@ class ConvexClipPlaneSet {
105
108
  result.planes.push(ClipPlane.createNormalAndPointXYZXYZ(0, 0, -1, 0, 0, range.high.z));
106
109
  return result;
107
110
  }
108
- /** create an empty `ConvexClipPlaneSet` */
111
+ /** Create an empty `ConvexClipPlaneSet` */
109
112
  static createEmpty(result) {
110
113
  if (result) {
111
114
  result._planes.length = 0;
@@ -113,14 +116,15 @@ class ConvexClipPlaneSet {
113
116
  }
114
117
  return new ConvexClipPlaneSet();
115
118
  }
116
- /** negate all planes of the set. */
119
+ /** Negate all planes of the set. */
117
120
  negateAllPlanes() {
118
121
  for (const plane of this._planes)
119
122
  plane.negateInPlace();
120
123
  }
121
- /** Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
124
+ /**
125
+ * Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
122
126
  * * Note that there is no test for the usual ordering `x0 <= x1` or `y0 <= y1`.
123
- * * if the usual ordering is violated, the convex set is an empty set.
127
+ * * if the usual ordering is violated, the convex set is an empty set.
124
128
  */
125
129
  static createXYBox(x0, y0, x1, y1, result) {
126
130
  result = result ? result : new ConvexClipPlaneSet();
@@ -134,11 +138,13 @@ class ConvexClipPlaneSet {
134
138
  }
135
139
  return result;
136
140
  }
137
- /** Create a convex set containing a half space for each edge between points of a polyline.
141
+ /**
142
+ * Create a convex set containing a half space for each edge between points of a polyline.
138
143
  * * Caller is responsible for assuring the polyline is convex.
139
- * @param points array of points. Only xy parts are considered.
140
- * @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the succeeding segment. If this array is not provided, both are false.
141
- * @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right"
144
+ * @param points array of points. Only xy parts are considered.
145
+ * @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the
146
+ * succeeding segment. If this array is not provided, both are false.
147
+ * @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right".
142
148
  */
143
149
  static createXYPolyLine(points, interior, leftIsInside, result) {
144
150
  result = result ? result : new ConvexClipPlaneSet();
@@ -182,7 +188,7 @@ class ConvexClipPlaneSet {
182
188
  return result;
183
189
  }
184
190
  /**
185
- * (re)set a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
191
+ * Set (or reset) a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
186
192
  * * The planeOfPolygon is (re)initialized with the normal from 3 points, but not otherwise referenced.
187
193
  * * The ConvexClipPlaneSet is filled with outward normals of the facet edges as viewed to xy plane.
188
194
  * @param points
@@ -226,7 +232,7 @@ class ConvexClipPlaneSet {
226
232
  * Test if there is any intersection with a ray defined by origin and direction.
227
233
  * * Optionally record the range (null or otherwise) in caller-allocated result.
228
234
  * * If the ray is unbounded inside the clip, result can contain positive or negative
229
- * "Geometry.largeCoordinateResult" values
235
+ * "Geometry.largeCoordinateResult" values.
230
236
  * * If no result is provide, there are no object allocations.
231
237
  * @param result optional Range1d to receive parameters along the ray.
232
238
  */
@@ -271,7 +277,8 @@ class ConvexClipPlaneSet {
271
277
  * @param matrix matrix to apply.
272
278
  * @param invert if true, use in verse of the matrix.
273
279
  * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
274
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
280
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
281
+ * on the plane is the inverse transpose of matrixA.
275
282
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
276
283
  * * Both params default to true to get the full effect of transforming space.
277
284
  * @param matrix matrix to apply
@@ -291,7 +298,8 @@ class ConvexClipPlaneSet {
291
298
  /** Return true if `point` satisfies `point.isPointInside` for all planes */
292
299
  isPointInside(point) {
293
300
  for (const plane of this._planes) {
294
- if (!plane.isPointInside(point)) // Defaults to strict inside check. Other clipping classes may use "on or inside" check for the "on" case
301
+ // Defaults to strict inside check. Other clipping classes may use "on or inside" check for the "on" case
302
+ if (!plane.isPointInside(point))
295
303
  return false;
296
304
  }
297
305
  return true;
@@ -319,13 +327,15 @@ class ConvexClipPlaneSet {
319
327
  }
320
328
  return true;
321
329
  }
322
- /** Find the parts of the line segment (if any) that is within the convex clip volume.
323
- * * The input fractional interval from fraction0 to fraction1 (increasing!!) is the active part to consider.
324
- * * To clip to the usual bounded line segment, starts with fractions (0,1).
330
+ /**
331
+ * Find the parts of the line segment (if any) that is within the convex clip volume.
332
+ * * The line segment is defined by `pointA` and `pointB`.
333
+ * * The input fractional interval from `fraction0` to `fraction1` (increasing) is the active part to consider.
334
+ * * To clip to the usual bounded line segment, start with fractions (0,1).
325
335
  * If the clip volume is unbounded, the line interval may also be unbounded.
326
- * * An unbounded line portion will have fraction coordinates positive or negative Number.MAX_VALUE.
327
- * @param fraction0 fraction that is the initial lower fraction of the active interval. (e.g. 0.0 for bounded segment)
328
- * @param fraction1 fraction that is the initial upper fraction of the active interval. (e.g. 1.0 for bounded segment)
336
+ * * An unbounded line portion will have fraction coordinates positive or negative `Number.MAX_VALUE`.
337
+ * @param f0 fraction that is the initial lower fraction of the active interval (e.g., 0.0 for bounded segment).
338
+ * @param f1 fraction that is the initial upper fraction of the active interval (e.g., 1.0 for bounded segment).
329
339
  * @param pointA segment start (fraction 0)
330
340
  * @param pointB segment end (fraction 1)
331
341
  * @param announce function to be called to announce a fraction interval that is within the convex clip volume.
@@ -340,7 +350,7 @@ class ConvexClipPlaneSet {
340
350
  const hB = -plane.altitude(pointB);
341
351
  fraction = Geometry.conditionalDivideFraction(-hA, (hB - hA));
342
352
  if (fraction === undefined) {
343
- // LIne parallel to the plane. If positive, it is all OUT
353
+ // Line parallel to the plane. If positive, it is all OUT
344
354
  if (hA > 0.0)
345
355
  return false;
346
356
  }
@@ -369,7 +379,8 @@ class ConvexClipPlaneSet {
369
379
  }
370
380
  return false;
371
381
  }
372
- /** Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
382
+ /**
383
+ * Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
373
384
  * * `announce(fraction, fraction, curve)`
374
385
  */
375
386
  announceClippedArcIntervals(arc, announce) {
@@ -381,7 +392,8 @@ class ConvexClipPlaneSet {
381
392
  arc.sweep.radiansArrayToPositivePeriodicFractions(breaks);
382
393
  return ClipUtilities.selectIntervals01(arc, breaks, this, announce);
383
394
  }
384
- /** Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
395
+ /**
396
+ * Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
385
397
  * @param pointA segment start (fraction 0)
386
398
  * @param pointB segment end (fraction 1)
387
399
  * @param announce function to be called to announce a fraction interval that is within the convex clip volume.
@@ -411,7 +423,8 @@ class ConvexClipPlaneSet {
411
423
  return;
412
424
  }
413
425
  }
414
- /** Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
426
+ /**
427
+ * Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
415
428
  * @param xyz input polygon.
416
429
  * @param outsideFragments an array to receive (via push, with no preliminary clear) outside fragments
417
430
  * @param arrayCache cache for work arrays.
@@ -454,14 +467,15 @@ class ConvexClipPlaneSet {
454
467
  arrayCache.dropToCache(insidePart);
455
468
  return undefined;
456
469
  }
457
- /** Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
470
+ /**
471
+ * Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
458
472
  * * This has a peculiar expected use case as a very fast pre-filter for more precise clipping.
459
473
  * * The expected point set is for a polygon.
460
474
  * * Hence any clipping will eventually have to consider the lines between the points.
461
475
  * * This method looks for the special case of a single clip plane that has all the points outside.
462
476
  * * In this case the whole polygon must be outside.
463
477
  * * Note that this does not detect a polygon that is outside but "crosses a corner" -- it is mixed with respect to
464
- * multiple planes.
478
+ * multiple planes.
465
479
  */
466
480
  classifyPointContainment(points, onIsOutside) {
467
481
  let allInside = true;
@@ -483,7 +497,8 @@ class ConvexClipPlaneSet {
483
497
  /**
484
498
  * * Create a convex clip set for a polygon swept with possible tilt angle.
485
499
  * * planes are constructed by ClipPlane.createEdgeAndUpVector, using successive points from the array.
486
- * * If the first and last points match, the polygon area is checked. If the area is negative, points are used in reverse order.
500
+ * * If the first and last points match, the polygon area is checked. If the area is negative, points are used in
501
+ * reverse order.
487
502
  * * If first and last points do not match, points are used in order given
488
503
  * @param points polygon points. (Closure point optional)
489
504
  * @param upVector primary sweep direction, as applied by ClipPlane.createEdgeAndUpVector
@@ -531,7 +546,7 @@ class ConvexClipPlaneSet {
531
546
  this._planes.push(ClipPlane.createPlane(plane));
532
547
  }
533
548
  /**
534
- * test many points. Distribute them to arrays depending on in/out result.
549
+ * Test many points. Distribute them to arrays depending on in/out result.
535
550
  * @param points points to test
536
551
  * @param inOrOn points that are in or on the set
537
552
  * @param out points that are out.
@@ -551,8 +566,10 @@ class ConvexClipPlaneSet {
551
566
  /**
552
567
  * Clip a polygon to the planes of the clip plane set.
553
568
  * * For a convex input polygon, the output is another convex polygon.
554
- * * For a non-convex input, the output may have double-back edges along plane intersections. This is still a valid clip in a parity sense.
555
- * * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain the polygon
569
+ * * For a non-convex input, the output may have double-back edges along plane intersections. This is still a
570
+ * valid clip in a parity sense.
571
+ * * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain
572
+ * the polygon.
556
573
  * @param input input polygon, usually convex.
557
574
  * @param output output polygon
558
575
  * @param work work array.
@@ -597,7 +614,7 @@ class ConvexClipPlaneSet {
597
614
  const inwardNormal = Vector3d.createCrossProduct(sweepDirection.x, sweepDirection.y, sweepDirection.z, edgeVector.x, edgeVector.y, edgeVector.z);
598
615
  const inwardNormalNormalized = inwardNormal.normalize();
599
616
  let distance;
600
- if (inwardNormalNormalized) { // Should never fail... simply a check due to the format of the normalize function return
617
+ if (inwardNormalNormalized) { // should never fail... simply a check due to the format of the normalize function return
601
618
  distance = inwardNormalNormalized.dotProduct(xyz0);
602
619
  const clipToAdd = ClipPlane.createNormalAndDistance(inwardNormalNormalized, distance, false, false);
603
620
  if (clipToAdd) {
@@ -626,13 +643,16 @@ class ConvexClipPlaneSet {
626
643
  * * optionally throw out points that are not in the set.
627
644
  * * optionally push the points in the caller-supplied point array.
628
645
  * * optionally extend a caller supplied range.
629
- * * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the range is the range of the convex set.
630
- * * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the range is not a representative of the "range of all points in the set" .
646
+ * * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the
647
+ * range is the range of the convex set.
648
+ * * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the
649
+ * range is not a representative of the "range of all points in the set".
631
650
  * @param transform (optional) transform to apply to the points.
632
651
  * @param points (optional) array to which computed points are to be added.
633
652
  * @param range (optional) range to be extended by the computed points
634
653
  * @param transform (optional) transform to apply to the accepted points.
635
- * @param testContainment if true, test each point to see if it is within the convex set. (Send false if confident that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible)
654
+ * @param testContainment if true, test each point to see if it is within the convex set. (send false if confident
655
+ * that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible).
636
656
  * @returns number of points.
637
657
  */
638
658
  computePlanePlanePlaneIntersections(points, rangeToExtend, transform, testContainment = true) {
@@ -681,11 +701,13 @@ class ConvexClipPlaneSet {
681
701
  if (zHigh !== undefined)
682
702
  this._planes.push(ClipPlane.createNormalAndDistance(Vector3d.create(0, 0, -1), -zHigh, invisible));
683
703
  }
684
- /** Implement appendPolygonClip, as defined in interface PolygonClipper. /**
685
- *
704
+ /**
705
+ * Implement appendPolygonClip, as defined in interface PolygonClipper.
686
706
  * @param xyz input polygon. This is not changed.
687
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
688
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
707
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
708
+ * the cache. This is NOT cleared.
709
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
710
+ * the cache. This is NOT cleared.
689
711
  * @param arrayCache cache for reusable GrowableXYZArray.
690
712
  */
691
713
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -693,7 +715,8 @@ class ConvexClipPlaneSet {
693
715
  if (newInside)
694
716
  insideFragments.push(newInside);
695
717
  }
696
- /** Create a convex clip set from a convex mesh.
718
+ /**
719
+ * Create a convex clip set from a convex mesh.
697
720
  * * Create a plane for each facet.
698
721
  * * Assemble the planes as a single clip plane set.
699
722
  * * If the facets are closed by edge pairing, use the sign of the computed volume to point the plane normals inward.