@itwin/core-geometry 4.10.0-dev.4 → 4.10.0-dev.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/Constant.js.map +1 -1
- package/lib/cjs/Geometry.d.ts +2 -2
- package/lib/cjs/Geometry.js +2 -2
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/AkimaCurve3d.js.map +1 -1
- package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
- package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3d.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BezierCurveBase.js.map +1 -1
- package/lib/cjs/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/cjs/bspline/KnotVector.js.map +1 -1
- package/lib/cjs/bspline/SurfaceLocationDetail.js.map +1 -1
- package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/cjs/clipping/BooleanClipFactory.js.map +1 -1
- package/lib/cjs/clipping/BooleanClipNode.js.map +1 -1
- package/lib/cjs/clipping/ClipPlane.js.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.d.ts +7 -7
- package/lib/cjs/clipping/ClipPrimitive.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js +1 -1
- package/lib/cjs/clipping/ClipPrimitive.js.map +1 -1
- package/lib/cjs/clipping/ClipUtils.js.map +1 -1
- package/lib/cjs/clipping/ClipVector.js.map +1 -1
- package/lib/cjs/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/cjs/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
- package/lib/cjs/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/cjs/core-geometry.js.map +1 -1
- package/lib/cjs/curve/Arc3d.js.map +1 -1
- package/lib/cjs/curve/ConstructCurveBetweenCurves.js.map +1 -1
- package/lib/cjs/curve/CoordinateXYZ.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +27 -8
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +44 -25
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
- package/lib/cjs/curve/CurveFactory.js.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
- package/lib/cjs/curve/CurveOps.js.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
- package/lib/cjs/curve/CurveProcessor.js.map +1 -1
- package/lib/cjs/curve/CurveTypes.js.map +1 -1
- package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/cjs/curve/GeometryQuery.js.map +1 -1
- package/lib/cjs/curve/LineSegment3d.js.map +1 -1
- package/lib/cjs/curve/LineString3d.js.map +1 -1
- package/lib/cjs/curve/Loop.js.map +1 -1
- package/lib/cjs/curve/OffsetOptions.js.map +1 -1
- package/lib/cjs/curve/ParityRegion.js.map +1 -1
- package/lib/cjs/curve/Path.js.map +1 -1
- package/lib/cjs/curve/PointString3d.js.map +1 -1
- package/lib/cjs/curve/ProxyCurve.js.map +1 -1
- package/lib/cjs/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
- package/lib/cjs/curve/Query/CurveSplitContext.js.map +1 -1
- package/lib/cjs/curve/Query/CylindricalRange.js.map +1 -1
- package/lib/cjs/curve/Query/InOutTests.js.map +1 -1
- package/lib/cjs/curve/Query/PlanarSubdivision.js.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountChain.js.map +1 -1
- package/lib/cjs/curve/Query/StrokeCountMap.js.map +1 -1
- package/lib/cjs/curve/RegionMomentsXY.js.map +1 -1
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/cjs/curve/StrokeOptions.js.map +1 -1
- package/lib/cjs/curve/UnionRegion.js.map +1 -1
- package/lib/cjs/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/ChainCollectorContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CloneCurvesContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
- package/lib/cjs/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +1 -0
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +30 -56
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts +22 -7
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js +127 -67
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveLengthContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/GapSearchContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/cjs/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/cjs/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/cjs/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/cjs/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/cjs/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/cjs/curve/spiral/XYCurveEvaluator.js.map +1 -1
- package/lib/cjs/geometry3d/Angle.d.ts +5 -5
- package/lib/cjs/geometry3d/Angle.js +5 -5
- package/lib/cjs/geometry3d/Angle.js.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.d.ts +91 -7
- package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.js +141 -45
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
- package/lib/cjs/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/cjs/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/cjs/geometry3d/FrustumAnimation.js.map +1 -1
- package/lib/cjs/geometry3d/GeometryHandler.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableBlockedArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/cjs/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/cjs/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +7 -14
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +19 -14
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3d.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/cjs/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/PointStreaming.js.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
- package/lib/cjs/geometry3d/PolylineOps.js.map +1 -1
- package/lib/cjs/geometry3d/Range.js.map +1 -1
- package/lib/cjs/geometry3d/Ray2d.js.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/ReusableObjectCache.js.map +1 -1
- package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
- package/lib/cjs/geometry3d/SortablePolygon.js.map +1 -1
- package/lib/cjs/geometry3d/Transform.d.ts +4 -2
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Transform.js +4 -2
- package/lib/cjs/geometry3d/Transform.js.map +1 -1
- package/lib/cjs/geometry3d/UVSurfaceOps.js.map +1 -1
- package/lib/cjs/geometry3d/XYZProps.js.map +1 -1
- package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/cjs/geometry4d/Map4d.js.map +1 -1
- package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
- package/lib/cjs/geometry4d/MomentData.js.map +1 -1
- package/lib/cjs/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
- package/lib/cjs/geometry4d/Point4d.js.map +1 -1
- package/lib/cjs/numerics/BandedSystem.js.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
- package/lib/cjs/numerics/ClusterableArray.js.map +1 -1
- package/lib/cjs/numerics/Complex.js.map +1 -1
- package/lib/cjs/numerics/ConvexPolygon2d.js.map +1 -1
- package/lib/cjs/numerics/Newton.js.map +1 -1
- package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
- package/lib/cjs/numerics/PolarData.js.map +1 -1
- package/lib/cjs/numerics/Polynomials.js.map +1 -1
- package/lib/cjs/numerics/Quadrature.js.map +1 -1
- package/lib/cjs/numerics/Range1dArray.js.map +1 -1
- package/lib/cjs/numerics/TriDiagonalSystem.js.map +1 -1
- package/lib/cjs/numerics/UnionFind.js.map +1 -1
- package/lib/cjs/numerics/UsageSums.js.map +1 -1
- package/lib/cjs/polyface/AuxData.js.map +1 -1
- package/lib/cjs/polyface/BoxTopology.js.map +1 -1
- package/lib/cjs/polyface/FacetFaceData.js.map +1 -1
- package/lib/cjs/polyface/FacetLocationDetail.js.map +1 -1
- package/lib/cjs/polyface/FacetOrientation.js.map +1 -1
- package/lib/cjs/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
- package/lib/cjs/polyface/IndexedEdgeMatcher.js.map +1 -1
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/cjs/polyface/Polyface.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/polyface/RangeLengthData.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/MinimumValueTester.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeNode.js.map +1 -1
- package/lib/cjs/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
- package/lib/cjs/polyface/TaggedNumericData.js.map +1 -1
- package/lib/cjs/polyface/TriangleCandidate.js.map +1 -1
- package/lib/cjs/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
- package/lib/cjs/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
- package/lib/cjs/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
- package/lib/cjs/polyface/multiclip/RangeSearch.js.map +1 -1
- package/lib/cjs/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/cjs/polyface/multiclip/XYPointBuckets.js.map +1 -1
- package/lib/cjs/serialization/BGFBAccessors.js.map +1 -1
- package/lib/cjs/serialization/BGFBReader.js.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
- package/lib/cjs/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
- package/lib/cjs/serialization/DeepCompare.js.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/serialization/SerializationHelpers.js.map +1 -1
- package/lib/cjs/solid/Box.js.map +1 -1
- package/lib/cjs/solid/Cone.js.map +1 -1
- package/lib/cjs/solid/LinearSweep.js.map +1 -1
- package/lib/cjs/solid/RotationalSweep.js.map +1 -1
- package/lib/cjs/solid/RuledSweep.js.map +1 -1
- package/lib/cjs/solid/SolidPrimitive.js.map +1 -1
- package/lib/cjs/solid/Sphere.js.map +1 -1
- package/lib/cjs/solid/SweepContour.js.map +1 -1
- package/lib/cjs/solid/TorusPipe.js.map +1 -1
- package/lib/cjs/topology/ChainMerge.js.map +1 -1
- package/lib/cjs/topology/Graph.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphSpineContext.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeGraphValidation.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeMarkSet.js.map +1 -1
- package/lib/cjs/topology/HalfEdgeNodeXYZUV.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePointInGraphSearch.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePositionDetail.js.map +1 -1
- package/lib/cjs/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/cjs/topology/MaskManager.js.map +1 -1
- package/lib/cjs/topology/Merging.js.map +1 -1
- package/lib/cjs/topology/RegularizeFace.js.map +1 -1
- package/lib/cjs/topology/SignedDataSummary.js.map +1 -1
- package/lib/cjs/topology/SpaceTriangulation.js.map +1 -1
- package/lib/cjs/topology/Triangulation.js.map +1 -1
- package/lib/cjs/topology/XYParitySearchContext.js.map +1 -1
- package/lib/esm/Constant.js.map +1 -1
- package/lib/esm/Geometry.d.ts +2 -2
- package/lib/esm/Geometry.js +2 -2
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/AkimaCurve3d.js.map +1 -1
- package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BSplineCurveOps.js.map +1 -1
- package/lib/esm/bspline/BSplineSurface.js.map +1 -1
- package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3d.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BezierCurveBase.js.map +1 -1
- package/lib/esm/bspline/InterpolationCurve3d.js.map +1 -1
- package/lib/esm/bspline/KnotVector.js.map +1 -1
- package/lib/esm/bspline/SurfaceLocationDetail.js.map +1 -1
- package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/esm/clipping/BooleanClipFactory.js.map +1 -1
- package/lib/esm/clipping/BooleanClipNode.js.map +1 -1
- package/lib/esm/clipping/ClipPlane.js.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.d.ts +7 -7
- package/lib/esm/clipping/ClipPrimitive.d.ts.map +1 -1
- package/lib/esm/clipping/ClipPrimitive.js +1 -1
- package/lib/esm/clipping/ClipPrimitive.js.map +1 -1
- package/lib/esm/clipping/ClipUtils.js.map +1 -1
- package/lib/esm/clipping/ClipVector.js.map +1 -1
- package/lib/esm/clipping/ConvexClipPlaneSet.js.map +1 -1
- package/lib/esm/clipping/UnionOfConvexClipPlaneSets.js.map +1 -1
- package/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js.map +1 -1
- package/lib/esm/core-geometry.js.map +1 -1
- package/lib/esm/curve/Arc3d.js.map +1 -1
- package/lib/esm/curve/ConstructCurveBetweenCurves.js.map +1 -1
- package/lib/esm/curve/CoordinateXYZ.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +27 -8
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +44 -25
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveExtendMode.js.map +1 -1
- package/lib/esm/curve/CurveFactory.js.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
- package/lib/esm/curve/CurveOps.js.map +1 -1
- package/lib/esm/curve/CurvePrimitive.js.map +1 -1
- package/lib/esm/curve/CurveProcessor.js.map +1 -1
- package/lib/esm/curve/CurveTypes.js.map +1 -1
- package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/esm/curve/GeometryQuery.js.map +1 -1
- package/lib/esm/curve/LineSegment3d.js.map +1 -1
- package/lib/esm/curve/LineString3d.js.map +1 -1
- package/lib/esm/curve/Loop.js.map +1 -1
- package/lib/esm/curve/OffsetOptions.js.map +1 -1
- package/lib/esm/curve/ParityRegion.js.map +1 -1
- package/lib/esm/curve/Path.js.map +1 -1
- package/lib/esm/curve/PointString3d.js.map +1 -1
- package/lib/esm/curve/ProxyCurve.js.map +1 -1
- package/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js.map +1 -1
- package/lib/esm/curve/Query/CurveSplitContext.js.map +1 -1
- package/lib/esm/curve/Query/CylindricalRange.js.map +1 -1
- package/lib/esm/curve/Query/InOutTests.js.map +1 -1
- package/lib/esm/curve/Query/PlanarSubdivision.js.map +1 -1
- package/lib/esm/curve/Query/StrokeCountChain.js.map +1 -1
- package/lib/esm/curve/Query/StrokeCountMap.js.map +1 -1
- package/lib/esm/curve/RegionMomentsXY.js.map +1 -1
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/RegionOpsClassificationSweeps.js.map +1 -1
- package/lib/esm/curve/StrokeOptions.js.map +1 -1
- package/lib/esm/curve/UnionRegion.js.map +1 -1
- package/lib/esm/curve/internalContexts/AppendPlaneIntersectionStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/ChainCollectorContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CloneCurvesContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js.map +1 -1
- package/lib/esm/curve/internalContexts/ClosestPointStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +1 -0
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +30 -56
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts +22 -7
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js +127 -67
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveLengthContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/GapSearchContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/esm/curve/internalContexts/NewtonRtoRStrokeHandler.js.map +1 -1
- package/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/SumLengthsContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/TransformInPlaceContext.js.map +1 -1
- package/lib/esm/curve/spiral/AustralianRailCorpXYEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/ClothoidSeries.js.map +1 -1
- package/lib/esm/curve/spiral/CubicEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/CzechSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectHalfCosineSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/DirectSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/IntegratedSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/MXCubicAlongArcSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/NormalizedTransition.js.map +1 -1
- package/lib/esm/curve/spiral/PolishCubicSpiralEvaluator.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionConditionalProperties.js.map +1 -1
- package/lib/esm/curve/spiral/TransitionSpiral3d.js.map +1 -1
- package/lib/esm/curve/spiral/XYCurveEvaluator.js.map +1 -1
- package/lib/esm/geometry3d/Angle.d.ts +5 -5
- package/lib/esm/geometry3d/Angle.js +5 -5
- package/lib/esm/geometry3d/Angle.js.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.d.ts +91 -7
- package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.js +141 -45
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
- package/lib/esm/geometry3d/BarycentricTriangle.js.map +1 -1
- package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/esm/geometry3d/Ellipsoid.js.map +1 -1
- package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/esm/geometry3d/FrustumAnimation.js.map +1 -1
- package/lib/esm/geometry3d/GeometryHandler.js.map +1 -1
- package/lib/esm/geometry3d/GrowableBlockedArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableFloat64Array.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYArray.js.map +1 -1
- package/lib/esm/geometry3d/GrowableXYZArray.js.map +1 -1
- package/lib/esm/geometry3d/IndexedCollectionInterval.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYZCollection.js.map +1 -1
- package/lib/esm/geometry3d/LongitudeLatitudeAltitude.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +7 -14
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +19 -14
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/OrderedRotationAngles.js.map +1 -1
- package/lib/esm/geometry3d/Plane3d.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js.map +1 -1
- package/lib/esm/geometry3d/Plane3dByOriginAndVectors.js.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point2dVector2d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/PointStreaming.js.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
- package/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js.map +1 -1
- package/lib/esm/geometry3d/PolylineOps.js.map +1 -1
- package/lib/esm/geometry3d/Range.js.map +1 -1
- package/lib/esm/geometry3d/Ray2d.js.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/ReusableObjectCache.js.map +1 -1
- package/lib/esm/geometry3d/Segment1d.js.map +1 -1
- package/lib/esm/geometry3d/SortablePolygon.js.map +1 -1
- package/lib/esm/geometry3d/Transform.d.ts +4 -2
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
- package/lib/esm/geometry3d/Transform.js +4 -2
- package/lib/esm/geometry3d/Transform.js.map +1 -1
- package/lib/esm/geometry3d/UVSurfaceOps.js.map +1 -1
- package/lib/esm/geometry3d/XYZProps.js.map +1 -1
- package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/esm/geometry4d/Map4d.js.map +1 -1
- package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
- package/lib/esm/geometry4d/MomentData.js.map +1 -1
- package/lib/esm/geometry4d/PlaneByOriginAndVectors4d.js.map +1 -1
- package/lib/esm/geometry4d/Point4d.js.map +1 -1
- package/lib/esm/numerics/BandedSystem.js.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
- package/lib/esm/numerics/ClusterableArray.js.map +1 -1
- package/lib/esm/numerics/Complex.js.map +1 -1
- package/lib/esm/numerics/ConvexPolygon2d.js.map +1 -1
- package/lib/esm/numerics/Newton.js.map +1 -1
- package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
- package/lib/esm/numerics/PolarData.js.map +1 -1
- package/lib/esm/numerics/Polynomials.js.map +1 -1
- package/lib/esm/numerics/Quadrature.js.map +1 -1
- package/lib/esm/numerics/Range1dArray.js.map +1 -1
- package/lib/esm/numerics/TriDiagonalSystem.js.map +1 -1
- package/lib/esm/numerics/UnionFind.js.map +1 -1
- package/lib/esm/numerics/UsageSums.js.map +1 -1
- package/lib/esm/polyface/AuxData.js.map +1 -1
- package/lib/esm/polyface/BoxTopology.js.map +1 -1
- package/lib/esm/polyface/FacetFaceData.js.map +1 -1
- package/lib/esm/polyface/FacetLocationDetail.js.map +1 -1
- package/lib/esm/polyface/FacetOrientation.js.map +1 -1
- package/lib/esm/polyface/GreedyTriangulationBetweenLineStrings.js.map +1 -1
- package/lib/esm/polyface/IndexedEdgeMatcher.js.map +1 -1
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/esm/polyface/Polyface.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
- package/lib/esm/polyface/PolyfaceData.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/polyface/RangeLengthData.js.map +1 -1
- package/lib/esm/polyface/RangeTree/LineString3dRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/MinimumValueTester.js.map +1 -1
- package/lib/esm/polyface/RangeTree/Point3dArrayRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/PolyfaceRangeTreeContext.js.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeNode.js.map +1 -1
- package/lib/esm/polyface/RangeTree/RangeTreeSearchHandlers.js.map +1 -1
- package/lib/esm/polyface/TaggedNumericData.js.map +1 -1
- package/lib/esm/polyface/TriangleCandidate.js.map +1 -1
- package/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js.map +1 -1
- package/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js.map +1 -1
- package/lib/esm/polyface/multiclip/LinearSearchRange2dArray.js.map +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/Range2dSearchInterface.js.map +1 -1
- package/lib/esm/polyface/multiclip/RangeSearch.js.map +1 -1
- package/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js.map +1 -1
- package/lib/esm/polyface/multiclip/XYPointBuckets.js.map +1 -1
- package/lib/esm/serialization/BGFBAccessors.js.map +1 -1
- package/lib/esm/serialization/BGFBReader.js.map +1 -1
- package/lib/esm/serialization/BGFBWriter.js.map +1 -1
- package/lib/esm/serialization/BentleyGeometryFlatBuffer.js.map +1 -1
- package/lib/esm/serialization/DeepCompare.js.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/serialization/SerializationHelpers.js.map +1 -1
- package/lib/esm/solid/Box.js.map +1 -1
- package/lib/esm/solid/Cone.js.map +1 -1
- package/lib/esm/solid/LinearSweep.js.map +1 -1
- package/lib/esm/solid/RotationalSweep.js.map +1 -1
- package/lib/esm/solid/RuledSweep.js.map +1 -1
- package/lib/esm/solid/SolidPrimitive.js.map +1 -1
- package/lib/esm/solid/Sphere.js.map +1 -1
- package/lib/esm/solid/SweepContour.js.map +1 -1
- package/lib/esm/solid/TorusPipe.js.map +1 -1
- package/lib/esm/topology/ChainMerge.js.map +1 -1
- package/lib/esm/topology/Graph.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphSpineContext.js.map +1 -1
- package/lib/esm/topology/HalfEdgeGraphValidation.js.map +1 -1
- package/lib/esm/topology/HalfEdgeMarkSet.js.map +1 -1
- package/lib/esm/topology/HalfEdgeNodeXYZUV.js.map +1 -1
- package/lib/esm/topology/HalfEdgePointInGraphSearch.js.map +1 -1
- package/lib/esm/topology/HalfEdgePositionDetail.js.map +1 -1
- package/lib/esm/topology/HalfEdgePriorityQueue.js.map +1 -1
- package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/esm/topology/MaskManager.js.map +1 -1
- package/lib/esm/topology/Merging.js.map +1 -1
- package/lib/esm/topology/RegularizeFace.js.map +1 -1
- package/lib/esm/topology/SignedDataSummary.js.map +1 -1
- package/lib/esm/topology/SpaceTriangulation.js.map +1 -1
- package/lib/esm/topology/Triangulation.js.map +1 -1
- package/lib/esm/topology/XYParitySearchContext.js.map +1 -1
- package/package.json +3 -3
|
@@ -22,6 +22,8 @@ const CurveCollection_1 = require("../CurveCollection");
|
|
|
22
22
|
const CurveLocationDetail_1 = require("../CurveLocationDetail");
|
|
23
23
|
const LineSegment3d_1 = require("../LineSegment3d");
|
|
24
24
|
const LineString3d_1 = require("../LineString3d");
|
|
25
|
+
const Loop_1 = require("../Loop");
|
|
26
|
+
const Path_1 = require("../Path");
|
|
25
27
|
// cspell:word XYRR
|
|
26
28
|
/**
|
|
27
29
|
* Handler class for XYZ intersections between _geometryB and another geometry.
|
|
@@ -37,9 +39,11 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
37
39
|
*/
|
|
38
40
|
constructor(extendA, geometryB, extendB) {
|
|
39
41
|
super();
|
|
40
|
-
this.
|
|
42
|
+
this._extendA0 = extendA;
|
|
43
|
+
this._extendA1 = extendA;
|
|
41
44
|
this._geometryB = geometryB;
|
|
42
|
-
this.
|
|
45
|
+
this._extendB0 = extendB;
|
|
46
|
+
this._extendB1 = extendB;
|
|
43
47
|
this._results = [];
|
|
44
48
|
}
|
|
45
49
|
/** Reset the geometry, leaving all other parts unchanged (and preserving accumulated intersections). */
|
|
@@ -56,10 +60,12 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
56
60
|
this._results = [];
|
|
57
61
|
return result;
|
|
58
62
|
}
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
/** Accept the fraction if it falls inside (possibly extended) fraction range. */
|
|
64
|
+
acceptFraction(extend0, fraction, extend1, fractionTol = 1.0e-12) {
|
|
65
|
+
// Note that default tol is tighter than Geometry.smallFraction. We aggressively toss intersections past endpoints.
|
|
66
|
+
if (!extend0 && fraction < -fractionTol)
|
|
61
67
|
return false;
|
|
62
|
-
if (!extend1 && fraction > 1.0)
|
|
68
|
+
if (!extend1 && fraction > 1.0 + fractionTol)
|
|
63
69
|
return false;
|
|
64
70
|
return true;
|
|
65
71
|
}
|
|
@@ -161,13 +167,13 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
161
167
|
let lineFraction;
|
|
162
168
|
let linePoint;
|
|
163
169
|
for (const c of candidates) {
|
|
164
|
-
|
|
170
|
+
const arcFraction = arc.sweep.fractionToSignedPeriodicFraction(c.fraction, extendB0);
|
|
171
|
+
if (this.acceptFraction(extendB0, arcFraction, extendB1)) {
|
|
165
172
|
lineFraction = Polynomials_1.SmallSystem.lineSegment3dClosestPointUnbounded(pointA0, pointA1, c.point);
|
|
166
173
|
if (lineFraction !== undefined) {
|
|
167
174
|
linePoint = pointA0.interpolate(lineFraction, pointA1, linePoint);
|
|
168
|
-
if (linePoint.isAlmostEqualMetric(c.point)
|
|
169
|
-
|
|
170
|
-
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, c.fraction, arc, 0, 1, reversed);
|
|
175
|
+
if (linePoint.isAlmostEqualMetric(c.point) && this.acceptFraction(extendA0, lineFraction, extendA1)) {
|
|
176
|
+
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
|
|
171
177
|
}
|
|
172
178
|
}
|
|
173
179
|
}
|
|
@@ -178,17 +184,17 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
178
184
|
// Passes "other" as {center, vector0, vector90} in local xy space of cpA
|
|
179
185
|
// Solves the arc-arc equations for that local ellipse with unit circle.
|
|
180
186
|
// Solution fractions map directly to original arcs.
|
|
181
|
-
dispatchArcArcInPlane(cpA,
|
|
187
|
+
dispatchArcArcInPlane(cpA, extendA0, extendA1, cpB, extendB0, extendB1, reversed) {
|
|
182
188
|
const otherVectors = cpA.otherArcAsLocalVectors(cpB);
|
|
183
189
|
if (otherVectors !== undefined) {
|
|
184
190
|
const ellipseRadians = [];
|
|
185
191
|
const circleRadians = [];
|
|
186
192
|
Polynomials_1.TrigPolynomial.solveUnitCircleHomogeneousEllipseIntersection(otherVectors.center.x, otherVectors.center.y, 1.0, otherVectors.vector0.x, otherVectors.vector0.y, 0.0, otherVectors.vector90.x, otherVectors.vector90.y, 0.0, ellipseRadians, circleRadians);
|
|
187
193
|
for (let i = 0; i < ellipseRadians.length; i++) {
|
|
188
|
-
const fractionA = cpA.sweep.
|
|
189
|
-
const fractionB = cpB.sweep.
|
|
194
|
+
const fractionA = cpA.sweep.radiansToSignedFraction(circleRadians[i], extendA0);
|
|
195
|
+
const fractionB = cpB.sweep.radiansToSignedFraction(ellipseRadians[i], extendB0);
|
|
190
196
|
// hm .. do we really need to check the fractions? We know they are internal to the beziers
|
|
191
|
-
if (this.acceptFraction(
|
|
197
|
+
if (this.acceptFraction(extendA0, fractionA, extendA1) && this.acceptFraction(extendB0, fractionB, extendB1)) {
|
|
192
198
|
this.recordPointWithLocalFractions(fractionA, cpA, 0, 1, fractionB, cpB, 0, 1, reversed);
|
|
193
199
|
}
|
|
194
200
|
}
|
|
@@ -197,7 +203,7 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
197
203
|
// Caller accesses data from two arcs.
|
|
198
204
|
// Selects the best conditioned arc (in xy parts) as "circle after inversion".
|
|
199
205
|
// Solves the arc-arc equations.
|
|
200
|
-
dispatchArcArc(cpA,
|
|
206
|
+
dispatchArcArc(cpA, extendA0, extendA1, cpB, extendB0, extendB1, reversed) {
|
|
201
207
|
// If arcs are in different planes:
|
|
202
208
|
// 1) Intersect each plane with the other arc (quadratic)
|
|
203
209
|
// 2) accept points that appear in both intersection sets.
|
|
@@ -208,10 +214,8 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
208
214
|
if (planeA === undefined || planeB === undefined)
|
|
209
215
|
return;
|
|
210
216
|
if (planeA.getNormalRef().isParallelTo(planeB.getNormalRef())) {
|
|
211
|
-
if (planeA.isPointInPlane(planeB.getOriginRef()) && planeB.isPointInPlane(planeA.getOriginRef()))
|
|
212
|
-
|
|
213
|
-
this.dispatchArcArcInPlane(cpA, extendA, cpB, extendB, reversed);
|
|
214
|
-
}
|
|
217
|
+
if (planeA.isPointInPlane(planeB.getOriginRef()) && planeB.isPointInPlane(planeA.getOriginRef()))
|
|
218
|
+
this.dispatchArcArcInPlane(cpA, extendA0, extendA1, cpB, extendB0, extendB1, reversed);
|
|
215
219
|
}
|
|
216
220
|
else {
|
|
217
221
|
const arcBPoints = [];
|
|
@@ -221,9 +225,11 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
221
225
|
for (const detailB of arcBPoints) {
|
|
222
226
|
for (const detailA of arcAPoints) {
|
|
223
227
|
if (detailA.point.isAlmostEqual(detailB.point)) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
228
|
+
const arcFractionA = cpA.sweep.fractionToSignedPeriodicFraction(detailA.fraction, extendA0);
|
|
229
|
+
const arcFractionB = cpB.sweep.fractionToSignedPeriodicFraction(detailB.fraction, extendB0);
|
|
230
|
+
if (this.acceptFraction(extendA0, arcFractionA, extendA1)
|
|
231
|
+
&& this.acceptFraction(extendB0, arcFractionB, extendB1)) {
|
|
232
|
+
this.recordPointWithLocalFractions(arcFractionA, cpA, 0, 1, arcFractionB, cpB, 0, 1, reversed);
|
|
227
233
|
}
|
|
228
234
|
}
|
|
229
235
|
}
|
|
@@ -233,7 +239,8 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
233
239
|
// Caller accesses data from two arcs.
|
|
234
240
|
// Selects the best conditioned arc (in xy parts) as "circle after inversion".
|
|
235
241
|
// Solves the arc-arc equations.
|
|
236
|
-
dispatchArcBsplineCurve3d(_arc,
|
|
242
|
+
dispatchArcBsplineCurve3d(_arc, _extendA0, _extendA1, _cpB, _extendB0, _extendB1, _reversed) {
|
|
243
|
+
// TODO: B-spline XYZ intersection implementation
|
|
237
244
|
/*
|
|
238
245
|
// Arc: X = C + cU + sV
|
|
239
246
|
// implicitize the arc as viewed. This "3d" matrix is homogeneous "XYW" not "xyz"
|
|
@@ -294,9 +301,9 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
294
301
|
const bcurvePoint4d = bezier.fractionToPoint4d(root);
|
|
295
302
|
const c = bcurvePoint4d.dotProductXYZW(axx, axy, axz, axw);
|
|
296
303
|
const s = bcurvePoint4d.dotProductXYZW(ayx, ayy, ayz, ayw);
|
|
297
|
-
const arcFraction = cpA.sweep.
|
|
298
|
-
if (this.acceptFraction(
|
|
299
|
-
this.acceptFraction(
|
|
304
|
+
const arcFraction = cpA.sweep.radiansToSignedFraction(Math.atan2(s, c), _extendA0);
|
|
305
|
+
if (this.acceptFraction(_extendA0, arcFraction, _extendA1) &&
|
|
306
|
+
this.acceptFraction(_extendB0, fractionB, _extendB1)) {
|
|
300
307
|
this.recordPointWithLocalFractions(
|
|
301
308
|
arcFraction, cpA, 0, 1, fractionB, cpB, 0, 1, reversed,
|
|
302
309
|
);
|
|
@@ -308,6 +315,7 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
308
315
|
}
|
|
309
316
|
*/
|
|
310
317
|
}
|
|
318
|
+
// TODO: Bezier XYZ intersection implementation
|
|
311
319
|
/*
|
|
312
320
|
// Apply the transformation to bezier curves. Optionally construct ranges.
|
|
313
321
|
private transformBeziers(beziers: BezierCurve3dH[]): void {
|
|
@@ -353,8 +361,8 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
353
361
|
const bcurvePoint4d = bezier.fractionToPoint4d(root);
|
|
354
362
|
const c = bcurvePoint4d.dotProductXYZW(axx, axy, axz, axw);
|
|
355
363
|
const s = bcurvePoint4d.dotProductXYZW(ayx, ayy, ayz, ayw);
|
|
356
|
-
const arcFraction = cpA.sweep.
|
|
357
|
-
if (this.acceptFraction(
|
|
364
|
+
const arcFraction = cpA.sweep.radiansToSignedFraction(Math.atan2(s, c), extendA0);
|
|
365
|
+
if (this.acceptFraction(extendA0, arcFraction, extendA1) && this.acceptFraction(extendB0, fractionB, extendB1)) {
|
|
358
366
|
this.recordPointWithLocalFractions(
|
|
359
367
|
arcFraction, cpA, 0, 1, fractionB, cpB, 0, 1, reversed,
|
|
360
368
|
);
|
|
@@ -421,6 +429,7 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
421
429
|
// Selects the best conditioned arc (in xy parts) as "circle after inversion".
|
|
422
430
|
// Solves the arc-arc equations.
|
|
423
431
|
dispatchBSplineCurve3dBSplineCurve3d(_bcurveA, _bcurveB, _reversed) {
|
|
432
|
+
// TODO: B-spline XYZ intersection implementation
|
|
424
433
|
/*
|
|
425
434
|
const bezierSpanA = bcurveA.collectBezierSpans(true) as BezierCurve3dH[];
|
|
426
435
|
const bezierSpanB = bcurveB.collectBezierSpans(true) as BezierCurve3dH[];
|
|
@@ -484,7 +493,8 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
484
493
|
// Caller accesses data from segment and bsplineCurve
|
|
485
494
|
// Selects the best conditioned arc (in xy parts) as "circle after inversion"
|
|
486
495
|
// Solves the arc-arc equations
|
|
487
|
-
dispatchSegmentBsplineCurve(_cpA, _extendA0, _pointA0, _fractionA0, _pointA1, _fractionA1, _extendA1, _bcurve,
|
|
496
|
+
dispatchSegmentBsplineCurve(_cpA, _extendA0, _pointA0, _fractionA0, _pointA1, _fractionA1, _extendA1, _bcurve, _extendB0, _extendB1, _reversed) {
|
|
497
|
+
// TODO: B-spline XYZ intersection implementation
|
|
488
498
|
/*
|
|
489
499
|
const pointA0H = this.projectPoint(pointA0);
|
|
490
500
|
const pointA1H = this.projectPoint(pointA1);
|
|
@@ -501,8 +511,8 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
501
511
|
const curvePoint = detail.point;
|
|
502
512
|
const curvePointH = this.projectPoint(curvePoint);
|
|
503
513
|
const lineFraction = SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, curvePointH);
|
|
504
|
-
if (lineFraction !== undefined && this.acceptFraction(
|
|
505
|
-
this.acceptFraction(
|
|
514
|
+
if (lineFraction !== undefined && this.acceptFraction(_extendA0, lineFraction, _extendA1) &&
|
|
515
|
+
this.acceptFraction(_extendB0, fractionB, _extendB1)) {
|
|
506
516
|
this.recordPointWithLocalFractions(
|
|
507
517
|
lineFraction, cpA, fractionA0, fractionA1, fractionB, bcurve, 0, 1, reversed,
|
|
508
518
|
);
|
|
@@ -511,7 +521,8 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
511
521
|
*/
|
|
512
522
|
}
|
|
513
523
|
/** Low level dispatch of linestring with (beziers of) a bspline curve */
|
|
514
|
-
dispatchLineStringBSplineCurve(_lsA,
|
|
524
|
+
dispatchLineStringBSplineCurve(_lsA, _extendA0, _extendA1, _curveB, _extendB0, _extendB1, _reversed) {
|
|
525
|
+
// TODO: B-spline XYZ intersection implementation
|
|
515
526
|
/*
|
|
516
527
|
const numA = lsA.numPoints();
|
|
517
528
|
if (numA > 1) {
|
|
@@ -526,15 +537,15 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
526
537
|
lsA.pointAt(iA, pointA1);
|
|
527
538
|
fA1 = iA * dfA;
|
|
528
539
|
this.dispatchSegmentBsplineCurve(
|
|
529
|
-
lsA, iA === 1 &&
|
|
530
|
-
curveB,
|
|
540
|
+
lsA, iA === 1 && _extendA0, pointA0, fA0, pointA1, fA1, (iA + 1) === numA && _extendA1,
|
|
541
|
+
curveB, _extendB0, _extendB1 reversed);
|
|
531
542
|
}
|
|
532
543
|
}
|
|
533
544
|
return undefined;
|
|
534
545
|
*/
|
|
535
546
|
}
|
|
536
547
|
/** Detail computation for segment intersecting linestring. */
|
|
537
|
-
computeSegmentLineString(lsA,
|
|
548
|
+
computeSegmentLineString(lsA, extendA0, extendA1, lsB, extendB0, extendB1, reversed) {
|
|
538
549
|
const pointA0 = lsA.point0Ref;
|
|
539
550
|
const pointA1 = lsA.point1Ref;
|
|
540
551
|
const pointB0 = CurveCurveIntersectXYZ._workPointBB0;
|
|
@@ -549,13 +560,13 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
549
560
|
for (let ib = 1; ib < numB; ib++, pointB0.setFrom(pointB1), fB0 = fB1) {
|
|
550
561
|
lsB.pointAt(ib, pointB1);
|
|
551
562
|
fB1 = ib * dfB;
|
|
552
|
-
this.dispatchSegmentSegment(lsA,
|
|
563
|
+
this.dispatchSegmentSegment(lsA, extendA0, pointA0, 0.0, pointA1, 1.0, extendA1, lsB, ib === 1 && extendB0, pointB0, fB0, pointB1, fB1, (ib + 1) === numB && extendB1, reversed);
|
|
553
564
|
}
|
|
554
565
|
}
|
|
555
566
|
return undefined;
|
|
556
567
|
}
|
|
557
568
|
/** Detail computation for arc intersecting linestring. */
|
|
558
|
-
computeArcLineString(arcA,
|
|
569
|
+
computeArcLineString(arcA, extendA0, extendA1, lsB, extendB0, extendB1, reversed) {
|
|
559
570
|
const pointB0 = CurveCurveIntersectXYZ._workPointBB0;
|
|
560
571
|
const pointB1 = CurveCurveIntersectXYZ._workPointBB1;
|
|
561
572
|
const numB = lsB.numPoints();
|
|
@@ -568,7 +579,7 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
568
579
|
for (let ib = 1; ib < numB; ib++, pointB0.setFrom(pointB1), fB0 = fB1) {
|
|
569
580
|
lsB.pointAt(ib, pointB1);
|
|
570
581
|
fB1 = ib * dfB;
|
|
571
|
-
this.dispatchSegmentArc(lsB, ib === 1 &&
|
|
582
|
+
this.dispatchSegmentArc(lsB, ib === 1 && extendB0, pointB0, fB0, pointB1, fB1, (ib + 1) === numB && extendB1, arcA, extendA0, extendA1, !reversed);
|
|
572
583
|
}
|
|
573
584
|
}
|
|
574
585
|
return undefined;
|
|
@@ -589,8 +600,6 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
589
600
|
let fB0;
|
|
590
601
|
let fA1;
|
|
591
602
|
let fB1;
|
|
592
|
-
const extendA = this._extendA;
|
|
593
|
-
const extendB = this._extendB;
|
|
594
603
|
lsA.pointAt(0, pointA0);
|
|
595
604
|
for (let ia = 1; ia < numA; ia++, pointA0.setFrom(pointA1), fA0 = fA1) {
|
|
596
605
|
fA1 = ia * dfA;
|
|
@@ -600,23 +609,45 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
600
609
|
for (let ib = 1; ib < numB; ib++, pointB0.setFrom(pointB1), fB0 = fB1) {
|
|
601
610
|
lsB.pointAt(ib, pointB1);
|
|
602
611
|
fB1 = ib * dfB;
|
|
603
|
-
this.dispatchSegmentSegment(lsA, ia === 1 &&
|
|
612
|
+
this.dispatchSegmentSegment(lsA, ia === 1 && this._extendA0, pointA0, fA0, pointA1, fA1, (ia + 1) === numA && this._extendA1, lsB, ib === 1 && this._extendB0, pointB0, fB0, pointB1, fB1, (ib + 1) === numB && this._extendB1, reversed);
|
|
604
613
|
}
|
|
605
614
|
}
|
|
606
615
|
}
|
|
607
616
|
}
|
|
608
|
-
/**
|
|
617
|
+
/**
|
|
618
|
+
* Low level dispatch of curve collection.
|
|
619
|
+
* We take care of extend variables of geometry's children here if geometry is Path or Loop.
|
|
620
|
+
*/
|
|
609
621
|
dispatchCurveCollection(geomA, geomAHandler) {
|
|
610
622
|
const geomB = this._geometryB; // save
|
|
611
623
|
if (!geomB || !geomB.children || !(geomB instanceof CurveCollection_1.CurveCollection))
|
|
612
624
|
return;
|
|
613
|
-
|
|
614
|
-
|
|
625
|
+
const children = geomB.children;
|
|
626
|
+
const extendB0 = this._extendB0; // save
|
|
627
|
+
const extendB1 = this._extendB1; // save
|
|
628
|
+
for (let i = 0; i < children.length; i++) {
|
|
629
|
+
this.resetGeometry(children[i]);
|
|
630
|
+
if (geomB instanceof Path_1.Path && children.length > 1) {
|
|
631
|
+
if (i === 0)
|
|
632
|
+
this._extendB1 = false; // first child can only extend from start
|
|
633
|
+
else if (i === children.length - 1)
|
|
634
|
+
this._extendB0 = false; // last child can only extend from end
|
|
635
|
+
else
|
|
636
|
+
this._extendB0 = this._extendB1 = false; // middle children cannot extend
|
|
637
|
+
}
|
|
638
|
+
else if (geomB instanceof Loop_1.Loop) {
|
|
639
|
+
this._extendB0 = this._extendB1 = false; // Loops cannot extend
|
|
640
|
+
}
|
|
615
641
|
geomAHandler(geomA);
|
|
642
|
+
this._extendB0 = extendB0; // restore
|
|
643
|
+
this._extendB1 = extendB1; // restore
|
|
616
644
|
}
|
|
617
|
-
this.
|
|
645
|
+
this.resetGeometry(geomB); // restore
|
|
618
646
|
}
|
|
619
|
-
/**
|
|
647
|
+
/**
|
|
648
|
+
* Low level dispatch of CurveChainWithDistanceIndex.
|
|
649
|
+
* We take care of extend variables of geometry's children here if geometry.path is Path or Loop.
|
|
650
|
+
*/
|
|
620
651
|
dispatchCurveChainWithDistanceIndex(geomA, geomAHandler) {
|
|
621
652
|
if (!this._geometryB || !(this._geometryB instanceof CurveChainWithDistanceIndex_1.CurveChainWithDistanceIndex))
|
|
622
653
|
return;
|
|
@@ -626,27 +657,51 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
626
657
|
}
|
|
627
658
|
const index0 = this._results.length;
|
|
628
659
|
const geomB = this._geometryB; // save
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
geomAHandler(geomA);
|
|
632
|
-
}
|
|
660
|
+
this.resetGeometry(geomB.path);
|
|
661
|
+
this.dispatchCurveCollection(geomA, geomAHandler);
|
|
633
662
|
this.resetGeometry(geomB); // restore
|
|
634
663
|
this._results = CurveChainWithDistanceIndex_1.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, index0, undefined, geomB, true);
|
|
635
664
|
}
|
|
665
|
+
/**
|
|
666
|
+
* Invoke `child.dispatchToGeometryHandler(this)` for each child in the array returned by the query `g.children`.
|
|
667
|
+
* We take care of extend variables of geometry's children here if geometry is Path or Loop.
|
|
668
|
+
*/
|
|
669
|
+
handleChildren(g) {
|
|
670
|
+
const children = g.children;
|
|
671
|
+
const extendA0 = this._extendA0; // save
|
|
672
|
+
const extendA1 = this._extendA1; // save
|
|
673
|
+
if (children)
|
|
674
|
+
for (let i = 0; i < children.length; i++) {
|
|
675
|
+
if (g instanceof Path_1.Path && children.length > 1) {
|
|
676
|
+
if (i === 0)
|
|
677
|
+
this._extendA1 = false; // first child can only extend from start
|
|
678
|
+
else if (i === children.length - 1)
|
|
679
|
+
this._extendA0 = false; // last child can only extend from end
|
|
680
|
+
else
|
|
681
|
+
this._extendA0 = this._extendA1 = false; // middle children cannot extend
|
|
682
|
+
}
|
|
683
|
+
else if (g instanceof Loop_1.Loop) {
|
|
684
|
+
this._extendA0 = this._extendA1 = false; // Loops cannot extend
|
|
685
|
+
}
|
|
686
|
+
children[i].dispatchToGeometryHandler(this);
|
|
687
|
+
this._extendA0 = extendA0; // restore
|
|
688
|
+
this._extendA1 = extendA1; // restore
|
|
689
|
+
}
|
|
690
|
+
}
|
|
636
691
|
/** Double dispatch handler for strongly typed segment. */
|
|
637
692
|
handleLineSegment3d(segmentA) {
|
|
638
693
|
if (this._geometryB instanceof LineSegment3d_1.LineSegment3d) {
|
|
639
694
|
const segmentB = this._geometryB;
|
|
640
|
-
this.dispatchSegmentSegment(segmentA, this.
|
|
695
|
+
this.dispatchSegmentSegment(segmentA, this._extendA0, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA1, segmentB, this._extendB0, segmentB.point0Ref, 0.0, segmentB.point1Ref, 1.0, this._extendB1, false);
|
|
641
696
|
}
|
|
642
697
|
else if (this._geometryB instanceof LineString3d_1.LineString3d) {
|
|
643
|
-
this.computeSegmentLineString(segmentA, this.
|
|
698
|
+
this.computeSegmentLineString(segmentA, this._extendA0, this._extendA1, this._geometryB, this._extendB0, this._extendB1, false);
|
|
644
699
|
}
|
|
645
700
|
else if (this._geometryB instanceof Arc3d_1.Arc3d) {
|
|
646
|
-
this.dispatchSegmentArc(segmentA, this.
|
|
701
|
+
this.dispatchSegmentArc(segmentA, this._extendA0, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA1, this._geometryB, this._extendB0, this._extendB1, false);
|
|
647
702
|
}
|
|
648
703
|
else if (this._geometryB instanceof BSplineCurve_1.BSplineCurve3d) {
|
|
649
|
-
this.dispatchSegmentBsplineCurve(segmentA, this.
|
|
704
|
+
this.dispatchSegmentBsplineCurve(segmentA, this._extendA0, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA1, this._geometryB, this._extendB0, this._extendB1, false);
|
|
650
705
|
}
|
|
651
706
|
else if (this._geometryB instanceof CurveCollection_1.CurveCollection) {
|
|
652
707
|
this.dispatchCurveCollection(segmentA, this.handleLineSegment3d.bind(this));
|
|
@@ -663,13 +718,13 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
663
718
|
this.computeLineStringLineString(lsA, lsB, false);
|
|
664
719
|
}
|
|
665
720
|
else if (this._geometryB instanceof LineSegment3d_1.LineSegment3d) {
|
|
666
|
-
this.computeSegmentLineString(this._geometryB, this.
|
|
721
|
+
this.computeSegmentLineString(this._geometryB, this._extendB0, this._extendB1, lsA, this._extendA0, this._extendA1, true);
|
|
667
722
|
}
|
|
668
723
|
else if (this._geometryB instanceof Arc3d_1.Arc3d) {
|
|
669
|
-
this.computeArcLineString(this._geometryB, this.
|
|
724
|
+
this.computeArcLineString(this._geometryB, this._extendB0, this._extendB1, lsA, this._extendA0, this._extendA1, true);
|
|
670
725
|
}
|
|
671
726
|
else if (this._geometryB instanceof BSplineCurve_1.BSplineCurve3d) {
|
|
672
|
-
this.dispatchLineStringBSplineCurve(lsA, this.
|
|
727
|
+
this.dispatchLineStringBSplineCurve(lsA, this._extendA0, this._extendA1, this._geometryB, this._extendB0, this._extendB1, false);
|
|
673
728
|
}
|
|
674
729
|
else if (this._geometryB instanceof CurveCollection_1.CurveCollection) {
|
|
675
730
|
this.dispatchCurveCollection(lsA, this.handleLineString3d.bind(this));
|
|
@@ -682,16 +737,16 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
682
737
|
/** Double dispatch handler for strongly typed arc. */
|
|
683
738
|
handleArc3d(arc0) {
|
|
684
739
|
if (this._geometryB instanceof LineSegment3d_1.LineSegment3d) {
|
|
685
|
-
this.dispatchSegmentArc(this._geometryB, this.
|
|
740
|
+
this.dispatchSegmentArc(this._geometryB, this._extendB0, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB1, arc0, this._extendA0, this._extendA1, true);
|
|
686
741
|
}
|
|
687
742
|
else if (this._geometryB instanceof LineString3d_1.LineString3d) {
|
|
688
|
-
this.computeArcLineString(arc0, this.
|
|
743
|
+
this.computeArcLineString(arc0, this._extendA0, this._extendA1, this._geometryB, this._extendB0, this._extendB1, false);
|
|
689
744
|
}
|
|
690
745
|
else if (this._geometryB instanceof Arc3d_1.Arc3d) {
|
|
691
|
-
this.dispatchArcArc(arc0, this.
|
|
746
|
+
this.dispatchArcArc(arc0, this._extendA0, this._extendA1, this._geometryB, this._extendB0, this._extendB1, false);
|
|
692
747
|
}
|
|
693
748
|
else if (this._geometryB instanceof BSplineCurve_1.BSplineCurve3d) {
|
|
694
|
-
this.dispatchArcBsplineCurve3d(arc0, this.
|
|
749
|
+
this.dispatchArcBsplineCurve3d(arc0, this._extendA0, this._extendA1, this._geometryB, this._extendB0, this._extendB1, false);
|
|
695
750
|
}
|
|
696
751
|
else if (this._geometryB instanceof CurveCollection_1.CurveCollection) {
|
|
697
752
|
this.dispatchCurveCollection(arc0, this.handleArc3d.bind(this));
|
|
@@ -704,13 +759,13 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
704
759
|
/** Double dispatch handler for strongly typed bspline curve. */
|
|
705
760
|
handleBSplineCurve3d(curve) {
|
|
706
761
|
if (this._geometryB instanceof LineSegment3d_1.LineSegment3d) {
|
|
707
|
-
this.dispatchSegmentBsplineCurve(this._geometryB, this.
|
|
762
|
+
this.dispatchSegmentBsplineCurve(this._geometryB, this._extendB0, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB1, curve, this._extendA0, this._extendA1, true);
|
|
708
763
|
}
|
|
709
764
|
else if (this._geometryB instanceof LineString3d_1.LineString3d) {
|
|
710
|
-
this.dispatchLineStringBSplineCurve(this._geometryB, this.
|
|
765
|
+
this.dispatchLineStringBSplineCurve(this._geometryB, this._extendB0, this._extendB1, curve, this._extendA0, this._extendA1, true);
|
|
711
766
|
}
|
|
712
767
|
else if (this._geometryB instanceof Arc3d_1.Arc3d) {
|
|
713
|
-
this.dispatchArcBsplineCurve3d(this._geometryB, this.
|
|
768
|
+
this.dispatchArcBsplineCurve3d(this._geometryB, this._extendB0, this._extendB1, curve, this._extendA0, this._extendA1, true);
|
|
714
769
|
}
|
|
715
770
|
else if (this._geometryB instanceof BSplineCurve_1.BSplineCurve3dBase) {
|
|
716
771
|
this.dispatchBSplineCurve3dBSplineCurve3d(curve, this._geometryB, false);
|
|
@@ -736,12 +791,17 @@ class CurveCurveIntersectXYZ extends GeometryHandler_1.RecurseToCurvesGeometryHa
|
|
|
736
791
|
// "easy" if both present BezierCurve3dH span loaders
|
|
737
792
|
if (this._geometryB instanceof LineSegment3d) {
|
|
738
793
|
this.dispatchSegmentBsplineCurve(
|
|
739
|
-
this._geometryB, this.
|
|
740
|
-
curve, this.
|
|
794
|
+
this._geometryB, this._extendB0, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB1,
|
|
795
|
+
curve, this._extendA0, this.extendA1, true,
|
|
796
|
+
);
|
|
741
797
|
} else if (this._geometryB instanceof LineString3d) {
|
|
742
|
-
this.dispatchLineStringBSplineCurve(
|
|
798
|
+
this.dispatchLineStringBSplineCurve(
|
|
799
|
+
this._geometryB, this._extendB0, this._extendB1, curve, this._extendA0, this._extendA1, true,
|
|
800
|
+
);
|
|
743
801
|
} else if (this._geometryB instanceof Arc3d) {
|
|
744
|
-
this.dispatchArcBsplineCurve3d(
|
|
802
|
+
this.dispatchArcBsplineCurve3d(
|
|
803
|
+
this._geometryB, this._extendB0, this._extendB1, curve, this._extendA0, this._extendA1, true,
|
|
804
|
+
);
|
|
745
805
|
}
|
|
746
806
|
*/
|
|
747
807
|
return undefined;
|