@itwin/core-geometry 5.5.0-dev.4 → 5.5.0-dev.6

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 (611) hide show
  1. package/lib/cjs/Geometry.d.ts +7 -0
  2. package/lib/cjs/Geometry.d.ts.map +1 -1
  3. package/lib/cjs/Geometry.js +9 -0
  4. package/lib/cjs/Geometry.js.map +1 -1
  5. package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
  6. package/lib/cjs/bspline/BSplineCurve.js +2 -1
  7. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  8. package/lib/cjs/bspline/BSplineCurveOps.d.ts.map +1 -1
  9. package/lib/cjs/bspline/BSplineCurveOps.js +4 -1
  10. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
  11. package/lib/cjs/bspline/BezierCurve3d.d.ts.map +1 -1
  12. package/lib/cjs/bspline/BezierCurve3d.js +14 -4
  13. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  14. package/lib/cjs/bspline/BezierCurve3dH.d.ts +2 -0
  15. package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -1
  16. package/lib/cjs/bspline/BezierCurve3dH.js +19 -3
  17. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  18. package/lib/cjs/bspline/BezierCurveBase.d.ts +8 -2
  19. package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
  20. package/lib/cjs/bspline/BezierCurveBase.js +10 -4
  21. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  22. package/lib/cjs/clipping/AlternatingConvexClipTree.js +4 -4
  23. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  24. package/lib/cjs/clipping/ClipPlane.d.ts +0 -3
  25. package/lib/cjs/clipping/ClipPlane.d.ts.map +1 -1
  26. package/lib/cjs/clipping/ClipPlane.js +9 -2
  27. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  28. package/lib/cjs/clipping/ClipPrimitive.d.ts +59 -9
  29. package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -1
  30. package/lib/cjs/clipping/ClipPrimitive.js +124 -55
  31. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  32. package/lib/cjs/clipping/ClipUtils.js +1 -1
  33. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  34. package/lib/cjs/clipping/ClipVector.d.ts.map +1 -1
  35. package/lib/cjs/clipping/ClipVector.js +12 -8
  36. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  37. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts +0 -2
  38. package/lib/cjs/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  39. package/lib/cjs/clipping/ConvexClipPlaneSet.js +19 -18
  40. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  41. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +1 -1
  42. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
  43. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js +4 -5
  44. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  45. package/lib/cjs/core-geometry.d.ts +0 -1
  46. package/lib/cjs/core-geometry.d.ts.map +1 -1
  47. package/lib/cjs/core-geometry.js +0 -1
  48. package/lib/cjs/core-geometry.js.map +1 -1
  49. package/lib/cjs/curve/Arc3d.js +2 -2
  50. package/lib/cjs/curve/Arc3d.js.map +1 -1
  51. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +12 -4
  52. package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  53. package/lib/cjs/curve/CurveChainWithDistanceIndex.js +52 -33
  54. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  55. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  56. package/lib/cjs/curve/CurveCollection.js +13 -6
  57. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  58. package/lib/cjs/curve/CurveCurve.js +1 -1
  59. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  60. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  61. package/lib/cjs/curve/CurveFactory.js +13 -1
  62. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  63. package/lib/cjs/curve/CurveLocationDetail.d.ts +12 -4
  64. package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
  65. package/lib/cjs/curve/CurveLocationDetail.js +14 -5
  66. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  67. package/lib/cjs/curve/CurvePrimitive.d.ts +5 -4
  68. package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
  69. package/lib/cjs/curve/CurvePrimitive.js +7 -4
  70. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  71. package/lib/cjs/curve/LineString3d.d.ts +25 -16
  72. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  73. package/lib/cjs/curve/LineString3d.js +90 -72
  74. package/lib/cjs/curve/LineString3d.js.map +1 -1
  75. package/lib/cjs/curve/Path.d.ts +0 -3
  76. package/lib/cjs/curve/Path.d.ts.map +1 -1
  77. package/lib/cjs/curve/Path.js +9 -2
  78. package/lib/cjs/curve/Path.js.map +1 -1
  79. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  80. package/lib/cjs/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  81. package/lib/cjs/curve/Query/PlanarSubdivision.js +25 -31
  82. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  83. package/lib/cjs/curve/Query/StrokeCountChain.d.ts +7 -1
  84. package/lib/cjs/curve/Query/StrokeCountChain.d.ts.map +1 -1
  85. package/lib/cjs/curve/Query/StrokeCountChain.js +27 -36
  86. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  87. package/lib/cjs/curve/RegionMomentsXY.d.ts.map +1 -1
  88. package/lib/cjs/curve/RegionMomentsXY.js +7 -1
  89. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  90. package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
  91. package/lib/cjs/curve/RegionOps.js +8 -5
  92. package/lib/cjs/curve/RegionOps.js.map +1 -1
  93. package/lib/cjs/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  94. package/lib/cjs/curve/RegionOpsClassificationSweeps.js +6 -6
  95. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  96. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts.map +1 -1
  97. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js +4 -1
  98. package/lib/cjs/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
  99. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
  100. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js +6 -1
  101. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  102. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +5 -21
  103. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  104. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +29 -73
  105. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  106. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +55 -13
  107. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  108. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +238 -110
  109. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  110. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +1 -1
  111. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  112. package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts +1 -4
  113. package/lib/cjs/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
  114. package/lib/cjs/curve/spiral/DirectSpiral3d.js +9 -9
  115. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  116. package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts +11 -14
  117. package/lib/cjs/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
  118. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js +18 -18
  119. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  120. package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts +7 -1
  121. package/lib/cjs/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
  122. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  123. package/lib/cjs/geometry3d/Ellipsoid.d.ts +19 -7
  124. package/lib/cjs/geometry3d/Ellipsoid.d.ts.map +1 -1
  125. package/lib/cjs/geometry3d/Ellipsoid.js +26 -11
  126. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  127. package/lib/cjs/geometry3d/FrustumAnimation.d.ts.map +1 -1
  128. package/lib/cjs/geometry3d/FrustumAnimation.js +11 -1
  129. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  130. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts +5 -1
  131. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  132. package/lib/cjs/geometry3d/GrowableFloat64Array.js +11 -1
  133. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  134. package/lib/cjs/geometry3d/GrowableXYArray.d.ts +1 -1
  135. package/lib/cjs/geometry3d/GrowableXYArray.js +1 -1
  136. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  137. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +49 -8
  138. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  139. package/lib/cjs/geometry3d/GrowableXYZArray.js +90 -37
  140. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  141. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +100 -3
  142. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  143. package/lib/cjs/geometry3d/IndexedXYZCollection.js +125 -0
  144. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  145. package/lib/cjs/geometry3d/Matrix3d.d.ts +10 -1
  146. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  147. package/lib/cjs/geometry3d/Matrix3d.js +53 -34
  148. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  149. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js +1 -1
  150. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  151. package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts +49 -2
  152. package/lib/cjs/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
  153. package/lib/cjs/geometry3d/Point3dArrayCarrier.js +67 -9
  154. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  155. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +1 -1
  156. package/lib/cjs/geometry3d/Point3dVector3d.js +1 -1
  157. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  158. package/lib/cjs/geometry3d/PointStreaming.js +1 -1
  159. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  160. package/lib/cjs/geometry3d/PolygonOps.d.ts +24 -32
  161. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  162. package/lib/cjs/geometry3d/PolygonOps.js +147 -180
  163. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  164. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js +5 -5
  165. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  166. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  167. package/lib/cjs/geometry3d/PolylineOps.js +13 -3
  168. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  169. package/lib/cjs/geometry3d/Range.js.map +1 -1
  170. package/lib/cjs/geometry3d/Ray3d.d.ts +0 -3
  171. package/lib/cjs/geometry3d/Ray3d.d.ts.map +1 -1
  172. package/lib/cjs/geometry3d/Ray3d.js +5 -1
  173. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  174. package/lib/cjs/geometry3d/SortablePolygon.d.ts +2 -2
  175. package/lib/cjs/geometry3d/SortablePolygon.d.ts.map +1 -1
  176. package/lib/cjs/geometry3d/SortablePolygon.js +14 -18
  177. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  178. package/lib/cjs/geometry3d/Transform.d.ts +8 -0
  179. package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
  180. package/lib/cjs/geometry3d/Transform.js +15 -9
  181. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  182. package/lib/cjs/numerics/ClusterableArray.d.ts +4 -2
  183. package/lib/cjs/numerics/ClusterableArray.d.ts.map +1 -1
  184. package/lib/cjs/numerics/ClusterableArray.js +6 -4
  185. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  186. package/lib/cjs/numerics/Newton.d.ts +3 -1
  187. package/lib/cjs/numerics/Newton.d.ts.map +1 -1
  188. package/lib/cjs/numerics/Newton.js +5 -1
  189. package/lib/cjs/numerics/Newton.js.map +1 -1
  190. package/lib/cjs/polyface/AuxData.d.ts +1 -4
  191. package/lib/cjs/polyface/AuxData.d.ts.map +1 -1
  192. package/lib/cjs/polyface/AuxData.js +5 -1
  193. package/lib/cjs/polyface/AuxData.js.map +1 -1
  194. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js +3 -3
  195. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  196. package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
  197. package/lib/cjs/polyface/Polyface.js +14 -16
  198. package/lib/cjs/polyface/Polyface.js.map +1 -1
  199. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +84 -28
  200. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  201. package/lib/cjs/polyface/PolyfaceBuilder.js +277 -217
  202. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  203. package/lib/cjs/polyface/PolyfaceClip.d.ts +4 -3
  204. package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
  205. package/lib/cjs/polyface/PolyfaceClip.js +11 -4
  206. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  207. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  208. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  209. package/lib/cjs/polyface/PolyfaceQuery.js +9 -7
  210. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  211. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.d.ts.map +1 -1
  212. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js +3 -2
  213. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  214. package/lib/cjs/polyface/RangeTree/RangeTreeNode.d.ts +1 -1
  215. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js +2 -2
  216. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  217. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.d.ts.map +1 -1
  218. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js +14 -12
  219. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  220. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.d.ts +1 -1
  221. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -1
  222. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js +10 -6
  223. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  224. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js +4 -3
  225. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  226. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  227. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js +3 -5
  228. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  229. package/lib/cjs/polyface/multiclip/XYPointBuckets.d.ts +1 -1
  230. package/lib/cjs/polyface/multiclip/XYPointBuckets.d.ts.map +1 -1
  231. package/lib/cjs/polyface/multiclip/XYPointBuckets.js +4 -8
  232. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  233. package/lib/cjs/serialization/BGFBAccessors.d.ts.map +1 -1
  234. package/lib/cjs/serialization/BGFBAccessors.js +1 -0
  235. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  236. package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -1
  237. package/lib/cjs/serialization/BGFBReader.js +37 -7
  238. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  239. package/lib/cjs/serialization/BGFBWriter.d.ts +4 -4
  240. package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
  241. package/lib/cjs/serialization/BGFBWriter.js +24 -40
  242. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  243. package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
  244. package/lib/cjs/serialization/IModelJsonSchema.js +9 -3
  245. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  246. package/lib/cjs/serialization/SerializationHelpers.d.ts +0 -3
  247. package/lib/cjs/serialization/SerializationHelpers.d.ts.map +1 -1
  248. package/lib/cjs/serialization/SerializationHelpers.js +16 -7
  249. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
  250. package/lib/cjs/solid/Box.d.ts +2 -2
  251. package/lib/cjs/solid/Box.d.ts.map +1 -1
  252. package/lib/cjs/solid/Box.js.map +1 -1
  253. package/lib/cjs/solid/Cone.d.ts +3 -2
  254. package/lib/cjs/solid/Cone.d.ts.map +1 -1
  255. package/lib/cjs/solid/Cone.js +4 -1
  256. package/lib/cjs/solid/Cone.js.map +1 -1
  257. package/lib/cjs/solid/LinearSweep.d.ts +1 -1
  258. package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
  259. package/lib/cjs/solid/LinearSweep.js +1 -1
  260. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  261. package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
  262. package/lib/cjs/solid/RotationalSweep.js +1 -3
  263. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  264. package/lib/cjs/solid/TorusPipe.d.ts +4 -3
  265. package/lib/cjs/solid/TorusPipe.d.ts.map +1 -1
  266. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  267. package/lib/cjs/topology/ChainMerge.d.ts +4 -4
  268. package/lib/cjs/topology/ChainMerge.d.ts.map +1 -1
  269. package/lib/cjs/topology/ChainMerge.js +11 -1
  270. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  271. package/lib/cjs/topology/Graph.d.ts +2 -0
  272. package/lib/cjs/topology/Graph.d.ts.map +1 -1
  273. package/lib/cjs/topology/Graph.js +5 -0
  274. package/lib/cjs/topology/Graph.js.map +1 -1
  275. package/lib/cjs/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  276. package/lib/cjs/topology/HalfEdgeGraphSearch.js +2 -0
  277. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  278. package/lib/cjs/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -1
  279. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js +23 -16
  280. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  281. package/lib/cjs/topology/HalfEdgePositionDetail.d.ts +20 -9
  282. package/lib/cjs/topology/HalfEdgePositionDetail.d.ts.map +1 -1
  283. package/lib/cjs/topology/HalfEdgePositionDetail.js +17 -13
  284. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  285. package/lib/cjs/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  286. package/lib/cjs/topology/HalfEdgePriorityQueue.js +3 -1
  287. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  288. package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts +6 -2
  289. package/lib/cjs/topology/InsertAndRetriangulateContext.d.ts.map +1 -1
  290. package/lib/cjs/topology/InsertAndRetriangulateContext.js +41 -35
  291. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  292. package/lib/cjs/topology/MaskManager.d.ts +7 -3
  293. package/lib/cjs/topology/MaskManager.d.ts.map +1 -1
  294. package/lib/cjs/topology/MaskManager.js +10 -4
  295. package/lib/cjs/topology/MaskManager.js.map +1 -1
  296. package/lib/cjs/topology/RegularizeFace.d.ts.map +1 -1
  297. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  298. package/lib/cjs/topology/Triangulation.d.ts +2 -1
  299. package/lib/cjs/topology/Triangulation.d.ts.map +1 -1
  300. package/lib/cjs/topology/Triangulation.js +12 -7
  301. package/lib/cjs/topology/Triangulation.js.map +1 -1
  302. package/lib/esm/Geometry.d.ts +7 -0
  303. package/lib/esm/Geometry.d.ts.map +1 -1
  304. package/lib/esm/Geometry.js +9 -0
  305. package/lib/esm/Geometry.js.map +1 -1
  306. package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
  307. package/lib/esm/bspline/BSplineCurve.js +2 -1
  308. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  309. package/lib/esm/bspline/BSplineCurveOps.d.ts.map +1 -1
  310. package/lib/esm/bspline/BSplineCurveOps.js +4 -1
  311. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  312. package/lib/esm/bspline/BezierCurve3d.d.ts.map +1 -1
  313. package/lib/esm/bspline/BezierCurve3d.js +14 -4
  314. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  315. package/lib/esm/bspline/BezierCurve3dH.d.ts +2 -0
  316. package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -1
  317. package/lib/esm/bspline/BezierCurve3dH.js +19 -3
  318. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  319. package/lib/esm/bspline/BezierCurveBase.d.ts +8 -2
  320. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
  321. package/lib/esm/bspline/BezierCurveBase.js +10 -4
  322. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  323. package/lib/esm/clipping/AlternatingConvexClipTree.js +4 -4
  324. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  325. package/lib/esm/clipping/ClipPlane.d.ts +0 -3
  326. package/lib/esm/clipping/ClipPlane.d.ts.map +1 -1
  327. package/lib/esm/clipping/ClipPlane.js +9 -2
  328. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  329. package/lib/esm/clipping/ClipPrimitive.d.ts +59 -9
  330. package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -1
  331. package/lib/esm/clipping/ClipPrimitive.js +124 -55
  332. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  333. package/lib/esm/clipping/ClipUtils.js +1 -1
  334. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  335. package/lib/esm/clipping/ClipVector.d.ts.map +1 -1
  336. package/lib/esm/clipping/ClipVector.js +12 -8
  337. package/lib/esm/clipping/ClipVector.js.map +1 -1
  338. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts +0 -2
  339. package/lib/esm/clipping/ConvexClipPlaneSet.d.ts.map +1 -1
  340. package/lib/esm/clipping/ConvexClipPlaneSet.js +20 -19
  341. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  342. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts +1 -1
  343. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.d.ts.map +1 -1
  344. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js +4 -5
  345. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  346. package/lib/esm/core-geometry.d.ts +0 -1
  347. package/lib/esm/core-geometry.d.ts.map +1 -1
  348. package/lib/esm/core-geometry.js +0 -1
  349. package/lib/esm/core-geometry.js.map +1 -1
  350. package/lib/esm/curve/Arc3d.js +2 -2
  351. package/lib/esm/curve/Arc3d.js.map +1 -1
  352. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +12 -4
  353. package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
  354. package/lib/esm/curve/CurveChainWithDistanceIndex.js +53 -34
  355. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  356. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  357. package/lib/esm/curve/CurveCollection.js +13 -6
  358. package/lib/esm/curve/CurveCollection.js.map +1 -1
  359. package/lib/esm/curve/CurveCurve.js +1 -1
  360. package/lib/esm/curve/CurveCurve.js.map +1 -1
  361. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  362. package/lib/esm/curve/CurveFactory.js +13 -1
  363. package/lib/esm/curve/CurveFactory.js.map +1 -1
  364. package/lib/esm/curve/CurveLocationDetail.d.ts +12 -4
  365. package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
  366. package/lib/esm/curve/CurveLocationDetail.js +14 -5
  367. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  368. package/lib/esm/curve/CurvePrimitive.d.ts +5 -4
  369. package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
  370. package/lib/esm/curve/CurvePrimitive.js +7 -4
  371. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  372. package/lib/esm/curve/LineString3d.d.ts +25 -16
  373. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  374. package/lib/esm/curve/LineString3d.js +90 -72
  375. package/lib/esm/curve/LineString3d.js.map +1 -1
  376. package/lib/esm/curve/Path.d.ts +0 -3
  377. package/lib/esm/curve/Path.d.ts.map +1 -1
  378. package/lib/esm/curve/Path.js +9 -2
  379. package/lib/esm/curve/Path.js.map +1 -1
  380. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  381. package/lib/esm/curve/Query/PlanarSubdivision.d.ts.map +1 -1
  382. package/lib/esm/curve/Query/PlanarSubdivision.js +25 -31
  383. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  384. package/lib/esm/curve/Query/StrokeCountChain.d.ts +7 -1
  385. package/lib/esm/curve/Query/StrokeCountChain.d.ts.map +1 -1
  386. package/lib/esm/curve/Query/StrokeCountChain.js +27 -36
  387. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  388. package/lib/esm/curve/RegionMomentsXY.d.ts.map +1 -1
  389. package/lib/esm/curve/RegionMomentsXY.js +7 -1
  390. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  391. package/lib/esm/curve/RegionOps.d.ts.map +1 -1
  392. package/lib/esm/curve/RegionOps.js +8 -5
  393. package/lib/esm/curve/RegionOps.js.map +1 -1
  394. package/lib/esm/curve/RegionOpsClassificationSweeps.d.ts.map +1 -1
  395. package/lib/esm/curve/RegionOpsClassificationSweeps.js +6 -6
  396. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  397. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.d.ts.map +1 -1
  398. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js +4 -1
  399. package/lib/esm/curve/internalContexts/AnnounceTangentStrokeHandler.js.map +1 -1
  400. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.d.ts.map +1 -1
  401. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js +6 -1
  402. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  403. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +5 -21
  404. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
  405. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +29 -73
  406. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  407. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +55 -13
  408. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
  409. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +239 -111
  410. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  411. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +1 -1
  412. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  413. package/lib/esm/curve/spiral/DirectSpiral3d.d.ts +1 -4
  414. package/lib/esm/curve/spiral/DirectSpiral3d.d.ts.map +1 -1
  415. package/lib/esm/curve/spiral/DirectSpiral3d.js +9 -9
  416. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  417. package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts +11 -14
  418. package/lib/esm/curve/spiral/IntegratedSpiral3d.d.ts.map +1 -1
  419. package/lib/esm/curve/spiral/IntegratedSpiral3d.js +18 -18
  420. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  421. package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts +7 -1
  422. package/lib/esm/curve/spiral/TransitionConditionalProperties.d.ts.map +1 -1
  423. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  424. package/lib/esm/geometry3d/Ellipsoid.d.ts +19 -7
  425. package/lib/esm/geometry3d/Ellipsoid.d.ts.map +1 -1
  426. package/lib/esm/geometry3d/Ellipsoid.js +26 -11
  427. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  428. package/lib/esm/geometry3d/FrustumAnimation.d.ts.map +1 -1
  429. package/lib/esm/geometry3d/FrustumAnimation.js +11 -1
  430. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  431. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts +5 -1
  432. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  433. package/lib/esm/geometry3d/GrowableFloat64Array.js +11 -1
  434. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  435. package/lib/esm/geometry3d/GrowableXYArray.d.ts +1 -1
  436. package/lib/esm/geometry3d/GrowableXYArray.js +1 -1
  437. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  438. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +49 -8
  439. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  440. package/lib/esm/geometry3d/GrowableXYZArray.js +90 -37
  441. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  442. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +100 -3
  443. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  444. package/lib/esm/geometry3d/IndexedXYZCollection.js +125 -0
  445. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  446. package/lib/esm/geometry3d/Matrix3d.d.ts +10 -1
  447. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  448. package/lib/esm/geometry3d/Matrix3d.js +53 -34
  449. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  450. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js +1 -1
  451. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  452. package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts +49 -2
  453. package/lib/esm/geometry3d/Point3dArrayCarrier.d.ts.map +1 -1
  454. package/lib/esm/geometry3d/Point3dArrayCarrier.js +67 -9
  455. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  456. package/lib/esm/geometry3d/Point3dVector3d.d.ts +1 -1
  457. package/lib/esm/geometry3d/Point3dVector3d.js +1 -1
  458. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  459. package/lib/esm/geometry3d/PointStreaming.js +1 -1
  460. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  461. package/lib/esm/geometry3d/PolygonOps.d.ts +24 -32
  462. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  463. package/lib/esm/geometry3d/PolygonOps.js +147 -180
  464. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  465. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js +5 -5
  466. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  467. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  468. package/lib/esm/geometry3d/PolylineOps.js +13 -3
  469. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  470. package/lib/esm/geometry3d/Range.js.map +1 -1
  471. package/lib/esm/geometry3d/Ray3d.d.ts +0 -3
  472. package/lib/esm/geometry3d/Ray3d.d.ts.map +1 -1
  473. package/lib/esm/geometry3d/Ray3d.js +5 -1
  474. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  475. package/lib/esm/geometry3d/SortablePolygon.d.ts +2 -2
  476. package/lib/esm/geometry3d/SortablePolygon.d.ts.map +1 -1
  477. package/lib/esm/geometry3d/SortablePolygon.js +14 -18
  478. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  479. package/lib/esm/geometry3d/Transform.d.ts +8 -0
  480. package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
  481. package/lib/esm/geometry3d/Transform.js +15 -9
  482. package/lib/esm/geometry3d/Transform.js.map +1 -1
  483. package/lib/esm/numerics/ClusterableArray.d.ts +4 -2
  484. package/lib/esm/numerics/ClusterableArray.d.ts.map +1 -1
  485. package/lib/esm/numerics/ClusterableArray.js +6 -4
  486. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  487. package/lib/esm/numerics/Newton.d.ts +3 -1
  488. package/lib/esm/numerics/Newton.d.ts.map +1 -1
  489. package/lib/esm/numerics/Newton.js +5 -1
  490. package/lib/esm/numerics/Newton.js.map +1 -1
  491. package/lib/esm/polyface/AuxData.d.ts +1 -4
  492. package/lib/esm/polyface/AuxData.d.ts.map +1 -1
  493. package/lib/esm/polyface/AuxData.js +5 -1
  494. package/lib/esm/polyface/AuxData.js.map +1 -1
  495. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js +3 -3
  496. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  497. package/lib/esm/polyface/Polyface.d.ts.map +1 -1
  498. package/lib/esm/polyface/Polyface.js +14 -16
  499. package/lib/esm/polyface/Polyface.js.map +1 -1
  500. package/lib/esm/polyface/PolyfaceBuilder.d.ts +84 -28
  501. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  502. package/lib/esm/polyface/PolyfaceBuilder.js +277 -217
  503. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  504. package/lib/esm/polyface/PolyfaceClip.d.ts +4 -3
  505. package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
  506. package/lib/esm/polyface/PolyfaceClip.js +11 -4
  507. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  508. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  509. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  510. package/lib/esm/polyface/PolyfaceQuery.js +9 -7
  511. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  512. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.d.ts.map +1 -1
  513. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js +3 -2
  514. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  515. package/lib/esm/polyface/RangeTree/RangeTreeNode.d.ts +1 -1
  516. package/lib/esm/polyface/RangeTree/RangeTreeNode.js +2 -2
  517. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  518. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.d.ts.map +1 -1
  519. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js +14 -12
  520. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  521. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts +1 -1
  522. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.d.ts.map +1 -1
  523. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js +10 -6
  524. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  525. package/lib/esm/polyface/multiclip/OffsetMeshContext.js +4 -3
  526. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  527. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.d.ts.map +1 -1
  528. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js +3 -5
  529. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  530. package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts +1 -1
  531. package/lib/esm/polyface/multiclip/XYPointBuckets.d.ts.map +1 -1
  532. package/lib/esm/polyface/multiclip/XYPointBuckets.js +4 -8
  533. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  534. package/lib/esm/serialization/BGFBAccessors.d.ts.map +1 -1
  535. package/lib/esm/serialization/BGFBAccessors.js +1 -0
  536. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  537. package/lib/esm/serialization/BGFBReader.d.ts.map +1 -1
  538. package/lib/esm/serialization/BGFBReader.js +37 -7
  539. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  540. package/lib/esm/serialization/BGFBWriter.d.ts +4 -4
  541. package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
  542. package/lib/esm/serialization/BGFBWriter.js +24 -40
  543. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  544. package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
  545. package/lib/esm/serialization/IModelJsonSchema.js +9 -3
  546. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  547. package/lib/esm/serialization/SerializationHelpers.d.ts +0 -3
  548. package/lib/esm/serialization/SerializationHelpers.d.ts.map +1 -1
  549. package/lib/esm/serialization/SerializationHelpers.js +16 -7
  550. package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
  551. package/lib/esm/solid/Box.d.ts +2 -2
  552. package/lib/esm/solid/Box.d.ts.map +1 -1
  553. package/lib/esm/solid/Box.js.map +1 -1
  554. package/lib/esm/solid/Cone.d.ts +3 -2
  555. package/lib/esm/solid/Cone.d.ts.map +1 -1
  556. package/lib/esm/solid/Cone.js +4 -1
  557. package/lib/esm/solid/Cone.js.map +1 -1
  558. package/lib/esm/solid/LinearSweep.d.ts +1 -1
  559. package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
  560. package/lib/esm/solid/LinearSweep.js +1 -1
  561. package/lib/esm/solid/LinearSweep.js.map +1 -1
  562. package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
  563. package/lib/esm/solid/RotationalSweep.js +1 -3
  564. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  565. package/lib/esm/solid/TorusPipe.d.ts +4 -3
  566. package/lib/esm/solid/TorusPipe.d.ts.map +1 -1
  567. package/lib/esm/solid/TorusPipe.js.map +1 -1
  568. package/lib/esm/topology/ChainMerge.d.ts +4 -4
  569. package/lib/esm/topology/ChainMerge.d.ts.map +1 -1
  570. package/lib/esm/topology/ChainMerge.js +11 -1
  571. package/lib/esm/topology/ChainMerge.js.map +1 -1
  572. package/lib/esm/topology/Graph.d.ts +2 -0
  573. package/lib/esm/topology/Graph.d.ts.map +1 -1
  574. package/lib/esm/topology/Graph.js +5 -0
  575. package/lib/esm/topology/Graph.js.map +1 -1
  576. package/lib/esm/topology/HalfEdgeGraphSearch.d.ts.map +1 -1
  577. package/lib/esm/topology/HalfEdgeGraphSearch.js +2 -0
  578. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  579. package/lib/esm/topology/HalfEdgePointInGraphSearch.d.ts.map +1 -1
  580. package/lib/esm/topology/HalfEdgePointInGraphSearch.js +23 -16
  581. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  582. package/lib/esm/topology/HalfEdgePositionDetail.d.ts +20 -9
  583. package/lib/esm/topology/HalfEdgePositionDetail.d.ts.map +1 -1
  584. package/lib/esm/topology/HalfEdgePositionDetail.js +17 -13
  585. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  586. package/lib/esm/topology/HalfEdgePriorityQueue.d.ts.map +1 -1
  587. package/lib/esm/topology/HalfEdgePriorityQueue.js +4 -2
  588. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  589. package/lib/esm/topology/InsertAndRetriangulateContext.d.ts +6 -2
  590. package/lib/esm/topology/InsertAndRetriangulateContext.d.ts.map +1 -1
  591. package/lib/esm/topology/InsertAndRetriangulateContext.js +41 -35
  592. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  593. package/lib/esm/topology/MaskManager.d.ts +7 -3
  594. package/lib/esm/topology/MaskManager.d.ts.map +1 -1
  595. package/lib/esm/topology/MaskManager.js +10 -4
  596. package/lib/esm/topology/MaskManager.js.map +1 -1
  597. package/lib/esm/topology/RegularizeFace.d.ts.map +1 -1
  598. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  599. package/lib/esm/topology/Triangulation.d.ts +2 -1
  600. package/lib/esm/topology/Triangulation.d.ts.map +1 -1
  601. package/lib/esm/topology/Triangulation.js +12 -7
  602. package/lib/esm/topology/Triangulation.js.map +1 -1
  603. package/package.json +3 -3
  604. package/lib/cjs/serialization/GeometrySamples.d.ts +0 -705
  605. package/lib/cjs/serialization/GeometrySamples.d.ts.map +0 -1
  606. package/lib/cjs/serialization/GeometrySamples.js +0 -2433
  607. package/lib/cjs/serialization/GeometrySamples.js.map +0 -1
  608. package/lib/esm/serialization/GeometrySamples.d.ts +0 -705
  609. package/lib/esm/serialization/GeometrySamples.d.ts.map +0 -1
  610. package/lib/esm/serialization/GeometrySamples.js +0 -2428
  611. package/lib/esm/serialization/GeometrySamples.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PointStreaming.js","sourceRoot":"","sources":["../../../src/geometry3d/PointStreaming.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 CartesianGeometry\r\n */\r\n\r\nimport { GrowableXYZArray } from \"./GrowableXYZArray\";\r\nimport { IndexedXYZCollection, LineStringDataVariant, MultiLineStringDataVariant } from \"./IndexedXYZCollection\";\r\nimport { Point3d } from \"./Point3dVector3d\";\r\nimport { Range3d } from \"./Range\";\r\nimport { Transform } from \"./Transform\";\r\n\r\n//\r\n// remarks: point array variants . . .\r\n// * [[x,y,z], ...]\r\n// * [[Point3d, Point3d]\r\n// * [GrowableXYZArray, ..]\r\n//\r\n/**\r\n * \"no-op\" base class for stream handlers\r\n * @internal\r\n */\r\nexport class PointStreamXYZHandlerBase {\r\n public startChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void { }\r\n public handleXYZ(_x: number, _y: number, _z: number): void { }\r\n public endChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void { }\r\n}\r\n/** Base class for handling points in pairs.\r\n * * Callers implement handleXYZXYZ to receive point pairs.\r\n * * Callers may implement startChain and endChain.\r\n * * Beware that if startChain is implemented it must call super.startChain () to reset internal x0, y0,z0 to undefined.\r\n * * If that is not done, a point pair will appear from the end of previous chain to start of new chain.\r\n * * This (intermediate base) class does NOT override startChain\r\n */\r\nexport class PointStreamXYZXYZHandlerBase extends PointStreamXYZHandlerBase {\r\n private _x0?: number;\r\n private _y0?: number;\r\n private _z0?: number;\r\n public override handleXYZ(x: number, y: number, z: number): void {\r\n if (this._x0 !== undefined)\r\n this.handleXYZXYZ(this._x0, this._y0!, this._z0!, x, y, z);\r\n this._x0 = x;\r\n this._y0 = y;\r\n this._z0 = z;\r\n }\r\n public override startChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n this._x0 = this._y0 = this._z0 = undefined;\r\n }\r\n /**\r\n * Handler function called successively for each point0, point1 pair. Concrete class should implement this.\r\n * @param _x0 x coordinate at point 0\r\n * @param _y0 y coordinate of point 0\r\n * @param _z0 z coordinate of point 0\r\n * @param _x1 x coordinate of point 1\r\n * @param _y1 y coordinate of point 1\r\n * @param _z1 z coordinate of point 1\r\n */\r\n public handleXYZXYZ(_x0: number, _y0: number, _z0: number, _x1: number, _y1: number, _z1: number): void { }\r\n}\r\n/**\r\n * Concrete class to handle startChain, handleXYZ and endChain calls and return a (one-level deep array of\r\n * GrowableXYZArray\r\n */\r\nexport class PointStreamGrowableXYZArrayCollector extends PointStreamXYZHandlerBase {\r\n private _pointArrays?: GrowableXYZArray[];\r\n private _currentData?: GrowableXYZArray;\r\n public override startChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n this._currentData = undefined;\r\n }\r\n public override handleXYZ(x: number, y: number, z: number): void {\r\n if (!this._currentData)\r\n this._currentData = new GrowableXYZArray();\r\n this._currentData.pushXYZ(x, y, z);\r\n }\r\n public override endChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n if (this._currentData !== undefined) {\r\n if (this._pointArrays === undefined)\r\n this._pointArrays = [];\r\n this._pointArrays.push(this._currentData);\r\n this._currentData = undefined;\r\n }\r\n }\r\n /** Return MultiLineStringDataVariant as an array of GrowableXYZArray */\r\n public claimArrayOfGrowableXYZArray(): GrowableXYZArray[] | undefined {\r\n const result = this._pointArrays;\r\n this._pointArrays = undefined;\r\n return result;\r\n }\r\n}\r\n/**\r\n * PointStream handler to collect the range of points.\r\n */\r\nexport class PointStreamRangeCollector extends PointStreamXYZHandlerBase {\r\n private _range?: Range3d;\r\n private _transform?: Transform;\r\n\r\n /**\r\n * Constructor.\r\n * @param transform optional Transform to be applied to each point before expanding the range in [[handleXYZ]].\r\n * @param range optional existing range to expand and return in [[claimResult]].\r\n */\r\n public constructor(transform?: Transform, range?: Range3d) {\r\n super();\r\n if (transform)\r\n this._transform = transform;\r\n if (range)\r\n this._range = range;\r\n }\r\n\r\n public override handleXYZ(x: number, y: number, z: number): void {\r\n if (!this._range)\r\n this._range = Range3d.createNull();\r\n if (this._transform)\r\n this._range.extendTransformedXYZ(this._transform, x, y, z);\r\n else\r\n this._range.extendXYZ(x, y, z);\r\n }\r\n\r\n public claimResult(): Range3d {\r\n const range = this._range;\r\n this._range = undefined;\r\n if (!range)\r\n return Range3d.createNull();\r\n return range;\r\n }\r\n}\r\n\r\nexport class PointStringDeepXYZArrayCollector {\r\n // The 0 entry in this stack \"should\" always end up as a single array.\r\n // Hypothetically some caller might have do start-end that put multiple things\r\n // there. Hence the 0 entry (not the array itself) is the collected result.\r\n private _resultStack: any[];\r\n private _xyzFunction: (x: number, y: number, z: number) => any;\r\n /**\r\n *\r\n * @param xyzFunction function to map (x,y,z) to the leaf object type in the arrays.\r\n */\r\n public constructor(xyzFunction: (x: number, y: number, z: number) => any) {\r\n this._xyzFunction = xyzFunction;\r\n this._resultStack = [];\r\n // create the [0] placeholder.\r\n this._resultStack.push([]);\r\n }\r\n\r\n public startChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n this._resultStack.push([]);\r\n }\r\n\r\n public handleXYZ(x: number, y: number, z: number): void {\r\n this._resultStack[this._resultStack.length - 1].push(this._xyzFunction(x, y, z));\r\n }\r\n public endChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n const q = this._resultStack[this._resultStack.length - 1];\r\n this._resultStack.pop();\r\n this._resultStack[this._resultStack.length - 1].push(q);\r\n }\r\n\r\n public claimResult(): any[] {\r\n const r = this._resultStack[0];\r\n if (r.length === 1)\r\n return r[0];\r\n return r;\r\n }\r\n}\r\n/**\r\n * class for converting variant point data into more specific forms.\r\n * @internal\r\n */\r\nexport class VariantPointDataStream {\r\n private static _workPoint?: Point3d;\r\n /** Invoke a callback with each x,y,z from an array of points in variant forms.\r\n * @param startChainCallback called to announce the beginning of points (or recursion)\r\n * @param pointCallback (index, x,y,z) = function to receive point coordinates one by one\r\n * @param endChainCallback called to announce the end of handling of an array.\r\n */\r\n public static streamXYZ(data: MultiLineStringDataVariant, handler: PointStreamXYZHandlerBase) {\r\n let numPoint = 0;\r\n if (Array.isArray(data)) {\r\n // If the first entry is a point, expect the entire array to be points.\r\n // otherwise recurse to each member of this array.\r\n if (data.length > 0 && Point3d.isAnyImmediatePointType(data[0])) {\r\n handler.startChain(data, true);\r\n for (const p of data) {\r\n const x = Point3d.accessX(p);\r\n const y = Point3d.accessY(p);\r\n const z = Point3d.accessZ(p, 0) as number;\r\n if (x !== undefined && y !== undefined)\r\n handler.handleXYZ(x, y, z);\r\n numPoint++;\r\n }\r\n handler.endChain(data, true);\r\n } else {\r\n // This is an array that does not immediately have points.\r\n handler.startChain(data, false);\r\n for (const child of data) {\r\n numPoint += this.streamXYZ((child as unknown) as LineStringDataVariant, handler);\r\n }\r\n handler.endChain(data, false);\r\n }\r\n } else if (data instanceof IndexedXYZCollection) {\r\n handler.startChain(data, true);\r\n const q = VariantPointDataStream._workPoint = Point3d.create(0, 0, 0, VariantPointDataStream._workPoint);\r\n for (let i = 0; i < data.length; i++) {\r\n data.getPoint3dAtCheckedPointIndex(i, q);\r\n numPoint++;\r\n handler.handleXYZ(q.x, q.y, q.z);\r\n }\r\n handler.endChain(data, true);\r\n }\r\n return numPoint;\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"PointStreaming.js","sourceRoot":"","sources":["../../../src/geometry3d/PointStreaming.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 CartesianGeometry\r\n */\r\n\r\nimport { GrowableXYZArray } from \"./GrowableXYZArray\";\r\nimport { IndexedXYZCollection, LineStringDataVariant, MultiLineStringDataVariant } from \"./IndexedXYZCollection\";\r\nimport { Point3d } from \"./Point3dVector3d\";\r\nimport { Range3d } from \"./Range\";\r\nimport { Transform } from \"./Transform\";\r\n\r\n//\r\n// remarks: point array variants . . .\r\n// * [[x,y,z], ...]\r\n// * [[Point3d, Point3d]\r\n// * [GrowableXYZArray, ..]\r\n//\r\n/**\r\n * \"no-op\" base class for stream handlers\r\n * @internal\r\n */\r\nexport class PointStreamXYZHandlerBase {\r\n public startChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void { }\r\n public handleXYZ(_x: number, _y: number, _z: number): void { }\r\n public endChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void { }\r\n}\r\n/** Base class for handling points in pairs.\r\n * * Callers implement handleXYZXYZ to receive point pairs.\r\n * * Callers may implement startChain and endChain.\r\n * * Beware that if startChain is implemented it must call super.startChain () to reset internal x0, y0,z0 to undefined.\r\n * * If that is not done, a point pair will appear from the end of previous chain to start of new chain.\r\n * * This (intermediate base) class does NOT override startChain\r\n */\r\nexport class PointStreamXYZXYZHandlerBase extends PointStreamXYZHandlerBase {\r\n private _x0?: number;\r\n private _y0?: number;\r\n private _z0?: number;\r\n public override handleXYZ(x: number, y: number, z: number): void {\r\n if (this._x0 !== undefined && this._y0 !== undefined && this._z0 !== undefined)\r\n this.handleXYZXYZ(this._x0, this._y0, this._z0, x, y, z);\r\n this._x0 = x;\r\n this._y0 = y;\r\n this._z0 = z;\r\n }\r\n public override startChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n this._x0 = this._y0 = this._z0 = undefined;\r\n }\r\n /**\r\n * Handler function called successively for each point0, point1 pair. Concrete class should implement this.\r\n * @param _x0 x coordinate at point 0\r\n * @param _y0 y coordinate of point 0\r\n * @param _z0 z coordinate of point 0\r\n * @param _x1 x coordinate of point 1\r\n * @param _y1 y coordinate of point 1\r\n * @param _z1 z coordinate of point 1\r\n */\r\n public handleXYZXYZ(_x0: number, _y0: number, _z0: number, _x1: number, _y1: number, _z1: number): void { }\r\n}\r\n/**\r\n * Concrete class to handle startChain, handleXYZ and endChain calls and return a (one-level deep array of\r\n * GrowableXYZArray\r\n */\r\nexport class PointStreamGrowableXYZArrayCollector extends PointStreamXYZHandlerBase {\r\n private _pointArrays?: GrowableXYZArray[];\r\n private _currentData?: GrowableXYZArray;\r\n public override startChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n this._currentData = undefined;\r\n }\r\n public override handleXYZ(x: number, y: number, z: number): void {\r\n if (!this._currentData)\r\n this._currentData = new GrowableXYZArray();\r\n this._currentData.pushXYZ(x, y, z);\r\n }\r\n public override endChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n if (this._currentData !== undefined) {\r\n if (this._pointArrays === undefined)\r\n this._pointArrays = [];\r\n this._pointArrays.push(this._currentData);\r\n this._currentData = undefined;\r\n }\r\n }\r\n /** Return MultiLineStringDataVariant as an array of GrowableXYZArray */\r\n public claimArrayOfGrowableXYZArray(): GrowableXYZArray[] | undefined {\r\n const result = this._pointArrays;\r\n this._pointArrays = undefined;\r\n return result;\r\n }\r\n}\r\n/**\r\n * PointStream handler to collect the range of points.\r\n */\r\nexport class PointStreamRangeCollector extends PointStreamXYZHandlerBase {\r\n private _range?: Range3d;\r\n private _transform?: Transform;\r\n\r\n /**\r\n * Constructor.\r\n * @param transform optional Transform to be applied to each point before expanding the range in [[handleXYZ]].\r\n * @param range optional existing range to expand and return in [[claimResult]].\r\n */\r\n public constructor(transform?: Transform, range?: Range3d) {\r\n super();\r\n if (transform)\r\n this._transform = transform;\r\n if (range)\r\n this._range = range;\r\n }\r\n\r\n public override handleXYZ(x: number, y: number, z: number): void {\r\n if (!this._range)\r\n this._range = Range3d.createNull();\r\n if (this._transform)\r\n this._range.extendTransformedXYZ(this._transform, x, y, z);\r\n else\r\n this._range.extendXYZ(x, y, z);\r\n }\r\n\r\n public claimResult(): Range3d {\r\n const range = this._range;\r\n this._range = undefined;\r\n if (!range)\r\n return Range3d.createNull();\r\n return range;\r\n }\r\n}\r\n\r\nexport class PointStringDeepXYZArrayCollector {\r\n // The 0 entry in this stack \"should\" always end up as a single array.\r\n // Hypothetically some caller might have do start-end that put multiple things\r\n // there. Hence the 0 entry (not the array itself) is the collected result.\r\n private _resultStack: any[];\r\n private _xyzFunction: (x: number, y: number, z: number) => any;\r\n /**\r\n *\r\n * @param xyzFunction function to map (x,y,z) to the leaf object type in the arrays.\r\n */\r\n public constructor(xyzFunction: (x: number, y: number, z: number) => any) {\r\n this._xyzFunction = xyzFunction;\r\n this._resultStack = [];\r\n // create the [0] placeholder.\r\n this._resultStack.push([]);\r\n }\r\n\r\n public startChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n this._resultStack.push([]);\r\n }\r\n\r\n public handleXYZ(x: number, y: number, z: number): void {\r\n this._resultStack[this._resultStack.length - 1].push(this._xyzFunction(x, y, z));\r\n }\r\n public endChain(_chainData: MultiLineStringDataVariant, _isLeaf: boolean): void {\r\n const q = this._resultStack[this._resultStack.length - 1];\r\n this._resultStack.pop();\r\n this._resultStack[this._resultStack.length - 1].push(q);\r\n }\r\n\r\n public claimResult(): any[] {\r\n const r = this._resultStack[0];\r\n if (r.length === 1)\r\n return r[0];\r\n return r;\r\n }\r\n}\r\n/**\r\n * class for converting variant point data into more specific forms.\r\n * @internal\r\n */\r\nexport class VariantPointDataStream {\r\n private static _workPoint?: Point3d;\r\n /** Invoke a callback with each x,y,z from an array of points in variant forms.\r\n * @param startChainCallback called to announce the beginning of points (or recursion)\r\n * @param pointCallback (index, x,y,z) = function to receive point coordinates one by one\r\n * @param endChainCallback called to announce the end of handling of an array.\r\n */\r\n public static streamXYZ(data: MultiLineStringDataVariant, handler: PointStreamXYZHandlerBase) {\r\n let numPoint = 0;\r\n if (Array.isArray(data)) {\r\n // If the first entry is a point, expect the entire array to be points.\r\n // otherwise recurse to each member of this array.\r\n if (data.length > 0 && Point3d.isAnyImmediatePointType(data[0])) {\r\n handler.startChain(data, true);\r\n for (const p of data) {\r\n const x = Point3d.accessX(p);\r\n const y = Point3d.accessY(p);\r\n const z = Point3d.accessZ(p, 0) as number;\r\n if (x !== undefined && y !== undefined)\r\n handler.handleXYZ(x, y, z);\r\n numPoint++;\r\n }\r\n handler.endChain(data, true);\r\n } else {\r\n // This is an array that does not immediately have points.\r\n handler.startChain(data, false);\r\n for (const child of data) {\r\n numPoint += this.streamXYZ((child as unknown) as LineStringDataVariant, handler);\r\n }\r\n handler.endChain(data, false);\r\n }\r\n } else if (data instanceof IndexedXYZCollection) {\r\n handler.startChain(data, true);\r\n const q = VariantPointDataStream._workPoint = Point3d.create(0, 0, 0, VariantPointDataStream._workPoint);\r\n for (let i = 0; i < data.length; i++) {\r\n data.getPoint3dAtCheckedPointIndex(i, q);\r\n numPoint++;\r\n handler.handleXYZ(q.x, q.y, q.z);\r\n }\r\n handler.endChain(data, true);\r\n }\r\n return numPoint;\r\n }\r\n\r\n}\r\n"]}
@@ -102,14 +102,6 @@ export declare class CutLoop {
102
102
  absorb(other: CutLoop): void;
103
103
  /** Comparison function for system sort function applied to an array of CutLoop .... */
104
104
  static sortFunction(loopA: CutLoop, loopB: CutLoop): number;
105
- /** Return first point coordinates.
106
- * * For type checking, assume array is not empty.
107
- */
108
- front(result?: Point3d): Point3d;
109
- /** Return last point coordinates.
110
- * * For type checking, assume array is not empty.
111
- */
112
- back(result?: Point3d): Point3d;
113
105
  }
114
106
  /**
115
107
  * Context to hold an array of input loops and apply sort logic.
@@ -295,14 +287,14 @@ export declare class PolygonOps {
295
287
  /**
296
288
  * Compute the signed volume of the truncated prism between a facet and a plane.
297
289
  * * Useful for parallel algorithms.
298
- * @param facetPoints input 3D polygon; on return the points are projected onto the plane. Wraparound point is optional.
290
+ * @param facetPoints input 3D polygon, wraparound point optional. This array is mutated on return if `options.skipMoments === false`: each point is projected onto the plane.
299
291
  * @param plane infinite plane bounding volume between the facet and (virtual) side facets perpendicular to the plane (unmodified).
300
292
  * @param options optional flags and pre-allocated temporary storage.
301
- * @returns computed data for this facet:
302
- * * `volume6`: six times the signed volume of the truncated prism between the facet and the plane.
303
- * * `area2`: two times the signed area of the facet's projection onto the plane.
304
- * * `origin`: origin of the facet used to accumulate area moments.
305
- * * `products`: raw accumulated second moment area products of the facet's projection onto the plane.
293
+ * @returns computed data for this facet, or defaults if `facetPoints.length < 3`:
294
+ * * `volume6`: six times the signed volume of the truncated prism between the facet and the plane (default 0).
295
+ * * `area2`: two times the signed area of the facet's projection onto the plane (default 0).
296
+ * * `origin`: origin of the facet used to accumulate area moments (default `undefined`).
297
+ * * `products`: raw accumulated second moment area products of the facet's projection onto the plane (default `undefined`).
306
298
  * @see [[PolyfaceQuery.sumVolumeBetweenFacetsAndPlane]]
307
299
  */
308
300
  static volumeBetweenPolygonAndPlane(facetPoints: GrowableXYZArray, plane: Plane3d, options?: VolumeBetweenPolygonAndPlaneOptions): VolumeBetweenPolygonAndPlaneOutput;
@@ -507,24 +499,23 @@ export declare class IndexedXYZCollectionPolygonOps {
507
499
  */
508
500
  static splitConvexPolygonInsideOutsidePlane(plane: PlaneAltitudeEvaluator, xyz: IndexedXYZCollection, xyzPositive: IndexedReadWriteXYZCollection, xyzNegative: IndexedReadWriteXYZCollection, altitudeRange: Range1d): void;
509
501
  /**
510
- * Clip a polygon to one side of a plane.
511
- * * Results with 2 or fewer points are ignored.
512
- * * Other than ensuring capacity in the arrays, there are no object allocations during execution of this function.
502
+ * Clip a polygon to one side of a plane in place.
513
503
  * * For a convex input polygon, the output polygon is also convex.
514
504
  * * For non-convex input, the output polygon may have double-back edges along plane intersections. This is still a
515
505
  * valid clip in a parity sense (overlapping regions cancel).
516
- * * This method returns only the piece of the input polygon on one side of the clipper.
517
- * See [[splitConvexPolygonInsideOutsidePlane]] for a method that returns both sides.
518
- * @param plane any type that has `plane.altitude`
519
- * @param xyz input polygon, clipped on output
506
+ * * Output may also consist entirely of (colinear) polygon vertices that lie on the clip plane.
507
+ * No attempt is made to filter such zero-area output.
508
+ * * Other than ensuring capacity in the arrays, there are no object allocations during execution of this function.
509
+ * @param plane altitude evaluator
510
+ * @param xyz input polygon, clipped on output. Closure point, if present on input, is removed on output. Fewer than 3 input vertices results in empty output.
520
511
  * @param work optional work buffer
521
512
  * @param keepPositive whether the positive side of the plane survives (true, default), or negative side (false).
522
513
  * @param tolerance tolerance for "on plane" decision. This is a distance if `plane` has unit normal (e.g., [[ClipPlane]]).
523
514
  * Default value is [[Geometry.smallMetricDistance]].
524
- * @return the number of crossings. If this is larger than 2, the input polygon was non-convex.
525
- * @see splitConvexPolygonInsideOutsidePlane
515
+ * @return the number of on-plane vertices and maximal vertex intervals. If this is larger than 2, the input polygon was non-convex.
516
+ * @see [[splitConvexPolygonInsideOutsidePlane]] for a method that clips to both sides of the plane.
526
517
  */
527
- static clipConvexPolygonInPlace(plane: PlaneAltitudeEvaluator, xyz: GrowableXYZArray, work?: GrowableXYZArray, keepPositive?: boolean, tolerance?: number): number;
518
+ static clipConvexPolygonInPlace(plane: PlaneAltitudeEvaluator, xyz: IndexedReadWriteXYZCollection, work?: IndexedReadWriteXYZCollection, keepPositive?: boolean, tolerance?: number): number;
528
519
  /** Return an array containing
529
520
  * * All points that are exactly on the plane.
530
521
  * * Crossing points between adjacent points that are (strictly) on opposite sides.
@@ -540,16 +531,16 @@ export declare class IndexedXYZCollectionPolygonOps {
540
531
  */
541
532
  static gatherCutLoopsFromPlaneClip(plane: PlaneAltitudeEvaluator, xyz: GrowableXYZArray, minChainLength?: number, tolerance?: number): CutLoopMergeContext;
542
533
  /**
543
- * * Input the loops from `gatherCutLoopsFromClipPlane`
534
+ * * Input the loops from [[gatherCutLoopsFromPlaneClip]].
544
535
  * * Consolidate loops for reentrant configurations.
545
536
  * * WARNING: The output reuses and modifies input loops whenever possible.
546
537
  * @internal
547
538
  */
548
539
  static reorderCutLoops(loops: CutLoopMergeContext): void;
549
540
  /**
550
- * Return the intersection of the plane with a range cube.
551
- * @param range
552
- * @param xyzOut intersection polygon. This is convex.
541
+ * Clip a convex polygon in place by a range box.
542
+ * @param range six clipping planes
543
+ * @param xyz convex polygon, clipped in place
553
544
  * @return reference to xyz if the polygon still has points; undefined if all points are clipped away.
554
545
  */
555
546
  static intersectRangeConvexPolygonInPlace(range: Range3d, xyz: GrowableXYZArray): GrowableXYZArray | undefined;
@@ -559,7 +550,6 @@ export declare class IndexedXYZCollectionPolygonOps {
559
550
  * @public
560
551
  */
561
552
  export declare class Point3dArrayPolygonOps {
562
- private static _xyz0Work;
563
553
  /**
564
554
  * Split a (convex) polygon into 2 parts.
565
555
  * @param xyz original polygon
@@ -574,11 +564,13 @@ export declare class Point3dArrayPolygonOps {
574
564
  */
575
565
  static polygonPlaneCrossings(plane: PlaneAltitudeEvaluator, xyz: Point3d[], crossings: Point3d[]): void;
576
566
  /**
577
- * Clip a polygon, returning the clip result in the same object.
567
+ * Clip a polygon to one side of a plane in place.
568
+ * @param plane altitude evaluator
578
569
  * @param xyz input/output polygon
579
- * @param work scratch object
570
+ * @param work optional scratch object
580
571
  * @param tolerance tolerance for on-plane decision.
572
+ * @see [[IndexedXYZCollectionPolygonOps.clipConvexPolygonInPlace]]
581
573
  */
582
- static convexPolygonClipInPlace(plane: PlaneAltitudeEvaluator, xyz: Point3d[], work: Point3d[] | undefined, tolerance?: number): void;
574
+ static convexPolygonClipInPlace(plane: PlaneAltitudeEvaluator, xyz: Point3d[], work: Point3d[] | undefined, tolerance?: number): number;
583
575
  }
584
576
  //# sourceMappingURL=PolygonOps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PolygonOps.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/PolygonOps.ts"],"names":[],"mappings":"AAUA,OAAO,EAAuB,sBAAsB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE7F,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAU,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,sCAAsC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAC3B,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAC3B,CAAC,EAAE,QAAQ,CAAC;IACnB,iFAAiF;IAC1E,IAAI,EAAE,eAAe,CAAC;IAC7B,wEAAwE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IAChC,mEAAmE;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IAEhC,OAAO;IASP,8BAA8B;IACvB,UAAU;IASjB;;OAEG;WACW,MAAM,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,qBAAqB;IAQ3E;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE,qBAAqB;IASpD,oCAAoC;IACpC,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,2EAA2E;IAC3E,IAAW,YAAY,IAAI,OAAO,CAIjC;IACD;;;OAGG;WACW,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,qBAAqB;CAS/G;AAED;;;GAGG;AACH,qBAAa,yBAAyB;IACpC,oCAAoC;IAC7B,OAAO,EAAE,qBAAqB,CAAC;IACtC,qCAAqC;IAC9B,OAAO,EAAE,qBAAqB,CAAC;IAEtC,mCAAmC;IACnC,OAAO;IAIP,6CAA6C;WAC/B,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,yBAAyB;IAOnJ,yDAAyD;IAClD,KAAK,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,yBAAyB;IAM3E,+BAA+B;IACxB,WAAW;CAKnB;AAED;;;GAGG;AACH,qBAAa,OAAO;IAEX,GAAG,EAAE,gBAAgB,CAAC;IAEtB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;gBACL,GAAG,EAAE,gBAAgB;IAOxC;;;OAGG;WACW,2BAA2B,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO;IAMzE;;;;;OAKG;IACI,kBAAkB,CAAC,GAAG,EAAE,KAAK;IAYpC;;;;OAIG;IACI,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAQjD;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,OAAO;IAI5B,uFAAuF;WACzE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAKlE;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IACvC;;OAEG;IACI,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;CAEvC;AACD;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,4GAA4G;IACrG,UAAU,EAAE,OAAO,EAAE,CAAC;IAC7B,gEAAgE;IACzD,WAAW,EAAE,OAAO,EAAE,CAAC;;IAM9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAiBlB;;;OAGG;IACI,iBAAiB;CAoCzB;AACD;;;;GAIG;AACH,MAAM,WAAW,mCAAmC;IAClD,wHAAwH;IACxH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yGAAyG;IACzG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mBAAmB;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,6GAA6G;IAC7G,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB;AACD;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AACD;;;GAGG;AACH,qBAAa,UAAU;IACrB;;;;OAIG;WACW,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,GAAG,MAAM;IAwB5E;;;;;OAKG;WACW,uCAAuC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IA+BvH;;;;OAIG;WACW,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;IAiB3D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAA8J;IAC5M;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAIA;IAIjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAC,aAAa,CAAqB;IACjD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAqB;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IAEpD;;;;;;OAMG;WACW,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAkBjG;;;;;OAKG;WACW,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAMxE;;;;OAIG;WACW,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;IAG7C;;;;OAIG;WACW,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,GAAG,MAAM;IAsBtE;;;;OAIG;WACW,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM;IAMtD;;;;;;;OAOG;WACW,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS;IA0D7G;;;OAGG;WACW,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAwBzF;;;;;OAKG;WACW,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAoBjF;;OAEG;IACH;;;;;;;OAOG;WACW,2BAA2B,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IAI1G;;;;;;OAMG;WACW,6BAA6B,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IAG5G;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAsCjD;;;;;;;;;;;;OAYG;WACW,4BAA4B,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mCAAmC,GAAG,kCAAkC;IAsB5K;;;;OAIG;WACW,8BAA8B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM;IA0BnF;;;;OAIG;WACW,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,oBAAoB,GAAG,OAAO;IAyB1E;;;;;;OAMG;WACW,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS;IA2B/F;;;;;;OAMG;WACW,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,MAAM,GAAG,SAAS;IA4B9G;;;;;OAKG;WACW,qCAAqC,CAAC,KAAK,EAAE,6BAA6B,GAAG,6BAA6B,EAAE,EAAE,aAAa,EAAE,QAAQ,GAAG,MAAM;IAiB5J;;;;;;;;OAQG;WACW,uBAAuB,CAAC,KAAK,EAAE,6BAA6B,EAAE,GAAG,6BAA6B,EAAE,EAAE;IAQhH;;;;;OAKG;WACW,qBAAqB,CAAC,KAAK,EAAE,6BAA6B,EAAE,EAAE,aAAa,EAAE,QAAQ,GAAG,SAAS,GAAG,6BAA6B,EAAE,EAAE;IAgCnJ;;;;;;;;;;;;;;;MAeE;WACY,sBAAsB,CAClC,OAAO,EAAE,OAAO,EAAE,GAAG,oBAAoB,EACzC,SAAS,EAAE,OAAO,EAClB,SAAS,GAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAgC,EACnE,MAAM,CAAC,EAAE,qBAAqB,GAC7B,qBAAqB;IAwJxB;;;;;;;;;;;;OAYG;WACW,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAE,MAAqC,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,qBAAqB;IAwBlM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAU;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAU;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAU;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAU;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAQ;IAChC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAW;IACxC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAA+B;IAEzD;;;;;;;;;;;;;OAaG;WACW,cAAc,CAC1B,OAAO,EAAE,OAAO,EAAE,GAAG,oBAAoB,EACzC,GAAG,EAAE,KAAK,EACV,SAAS,GAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAgC,EACnE,MAAM,CAAC,EAAE,qBAAqB,GAC7B,qBAAqB;IAwCxB;;;;;;;;;;;;OAYG;WACW,gBAAgB,CAC5B,OAAO,EAAE,OAAO,EAAE,GAAG,oBAAoB,EACzC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,EACf,SAAS,GAAE,MAAqC,EAChD,MAAM,CAAC,EAAE,qBAAqB,GAC7B,qBAAqB;IAKxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0BhC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAyCjD;;;;;;OAMG;WACW,4BAA4B,CACxC,OAAO,EAAE,OAAO,EAAE,GAAG,oBAAoB,EACzC,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,MAAqC,GAC/C,MAAM,EAAE,GAAG,SAAS;IAwDvB;;;;;;OAMG;WACW,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,SAAS,GAAE,MAAqC,GAAG,IAAI;IAWzH;;;;;;OAMG;WACW,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,SAAS,GAAE,MAAqC,GAAG,OAAO,EAAE,GAAG,oBAAoB;IAezJ,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAA0B;IACtD;;;;;;;;;;OAUG;WACW,eAAe,CAC3B,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAC1C,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAC1C,IAAI,GAAE,MAAyB,EAC/B,eAAe,GAAE,OAAe,GAC/B,yBAAyB,GAAG,SAAS;CAezC;AAED;;;GAGG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IACrD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IACrD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IACrD;;;;;;;;;;;OAWG;WACW,oCAAoC,CAChD,KAAK,EAAE,sBAAsB,EAC7B,GAAG,EAAE,oBAAoB,EACzB,WAAW,EAAE,6BAA6B,EAC1C,WAAW,EAAE,6BAA6B,EAC1C,aAAa,EAAE,OAAO,GACrB,IAAI;IAwDP;;;;;;;;;;;;;;;;;OAiBG;WACW,wBAAwB,CACpC,KAAK,EAAE,sBAAsB,EAC7B,GAAG,EAAE,gBAAgB,EACrB,IAAI,CAAC,EAAE,gBAAgB,EACvB,YAAY,GAAE,OAAc,EAC5B,SAAS,GAAE,MAAqC,GAC/C,MAAM;IAuDT;;;OAGG;WACW,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,EAAE;IAuBlH;;;;;;;OAOG;WACW,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,gBAAgB,EAAE,cAAc,GAAE,MAAU,EAAE,SAAS,GAAE,MAAqC,GAAG,mBAAmB;IAmClM;;;;;OAKG;WACW,eAAe,CAAC,KAAK,EAAE,mBAAmB;IAuBxD;;;;;OAKG;WACW,kCAAkC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,SAAS;CAqCtH;AACD;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IAGrD;;;;;;OAMG;WACW,oCAAoC,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAOpK;;;OAGG;WACW,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9G;;;;;OAKG;WACW,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,SAAS,GAAE,MAAqC;CA0CpK"}
1
+ {"version":3,"file":"PolygonOps.d.ts","sourceRoot":"","sources":["../../../src/geometry3d/PolygonOps.ts"],"names":[],"mappings":"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"}