@itwin/core-geometry 5.0.0-dev.3 → 5.0.0-dev.32

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 (664) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/lib/cjs/Constant.js.map +1 -1
  3. package/lib/cjs/Geometry.js.map +1 -1
  4. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
  5. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  6. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  7. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  8. package/lib/cjs/bspline/BSplineCurveOps.d.ts.map +1 -1
  9. package/lib/cjs/bspline/BSplineCurveOps.js +18 -21
  10. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
  11. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  12. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  13. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  14. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  15. package/lib/cjs/bspline/BezierCurveBase.d.ts.map +1 -1
  16. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  17. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  18. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  19. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
  20. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  21. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  22. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  23. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  24. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  25. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  26. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  27. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  28. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  29. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  30. package/lib/cjs/core-geometry.js.map +1 -1
  31. package/lib/cjs/curve/Arc3d.d.ts +40 -8
  32. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  33. package/lib/cjs/curve/Arc3d.js +66 -8
  34. package/lib/cjs/curve/Arc3d.js.map +1 -1
  35. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  36. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  37. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  38. package/lib/cjs/curve/CurveCollection.d.ts +16 -2
  39. package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
  40. package/lib/cjs/curve/CurveCollection.js +33 -2
  41. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  42. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  43. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  44. package/lib/cjs/curve/CurveFactory.d.ts +87 -53
  45. package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
  46. package/lib/cjs/curve/CurveFactory.js +213 -135
  47. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  48. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  49. package/lib/cjs/curve/CurveOps.js.map +1 -1
  50. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  51. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  52. package/lib/cjs/curve/CurveTypes.js.map +1 -1
  53. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  54. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  55. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  56. package/lib/cjs/curve/LineString3d.d.ts +12 -8
  57. package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
  58. package/lib/cjs/curve/LineString3d.js +29 -8
  59. package/lib/cjs/curve/LineString3d.js.map +1 -1
  60. package/lib/cjs/curve/Loop.d.ts +12 -6
  61. package/lib/cjs/curve/Loop.d.ts.map +1 -1
  62. package/lib/cjs/curve/Loop.js +12 -6
  63. package/lib/cjs/curve/Loop.js.map +1 -1
  64. package/lib/cjs/curve/OffsetOptions.js.map +1 -1
  65. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  66. package/lib/cjs/curve/Path.js.map +1 -1
  67. package/lib/cjs/curve/PointString3d.js.map +1 -1
  68. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  69. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  70. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  71. package/lib/cjs/curve/Query/CylindricalRange.d.ts +8 -6
  72. package/lib/cjs/curve/Query/CylindricalRange.d.ts.map +1 -1
  73. package/lib/cjs/curve/Query/CylindricalRange.js +13 -9
  74. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  75. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  76. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  77. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  78. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  79. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  80. package/lib/cjs/curve/RegionOps.js.map +1 -1
  81. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  82. package/lib/cjs/curve/StrokeOptions.d.ts +4 -4
  83. package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
  84. package/lib/cjs/curve/StrokeOptions.js +1 -1
  85. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  86. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  87. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  88. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  89. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  90. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  91. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  92. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  93. package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  94. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  95. package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  96. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  97. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  98. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.d.ts.map +1 -1
  99. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js +24 -18
  100. package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  101. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  102. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  103. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  104. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  105. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  106. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  107. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  108. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  109. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  110. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  111. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  112. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  113. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  114. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  115. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  116. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  117. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  118. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  119. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  120. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  121. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  122. package/lib/cjs/geometry3d/AngleSweep.d.ts +1 -1
  123. package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
  124. package/lib/cjs/geometry3d/AngleSweep.js +1 -1
  125. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  126. package/lib/cjs/geometry3d/BarycentricTriangle.d.ts +14 -8
  127. package/lib/cjs/geometry3d/BarycentricTriangle.d.ts.map +1 -1
  128. package/lib/cjs/geometry3d/BarycentricTriangle.js +17 -8
  129. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  130. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  131. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  132. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  133. package/lib/cjs/geometry3d/FrameBuilder.js +4 -4
  134. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  135. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  136. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  137. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  138. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts +2 -0
  139. package/lib/cjs/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  140. package/lib/cjs/geometry3d/GrowableFloat64Array.js +4 -0
  141. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  142. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  143. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts +32 -10
  144. package/lib/cjs/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  145. package/lib/cjs/geometry3d/GrowableXYZArray.js +54 -16
  146. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  147. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  148. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  149. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts +13 -2
  150. package/lib/cjs/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  151. package/lib/cjs/geometry3d/IndexedXYZCollection.js +24 -10
  152. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  153. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  154. package/lib/cjs/geometry3d/Matrix3d.d.ts +11 -8
  155. package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
  156. package/lib/cjs/geometry3d/Matrix3d.js +28 -26
  157. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  158. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  159. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  160. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  161. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  162. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  163. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  164. package/lib/cjs/geometry3d/Point3dArrayCarrier.js +1 -1
  165. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  166. package/lib/cjs/geometry3d/Point3dVector3d.d.ts +6 -6
  167. package/lib/cjs/geometry3d/Point3dVector3d.js +6 -6
  168. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  169. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  170. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  171. package/lib/cjs/geometry3d/PolygonOps.d.ts +12 -6
  172. package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
  173. package/lib/cjs/geometry3d/PolygonOps.js +94 -47
  174. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  175. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  176. package/lib/cjs/geometry3d/PolylineOps.d.ts +9 -5
  177. package/lib/cjs/geometry3d/PolylineOps.d.ts.map +1 -1
  178. package/lib/cjs/geometry3d/PolylineOps.js +9 -5
  179. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  180. package/lib/cjs/geometry3d/Range.js.map +1 -1
  181. package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
  182. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  183. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  184. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  185. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  186. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  187. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  188. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  189. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  190. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  191. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  192. package/lib/cjs/geometry4d/MomentData.d.ts +72 -73
  193. package/lib/cjs/geometry4d/MomentData.d.ts.map +1 -1
  194. package/lib/cjs/geometry4d/MomentData.js +62 -64
  195. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  196. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  197. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  198. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  199. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  200. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  201. package/lib/cjs/numerics/Complex.js.map +1 -1
  202. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  203. package/lib/cjs/numerics/Newton.js.map +1 -1
  204. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  205. package/lib/cjs/numerics/PolarData.js.map +1 -1
  206. package/lib/cjs/numerics/Polynomials.d.ts +5 -5
  207. package/lib/cjs/numerics/Polynomials.js +6 -6
  208. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  209. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  210. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  211. package/lib/cjs/numerics/SmallSystem.js.map +1 -1
  212. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  213. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  214. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  215. package/lib/cjs/polyface/AuxData.d.ts +2 -2
  216. package/lib/cjs/polyface/AuxData.d.ts.map +1 -1
  217. package/lib/cjs/polyface/AuxData.js +11 -3
  218. package/lib/cjs/polyface/AuxData.js.map +1 -1
  219. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  220. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  221. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  222. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  223. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  224. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts +27 -20
  225. package/lib/cjs/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  226. package/lib/cjs/polyface/IndexedEdgeMatcher.js +56 -30
  227. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  228. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts +2 -1
  229. package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  230. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js +2 -1
  231. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  232. package/lib/cjs/polyface/Polyface.d.ts +3 -5
  233. package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
  234. package/lib/cjs/polyface/Polyface.js +6 -13
  235. package/lib/cjs/polyface/Polyface.js.map +1 -1
  236. package/lib/cjs/polyface/PolyfaceBuilder.d.ts +14 -7
  237. package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
  238. package/lib/cjs/polyface/PolyfaceBuilder.js +55 -60
  239. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  240. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  241. package/lib/cjs/polyface/PolyfaceData.d.ts +13 -3
  242. package/lib/cjs/polyface/PolyfaceData.d.ts.map +1 -1
  243. package/lib/cjs/polyface/PolyfaceData.js +21 -4
  244. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  245. package/lib/cjs/polyface/PolyfaceQuery.d.ts +2 -2
  246. package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
  247. package/lib/cjs/polyface/PolyfaceQuery.js +4 -3
  248. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  249. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  250. package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  251. package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  252. package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  253. package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  254. package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  255. package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  256. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  257. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  258. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  259. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  260. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  261. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  262. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  263. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  264. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  265. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  266. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  267. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  268. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  269. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  270. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  271. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  272. package/lib/cjs/serialization/GeometrySamples.d.ts +5 -5
  273. package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
  274. package/lib/cjs/serialization/GeometrySamples.js +5 -5
  275. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  276. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  277. package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
  278. package/lib/cjs/solid/Box.d.ts +9 -3
  279. package/lib/cjs/solid/Box.d.ts.map +1 -1
  280. package/lib/cjs/solid/Box.js +10 -5
  281. package/lib/cjs/solid/Box.js.map +1 -1
  282. package/lib/cjs/solid/Cone.d.ts +3 -2
  283. package/lib/cjs/solid/Cone.d.ts.map +1 -1
  284. package/lib/cjs/solid/Cone.js +3 -3
  285. package/lib/cjs/solid/Cone.js.map +1 -1
  286. package/lib/cjs/solid/LinearSweep.d.ts +9 -3
  287. package/lib/cjs/solid/LinearSweep.d.ts.map +1 -1
  288. package/lib/cjs/solid/LinearSweep.js +9 -4
  289. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  290. package/lib/cjs/solid/RotationalSweep.d.ts +15 -4
  291. package/lib/cjs/solid/RotationalSweep.d.ts.map +1 -1
  292. package/lib/cjs/solid/RotationalSweep.js +20 -7
  293. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  294. package/lib/cjs/solid/RuledSweep.d.ts +35 -26
  295. package/lib/cjs/solid/RuledSweep.d.ts.map +1 -1
  296. package/lib/cjs/solid/RuledSweep.js +41 -28
  297. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  298. package/lib/cjs/solid/SolidPrimitive.d.ts +12 -11
  299. package/lib/cjs/solid/SolidPrimitive.d.ts.map +1 -1
  300. package/lib/cjs/solid/SolidPrimitive.js +8 -5
  301. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  302. package/lib/cjs/solid/Sphere.d.ts +17 -7
  303. package/lib/cjs/solid/Sphere.d.ts.map +1 -1
  304. package/lib/cjs/solid/Sphere.js +22 -16
  305. package/lib/cjs/solid/Sphere.js.map +1 -1
  306. package/lib/cjs/solid/SweepContour.d.ts +25 -16
  307. package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
  308. package/lib/cjs/solid/SweepContour.js +25 -16
  309. package/lib/cjs/solid/SweepContour.js.map +1 -1
  310. package/lib/cjs/solid/TorusPipe.d.ts +8 -2
  311. package/lib/cjs/solid/TorusPipe.d.ts.map +1 -1
  312. package/lib/cjs/solid/TorusPipe.js +9 -5
  313. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  314. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  315. package/lib/cjs/topology/Graph.js.map +1 -1
  316. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  317. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  318. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  319. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  320. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  321. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  322. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  323. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  324. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  325. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  326. package/lib/cjs/topology/MaskManager.js.map +1 -1
  327. package/lib/cjs/topology/Merging.js.map +1 -1
  328. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  329. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  330. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  331. package/lib/cjs/topology/Triangulation.js.map +1 -1
  332. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  333. package/lib/esm/Constant.js.map +1 -1
  334. package/lib/esm/Geometry.js.map +1 -1
  335. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  336. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  337. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  338. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  339. package/lib/esm/bspline/BSplineCurveOps.d.ts.map +1 -1
  340. package/lib/esm/bspline/BSplineCurveOps.js +18 -21
  341. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  342. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  343. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  344. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  345. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  346. package/lib/esm/bspline/BezierCurveBase.d.ts.map +1 -1
  347. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  348. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  349. package/lib/esm/bspline/KnotVector.js.map +1 -1
  350. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  351. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  352. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  353. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  354. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  355. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  356. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  357. package/lib/esm/clipping/ClipVector.js.map +1 -1
  358. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  359. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  360. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  361. package/lib/esm/core-geometry.js.map +1 -1
  362. package/lib/esm/curve/Arc3d.d.ts +40 -8
  363. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  364. package/lib/esm/curve/Arc3d.js +66 -8
  365. package/lib/esm/curve/Arc3d.js.map +1 -1
  366. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  367. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  368. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  369. package/lib/esm/curve/CurveCollection.d.ts +16 -2
  370. package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
  371. package/lib/esm/curve/CurveCollection.js +33 -2
  372. package/lib/esm/curve/CurveCollection.js.map +1 -1
  373. package/lib/esm/curve/CurveCurve.js.map +1 -1
  374. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  375. package/lib/esm/curve/CurveFactory.d.ts +87 -53
  376. package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
  377. package/lib/esm/curve/CurveFactory.js +213 -135
  378. package/lib/esm/curve/CurveFactory.js.map +1 -1
  379. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  380. package/lib/esm/curve/CurveOps.js.map +1 -1
  381. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  382. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  383. package/lib/esm/curve/CurveTypes.js.map +1 -1
  384. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  385. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  386. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  387. package/lib/esm/curve/LineString3d.d.ts +12 -8
  388. package/lib/esm/curve/LineString3d.d.ts.map +1 -1
  389. package/lib/esm/curve/LineString3d.js +29 -8
  390. package/lib/esm/curve/LineString3d.js.map +1 -1
  391. package/lib/esm/curve/Loop.d.ts +12 -6
  392. package/lib/esm/curve/Loop.d.ts.map +1 -1
  393. package/lib/esm/curve/Loop.js +12 -6
  394. package/lib/esm/curve/Loop.js.map +1 -1
  395. package/lib/esm/curve/OffsetOptions.js.map +1 -1
  396. package/lib/esm/curve/ParityRegion.js.map +1 -1
  397. package/lib/esm/curve/Path.js.map +1 -1
  398. package/lib/esm/curve/PointString3d.js.map +1 -1
  399. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  400. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  401. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  402. package/lib/esm/curve/Query/CylindricalRange.d.ts +8 -6
  403. package/lib/esm/curve/Query/CylindricalRange.d.ts.map +1 -1
  404. package/lib/esm/curve/Query/CylindricalRange.js +13 -9
  405. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  406. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  407. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  408. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  409. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  410. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  411. package/lib/esm/curve/RegionOps.js.map +1 -1
  412. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  413. package/lib/esm/curve/StrokeOptions.d.ts +4 -4
  414. package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
  415. package/lib/esm/curve/StrokeOptions.js +1 -1
  416. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  417. package/lib/esm/curve/UnionRegion.js.map +1 -1
  418. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  419. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  420. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  421. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  422. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  423. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  424. package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
  425. package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
  426. package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
  427. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  428. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  429. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.d.ts.map +1 -1
  430. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js +24 -18
  431. package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
  432. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  433. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  434. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  435. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  436. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  437. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  438. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  439. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  440. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  441. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  442. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  443. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  444. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  445. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  446. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  447. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  448. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  449. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  450. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  451. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  452. package/lib/esm/geometry3d/Angle.js.map +1 -1
  453. package/lib/esm/geometry3d/AngleSweep.d.ts +1 -1
  454. package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
  455. package/lib/esm/geometry3d/AngleSweep.js +1 -1
  456. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  457. package/lib/esm/geometry3d/BarycentricTriangle.d.ts +14 -8
  458. package/lib/esm/geometry3d/BarycentricTriangle.d.ts.map +1 -1
  459. package/lib/esm/geometry3d/BarycentricTriangle.js +17 -8
  460. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  461. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  462. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  463. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  464. package/lib/esm/geometry3d/FrameBuilder.js +4 -4
  465. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  466. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  467. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  468. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  469. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts +2 -0
  470. package/lib/esm/geometry3d/GrowableFloat64Array.d.ts.map +1 -1
  471. package/lib/esm/geometry3d/GrowableFloat64Array.js +4 -0
  472. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  473. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  474. package/lib/esm/geometry3d/GrowableXYZArray.d.ts +32 -10
  475. package/lib/esm/geometry3d/GrowableXYZArray.d.ts.map +1 -1
  476. package/lib/esm/geometry3d/GrowableXYZArray.js +54 -16
  477. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  478. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  479. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  480. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts +13 -2
  481. package/lib/esm/geometry3d/IndexedXYZCollection.d.ts.map +1 -1
  482. package/lib/esm/geometry3d/IndexedXYZCollection.js +24 -10
  483. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  484. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  485. package/lib/esm/geometry3d/Matrix3d.d.ts +11 -8
  486. package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
  487. package/lib/esm/geometry3d/Matrix3d.js +28 -26
  488. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  489. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  490. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  491. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  492. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  493. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  494. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  495. package/lib/esm/geometry3d/Point3dArrayCarrier.js +1 -1
  496. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  497. package/lib/esm/geometry3d/Point3dVector3d.d.ts +6 -6
  498. package/lib/esm/geometry3d/Point3dVector3d.js +6 -6
  499. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  500. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  501. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  502. package/lib/esm/geometry3d/PolygonOps.d.ts +12 -6
  503. package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
  504. package/lib/esm/geometry3d/PolygonOps.js +94 -47
  505. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  506. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  507. package/lib/esm/geometry3d/PolylineOps.d.ts +9 -5
  508. package/lib/esm/geometry3d/PolylineOps.d.ts.map +1 -1
  509. package/lib/esm/geometry3d/PolylineOps.js +9 -5
  510. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  511. package/lib/esm/geometry3d/Range.js.map +1 -1
  512. package/lib/esm/geometry3d/Ray2d.js.map +1 -1
  513. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  514. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  515. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  516. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  517. package/lib/esm/geometry3d/Transform.js.map +1 -1
  518. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  519. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  520. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  521. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  522. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  523. package/lib/esm/geometry4d/MomentData.d.ts +72 -73
  524. package/lib/esm/geometry4d/MomentData.d.ts.map +1 -1
  525. package/lib/esm/geometry4d/MomentData.js +62 -64
  526. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  527. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  528. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  529. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  530. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  531. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  532. package/lib/esm/numerics/Complex.js.map +1 -1
  533. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  534. package/lib/esm/numerics/Newton.js.map +1 -1
  535. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  536. package/lib/esm/numerics/PolarData.js.map +1 -1
  537. package/lib/esm/numerics/Polynomials.d.ts +5 -5
  538. package/lib/esm/numerics/Polynomials.js +6 -6
  539. package/lib/esm/numerics/Polynomials.js.map +1 -1
  540. package/lib/esm/numerics/Quadrature.js.map +1 -1
  541. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  542. package/lib/esm/numerics/SmallSystem.js.map +1 -1
  543. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  544. package/lib/esm/numerics/UnionFind.js.map +1 -1
  545. package/lib/esm/numerics/UsageSums.js.map +1 -1
  546. package/lib/esm/polyface/AuxData.d.ts +2 -2
  547. package/lib/esm/polyface/AuxData.d.ts.map +1 -1
  548. package/lib/esm/polyface/AuxData.js +11 -3
  549. package/lib/esm/polyface/AuxData.js.map +1 -1
  550. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  551. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  552. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  553. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  554. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  555. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts +27 -20
  556. package/lib/esm/polyface/IndexedEdgeMatcher.d.ts.map +1 -1
  557. package/lib/esm/polyface/IndexedEdgeMatcher.js +56 -30
  558. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  559. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts +2 -1
  560. package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
  561. package/lib/esm/polyface/IndexedPolyfaceVisitor.js +2 -1
  562. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  563. package/lib/esm/polyface/Polyface.d.ts +3 -5
  564. package/lib/esm/polyface/Polyface.d.ts.map +1 -1
  565. package/lib/esm/polyface/Polyface.js +6 -13
  566. package/lib/esm/polyface/Polyface.js.map +1 -1
  567. package/lib/esm/polyface/PolyfaceBuilder.d.ts +14 -7
  568. package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
  569. package/lib/esm/polyface/PolyfaceBuilder.js +56 -61
  570. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  571. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  572. package/lib/esm/polyface/PolyfaceData.d.ts +13 -3
  573. package/lib/esm/polyface/PolyfaceData.d.ts.map +1 -1
  574. package/lib/esm/polyface/PolyfaceData.js +21 -4
  575. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  576. package/lib/esm/polyface/PolyfaceQuery.d.ts +2 -2
  577. package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
  578. package/lib/esm/polyface/PolyfaceQuery.js +4 -3
  579. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  580. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  581. package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
  582. package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
  583. package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
  584. package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
  585. package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
  586. package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
  587. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  588. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  589. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  590. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  591. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  592. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  593. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  594. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  595. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  596. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  597. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  598. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  599. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  600. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  601. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  602. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  603. package/lib/esm/serialization/GeometrySamples.d.ts +5 -5
  604. package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
  605. package/lib/esm/serialization/GeometrySamples.js +5 -5
  606. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  607. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  608. package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
  609. package/lib/esm/solid/Box.d.ts +9 -3
  610. package/lib/esm/solid/Box.d.ts.map +1 -1
  611. package/lib/esm/solid/Box.js +10 -5
  612. package/lib/esm/solid/Box.js.map +1 -1
  613. package/lib/esm/solid/Cone.d.ts +3 -2
  614. package/lib/esm/solid/Cone.d.ts.map +1 -1
  615. package/lib/esm/solid/Cone.js +3 -3
  616. package/lib/esm/solid/Cone.js.map +1 -1
  617. package/lib/esm/solid/LinearSweep.d.ts +9 -3
  618. package/lib/esm/solid/LinearSweep.d.ts.map +1 -1
  619. package/lib/esm/solid/LinearSweep.js +9 -4
  620. package/lib/esm/solid/LinearSweep.js.map +1 -1
  621. package/lib/esm/solid/RotationalSweep.d.ts +15 -4
  622. package/lib/esm/solid/RotationalSweep.d.ts.map +1 -1
  623. package/lib/esm/solid/RotationalSweep.js +20 -7
  624. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  625. package/lib/esm/solid/RuledSweep.d.ts +35 -26
  626. package/lib/esm/solid/RuledSweep.d.ts.map +1 -1
  627. package/lib/esm/solid/RuledSweep.js +41 -28
  628. package/lib/esm/solid/RuledSweep.js.map +1 -1
  629. package/lib/esm/solid/SolidPrimitive.d.ts +12 -11
  630. package/lib/esm/solid/SolidPrimitive.d.ts.map +1 -1
  631. package/lib/esm/solid/SolidPrimitive.js +8 -5
  632. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  633. package/lib/esm/solid/Sphere.d.ts +17 -7
  634. package/lib/esm/solid/Sphere.d.ts.map +1 -1
  635. package/lib/esm/solid/Sphere.js +22 -16
  636. package/lib/esm/solid/Sphere.js.map +1 -1
  637. package/lib/esm/solid/SweepContour.d.ts +25 -16
  638. package/lib/esm/solid/SweepContour.d.ts.map +1 -1
  639. package/lib/esm/solid/SweepContour.js +25 -16
  640. package/lib/esm/solid/SweepContour.js.map +1 -1
  641. package/lib/esm/solid/TorusPipe.d.ts +8 -2
  642. package/lib/esm/solid/TorusPipe.d.ts.map +1 -1
  643. package/lib/esm/solid/TorusPipe.js +9 -5
  644. package/lib/esm/solid/TorusPipe.js.map +1 -1
  645. package/lib/esm/topology/ChainMerge.js.map +1 -1
  646. package/lib/esm/topology/Graph.js.map +1 -1
  647. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  648. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  649. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  650. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  651. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  652. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  653. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  654. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  655. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  656. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  657. package/lib/esm/topology/MaskManager.js.map +1 -1
  658. package/lib/esm/topology/Merging.js.map +1 -1
  659. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  660. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  661. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  662. package/lib/esm/topology/Triangulation.js.map +1 -1
  663. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  664. package/package.json +4 -4
@@ -453,8 +453,8 @@ export class PolygonOps {
453
453
  }
454
454
  /**
455
455
  * Return a Ray3d with (assuming the polygon is planar and not self-intersecting):
456
- * * `origin` at the centroid of the (3D) polygon
457
- * * `direction` is the unit vector perpendicular to the plane
456
+ * * `origin` at the centroid of the (3D) polygon,
457
+ * * `direction` is the unit vector perpendicular to the plane,
458
458
  * * `a` is the area.
459
459
  * @param points
460
460
  */
@@ -839,7 +839,10 @@ export class PolygonOps {
839
839
  * * Compare to [[closestPoint]].
840
840
  * @param polygon points of the polygon, closure point optional
841
841
  * @param testPoint point p to project onto the polygon edges. Works best when p is in the plane of the polygon.
842
- * @param tolerance optional distance tolerance to determine point-vertex and point-edge coincidence.
842
+ * @param tolerance optional tolerance(s) to determine point-vertex and point-edge coincidence. A single number
843
+ * is interpreted as distance tolerance. If an array is given, the first number is interpreted as distance tolerance;
844
+ * the second, as parametric tolerance. Default values are [[Geometry.smallMetricDistance]] for distance tolerance
845
+ * and 0.0 for parameter tolerance.
843
846
  * @param result optional pre-allocated object to fill and return
844
847
  * @returns details d of the closest point `d.point`:
845
848
  * * `d.isValid()` returns true if and only if the polygon is nontrivial.
@@ -851,7 +854,9 @@ export class PolygonOps {
851
854
  static closestPointOnBoundary(polygon, testPoint, tolerance = Geometry.smallMetricDistance, result) {
852
855
  if (!(polygon instanceof IndexedXYZCollection))
853
856
  return this.closestPointOnBoundary(new Point3dArrayCarrier(polygon), testPoint, tolerance, result);
854
- const distTol2 = tolerance * tolerance;
857
+ const distTol = Array.isArray(tolerance) ? tolerance[0] : tolerance;
858
+ const paramTol = Array.isArray(tolerance) ? Math.abs(tolerance[1]) : 0.0;
859
+ const distTol2 = distTol * distTol;
855
860
  let numPoints = polygon.length;
856
861
  while (numPoints > 1) {
857
862
  if (polygon.distanceSquaredIndexIndex(0, numPoints - 1) > distTol2)
@@ -861,29 +866,59 @@ export class PolygonOps {
861
866
  result = PolygonLocationDetail.create(result);
862
867
  if (0 === numPoints)
863
868
  return result; // invalid
864
- if (1 === numPoints) {
865
- polygon.getPoint3dAtUncheckedPointIndex(0, result.point);
869
+ const constructSingletonPoint = (index) => {
870
+ polygon.getPoint3dAtUncheckedPointIndex(index, result.point);
866
871
  result.a = result.point.distance(testPoint);
867
872
  result.v.setZero();
868
873
  result.code = PolygonLocation.OnPolygonVertex;
869
- result.closestEdgeIndex = 0;
874
+ result.closestEdgeIndex = index;
870
875
  result.closestEdgeParam = 0.0;
871
876
  return result;
872
- }
877
+ };
878
+ if (1 === numPoints)
879
+ return constructSingletonPoint(0);
880
+ // lambda for computing edge parameter at which testPoint projects onto the edge starting at iEdgeStart
881
+ const projectToEdge = (iEdgeStart) => {
882
+ let isValid = false;
883
+ let edgeParam = 0.0;
884
+ let uDotU = 0.0;
885
+ let vDotV = 0.0;
886
+ if (iEdgeStart >= 0 && iEdgeStart < numPoints) {
887
+ let iEdgeEnd = iEdgeStart + 1;
888
+ if (iEdgeEnd === numPoints)
889
+ iEdgeEnd = 0;
890
+ uDotU = polygon.distanceSquaredIndexIndex(iEdgeStart, iEdgeEnd);
891
+ if (uDotU > distTol2) { // nontrivial edge
892
+ vDotV = polygon.distanceSquaredIndexXYAndZ(iEdgeStart, testPoint);
893
+ const uDotV = polygon.dotProductIndexIndexXYAndZ(iEdgeStart, iEdgeEnd, testPoint);
894
+ edgeParam = uDotV / uDotU; // param of projection of testPoint onto edge [iEdgeStart, iEdgeEnd]
895
+ isValid = true;
896
+ }
897
+ }
898
+ return { isValid, edgeParam, uDotU, vDotV };
899
+ };
900
+ // find the previous nontrivial edge's projection status before processing the first edge
901
+ let projBeyondPrevEdge = false;
873
902
  let iPrev = numPoints - 1;
903
+ for (; iPrev > 0; --iPrev) {
904
+ const projData = projectToEdge(iPrev);
905
+ if (projData.isValid) {
906
+ projBeyondPrevEdge = projData.edgeParam > 1.0 + paramTol;
907
+ break;
908
+ }
909
+ }
910
+ if (iPrev <= 0) // all segments trivial, so treat like single point case
911
+ return constructSingletonPoint(0);
874
912
  let minDist2 = Geometry.largeCoordinateResult;
875
913
  for (let iBase = 0; iBase < numPoints; ++iBase) {
876
914
  let iNext = iBase + 1;
877
915
  if (iNext === numPoints)
878
916
  iNext = 0;
879
- const uDotU = polygon.distanceSquaredIndexIndex(iBase, iNext);
880
- if (uDotU <= distTol2)
881
- continue; // ignore trivial polygon edge (keep iPrev)
882
- const vDotV = polygon.distanceSquaredIndexXYAndZ(iBase, testPoint);
883
- const uDotV = polygon.dotProductIndexIndexXYAndZ(iBase, iNext, testPoint);
884
- const edgeParam = uDotV / uDotU; // param of projection of testPoint onto this edge
885
- if (edgeParam <= 0.0) { // testPoint projects to/before edge start
886
- const distToStart2 = vDotV;
917
+ const projData = projectToEdge(iBase);
918
+ if (!projData.isValid)
919
+ continue; // ignore trivial polygon edge (keep iPrev, projBeyondPrevEdge)
920
+ if (projData.edgeParam <= paramTol) { // testPoint projects to/before edge start
921
+ const distToStart2 = projData.vDotV;
887
922
  if (distToStart2 <= distTol2) {
888
923
  // testPoint is at edge start; we are done
889
924
  polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
@@ -894,25 +929,25 @@ export class PolygonOps {
894
929
  result.closestEdgeParam = 0.0;
895
930
  return result;
896
931
  }
897
- if (distToStart2 < minDist2) {
898
- if (polygon.dotProductIndexIndexXYAndZ(iBase, iPrev, testPoint) <= 0.0) {
899
- // update candidate (to edge start) only if testPoint projected beyond previous edge end
900
- polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
901
- result.a = Math.sqrt(distToStart2);
902
- polygon.crossProductIndexIndexIndex(iBase, iPrev, iNext, result.v);
903
- result.code = PolygonLocation.OnPolygonVertex;
904
- result.closestEdgeIndex = iBase;
905
- result.closestEdgeParam = 0.0;
906
- minDist2 = distToStart2;
907
- }
932
+ if (distToStart2 < minDist2 && projBeyondPrevEdge) {
933
+ // update candidate (to edge start) only if testPoint projected beyond previous edge end
934
+ polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
935
+ result.a = Math.sqrt(distToStart2);
936
+ polygon.crossProductIndexIndexIndex(iBase, iPrev, iNext, result.v);
937
+ result.code = PolygonLocation.OnPolygonVertex;
938
+ result.closestEdgeIndex = iBase;
939
+ result.closestEdgeParam = 0.0;
940
+ minDist2 = distToStart2;
908
941
  }
942
+ projBeyondPrevEdge = false;
909
943
  }
910
- else if (edgeParam <= 1.0) { // testPoint projects inside edge, or to edge end
911
- const projDist2 = vDotV - edgeParam * edgeParam * uDotU;
944
+ else if (projData.edgeParam <= 1.0 + paramTol) { // testPoint projects inside edge, or to edge end
945
+ projData.edgeParam = Geometry.clamp(projData.edgeParam, 0.0, 1.0);
946
+ const projDist2 = projData.vDotV - projData.edgeParam * projData.edgeParam * projData.uDotU;
912
947
  if (projDist2 <= distTol2) {
913
948
  // testPoint is on edge; we are done
914
- const distToStart2 = vDotV;
915
- if (edgeParam <= 0.5 && distToStart2 <= distTol2) {
949
+ const distToStart2 = projData.vDotV;
950
+ if (projData.edgeParam <= 0.5 && distToStart2 <= distTol2) {
916
951
  // testPoint is at edge start
917
952
  polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
918
953
  result.a = Math.sqrt(distToStart2);
@@ -922,8 +957,8 @@ export class PolygonOps {
922
957
  result.closestEdgeParam = 0.0;
923
958
  return result;
924
959
  }
925
- const distToEnd2 = projDist2 + (1.0 - edgeParam) * (1.0 - edgeParam) * uDotU;
926
- if (edgeParam > 0.5 && distToEnd2 <= distTol2) {
960
+ const distToEnd2 = projDist2 + (1.0 - projData.edgeParam) * (1.0 - projData.edgeParam) * projData.uDotU;
961
+ if (projData.edgeParam > 0.5 && distToEnd2 <= distTol2) {
927
962
  // testPoint is at edge end
928
963
  polygon.getPoint3dAtUncheckedPointIndex(iNext, result.point);
929
964
  result.a = Math.sqrt(distToEnd2);
@@ -934,27 +969,29 @@ export class PolygonOps {
934
969
  return result;
935
970
  }
936
971
  // testPoint is on edge interior
937
- polygon.interpolateIndexIndex(iBase, edgeParam, iNext, result.point);
972
+ polygon.interpolateIndexIndex(iBase, projData.edgeParam, iNext, result.point);
938
973
  result.a = Math.sqrt(projDist2);
939
974
  result.v.setZero();
940
975
  result.code = PolygonLocation.OnPolygonEdgeInterior;
941
976
  result.closestEdgeIndex = iBase;
942
- result.closestEdgeParam = edgeParam;
977
+ result.closestEdgeParam = projData.edgeParam;
943
978
  return result;
944
979
  }
945
980
  if (projDist2 < minDist2) {
946
- // update candidate (to edge interior)
947
- polygon.interpolateIndexIndex(iBase, edgeParam, iNext, result.point);
981
+ // update candidate
982
+ polygon.interpolateIndexIndex(iBase, projData.edgeParam, iNext, result.point);
948
983
  result.a = Math.sqrt(projDist2);
949
984
  polygon.crossProductIndexIndexXYAndZ(iBase, iNext, testPoint, result.v);
950
- result.code = PolygonLocation.OnPolygonEdgeInterior;
985
+ result.code = projData.edgeParam < 1.0 ? PolygonLocation.OnPolygonEdgeInterior : PolygonLocation.OnPolygonVertex;
986
+ ;
951
987
  result.closestEdgeIndex = iBase;
952
- result.closestEdgeParam = edgeParam;
988
+ result.closestEdgeParam = projData.edgeParam;
953
989
  minDist2 = projDist2;
954
990
  }
991
+ projBeyondPrevEdge = false;
955
992
  }
956
- else { // edgeParam > 1.0
957
- // NOOP: testPoint projects beyond edge end, handled by next edge
993
+ else {
994
+ projBeyondPrevEdge = true; // to be handled by next edge
958
995
  }
959
996
  iPrev = iBase;
960
997
  }
@@ -998,7 +1035,10 @@ export class PolygonOps {
998
1035
  /** Compute the intersection of a line (parameterized as a ray) with the plane of this polygon.
999
1036
  * @param polygon points of the polygon, closure point optional
1000
1037
  * @param ray infinite line to intersect, as a ray
1001
- * @param tolerance optional distance tolerance to determine point-vertex and point-edge coincidence.
1038
+ * @param tolerance optional tolerance(s) to determine point-vertex and point-edge coincidence. A single number
1039
+ * is interpreted as distance tolerance. If an array is given, the first number is interpreted as distance tolerance;
1040
+ * the second, as parametric tolerance. Default values are [[Geometry.smallMetricDistance]] for distance tolerance
1041
+ * and 0.0 for parameter tolerance.
1002
1042
  * @param result optional pre-allocated object to fill and return
1003
1043
  * @returns details d of the line-plane intersection `d.point`:
1004
1044
  * * `d.isValid()` returns true if and only if the line intersects the plane.
@@ -1025,11 +1065,18 @@ export class PolygonOps {
1025
1065
  // NOOP: intersectionPoint is on the polygon, so result.code already classifies it
1026
1066
  }
1027
1067
  else {
1028
- // intersectionPoint is not on polygon, so result.code refers to the closest point. Update it to refer to intersectionPoint.
1029
- if (PolygonLocation.OnPolygonVertex === result.code)
1030
- result.code = (dot > 0.0) ? PolygonLocation.InsidePolygonProjectsToVertex : PolygonLocation.OutsidePolygonProjectsToVertex;
1031
- else if (PolygonLocation.OnPolygonEdgeInterior === result.code)
1032
- result.code = (dot > 0.0) ? PolygonLocation.InsidePolygonProjectsToEdgeInterior : PolygonLocation.OutsidePolygonProjectsToEdgeInterior;
1068
+ // intersectionPoint is not on the polygon, so result.code refers to the closest point;
1069
+ // update it to refer to intersectionPoint.
1070
+ if (PolygonLocation.OnPolygonVertex === result.code) {
1071
+ result.code = (dot > 0.0)
1072
+ ? PolygonLocation.InsidePolygonProjectsToVertex
1073
+ : PolygonLocation.OutsidePolygonProjectsToVertex;
1074
+ }
1075
+ else if (PolygonLocation.OnPolygonEdgeInterior === result.code) {
1076
+ result.code = (dot > 0.0)
1077
+ ? PolygonLocation.InsidePolygonProjectsToEdgeInterior
1078
+ : PolygonLocation.OutsidePolygonProjectsToEdgeInterior;
1079
+ }
1033
1080
  }
1034
1081
  }
1035
1082
  return result;