@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
@@ -9,29 +9,20 @@ import { BSplineCurve3d, BSplineCurve3dBase } from "../bspline/BSplineCurve";
9
9
  import { Geometry } from "../Geometry";
10
10
  import { NullGeometryHandler } from "../geometry3d/GeometryHandler";
11
11
  import { Plane3dByOriginAndUnitNormal } from "../geometry3d/Plane3dByOriginAndUnitNormal";
12
- // import { Arc3d } from "./Arc3d";
13
12
  import { Vector2d } from "../geometry3d/Point2dVector2d";
14
- // import { XYAndZ } from "../geometry3d/XYZProps";
15
13
  import { Point3d, Vector3d } from "../geometry3d/Point3dVector3d";
16
- // import { LineString3d } from "./LineString3d";
17
14
  import { SmallSystem, TrigPolynomial } from "../numerics/Polynomials";
18
- // import { Point4d } from "../geometry4d/Point4d";
19
- // import { Transform } from "../geometry3d/Transform";
20
- // import { Matrix3d } from "../geometry3d/Matrix3d";
21
15
  import { Arc3d } from "./Arc3d";
22
- // import { Range3d } from "../geometry3d/Range";
23
16
  import { CurveLocationDetailArrayPair } from "./CurveCurveIntersectXY";
24
17
  import { CurveIntervalRole, CurveLocationDetail } from "./CurveLocationDetail";
25
18
  import { LineSegment3d } from "./LineSegment3d";
26
19
  import { LineString3d } from "./LineString3d";
27
20
  // cspell:word XYRR
28
21
  /**
29
- * * Handler class for XYZ intersections.
22
+ * Handler class for XYZ intersections between _geometryB and another geometry.
23
+ * * **NOTE:** GeometryQuery input (_geometryB) should really be AnyCurve.
30
24
  * * Instances are initialized and called from CurveCurve.
31
- * * Constructor is told two geometry items A and B
32
- * * geometryB is saved for later reference
33
- * * type-specific handler methods will "see" geometry A repeatedly.
34
- * * Hence geometryA is NOT saved by the constructor.
25
+ * * geometryB is saved for later reference.
35
26
  * @internal
36
27
  */
37
28
  class CurveCurveIntersectXYZ extends NullGeometryHandler {
@@ -39,15 +30,12 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
39
30
  this._results = new CurveLocationDetailArrayPair();
40
31
  }
41
32
  /**
42
- *
43
- * @param _geometryA first curve for intersection. This is NOT saved.
44
- * @param extendA flag to enable using extension of geometryA.
33
+ * @param extendA flag to enable using extension of the other geometry.
45
34
  * @param geometryB second curve for intersection. Saved for reference by specific handler methods.
46
35
  * @param extendB flag for extension of geometryB.
47
36
  */
48
- constructor(_geometryA, extendA, geometryB, extendB) {
37
+ constructor(extendA, geometryB, extendB) {
49
38
  super();
50
- // this.geometryA = _geometryA;
51
39
  this._extendA = extendA;
52
40
  this._geometryB = geometryB;
53
41
  this._extendB = extendB;
@@ -56,7 +44,6 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
56
44
  /**
57
45
  * * Return the results structure for the intersection calculation.
58
46
  * @param reinitialize if true, a new results structure is created for use by later calls.
59
- *
60
47
  */
61
48
  grabResults(reinitialize = false) {
62
49
  const result = this._results;
@@ -71,10 +58,11 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
71
58
  return false;
72
59
  return true;
73
60
  }
74
- /** compute intersection of two line segments.
75
- * filter by extension rules.
76
- * reject if evaluated points do not match coordinates (e.g. close approach point)
77
- * record with fraction mapping.
61
+ /**
62
+ * Compute intersection of two line segments.
63
+ * Filter by extension rules.
64
+ * Reject if evaluated points do not match coordinates (e.g. close approach point).
65
+ * Record with fraction mapping.
78
66
  */
79
67
  recordPointWithLocalFractions(localFractionA, cpA, fractionA0, fractionA1, localFractionB, // Computed intersection fraction
80
68
  cpB, fractionB0, fractionB1, reversed) {
@@ -86,11 +74,13 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
86
74
  const topFractionA = this._results.dataA[numPrevious - 1].fraction;
87
75
  const topFractionB = this._results.dataB[numPrevious - 1].fraction;
88
76
  if (reversed) {
89
- if (Geometry.isAlmostEqualNumber(topFractionA, globalFractionB) && Geometry.isAlmostEqualNumber(topFractionB, globalFractionA))
77
+ if (Geometry.isAlmostEqualNumber(topFractionA, globalFractionB) &&
78
+ Geometry.isAlmostEqualNumber(topFractionB, globalFractionA))
90
79
  return;
91
80
  }
92
81
  else {
93
- if (Geometry.isAlmostEqualNumber(topFractionA, globalFractionA) && Geometry.isAlmostEqualNumber(topFractionB, globalFractionB))
82
+ if (Geometry.isAlmostEqualNumber(topFractionA, globalFractionA) &&
83
+ Geometry.isAlmostEqualNumber(topFractionB, globalFractionB))
94
84
  return;
95
85
  }
96
86
  }
@@ -111,15 +101,15 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
111
101
  this._results.dataB.push(detailB);
112
102
  }
113
103
  }
114
- /** compute intersection of two line segments.
115
- * filter by extension rules.
116
- * record with fraction mapping.
104
+ /**
105
+ * Compute intersection of two line segments.
106
+ * Filter by extension rules.
107
+ * Record with fraction mapping.
117
108
  */
118
109
  computeSegmentSegment3D(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, cpB, extendB0, pointB0, fractionB0, pointB1, fractionB1, extendB1, reversed) {
119
110
  const uv = CurveCurveIntersectXYZ._workVector2dA;
120
- if (SmallSystem.lineSegment3dClosestApproachUnbounded(pointA0, pointA1, pointB0, pointB1, uv)
121
- && this.acceptFraction(extendA0, uv.x, extendA1)
122
- && this.acceptFraction(extendB0, uv.y, extendB1)) {
111
+ if (SmallSystem.lineSegment3dClosestApproachUnbounded(pointA0, pointA1, pointB0, pointB1, uv) &&
112
+ this.acceptFraction(extendA0, uv.x, extendA1) && this.acceptFraction(extendB0, uv.y, extendB1)) {
123
113
  this.recordPointWithLocalFractions(uv.x, cpA, fractionA0, fractionA1, uv.y, cpB, fractionB0, fractionB1, reversed);
124
114
  }
125
115
  }
@@ -131,14 +121,16 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
131
121
  this.computeSegmentSegment3D(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, cpB, extendB0, pointB0, fractionB0, pointB1, fractionB1, extendB1, reversed);
132
122
  }
133
123
  /**
134
- * Create a plane whose normal is the "better" cross product: `vectorA.crossProduct(vectorB)` or `vectorA.crossProduct(vectorC)`
124
+ * Create a plane whose normal is the "better" cross product: `vectorA.crossProduct(vectorB)` or
125
+ * `vectorA.crossProduct(vectorC)`
135
126
  * * The heuristic for "better" is:
136
- * * first choice is cross product with `vectorB`, if `vectorA` and `vectorB` are sufficiently far from parallel (or anti-parallel).
127
+ * * first choice is cross product with `vectorB`, if `vectorA` and `vectorB` are sufficiently far from parallel
128
+ * (or anti-parallel).
137
129
  * * otherwise use vectorC
138
130
  * @param origin plane origin
139
131
  * @param vectorA vector which must be in the plane.
140
- * @param cosineValue largest cosine of the angle theta between vectorA and vectorB to prefer their cross product,
141
- * e.g. passing 0.94 ~ cos(20deg) will switch to using vectorC in the cross product if theta < ~20deg or theta > ~160deg.
132
+ * @param cosineValue largest cosine of the angle theta between vectorA and vectorB to prefer their cross product, e.g.
133
+ * passing 0.94 ~ cos(20deg) will switch to using vectorC in the cross product if theta < ~20deg or theta > ~160deg.
142
134
  * @param vectorB first candidate for additional in-plane vector
143
135
  * @param vectorC second candidate for additional in-plane vector
144
136
  */
@@ -236,7 +228,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
236
228
  // Caller accesses data from two arcs.
237
229
  // Selects the best conditioned arc (in xy parts) as "circle after inversion"
238
230
  // Solves the arc-arc equations
239
- dispatchArcBsplineCurve3d(_, _extendA, _cpB, _extendB, _reversed) {
231
+ dispatchArcBsplineCurve3d(_arc, _extendA, _cpB, _extendB, _reversed) {
240
232
  /*
241
233
  // Arc: X = C + cU + sV
242
234
  // implicitize the arc as viewed. This "3d" matrix is homogeneous "XYW" not "xyz"
@@ -296,7 +288,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
296
288
  }
297
289
  }
298
290
  }
299
- */
291
+ */
300
292
  }
301
293
  /*
302
294
  // apply the transformation to bezier curves. optionally construct ranges.
@@ -307,7 +299,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
307
299
  for (const bezier of beziers) bezier.tryMultiplyMatrix4dInPlace(this._worldToLocalPerspective);
308
300
  }
309
301
  }
310
- */
302
+ */
311
303
  /*
312
304
  private getRanges(beziers: BezierCurveBase[]): Range3d[] {
313
305
  const ranges: Range3d[] = [];
@@ -335,23 +327,20 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
335
327
  if (!this._xyzwA1) this._xyzwA1 = Point4d.create();
336
328
  if (!this._xyzwPlane) this._xyzwPlane = Point4d.create();
337
329
  if (!this._xyzwB) this._xyzwB = Point4d.create();
338
- /-*
339
-
340
- const roots = univariateBezierG.roots(0.0, true);
341
- if (roots) {
342
- for (const root of roots) {
343
- const fractionB = bezier.fractionToParentFraction(root);
344
- // The univariate bezier (which has been transformed by the view transform) evaluates into xyw space
345
- const bcurvePoint4d = bezier.fractionToPoint4d(root);
346
- const c = bcurvePoint4d.dotProductXYZW(axx, axy, axz, axw);
347
- const s = bcurvePoint4d.dotProductXYZW(ayx, ayy, ayz, ayw);
348
- const arcFraction = cpA.sweep.radiansToSignedPeriodicFraction(Math.atan2(s, c));
349
- if (this.acceptFraction(extendA, arcFraction, extendA) && this.acceptFraction(extendB, fractionB, extendB)) {
350
- this.recordPointWithLocalFractions(arcFraction, cpA, 0, 1,
351
- fractionB, cpB, 0, 1, reversed);
352
- }
353
- }
354
- *-/
330
+ const roots = univariateBezierG.roots(0.0, true);
331
+ if (roots) {
332
+ for (const root of roots) {
333
+ const fractionB = bezier.fractionToParentFraction(root);
334
+ // The univariate bezier (which has been transformed by the view transform) evaluates into xyw space
335
+ const bcurvePoint4d = bezier.fractionToPoint4d(root);
336
+ const c = bcurvePoint4d.dotProductXYZW(axx, axy, axz, axw);
337
+ const s = bcurvePoint4d.dotProductXYZW(ayx, ayy, ayz, ayw);
338
+ const arcFraction = cpA.sweep.radiansToSignedPeriodicFraction(Math.atan2(s, c));
339
+ if (this.acceptFraction(extendA, arcFraction, extendA) && this.acceptFraction(extendB, fractionB, extendB)) {
340
+ this.recordPointWithLocalFractions(arcFraction, cpA, 0, 1,
341
+ fractionB, cpB, 0, 1, reversed);
342
+ }
343
+ }
355
344
  bezierA.fractionToPoint4d(0.0, this._xyzwA0);
356
345
  let f0 = 0.0;
357
346
  let f1 = 1.0;
@@ -379,10 +368,9 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
379
368
  bezierAFraction = newtonSearcher.getU();
380
369
  bezierBFraction = newtonSearcher.getV();
381
370
  }
382
- *-/
383
- // We have a near intersection at fractions on the two beziers !!!
384
- // Iterate on the curves for a true intersection ....
385
- // NEEDS WORK -- just accept . . .
371
+ // We have a near intersection at fractions on the two beziers !!!
372
+ // Iterate on the curves for a true intersection ....
373
+ // NEEDS WORK -- just accept . . .
386
374
  const bcurveAFraction = bezierA.fractionToParentFraction(bezierAFraction);
387
375
  const bcurveBFraction = bezierB.fractionToParentFraction(bezierBFraction);
388
376
  const xyzA0 = bezierA.fractionToPoint(bezierAFraction);
@@ -405,38 +393,39 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
405
393
  }
406
394
  }
407
395
  }
408
- */
396
+ */
409
397
  // Caller accesses data from two arcs.
410
398
  // Selects the best conditioned arc (in xy parts) as "circle after inversion"
411
399
  // Solves the arc-arc equations
412
400
  dispatchBSplineCurve3dBSplineCurve3d(_bcurveA, _bcurveB, _reversed) {
413
401
  /*
414
- const bezierSpanA = bcurveA.collectBezierSpans(true) as BezierCurve3dH[];
415
- const bezierSpanB = bcurveB.collectBezierSpans(true) as BezierCurve3dH[];
416
- const numA = bezierSpanA.length;
417
- const numB = bezierSpanB.length;
418
- this.transformBeziers(bezierSpanA);
419
- this.transformBeziers(bezierSpanB);
420
- const rangeA = this.getRanges(bezierSpanA);
421
- const rangeB = this.getRanges(bezierSpanB);
422
- const orderA = bcurveA.order;
423
- const orderB = bcurveB.order;
424
- const univariateCoffsA = new UnivariateBezier(orderA);
425
- const univariateCoffsB = new UnivariateBezier(orderB);
426
- for (let a = 0; a < numA; a++) {
427
- for (let b = 0; b < numB; b++) {
428
- if (rangeA[a].intersectsRangeXY(rangeB[b])) {
429
- const strokeCountA = bezierSpanA[a].computeStrokeCountForOptions();
430
- const strokeCountB = bezierSpanB[b].computeStrokeCountForOptions();
431
- if (strokeCountA < strokeCountB)
432
- this.dispatchBezierBezierStrokeFirst(bezierSpanA[a], bcurveA, strokeCountA, bezierSpanB[b], bcurveB, strokeCountB, univariateCoffsB, !_reversed);
433
- else
434
- this.dispatchBezierBezierStrokeFirst(bezierSpanB[b], bcurveB, strokeCountB, bezierSpanA[a], bcurveA, strokeCountA, univariateCoffsA, _reversed);
402
+ const bezierSpanA = bcurveA.collectBezierSpans(true) as BezierCurve3dH[];
403
+ const bezierSpanB = bcurveB.collectBezierSpans(true) as BezierCurve3dH[];
404
+ const numA = bezierSpanA.length;
405
+ const numB = bezierSpanB.length;
406
+ this.transformBeziers(bezierSpanA);
407
+ this.transformBeziers(bezierSpanB);
408
+ const rangeA = this.getRanges(bezierSpanA);
409
+ const rangeB = this.getRanges(bezierSpanB);
410
+ const orderA = bcurveA.order;
411
+ const orderB = bcurveB.order;
412
+ const univariateCoffsA = new UnivariateBezier(orderA);
413
+ const univariateCoffsB = new UnivariateBezier(orderB);
414
+ for (let a = 0; a < numA; a++) {
415
+ for (let b = 0; b < numB; b++) {
416
+ if (rangeA[a].intersectsRangeXY(rangeB[b])) {
417
+ const strokeCountA = bezierSpanA[a].computeStrokeCountForOptions();
418
+ const strokeCountB = bezierSpanB[b].computeStrokeCountForOptions();
419
+ if (strokeCountA < strokeCountB)
420
+ this.dispatchBezierBezierStrokeFirst(bezierSpanA[a], bcurveA, strokeCountA, bezierSpanB[b], bcurveB, strokeCountB, univariateCoffsB, !_reversed);
421
+ else
422
+ this.dispatchBezierBezierStrokeFirst(bezierSpanB[b], bcurveB, strokeCountB, bezierSpanA[a], bcurveA, strokeCountA, univariateCoffsA, _reversed);
423
+ }
435
424
  }
436
425
  }
437
- }
438
- */
426
+ */
439
427
  }
428
+ /*
440
429
  /**
441
430
  * Apply the projection transform (if any) to (xyz, w)
442
431
  * @param xyz xyz parts of input point.
@@ -464,7 +453,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
464
453
  npcPlane.clone(worldPlane);
465
454
  }
466
455
  }
467
- */
456
+ */
468
457
  // Caller accesses data from segment and bsplineCurve
469
458
  // Selects the best conditioned arc (in xy parts) as "circle after inversion"
470
459
  // Solves the arc-arc equations
@@ -489,9 +478,9 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
489
478
  fractionB, bcurve, 0, 1, reversed);
490
479
  }
491
480
  }
492
- */
481
+ */
493
482
  }
494
- /** low lever bspline curve -- STUB .. */
483
+ /** Low level dispatch of linestring with (beziers of) a bspline curve */
495
484
  dispatchLineStringBSplineCurve(_lsA, _extendA, _curveB, _extendB, _reversed) {
496
485
  /*
497
486
  const numA = lsA.numPoints();
@@ -512,9 +501,9 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
512
501
  }
513
502
  }
514
503
  return undefined;
515
- */
504
+ */
516
505
  }
517
- /** low lever segment intersect linestring .. */
506
+ /** Detail computation for segment intersecting linestring. */
518
507
  computeSegmentLineString(lsA, extendA, lsB, extendB, reversed) {
519
508
  const pointA0 = lsA.point0Ref;
520
509
  const pointA1 = lsA.point1Ref;
@@ -535,7 +524,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
535
524
  }
536
525
  return undefined;
537
526
  }
538
- /** low lever arc intersect linestring .. */
527
+ /** Detail computation for arc intersecting linestring. */
539
528
  computeArcLineString(arcA, extendA, lsB, extendB, reversed) {
540
529
  const pointB0 = CurveCurveIntersectXYZ._workPointBB0;
541
530
  const pointB1 = CurveCurveIntersectXYZ._workPointBB1;
@@ -554,7 +543,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
554
543
  }
555
544
  return undefined;
556
545
  }
557
- /** double dispatch handler for strongly typed segment.. */
546
+ /** Double dispatch handler for strongly typed segment. */
558
547
  handleLineSegment3d(segmentA) {
559
548
  if (this._geometryB instanceof LineSegment3d) {
560
549
  const segmentB = this._geometryB;
@@ -585,9 +574,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
585
574
  const dfA = 1.0 / (numA - 1);
586
575
  const dfB = 1.0 / (numB - 1);
587
576
  let fA0 = 0.0;
588
- let fB0;
589
- let fA1;
590
- let fB1;
577
+ let fA1, fB0, fB1;
591
578
  const extendA = this._extendA;
592
579
  const extendB = this._extendB;
593
580
  lsA.pointAt(0, pointA0);
@@ -615,7 +602,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
615
602
  }
616
603
  return undefined;
617
604
  }
618
- /** double dispatch handler for strongly typed arc .. */
605
+ /** Double dispatch handler for strongly typed arc. */
619
606
  handleArc3d(arc0) {
620
607
  if (this._geometryB instanceof LineSegment3d) {
621
608
  this.dispatchSegmentArc(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, arc0, this._extendA, this._extendA, true);
@@ -631,7 +618,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
631
618
  }
632
619
  return undefined;
633
620
  }
634
- /** double dispatch handler for strongly typed bspline curve.. */
621
+ /** Double dispatch handler for strongly typed bspline curve.. */
635
622
  handleBSplineCurve3d(curve) {
636
623
  if (this._geometryB instanceof LineSegment3d) {
637
624
  this.dispatchSegmentBsplineCurve(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, curve, this._extendA, true);
@@ -647,9 +634,11 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
647
634
  }
648
635
  return undefined;
649
636
  }
650
- /** double dispatch handler for strongly typed homogeneous bspline curve. */
637
+ /** Double dispatch handler for strongly typed homogeneous bspline curve. */
651
638
  handleBSplineCurve3dH(_curve) {
652
- /* NEEDS WORK -- make "dispatch" methods tolerant of both 3d and 3dH ..."easy" if both present BezierCurve3dH span loaders
639
+ /*
640
+ // NEEDS WORK -- make "dispatch" methods tolerant of both 3d and 3dH
641
+ // "easy" if both present BezierCurve3dH span loaders
653
642
  if (this._geometryB instanceof LineSegment3d) {
654
643
  this.dispatchSegmentBsplineCurve(
655
644
  this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB,
@@ -659,7 +648,7 @@ class CurveCurveIntersectXYZ extends NullGeometryHandler {
659
648
  } else if (this._geometryB instanceof Arc3d) {
660
649
  this.dispatchArcBsplineCurve3d(this._geometryB, this._extendB, curve, this._extendA, true);
661
650
  }
662
- */
651
+ */
663
652
  return undefined;
664
653
  }
665
654
  }