@itwin/core-geometry 4.1.0-dev.77 → 4.1.0-dev.80

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 (461) hide show
  1. package/lib/cjs/Constant.js.map +1 -1
  2. package/lib/cjs/Geometry.js.map +1 -1
  3. package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
  4. package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
  5. package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
  6. package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
  7. package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
  8. package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
  9. package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
  10. package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
  11. package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
  12. package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
  13. package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
  14. package/lib/cjs/bspline/KnotVector.js.map +1 -1
  15. package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
  16. package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
  17. package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
  18. package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
  19. package/lib/cjs/clipping/ClipPlane.js.map +1 -1
  20. package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
  21. package/lib/cjs/clipping/ClipUtils.js.map +1 -1
  22. package/lib/cjs/clipping/ClipVector.js.map +1 -1
  23. package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
  24. package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  25. package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  26. package/lib/cjs/core-geometry.js.map +1 -1
  27. package/lib/cjs/curve/Arc3d.d.ts +2 -2
  28. package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
  29. package/lib/cjs/curve/Arc3d.js +4 -3
  30. package/lib/cjs/curve/Arc3d.js.map +1 -1
  31. package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
  32. package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
  33. package/lib/cjs/curve/CurveChain.js.map +1 -1
  34. package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
  35. package/lib/cjs/curve/CurveCollection.js.map +1 -1
  36. package/lib/cjs/curve/CurveCurve.d.ts +6 -2
  37. package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
  38. package/lib/cjs/curve/CurveCurve.js +13 -9
  39. package/lib/cjs/curve/CurveCurve.js.map +1 -1
  40. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts +74 -68
  41. package/lib/cjs/curve/CurveCurveCloseApproachXY.d.ts.map +1 -1
  42. package/lib/cjs/curve/CurveCurveCloseApproachXY.js +100 -108
  43. package/lib/cjs/curve/CurveCurveCloseApproachXY.js.map +1 -1
  44. package/lib/cjs/curve/CurveCurveIntersectXY.d.ts +46 -48
  45. package/lib/cjs/curve/CurveCurveIntersectXY.d.ts.map +1 -1
  46. package/lib/cjs/curve/CurveCurveIntersectXY.js +72 -61
  47. package/lib/cjs/curve/CurveCurveIntersectXY.js.map +1 -1
  48. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts +32 -38
  49. package/lib/cjs/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
  50. package/lib/cjs/curve/CurveCurveIntersectXYZ.js +86 -97
  51. package/lib/cjs/curve/CurveCurveIntersectXYZ.js.map +1 -1
  52. package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
  53. package/lib/cjs/curve/CurveFactory.js.map +1 -1
  54. package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
  55. package/lib/cjs/curve/CurveOps.js.map +1 -1
  56. package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
  57. package/lib/cjs/curve/CurveProcessor.js.map +1 -1
  58. package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
  59. package/lib/cjs/curve/GeometryQuery.js.map +1 -1
  60. package/lib/cjs/curve/LineSegment3d.js.map +1 -1
  61. package/lib/cjs/curve/LineString3d.js.map +1 -1
  62. package/lib/cjs/curve/Loop.js.map +1 -1
  63. package/lib/cjs/curve/OffsetOptions.js.map +1 -1
  64. package/lib/cjs/curve/ParityRegion.js.map +1 -1
  65. package/lib/cjs/curve/Path.js.map +1 -1
  66. package/lib/cjs/curve/PointString3d.js.map +1 -1
  67. package/lib/cjs/curve/ProxyCurve.js.map +1 -1
  68. package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  69. package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
  70. package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
  71. package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
  72. package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
  73. package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
  74. package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
  75. package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
  76. package/lib/cjs/curve/RegionOps.js.map +1 -1
  77. package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
  78. package/lib/cjs/curve/StrokeOptions.js.map +1 -1
  79. package/lib/cjs/curve/UnionRegion.js.map +1 -1
  80. package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  81. package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  82. package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  83. package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  84. package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  85. package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  86. package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
  87. package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  88. package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
  89. package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
  90. package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  91. package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  92. package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  93. package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
  94. package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  95. package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  96. package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
  97. package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
  98. package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  99. package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  100. package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
  101. package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  102. package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  103. package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
  104. package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  105. package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  106. package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
  107. package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
  108. package/lib/cjs/geometry3d/Angle.js.map +1 -1
  109. package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
  110. package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
  111. package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
  112. package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
  113. package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
  114. package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
  115. package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
  116. package/lib/cjs/geometry3d/GeometryHandler.d.ts +98 -92
  117. package/lib/cjs/geometry3d/GeometryHandler.d.ts.map +1 -1
  118. package/lib/cjs/geometry3d/GeometryHandler.js +247 -124
  119. package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
  120. package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
  121. package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
  122. package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
  123. package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
  124. package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
  125. package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
  126. package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
  127. package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  128. package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
  129. package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
  130. package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
  131. package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  132. package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  133. package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
  134. package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
  135. package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
  136. package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
  137. package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
  138. package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
  139. package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
  140. package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  141. package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
  142. package/lib/cjs/geometry3d/Range.js.map +1 -1
  143. package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
  144. package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
  145. package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
  146. package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
  147. package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
  148. package/lib/cjs/geometry3d/Transform.js.map +1 -1
  149. package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
  150. package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
  151. package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
  152. package/lib/cjs/geometry4d/Map4d.js.map +1 -1
  153. package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
  154. package/lib/cjs/geometry4d/MomentData.js.map +1 -1
  155. package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  156. package/lib/cjs/geometry4d/Point4d.js.map +1 -1
  157. package/lib/cjs/numerics/BandedSystem.js.map +1 -1
  158. package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
  159. package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
  160. package/lib/cjs/numerics/Complex.js.map +1 -1
  161. package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
  162. package/lib/cjs/numerics/Newton.js.map +1 -1
  163. package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
  164. package/lib/cjs/numerics/PolarData.js.map +1 -1
  165. package/lib/cjs/numerics/Polynomials.js.map +1 -1
  166. package/lib/cjs/numerics/Quadrature.js.map +1 -1
  167. package/lib/cjs/numerics/Range1dArray.js.map +1 -1
  168. package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
  169. package/lib/cjs/numerics/UnionFind.js.map +1 -1
  170. package/lib/cjs/numerics/UsageSums.js.map +1 -1
  171. package/lib/cjs/polyface/AuxData.js.map +1 -1
  172. package/lib/cjs/polyface/BoxTopology.js.map +1 -1
  173. package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
  174. package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
  175. package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
  176. package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  177. package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
  178. package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  179. package/lib/cjs/polyface/Polyface.js.map +1 -1
  180. package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
  181. package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
  182. package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
  183. package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
  184. package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
  185. package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
  186. package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
  187. package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  188. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  189. package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  190. package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  191. package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  192. package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  193. package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
  194. package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  195. package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
  196. package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
  197. package/lib/cjs/serialization/BGFBReader.js.map +1 -1
  198. package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
  199. package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  200. package/lib/cjs/serialization/DeepCompare.js.map +1 -1
  201. package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
  202. package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
  203. package/lib/cjs/solid/Box.js.map +1 -1
  204. package/lib/cjs/solid/Cone.js.map +1 -1
  205. package/lib/cjs/solid/LinearSweep.js.map +1 -1
  206. package/lib/cjs/solid/RotationalSweep.js.map +1 -1
  207. package/lib/cjs/solid/RuledSweep.js.map +1 -1
  208. package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
  209. package/lib/cjs/solid/Sphere.js.map +1 -1
  210. package/lib/cjs/solid/SweepContour.js.map +1 -1
  211. package/lib/cjs/solid/TorusPipe.js.map +1 -1
  212. package/lib/cjs/topology/ChainMerge.js.map +1 -1
  213. package/lib/cjs/topology/Graph.js.map +1 -1
  214. package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  215. package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
  216. package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  217. package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
  218. package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
  219. package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  220. package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  221. package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
  222. package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
  223. package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
  224. package/lib/cjs/topology/MaskManager.js.map +1 -1
  225. package/lib/cjs/topology/Merging.js.map +1 -1
  226. package/lib/cjs/topology/RegularizeFace.js.map +1 -1
  227. package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
  228. package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
  229. package/lib/cjs/topology/Triangulation.js.map +1 -1
  230. package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
  231. package/lib/esm/Constant.js.map +1 -1
  232. package/lib/esm/Geometry.js.map +1 -1
  233. package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
  234. package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
  235. package/lib/esm/bspline/BSplineCurve.js.map +1 -1
  236. package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
  237. package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
  238. package/lib/esm/bspline/BSplineSurface.js.map +1 -1
  239. package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
  240. package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
  241. package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
  242. package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
  243. package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
  244. package/lib/esm/bspline/KnotVector.js.map +1 -1
  245. package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
  246. package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
  247. package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
  248. package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
  249. package/lib/esm/clipping/ClipPlane.js.map +1 -1
  250. package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
  251. package/lib/esm/clipping/ClipUtils.js.map +1 -1
  252. package/lib/esm/clipping/ClipVector.js.map +1 -1
  253. package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
  254. package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
  255. package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
  256. package/lib/esm/core-geometry.js.map +1 -1
  257. package/lib/esm/curve/Arc3d.d.ts +2 -2
  258. package/lib/esm/curve/Arc3d.d.ts.map +1 -1
  259. package/lib/esm/curve/Arc3d.js +4 -3
  260. package/lib/esm/curve/Arc3d.js.map +1 -1
  261. package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
  262. package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
  263. package/lib/esm/curve/CurveChain.js.map +1 -1
  264. package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
  265. package/lib/esm/curve/CurveCollection.js.map +1 -1
  266. package/lib/esm/curve/CurveCurve.d.ts +6 -2
  267. package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
  268. package/lib/esm/curve/CurveCurve.js +13 -9
  269. package/lib/esm/curve/CurveCurve.js.map +1 -1
  270. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts +74 -68
  271. package/lib/esm/curve/CurveCurveCloseApproachXY.d.ts.map +1 -1
  272. package/lib/esm/curve/CurveCurveCloseApproachXY.js +100 -108
  273. package/lib/esm/curve/CurveCurveCloseApproachXY.js.map +1 -1
  274. package/lib/esm/curve/CurveCurveIntersectXY.d.ts +46 -48
  275. package/lib/esm/curve/CurveCurveIntersectXY.d.ts.map +1 -1
  276. package/lib/esm/curve/CurveCurveIntersectXY.js +72 -61
  277. package/lib/esm/curve/CurveCurveIntersectXY.js.map +1 -1
  278. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts +32 -38
  279. package/lib/esm/curve/CurveCurveIntersectXYZ.d.ts.map +1 -1
  280. package/lib/esm/curve/CurveCurveIntersectXYZ.js +86 -97
  281. package/lib/esm/curve/CurveCurveIntersectXYZ.js.map +1 -1
  282. package/lib/esm/curve/CurveExtendMode.js.map +1 -1
  283. package/lib/esm/curve/CurveFactory.js.map +1 -1
  284. package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
  285. package/lib/esm/curve/CurveOps.js.map +1 -1
  286. package/lib/esm/curve/CurvePrimitive.js.map +1 -1
  287. package/lib/esm/curve/CurveProcessor.js.map +1 -1
  288. package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
  289. package/lib/esm/curve/GeometryQuery.js.map +1 -1
  290. package/lib/esm/curve/LineSegment3d.js.map +1 -1
  291. package/lib/esm/curve/LineString3d.js.map +1 -1
  292. package/lib/esm/curve/Loop.js.map +1 -1
  293. package/lib/esm/curve/OffsetOptions.js.map +1 -1
  294. package/lib/esm/curve/ParityRegion.js.map +1 -1
  295. package/lib/esm/curve/Path.js.map +1 -1
  296. package/lib/esm/curve/PointString3d.js.map +1 -1
  297. package/lib/esm/curve/ProxyCurve.js.map +1 -1
  298. package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
  299. package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
  300. package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
  301. package/lib/esm/curve/Query/InOutTests.js.map +1 -1
  302. package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
  303. package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
  304. package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
  305. package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
  306. package/lib/esm/curve/RegionOps.js.map +1 -1
  307. package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
  308. package/lib/esm/curve/StrokeOptions.js.map +1 -1
  309. package/lib/esm/curve/UnionRegion.js.map +1 -1
  310. package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
  311. package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
  312. package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
  313. package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
  314. package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
  315. package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
  316. package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
  317. package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
  318. package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
  319. package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
  320. package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
  321. package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
  322. package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
  323. package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
  324. package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
  325. package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
  326. package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
  327. package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
  328. package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
  329. package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
  330. package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
  331. package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
  332. package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
  333. package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
  334. package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
  335. package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
  336. package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
  337. package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
  338. package/lib/esm/geometry3d/Angle.js.map +1 -1
  339. package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
  340. package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
  341. package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
  342. package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
  343. package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
  344. package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
  345. package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
  346. package/lib/esm/geometry3d/GeometryHandler.d.ts +98 -92
  347. package/lib/esm/geometry3d/GeometryHandler.d.ts.map +1 -1
  348. package/lib/esm/geometry3d/GeometryHandler.js +247 -124
  349. package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
  350. package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
  351. package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
  352. package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
  353. package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
  354. package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
  355. package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
  356. package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
  357. package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
  358. package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
  359. package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
  360. package/lib/esm/geometry3d/Plane3d.js.map +1 -1
  361. package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
  362. package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
  363. package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
  364. package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
  365. package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
  366. package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
  367. package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
  368. package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
  369. package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
  370. package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
  371. package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
  372. package/lib/esm/geometry3d/Range.js.map +1 -1
  373. package/lib/esm/geometry3d/Ray2d.js.map +1 -1
  374. package/lib/esm/geometry3d/Ray3d.js.map +1 -1
  375. package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
  376. package/lib/esm/geometry3d/Segment1d.js.map +1 -1
  377. package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
  378. package/lib/esm/geometry3d/Transform.js.map +1 -1
  379. package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
  380. package/lib/esm/geometry3d/XYZProps.js.map +1 -1
  381. package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
  382. package/lib/esm/geometry4d/Map4d.js.map +1 -1
  383. package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
  384. package/lib/esm/geometry4d/MomentData.js.map +1 -1
  385. package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
  386. package/lib/esm/geometry4d/Point4d.js.map +1 -1
  387. package/lib/esm/numerics/BandedSystem.js.map +1 -1
  388. package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
  389. package/lib/esm/numerics/ClusterableArray.js.map +1 -1
  390. package/lib/esm/numerics/Complex.js.map +1 -1
  391. package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
  392. package/lib/esm/numerics/Newton.js.map +1 -1
  393. package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
  394. package/lib/esm/numerics/PolarData.js.map +1 -1
  395. package/lib/esm/numerics/Polynomials.js.map +1 -1
  396. package/lib/esm/numerics/Quadrature.js.map +1 -1
  397. package/lib/esm/numerics/Range1dArray.js.map +1 -1
  398. package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
  399. package/lib/esm/numerics/UnionFind.js.map +1 -1
  400. package/lib/esm/numerics/UsageSums.js.map +1 -1
  401. package/lib/esm/polyface/AuxData.js.map +1 -1
  402. package/lib/esm/polyface/BoxTopology.js.map +1 -1
  403. package/lib/esm/polyface/FacetFaceData.js.map +1 -1
  404. package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
  405. package/lib/esm/polyface/FacetOrientation.js.map +1 -1
  406. package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
  407. package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
  408. package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
  409. package/lib/esm/polyface/Polyface.js.map +1 -1
  410. package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
  411. package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
  412. package/lib/esm/polyface/PolyfaceData.js.map +1 -1
  413. package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
  414. package/lib/esm/polyface/RangeLengthData.js.map +1 -1
  415. package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
  416. package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
  417. package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
  418. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
  419. package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
  420. package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
  421. package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
  422. package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
  423. package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
  424. package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
  425. package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
  426. package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
  427. package/lib/esm/serialization/BGFBReader.js.map +1 -1
  428. package/lib/esm/serialization/BGFBWriter.js.map +1 -1
  429. package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
  430. package/lib/esm/serialization/DeepCompare.js.map +1 -1
  431. package/lib/esm/serialization/GeometrySamples.js.map +1 -1
  432. package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
  433. package/lib/esm/solid/Box.js.map +1 -1
  434. package/lib/esm/solid/Cone.js.map +1 -1
  435. package/lib/esm/solid/LinearSweep.js.map +1 -1
  436. package/lib/esm/solid/RotationalSweep.js.map +1 -1
  437. package/lib/esm/solid/RuledSweep.js.map +1 -1
  438. package/lib/esm/solid/SolidPrimitive.js.map +1 -1
  439. package/lib/esm/solid/Sphere.js.map +1 -1
  440. package/lib/esm/solid/SweepContour.js.map +1 -1
  441. package/lib/esm/solid/TorusPipe.js.map +1 -1
  442. package/lib/esm/topology/ChainMerge.js.map +1 -1
  443. package/lib/esm/topology/Graph.js.map +1 -1
  444. package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
  445. package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
  446. package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
  447. package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
  448. package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
  449. package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
  450. package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
  451. package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
  452. package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
  453. package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
  454. package/lib/esm/topology/MaskManager.js.map +1 -1
  455. package/lib/esm/topology/Merging.js.map +1 -1
  456. package/lib/esm/topology/RegularizeFace.js.map +1 -1
  457. package/lib/esm/topology/SignedDataSummary.js.map +1 -1
  458. package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
  459. package/lib/esm/topology/Triangulation.js.map +1 -1
  460. package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
  461. package/package.json +3 -3
@@ -21,7 +21,7 @@ import { LineSegment3d } from "./LineSegment3d";
21
21
  import { LineString3d } from "./LineString3d";
22
22
  // cspell:word XYRR
23
23
  /**
24
- * * Private class for refining bezier-bezier intersections.
24
+ * Private class for refining bezier-bezier intersections.
25
25
  * * The inputs are assumed pre-transformed so that the target condition is to match x and y coordinates.
26
26
  * @internal
27
27
  */
@@ -52,11 +52,10 @@ export class CurveLocationDetailArrayPair {
52
52
  }
53
53
  }
54
54
  /**
55
+ * Handler class for XY intersections between _geometryB and another geometry.
56
+ * * **NOTE:** GeometryQuery input (_geometryB) should really be AnyCurve.
55
57
  * * Instances are initialized and called from CurveCurve.
56
- * * Constructor is told two geometry items A and B
57
- * * geometryB is saved for later reference
58
- * * type-specific handler methods will "see" geometry A repeatedly.
59
- * * Hence geometryA is NOT saved by the constructor.
58
+ * * geometryB is saved for later reference.
60
59
  * @internal
61
60
  */
62
61
  class CurveCurveIntersectXY extends NullGeometryHandler {
@@ -65,15 +64,13 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
65
64
  }
66
65
  /**
67
66
  * @param worldToLocal optional transform (possibly perspective) to project to xy plane for intersection.
68
- * @param _geometryA first curve for intersection. This is NOT saved.
69
- * @param extendA flag to enable using extension of geometryA.
67
+ * @param extendA flag to enable using extension of the other geometry.
70
68
  * @param geometryB second curve for intersection. Saved for reference by specific handler methods.
71
69
  * @param extendB flag for extension of geometryB.
72
70
  * @param tolerance optional distance tolerance for coincidence
73
71
  */
74
- constructor(worldToLocal, _geometryA, extendA, geometryB, extendB, tolerance = Geometry.smallMetricDistance) {
72
+ constructor(worldToLocal, extendA, geometryB, extendB, tolerance = Geometry.smallMetricDistance) {
75
73
  super();
76
- // this.geometryA = _geometryA;
77
74
  this._extendA = extendA;
78
75
  this._geometryB = geometryB;
79
76
  this._extendB = extendB;
@@ -88,7 +85,7 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
88
85
  this.reinitialize();
89
86
  }
90
87
  /** Reset the geometry and flags, leaving all other parts unchanged (and preserving accumulated intersections) */
91
- resetGeometry(_geometryA, extendA, geometryB, extendB) {
88
+ resetGeometry(extendA, geometryB, extendB) {
92
89
  this._extendA = extendA;
93
90
  this._geometryB = geometryB;
94
91
  this._extendB = extendB;
@@ -100,7 +97,8 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
100
97
  return false;
101
98
  return true;
102
99
  }
103
- /** Test the fraction by strict parameter, but allow toleranced distance test at ends.
100
+ /**
101
+ * Test the fraction by strict parameter, but allow toleranced distance test at ends.
104
102
  * @param tolerance optional distance tolerance to check proximity to start/end point
105
103
  */
106
104
  acceptFractionOnLine(extend0, fraction, extend1, pointA, pointB, tolerance = Geometry.smallMetricDistance) {
@@ -114,7 +112,6 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
114
112
  /**
115
113
  * * Return the results structure for the intersection calculation, structured as an array of CurveLocationDetailPair
116
114
  * @param reinitialize if true, a new results structure is created for use by later calls.
117
- *
118
115
  */
119
116
  grabPairedResults(reinitialize = false) {
120
117
  const result = this._results;
@@ -125,15 +122,17 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
125
122
  sameCurveAndFraction(cp, fraction, detail) {
126
123
  return cp === detail.curve && Geometry.isAlmostEqualNumber(fraction, detail.fraction);
127
124
  }
128
- /** compute intersection of two line segments.
129
- * filter by extension rules.
130
- * record with fraction mapping.
125
+ /**
126
+ * Compute intersection of two line segments.
127
+ * Filter by extension rules.
128
+ * Record with fraction mapping.
131
129
  */
132
130
  recordPointWithLocalFractions(localFractionA, cpA, fractionA0, fractionA1, localFractionB, // Computed intersection fraction
133
131
  cpB, fractionB0, fractionB1, reversed, intervalDetails) {
134
132
  let globalFractionA, globalFractionB;
135
133
  let globalFractionA1, globalFractionB1;
136
- const isInterval = intervalDetails !== undefined && intervalDetails.detailA.hasFraction1 && intervalDetails.detailB.hasFraction1;
134
+ const isInterval = intervalDetails !== undefined &&
135
+ intervalDetails.detailA.hasFraction1 && intervalDetails.detailB.hasFraction1;
137
136
  if (isInterval) {
138
137
  globalFractionA = Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction, fractionA1);
139
138
  globalFractionB = Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction, fractionB1);
@@ -150,11 +149,13 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
150
149
  const oldDetailA = this._results[numPrevious - 1].detailA;
151
150
  const oldDetailB = this._results[numPrevious - 1].detailB;
152
151
  if (reversed) {
153
- if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailB) && this.sameCurveAndFraction(cpB, globalFractionB, oldDetailA))
152
+ if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailB) &&
153
+ this.sameCurveAndFraction(cpB, globalFractionB, oldDetailA))
154
154
  return;
155
155
  }
156
156
  else {
157
- if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailA) && this.sameCurveAndFraction(cpB, globalFractionB, oldDetailB))
157
+ if (this.sameCurveAndFraction(cpA, globalFractionA, oldDetailA) &&
158
+ this.sameCurveAndFraction(cpB, globalFractionB, oldDetailB))
158
159
  return;
159
160
  }
160
161
  }
@@ -176,9 +177,9 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
176
177
  }
177
178
  }
178
179
  /**
179
- * emit recordPoint for multiple pairs (on full curve!)
180
- * @param cpA first curve primitive. (possibly different from curve in detailA, but fraction compatible)
181
- * @param cpB second curve primitive. (possibly different from curve in detailA, but fraction compatible)
180
+ * Emit recordPoint for multiple pairs (on full curve!)
181
+ * @param cpA first curve primitive (possibly different from curve in detailA, but fraction compatible)
182
+ * @param cpB second curve primitive (possibly different from curve in detailA, but fraction compatible)
182
183
  * @param pairs array of pairs
183
184
  * @param reversed true to have order reversed in final structures.
184
185
  */
@@ -189,15 +190,16 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
189
190
  }
190
191
  }
191
192
  }
192
- /** compute intersection of two line segments.
193
- * filter by extension rules.
194
- * record with fraction mapping.
193
+ /**
194
+ * Compute intersection of two line segments.
195
+ * Filter by extension rules.
196
+ * Record with fraction mapping.
195
197
  */
196
198
  computeSegmentSegment3D(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, cpB, extendB0, pointB0, fractionB0, pointB1, fractionB1, extendB1, reversed) {
197
199
  const uv = CurveCurveIntersectXY._workVector2dA;
198
200
  // Problem: Normal practice is to do the (quick, simple) transverse intersection first
199
- // But the transverse intersector notion of coincidence is based on the determinant ratios, which are hard to relate
200
- // to physical tolerance.
201
+ // But the transverse intersector notion of coincidence is based on the determinant ratios, which are hard
202
+ // to relate to physical tolerance.
201
203
  // So do the overlap first. This should do a quick exit in non-coincident case.
202
204
  const overlap = this._coincidentGeometryContext.coincidentSegmentRangeXY(pointA0, pointA1, pointB0, pointB1);
203
205
  if (overlap) {
@@ -231,8 +233,8 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
231
233
  }
232
234
  }
233
235
  // Caller accesses data from a line segment and passes to here.
234
- // (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring. The fraction and extend parameters
235
- // allow all combinations to be passed in)
236
+ // (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
237
+ // The fraction and extend parameters allow all combinations to be passed in)
236
238
  // This method applies transform.
237
239
  dispatchSegmentSegment(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, cpB, extendB0, pointB0, fractionB0, pointB1, fractionB1, extendB1, reversed) {
238
240
  if (this._worldToLocalAffine) {
@@ -274,7 +276,8 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
274
276
  const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
275
277
  const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
276
278
  const lineFraction = SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, arcPoint);
277
- if (lineFraction !== undefined && this.acceptFraction(extendA0, lineFraction, extendA1) && this.acceptFraction(extendB0, arcFraction, extendB1)) {
279
+ if (lineFraction !== undefined && this.acceptFraction(extendA0, lineFraction, extendA1) &&
280
+ this.acceptFraction(extendB0, arcFraction, extendB1)) {
278
281
  this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
279
282
  }
280
283
  }
@@ -300,7 +303,8 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
300
303
  const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
301
304
  const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
302
305
  const lineFraction = SmallSystem.lineSegment3dXYClosestPointUnbounded(pointA0Local, pointA1Local, arcPoint);
303
- if (lineFraction !== undefined && this.acceptFraction(extendA0, lineFraction, extendA1, lineFractionTol) && this.acceptFraction(extendB0, arcFraction, extendB1, arcFractionTol)) {
306
+ if (lineFraction !== undefined && this.acceptFraction(extendA0, lineFraction, extendA1, lineFractionTol)
307
+ && this.acceptFraction(extendB0, arcFraction, extendB1, arcFractionTol)) {
304
308
  this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
305
309
  }
306
310
  }
@@ -366,10 +370,13 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
366
370
  this.dispatchArcArcThisOrder(cpB, matrixB, extendB, cpA, matrixA, extendA, !reversed);
367
371
  // overlap handling .. perspective is not handled . . .
368
372
  if (!this._coincidentGeometryContext) {
373
+ // do nothing
369
374
  }
370
375
  else if (this._worldToLocalPerspective) {
376
+ // do nothing
371
377
  }
372
378
  else if (this._worldToLocalAffine) {
379
+ // do nothing
373
380
  }
374
381
  else {
375
382
  const pairs = this._coincidentGeometryContext.coincidentArcIntersectionXY(cpA, cpB, true);
@@ -440,7 +447,8 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
440
447
  const c = bcurvePoint4d.dotProductXYZW(axx, axy, axz, axw);
441
448
  const s = bcurvePoint4d.dotProductXYZW(ayx, ayy, ayz, ayw);
442
449
  const arcFraction = cpA.sweep.radiansToSignedPeriodicFraction(Math.atan2(s, c));
443
- if (this.acceptFraction(extendA, arcFraction, extendA) && this.acceptFraction(extendB, fractionB, extendB)) {
450
+ if (this.acceptFraction(extendA, arcFraction, extendA) &&
451
+ this.acceptFraction(extendB, fractionB, extendB)) {
444
452
  this.recordPointWithLocalFractions(arcFraction, cpA, 0, 1, fractionB, cpB, 0, 1, reversed);
445
453
  }
446
454
  }
@@ -449,9 +457,7 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
449
457
  }
450
458
  }
451
459
  }
452
- /** apply the transformation to bezier curves. optionally construct ranges.
453
- *
454
- */
460
+ /** Apply the transformation to bezier curves. optionally construct ranges. */
455
461
  transformBeziers(beziers) {
456
462
  if (this._worldToLocalAffine) {
457
463
  for (const bezier of beziers)
@@ -481,21 +487,20 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
481
487
  if (!this._xyzwB)
482
488
  this._xyzwB = Point4d.create();
483
489
  /*
484
-
485
- const roots = univariateBezierG.roots(0.0, true);
486
- if (roots) {
487
- for (const root of roots) {
488
- const fractionB = bezier.fractionToParentFraction(root);
489
- // The univariate bezier (which has been transformed by the view transform) evaluates into xyw space
490
- const bcurvePoint4d = bezier.fractionToPoint4d(root);
491
- const c = bcurvePoint4d.dotProductXYZW(axx, axy, axz, axw);
492
- const s = bcurvePoint4d.dotProductXYZW(ayx, ayy, ayz, ayw);
493
- const arcFraction = cpA.sweep.radiansToSignedPeriodicFraction(Math.atan2(s, c));
494
- if (this.acceptFraction(extendA, arcFraction, extendA) && this.acceptFraction(extendB, fractionB, extendB)) {
495
- this.recordPointWithLocalFractions(arcFraction, cpA, 0, 1,
496
- fractionB, cpB, 0, 1, reversed);
497
- }
498
- }
490
+ const roots = univariateBezierG.roots(0.0, true);
491
+ if (roots) {
492
+ for (const root of roots) {
493
+ const fractionB = bezier.fractionToParentFraction(root);
494
+ // The univariate bezier (which has been transformed by the view transform) evaluates into xyw space
495
+ const bcurvePoint4d = bezier.fractionToPoint4d(root);
496
+ const c = bcurvePoint4d.dotProductXYZW(axx, axy, axz, axw);
497
+ const s = bcurvePoint4d.dotProductXYZW(ayx, ayy, ayz, ayw);
498
+ const arcFraction = cpA.sweep.radiansToSignedPeriodicFraction(Math.atan2(s, c));
499
+ if (this.acceptFraction(extendA, arcFraction, extendA) && this.acceptFraction(extendB, fractionB, extendB)) {
500
+ this.recordPointWithLocalFractions(arcFraction, cpA, 0, 1,
501
+ fractionB, cpB, 0, 1, reversed);
502
+ }
503
+ }
499
504
  */
500
505
  bezierA.fractionToPoint4d(0.0, this._xyzwA0);
501
506
  let f0 = 0.0;
@@ -540,7 +545,8 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
540
545
  errors++;
541
546
  if (errors > 0 && !xyzA1.isAlmostEqual(xyzB1))
542
547
  errors++;
543
- if (this.acceptFraction(false, bcurveAFraction, false) && this.acceptFraction(false, bcurveBFraction, false)) {
548
+ if (this.acceptFraction(false, bcurveAFraction, false) &&
549
+ this.acceptFraction(false, bcurveBFraction, false)) {
544
550
  this.recordPointWithLocalFractions(bcurveAFraction, bcurveA, 0, 1, bcurveBFraction, bcurveB, 0, 1, reversed);
545
551
  }
546
552
  }
@@ -579,7 +585,7 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
579
585
  /**
580
586
  * Apply the projection transform (if any) to (xyz, w)
581
587
  * @param xyz xyz parts of input point.
582
- * @param w weight to use for homogeneous effects
588
+ * @param w weight to use for homogeneous effects
583
589
  */
584
590
  projectPoint(xyz, w = 1.0) {
585
591
  if (this._worldToLocalPerspective)
@@ -615,19 +621,22 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
615
621
  // NOW .. we have a plane in world space. Intersect it with the bspline:
616
622
  const intersections = [];
617
623
  bcurve.appendPlaneIntersectionPoints(planeCoffs, intersections);
618
- // intersections has WORLD points with bspline fractions. (The bspline fractions are all good 0..1 fractions within the spline.)
624
+ // intersections has WORLD points with bspline fractions.
625
+ // (the bspline fractions are all good 0..1 fractions within the spline).
619
626
  // accept those that are within the segment range.
620
627
  for (const detail of intersections) {
621
628
  const fractionB = detail.fraction;
622
629
  const curvePoint = detail.point;
623
630
  const curvePointH = this.projectPoint(curvePoint);
624
631
  const lineFraction = SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, curvePointH);
625
- if (lineFraction !== undefined && this.acceptFraction(extendA0, lineFraction, extendA1) && this.acceptFraction(extendB, fractionB, extendB)) {
632
+ if (lineFraction !== undefined &&
633
+ this.acceptFraction(extendA0, lineFraction, extendA1) &&
634
+ this.acceptFraction(extendB, fractionB, extendB)) {
626
635
  this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, fractionB, bcurve, 0, 1, reversed);
627
636
  }
628
637
  }
629
638
  }
630
- /** low level dispatch of linestring with (beziers of) a bspline curve */
639
+ /** Low level dispatch of linestring with (beziers of) a bspline curve. */
631
640
  dispatchLineStringBSplineCurve(lsA, extendA, curveB, extendB, reversed) {
632
641
  const numA = lsA.numPoints();
633
642
  if (numA > 1) {
@@ -667,7 +676,7 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
667
676
  }
668
677
  return undefined;
669
678
  }
670
- /** Detail computation for arcA intersecting lsB. */
679
+ /** Detail computation for arc intersecting linestring. */
671
680
  computeArcLineString(arcA, extendA, lsB, extendB, reversed) {
672
681
  const pointB0 = CurveCurveIntersectXY._workPointBB0;
673
682
  const pointB1 = CurveCurveIntersectXY._workPointBB1;
@@ -692,7 +701,7 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
692
701
  transform.multiplyPoint3d(pointB0, this._workPointB0);
693
702
  transform.multiplyPoint3d(pointB1, this._workPointB1);
694
703
  }
695
- /** double dispatch handler for strongly typed segment.. */
704
+ /** Double dispatch handler for strongly typed segment. */
696
705
  handleLineSegment3d(segmentA) {
697
706
  if (this._geometryB instanceof LineSegment3d) {
698
707
  const segmentB = this._geometryB;
@@ -708,7 +717,7 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
708
717
  this.dispatchSegmentBsplineCurve(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, this._geometryB, this._extendB, false);
709
718
  }
710
719
  }
711
- /** double dispatch handler for strongly typed linestring.. */
720
+ /** Double dispatch handler for strongly typed linestring. */
712
721
  handleLineString3d(lsA) {
713
722
  if (this._geometryB instanceof LineString3d) {
714
723
  const lsB = this._geometryB;
@@ -753,7 +762,7 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
753
762
  }
754
763
  return undefined;
755
764
  }
756
- /** double dispatch handler for strongly typed arc .. */
765
+ /** Double dispatch handler for strongly typed arc. */
757
766
  handleArc3d(arc0) {
758
767
  if (this._geometryB instanceof LineSegment3d) {
759
768
  this.dispatchSegmentArc(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, arc0, this._extendA, this._extendA, true);
@@ -769,7 +778,7 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
769
778
  }
770
779
  return undefined;
771
780
  }
772
- /** double dispatch handler for strongly typed bspline curve .. */
781
+ /** Double dispatch handler for strongly typed bspline curve. */
773
782
  handleBSplineCurve3d(curve) {
774
783
  if (this._geometryB instanceof LineSegment3d) {
775
784
  this.dispatchSegmentBsplineCurve(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, curve, this._extendA, true);
@@ -785,9 +794,11 @@ class CurveCurveIntersectXY extends NullGeometryHandler {
785
794
  }
786
795
  return undefined;
787
796
  }
788
- /** double dispatch handler for strongly typed homogeneous bspline curve .. */
797
+ /** Double dispatch handler for strongly typed homogeneous bspline curve .. */
789
798
  handleBSplineCurve3dH(_curve) {
790
- /* NEEDS WORK -- make "dispatch" methods tolerant of both 3d and 3dH ..."easy" if both present BezierCurve3dH span loaders
799
+ /*
800
+ // NEEDS WORK -- make "dispatch" methods tolerant of both 3d and 3dH .
801
+ // "easy" if both present BezierCurve3dH span loaders
791
802
  if (this._geometryB instanceof LineSegment3d) {
792
803
  this.dispatchSegmentBsplineCurve(
793
804
  this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB,