@itwin/core-geometry 4.10.0-dev.9 → 5.0.0-dev.1
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/CHANGELOG.md +26 -1
- package/lib/cjs/Geometry.js +2 -2
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -1
- package/lib/cjs/bspline/BSpline1dNd.js +0 -1
- package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.d.ts +5 -3
- package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.js +5 -4
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
- package/lib/cjs/clipping/ClipVector.js +1 -1
- package/lib/cjs/clipping/ClipVector.js.map +1 -1
- package/lib/cjs/core-geometry.d.ts +1 -1
- package/lib/cjs/core-geometry.d.ts.map +1 -1
- package/lib/cjs/core-geometry.js +1 -1
- package/lib/cjs/core-geometry.js.map +1 -1
- package/lib/cjs/curve/Arc3d.d.ts +136 -128
- package/lib/cjs/curve/Arc3d.d.ts.map +1 -1
- package/lib/cjs/curve/Arc3d.js +177 -152
- package/lib/cjs/curve/Arc3d.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +7 -5
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +9 -7
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.d.ts +21 -2
- package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCollection.js +45 -10
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveExtendMode.d.ts +18 -15
- package/lib/cjs/curve/CurveExtendMode.d.ts.map +1 -1
- package/lib/cjs/curve/CurveExtendMode.js +18 -17
- package/lib/cjs/curve/CurveExtendMode.js.map +1 -1
- package/lib/cjs/curve/CurveFactory.d.ts +11 -13
- package/lib/cjs/curve/CurveFactory.d.ts.map +1 -1
- package/lib/cjs/curve/CurveFactory.js +19 -46
- package/lib/cjs/curve/CurveFactory.js.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.d.ts +9 -5
- package/lib/cjs/curve/CurvePrimitive.d.ts.map +1 -1
- package/lib/cjs/curve/CurvePrimitive.js +9 -5
- package/lib/cjs/curve/CurvePrimitive.js.map +1 -1
- package/lib/cjs/curve/CurveProcessor.d.ts.map +1 -1
- package/lib/cjs/curve/CurveProcessor.js +0 -1
- package/lib/cjs/curve/CurveProcessor.js.map +1 -1
- package/lib/cjs/curve/LineSegment3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineSegment3d.js +2 -3
- package/lib/cjs/curve/LineSegment3d.js.map +1 -1
- package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
- package/lib/cjs/curve/OffsetOptions.d.ts.map +1 -1
- package/lib/cjs/curve/OffsetOptions.js +4 -4
- package/lib/cjs/curve/OffsetOptions.js.map +1 -1
- package/lib/cjs/curve/Path.d.ts +14 -0
- package/lib/cjs/curve/Path.d.ts.map +1 -1
- package/lib/cjs/curve/Path.js +27 -0
- package/lib/cjs/curve/Path.js.map +1 -1
- package/lib/cjs/curve/PointString3d.d.ts.map +1 -1
- package/lib/cjs/curve/PointString3d.js +0 -1
- package/lib/cjs/curve/PointString3d.js.map +1 -1
- package/lib/cjs/curve/StrokeOptions.d.ts.map +1 -1
- package/lib/cjs/curve/StrokeOptions.js +0 -1
- package/lib/cjs/curve/StrokeOptions.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +5 -6
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +10 -10
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js +4 -4
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.d.ts +18 -18
- package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js +46 -42
- package/lib/cjs/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +5 -4
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.d.ts +10 -6
- package/lib/cjs/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/cjs/geometry3d/AngleSweep.js +15 -12
- package/lib/cjs/geometry3d/AngleSweep.js.map +1 -1
- package/lib/cjs/geometry3d/BilinearPatch.js +4 -4
- package/lib/cjs/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/cjs/geometry3d/FrameBuilder.d.ts.map +1 -1
- package/lib/cjs/geometry3d/FrameBuilder.js +0 -1
- package/lib/cjs/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/cjs/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +28 -17
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +36 -17
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js +2 -3
- package/lib/cjs/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +6 -5
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +6 -5
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js +0 -1
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PolygonOps.js +2 -4
- package/lib/cjs/geometry3d/PolygonOps.js.map +1 -1
- package/lib/cjs/geometry3d/Ray3d.js +2 -2
- package/lib/cjs/geometry3d/Ray3d.js.map +1 -1
- package/lib/cjs/geometry3d/YawPitchRollAngles.d.ts.map +1 -1
- package/lib/cjs/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/cjs/geometry4d/Map4d.d.ts +5 -5
- package/lib/cjs/geometry4d/Map4d.js +5 -5
- package/lib/cjs/geometry4d/Map4d.js.map +1 -1
- package/lib/cjs/geometry4d/Matrix4d.d.ts +4 -7
- package/lib/cjs/geometry4d/Matrix4d.d.ts.map +1 -1
- package/lib/cjs/geometry4d/Matrix4d.js +4 -7
- package/lib/cjs/geometry4d/Matrix4d.js.map +1 -1
- package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
- package/lib/cjs/geometry4d/Point4d.js +2 -1
- package/lib/cjs/geometry4d/Point4d.js.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.js +0 -1
- package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
- package/lib/cjs/numerics/Newton.d.ts +3 -0
- package/lib/cjs/numerics/Newton.d.ts.map +1 -1
- package/lib/cjs/numerics/Newton.js +2 -5
- package/lib/cjs/numerics/Newton.js.map +1 -1
- package/lib/cjs/numerics/Polynomials.d.ts +46 -201
- package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/Polynomials.js +132 -445
- package/lib/cjs/numerics/Polynomials.js.map +1 -1
- package/lib/cjs/numerics/Range1dArray.js +2 -2
- package/lib/cjs/numerics/Range1dArray.js.map +1 -1
- package/lib/cjs/numerics/SmallSystem.d.ts +164 -0
- package/lib/cjs/numerics/SmallSystem.d.ts.map +1 -0
- package/lib/cjs/numerics/SmallSystem.js +321 -0
- package/lib/cjs/numerics/SmallSystem.js.map +1 -0
- package/lib/cjs/polyface/AuxData.d.ts.map +1 -1
- package/lib/cjs/polyface/AuxData.js.map +1 -1
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js +0 -1
- package/lib/cjs/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/cjs/polyface/Polyface.d.ts +2 -2
- package/lib/cjs/polyface/Polyface.d.ts.map +1 -1
- package/lib/cjs/polyface/Polyface.js +0 -1
- package/lib/cjs/polyface/Polyface.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.d.ts +3 -3
- package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.js +1 -2
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js +0 -1
- package/lib/cjs/polyface/PolyfaceQuery.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/OffsetMeshContext.d.ts +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.d.ts.map +1 -1
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js +7 -7
- package/lib/cjs/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/cjs/serialization/DeepCompare.d.ts.map +1 -1
- package/lib/cjs/serialization/DeepCompare.js +0 -1
- package/lib/cjs/serialization/DeepCompare.js.map +1 -1
- package/lib/cjs/topology/Graph.d.ts.map +1 -1
- package/lib/cjs/topology/Graph.js +2 -2
- package/lib/cjs/topology/Graph.js.map +1 -1
- package/lib/cjs/topology/InsertAndRetriangulateContext.js +2 -2
- package/lib/cjs/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/cjs/topology/Merging.d.ts +1 -1
- package/lib/cjs/topology/Merging.d.ts.map +1 -1
- package/lib/cjs/topology/Merging.js +2 -2
- package/lib/cjs/topology/Merging.js.map +1 -1
- package/lib/esm/Geometry.js +2 -2
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -1
- package/lib/esm/bspline/BSpline1dNd.js +0 -1
- package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve.d.ts +5 -3
- package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineCurve.js +5 -4
- package/lib/esm/bspline/BSplineCurve.js.map +1 -1
- package/lib/esm/clipping/ClipVector.js +1 -1
- package/lib/esm/clipping/ClipVector.js.map +1 -1
- package/lib/esm/core-geometry.d.ts +1 -1
- package/lib/esm/core-geometry.d.ts.map +1 -1
- package/lib/esm/core-geometry.js +1 -1
- package/lib/esm/core-geometry.js.map +1 -1
- package/lib/esm/curve/Arc3d.d.ts +136 -128
- package/lib/esm/curve/Arc3d.d.ts.map +1 -1
- package/lib/esm/curve/Arc3d.js +177 -152
- package/lib/esm/curve/Arc3d.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +7 -5
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +9 -7
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.d.ts +21 -2
- package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
- package/lib/esm/curve/CurveCollection.js +45 -10
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveExtendMode.d.ts +18 -15
- package/lib/esm/curve/CurveExtendMode.d.ts.map +1 -1
- package/lib/esm/curve/CurveExtendMode.js +18 -17
- package/lib/esm/curve/CurveExtendMode.js.map +1 -1
- package/lib/esm/curve/CurveFactory.d.ts +11 -13
- package/lib/esm/curve/CurveFactory.d.ts.map +1 -1
- package/lib/esm/curve/CurveFactory.js +17 -44
- package/lib/esm/curve/CurveFactory.js.map +1 -1
- package/lib/esm/curve/CurvePrimitive.d.ts +9 -5
- package/lib/esm/curve/CurvePrimitive.d.ts.map +1 -1
- package/lib/esm/curve/CurvePrimitive.js +9 -5
- package/lib/esm/curve/CurvePrimitive.js.map +1 -1
- package/lib/esm/curve/CurveProcessor.d.ts.map +1 -1
- package/lib/esm/curve/CurveProcessor.js +0 -1
- package/lib/esm/curve/CurveProcessor.js.map +1 -1
- package/lib/esm/curve/LineSegment3d.d.ts.map +1 -1
- package/lib/esm/curve/LineSegment3d.js +1 -2
- package/lib/esm/curve/LineSegment3d.js.map +1 -1
- package/lib/esm/curve/LineString3d.d.ts.map +1 -1
- package/lib/esm/curve/OffsetOptions.d.ts.map +1 -1
- package/lib/esm/curve/OffsetOptions.js +4 -4
- package/lib/esm/curve/OffsetOptions.js.map +1 -1
- package/lib/esm/curve/Path.d.ts +14 -0
- package/lib/esm/curve/Path.d.ts.map +1 -1
- package/lib/esm/curve/Path.js +27 -0
- package/lib/esm/curve/Path.js.map +1 -1
- package/lib/esm/curve/PointString3d.d.ts.map +1 -1
- package/lib/esm/curve/PointString3d.js +0 -1
- package/lib/esm/curve/PointString3d.js.map +1 -1
- package/lib/esm/curve/StrokeOptions.d.ts.map +1 -1
- package/lib/esm/curve/StrokeOptions.js +0 -1
- package/lib/esm/curve/StrokeOptions.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +4 -5
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +5 -5
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js +3 -3
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.d.ts +18 -18
- package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js +46 -42
- package/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +5 -4
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.d.ts +10 -6
- package/lib/esm/geometry3d/AngleSweep.d.ts.map +1 -1
- package/lib/esm/geometry3d/AngleSweep.js +15 -12
- package/lib/esm/geometry3d/AngleSweep.js.map +1 -1
- package/lib/esm/geometry3d/BilinearPatch.js +1 -1
- package/lib/esm/geometry3d/BilinearPatch.js.map +1 -1
- package/lib/esm/geometry3d/FrameBuilder.d.ts.map +1 -1
- package/lib/esm/geometry3d/FrameBuilder.js +0 -1
- package/lib/esm/geometry3d/FrameBuilder.js.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.d.ts.map +1 -1
- package/lib/esm/geometry3d/IndexedXYCollection.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +28 -17
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +36 -17
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.js +0 -1
- package/lib/esm/geometry3d/Point2dArrayCarrier.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +6 -5
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +6 -5
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js +0 -1
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/PolygonOps.js +2 -4
- package/lib/esm/geometry3d/PolygonOps.js.map +1 -1
- package/lib/esm/geometry3d/Ray3d.js +1 -1
- package/lib/esm/geometry3d/Ray3d.js.map +1 -1
- package/lib/esm/geometry3d/YawPitchRollAngles.d.ts.map +1 -1
- package/lib/esm/geometry3d/YawPitchRollAngles.js.map +1 -1
- package/lib/esm/geometry4d/Map4d.d.ts +5 -5
- package/lib/esm/geometry4d/Map4d.js +5 -5
- package/lib/esm/geometry4d/Map4d.js.map +1 -1
- package/lib/esm/geometry4d/Matrix4d.d.ts +4 -7
- package/lib/esm/geometry4d/Matrix4d.d.ts.map +1 -1
- package/lib/esm/geometry4d/Matrix4d.js +4 -7
- package/lib/esm/geometry4d/Matrix4d.js.map +1 -1
- package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
- package/lib/esm/geometry4d/Point4d.js +2 -1
- package/lib/esm/geometry4d/Point4d.js.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.js +0 -1
- package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
- package/lib/esm/numerics/Newton.d.ts +3 -0
- package/lib/esm/numerics/Newton.d.ts.map +1 -1
- package/lib/esm/numerics/Newton.js +1 -4
- package/lib/esm/numerics/Newton.js.map +1 -1
- package/lib/esm/numerics/Polynomials.d.ts +46 -201
- package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
- package/lib/esm/numerics/Polynomials.js +132 -444
- package/lib/esm/numerics/Polynomials.js.map +1 -1
- package/lib/esm/numerics/SmallSystem.d.ts +164 -0
- package/lib/esm/numerics/SmallSystem.d.ts.map +1 -0
- package/lib/esm/numerics/SmallSystem.js +317 -0
- package/lib/esm/numerics/SmallSystem.js.map +1 -0
- package/lib/esm/polyface/AuxData.d.ts.map +1 -1
- package/lib/esm/polyface/AuxData.js.map +1 -1
- package/lib/esm/polyface/IndexedPolyfaceVisitor.d.ts.map +1 -1
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js +0 -1
- package/lib/esm/polyface/IndexedPolyfaceVisitor.js.map +1 -1
- package/lib/esm/polyface/Polyface.d.ts +2 -2
- package/lib/esm/polyface/Polyface.d.ts.map +1 -1
- package/lib/esm/polyface/Polyface.js +0 -1
- package/lib/esm/polyface/Polyface.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.d.ts +3 -3
- package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.js +1 -2
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js +0 -1
- package/lib/esm/polyface/PolyfaceQuery.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/OffsetMeshContext.d.ts +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.d.ts.map +1 -1
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js +4 -4
- package/lib/esm/polyface/multiclip/OffsetMeshContext.js.map +1 -1
- package/lib/esm/serialization/DeepCompare.d.ts.map +1 -1
- package/lib/esm/serialization/DeepCompare.js +0 -1
- package/lib/esm/serialization/DeepCompare.js.map +1 -1
- package/lib/esm/topology/Graph.d.ts.map +1 -1
- package/lib/esm/topology/Graph.js +1 -1
- package/lib/esm/topology/Graph.js.map +1 -1
- package/lib/esm/topology/InsertAndRetriangulateContext.js +1 -1
- package/lib/esm/topology/InsertAndRetriangulateContext.js.map +1 -1
- package/lib/esm/topology/Merging.d.ts +1 -1
- package/lib/esm/topology/Merging.d.ts.map +1 -1
- package/lib/esm/topology/Merging.js +1 -1
- package/lib/esm/topology/Merging.js.map +1 -1
- package/package.json +8 -8
|
@@ -116,10 +116,10 @@ class QuadrantFractions {
|
|
|
116
116
|
}
|
|
117
117
|
/**
|
|
118
118
|
* Compute quadrant data for the given angles.
|
|
119
|
-
* @param radians0 first radian angle
|
|
120
|
-
* @param radians1 second radian angle
|
|
119
|
+
* @param radians0 first radian angle.
|
|
120
|
+
* @param radians1 second radian angle.
|
|
121
121
|
* @return quadrant number and start/end radian angles for the quadrant that contains both input angles, or
|
|
122
|
-
* undefined if no such quadrant.
|
|
122
|
+
* `undefined` if no such quadrant.
|
|
123
123
|
* * The returned sweep is always counterclockwise: angle0 < angle1.
|
|
124
124
|
*/
|
|
125
125
|
static getQuadrantRadians(radians0, radians1) {
|
|
@@ -137,13 +137,13 @@ class QuadrantFractions {
|
|
|
137
137
|
return { quadrant: 4, angle0: Angle_1.Angle.pi3Over2Radians, angle1: Angle_1.Angle.pi2Radians };
|
|
138
138
|
return undefined;
|
|
139
139
|
}
|
|
140
|
-
/** Compute the fractional range of Quadrant 1 for the given sweep. */
|
|
141
|
-
static getQ1FractionalRange(
|
|
140
|
+
/** Compute the fractional range of Quadrant 1 for the given full sweep. */
|
|
141
|
+
static getQ1FractionalRange(fullSweep) {
|
|
142
142
|
const angle0 = 0;
|
|
143
143
|
const angle90 = 0.5 * Math.PI;
|
|
144
|
-
let f0 =
|
|
145
|
-
let f1 =
|
|
146
|
-
if (!
|
|
144
|
+
let f0 = fullSweep.radiansToSignedPeriodicFraction(angle0);
|
|
145
|
+
let f1 = fullSweep.radiansToSignedPeriodicFraction(angle90);
|
|
146
|
+
if (!fullSweep.isCCW)
|
|
147
147
|
[f0, f1] = [f1, f0];
|
|
148
148
|
if (f1 < f0)
|
|
149
149
|
f1 += 1;
|
|
@@ -166,7 +166,7 @@ class QuadrantFractionsProcessor {
|
|
|
166
166
|
* Announce the beginning of processing for quadrant `q`.
|
|
167
167
|
* @param _reversed whether `q.reverse()` was invoked before this call for symmetry reasons. If so, arcs will be
|
|
168
168
|
* announced in the opposite order and with the opposite orientation.
|
|
169
|
-
* @return whether to process `q
|
|
169
|
+
* @return whether to process `q`.
|
|
170
170
|
*/
|
|
171
171
|
announceQuadrantBegin(_q, _reversed) { return true; }
|
|
172
172
|
/**
|
|
@@ -177,8 +177,8 @@ class QuadrantFractionsProcessor {
|
|
|
177
177
|
* @param _fPrev fractional parameter of E used to define the 3-point parent circle through the points at `fPrev`,
|
|
178
178
|
* `f0`, and `f1` from which `arc` was constructed. If undefined, `arc` was generated from the circle defined by
|
|
179
179
|
* the points at `f0` and `f1` and one of their tangents.
|
|
180
|
-
* @param _f0 fractional parameter of E at which point `arc` starts
|
|
181
|
-
* @param _f1 fractional parameter of E at which point `arc` ends
|
|
180
|
+
* @param _f0 fractional parameter of E at which point `arc` starts.
|
|
181
|
+
* @param _f1 fractional parameter of E at which point `arc` ends.
|
|
182
182
|
*/
|
|
183
183
|
announceArc(_arc, _fPrev, _f0, _f1) { }
|
|
184
184
|
/**
|
|
@@ -210,21 +210,21 @@ class ArcChainErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
210
210
|
* * Inputs should be in horizontal plane(s), as z-coordinates are ignored.
|
|
211
211
|
* @param circularArc circular arc approximant. Assumed to start and end on the elliptical arc.
|
|
212
212
|
* @param ellipticalArc elliptical arc being approximated.
|
|
213
|
-
* For best results, `f0` and `f1` should correspond to the start/end of `circularArc
|
|
214
|
-
* @param f0 optional `ellipticalArc` start fraction to restrict its sweep
|
|
215
|
-
* @param f1 optional `ellipticalArc` end fraction to restrict its sweep
|
|
213
|
+
* For best results, `f0` and `f1` should correspond to the start/end of `circularArc`.
|
|
214
|
+
* @param f0 optional `ellipticalArc` start fraction to restrict its sweep.
|
|
215
|
+
* @param f1 optional `ellipticalArc` end fraction to restrict its sweep.
|
|
216
216
|
* @return details of the perpendicular measuring the max approximation error, or undefined if no such perpendicular.
|
|
217
217
|
* For each of `detailA` (refers to `circularArc`) and `detailB` (refers to unrestricted `ellipticalArc`):
|
|
218
|
-
* * `point` is the end of the perpendicular on each curve
|
|
219
|
-
* * `fraction` is the curve parameter of the point
|
|
220
|
-
* * `a` is the distance between the points
|
|
218
|
+
* * `point` is the end of the perpendicular on each curve.
|
|
219
|
+
* * `fraction` is the curve parameter of the point.
|
|
220
|
+
* * `a` is the distance between the points.
|
|
221
221
|
*/
|
|
222
222
|
static computePrimitiveErrorXY(circularArc, ellipticalArc, f0, f1) {
|
|
223
223
|
const handler = new CurveCurveCloseApproachXY_1.CurveCurveCloseApproachXY();
|
|
224
224
|
handler.maxDistanceToAccept = circularArc.quickLength() / 2;
|
|
225
225
|
const trimEllipse = undefined !== f0 && undefined !== f1;
|
|
226
226
|
const trimmedEllipticalArc = trimEllipse ? ellipticalArc.clonePartialCurve(f0, f1) : ellipticalArc;
|
|
227
|
-
//
|
|
227
|
+
// we expect only one perpendicular, not near an endpoint.
|
|
228
228
|
handler.allPerpendicularsArcArcBounded(circularArc, trimmedEllipticalArc);
|
|
229
229
|
let maxPerp;
|
|
230
230
|
for (const perp of handler.grabPairedResults()) {
|
|
@@ -267,7 +267,7 @@ class ArcChainErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
267
267
|
}
|
|
268
268
|
/**
|
|
269
269
|
* Processor for refining a single Q1 ordered interval [f0,f1] by perturbing an interior fraction f.
|
|
270
|
-
* * This processor expects to repeatedly process a QuadrantFractions `q`
|
|
270
|
+
* * This processor expects to repeatedly process a QuadrantFractions `q` with `q.quadrant` = 1 and fractions array
|
|
271
271
|
* [fPrev, f0, f, f1], where fPrev is from the previously processed (possibly refined) adjacent interval; however, if
|
|
272
272
|
* `q.interpolateStartTangent === true`, then no fPrev is necessary and [f0, f, f1] is expected.
|
|
273
273
|
* * This is enough info to compute the two circular arcs spanning [f0,f] and [f,f1] and compare their approximation
|
|
@@ -311,8 +311,8 @@ class AdaptiveSubdivisionQ1IntervalErrorProcessor extends QuadrantFractionsProce
|
|
|
311
311
|
/** Remember the initial value of the fraction f to be perturbed. */
|
|
312
312
|
announceQuadrantBegin(q, reversed) {
|
|
313
313
|
(0, core_bentley_1.assert)(q.quadrant === 1);
|
|
314
|
-
(0, core_bentley_1.assert)(!reversed); // ASSUME
|
|
315
|
-
// the first fraction might be an extra point for computing the first 3-pt arc
|
|
314
|
+
(0, core_bentley_1.assert)(!reversed); // ASSUME [bracket0, bracket1] and q.fractions have the same ordering
|
|
315
|
+
// the first fraction might be an extra point for computing the first 3-pt arc
|
|
316
316
|
(0, core_bentley_1.assert)(q.fractions.length === 4 || (q.fractions.length === 3 && q.interpolateStartTangent));
|
|
317
317
|
this._error0 = this._error1 = Geometry_1.Geometry.largeCoordinateResult;
|
|
318
318
|
return true;
|
|
@@ -417,7 +417,7 @@ class AdaptiveSubdivisionQ1ErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
417
417
|
const interpolateStartTangent = Geometry_1.Geometry.isAlmostEqualEitherNumber(f0, this._fractionRangeQ1.low, this._fractionRangeQ1.high, 0);
|
|
418
418
|
const interpolateEndTangent = Geometry_1.Geometry.isAlmostEqualEitherNumber(f1, this._fractionRangeQ1.low, this._fractionRangeQ1.high, 0);
|
|
419
419
|
if (!interpolateStartTangent && undefined === fPrev)
|
|
420
|
-
fPrev = this.getPreviousFraction(f0); // createLastArc
|
|
420
|
+
fPrev = this.getPreviousFraction(f0); // createLastArc doesn't supply fPrev to announceArc
|
|
421
421
|
const fractions = (undefined === fPrev) ? [f0, f, f1] : [fPrev, f0, f, f1];
|
|
422
422
|
const q1 = [QuadrantFractions.create(1, fractions, interpolateStartTangent, interpolateEndTangent)];
|
|
423
423
|
const processor = AdaptiveSubdivisionQ1IntervalErrorProcessor.create(this.fullEllipseXY, f0, f, f1);
|
|
@@ -434,7 +434,7 @@ class AdaptiveSubdivisionQ1ErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
434
434
|
}
|
|
435
435
|
/**
|
|
436
436
|
* Compute radian angles for the fractions in the current refinement that are strictly inside Q1.
|
|
437
|
-
* @param result optional preallocated array to clear and populate
|
|
437
|
+
* @param result optional preallocated array to clear and populate.
|
|
438
438
|
* @return angles suitable for output from [[EllipticalArcSampler.computeRadiansStrictlyInsideQuadrant1]].
|
|
439
439
|
*/
|
|
440
440
|
getRefinedInteriorQ1Angles(result) {
|
|
@@ -635,11 +635,11 @@ class ArcChainConstructionProcessor extends QuadrantFractionsProcessor {
|
|
|
635
635
|
* @internal
|
|
636
636
|
*/
|
|
637
637
|
class EllipticalArcApproximationContext {
|
|
638
|
-
/** Constructor, captures input */
|
|
638
|
+
/** Constructor, captures input. */
|
|
639
639
|
constructor(ellipticalArc) {
|
|
640
640
|
this._isValidEllipticalArc = false;
|
|
641
641
|
const data = ellipticalArc.toScaledMatrix3d();
|
|
642
|
-
this._ellipticalArc = Arc3d_1.Arc3d.createScaledXYColumns(data.center, data.axes, data.r0, data.r90, data.sweep);
|
|
642
|
+
this._ellipticalArc = Arc3d_1.Arc3d.createScaledXYColumns(data.center, data.axes, data.r0, data.r90, data.sweep); // work on the major-minor axis version of the arc to take advantage of its symmetry
|
|
643
643
|
this._localToWorld = Transform_1.Transform.createRefs(data.center, data.axes);
|
|
644
644
|
if (this._localToWorld.matrix.isSingular())
|
|
645
645
|
return;
|
|
@@ -681,9 +681,9 @@ class EllipticalArcApproximationContext {
|
|
|
681
681
|
return this._isValidEllipticalArc;
|
|
682
682
|
}
|
|
683
683
|
/**
|
|
684
|
-
* Create a clone of the context's arc in local coordinates.
|
|
684
|
+
* Create a clone of the context's arc in local coordinates (with axes aligned to x-axis and y-axis).
|
|
685
685
|
* @param fullSweep Optionally set full sweep on the returned local arc. Start angle is preserved.
|
|
686
|
-
* @returns local arc, or undefined if the arc is invalid
|
|
686
|
+
* @returns local arc, or undefined if the arc is invalid.
|
|
687
687
|
*/
|
|
688
688
|
cloneLocalArc(fullSweep) {
|
|
689
689
|
if (!this.isValidEllipticalArc)
|
|
@@ -707,9 +707,9 @@ class EllipticalArcApproximationContext {
|
|
|
707
707
|
* * A 2-point plus tangent construction is used to create the first and last circular arc in each quadrant.
|
|
708
708
|
* * Symmetry of the announced circular arcs matching that of a multi-quadrant spanning elliptical arc is ensured by
|
|
709
709
|
* processing the samples consistently, starting along the elliptical arc's major axis in each quadrant.
|
|
710
|
-
* @param ellipticalArc source arc to approximate
|
|
711
|
-
* @param quadrants structured samples, may be temporarily reversed for symmetry
|
|
712
|
-
* @param processor callbacks for handling the constructed arcs
|
|
710
|
+
* @param ellipticalArc source arc to approximate.
|
|
711
|
+
* @param quadrants structured samples, may be temporarily reversed for symmetry.
|
|
712
|
+
* @param processor callbacks for handling the constructed arcs.
|
|
713
713
|
* @internal
|
|
714
714
|
*/
|
|
715
715
|
static processQuadrantFractions(ellipticalArc, quadrants, processor) {
|
|
@@ -735,17 +735,19 @@ class EllipticalArcApproximationContext {
|
|
|
735
735
|
arc.sweep.setStartEndRadians(startAngle.radians, arc.sweep.endRadians);
|
|
736
736
|
return arc; // returned arc starts at arcStart, ends at arcEnd
|
|
737
737
|
};
|
|
738
|
-
const createFirstArc = (f0, f1
|
|
738
|
+
const createFirstArc = (f0, f1) => {
|
|
739
739
|
// This arc starts at the first sample f0 and ends at f1.
|
|
740
|
+
// This arc interpolates point and tangent at f0, but only point at f1.
|
|
740
741
|
ellipticalArc.fractionToPointAndDerivative(f0, ray);
|
|
741
742
|
ellipticalArc.fractionToPoint(f1, pt1);
|
|
742
|
-
if (
|
|
743
|
-
ray.direction.scaleInPlace(-1);
|
|
743
|
+
if (f0 > f1)
|
|
744
|
+
ray.direction.scaleInPlace(-1); // computed arc is retrograde
|
|
744
745
|
const arc = arcBetween2Samples(ray, pt1, false);
|
|
745
746
|
if (arc)
|
|
746
747
|
processor.announceArc(arc, undefined, f0, f1);
|
|
747
748
|
};
|
|
748
749
|
const createInnerArc = (f0, f1, f2) => {
|
|
750
|
+
// This arc starts at f1 and ends at f2
|
|
749
751
|
let fPrev = f0;
|
|
750
752
|
if (processor.getPreviousFraction)
|
|
751
753
|
fPrev = processor.getPreviousFraction(f1) ?? f0;
|
|
@@ -756,12 +758,14 @@ class EllipticalArcApproximationContext {
|
|
|
756
758
|
if (arc)
|
|
757
759
|
processor.announceArc(arc, fPrev, f1, f2);
|
|
758
760
|
};
|
|
759
|
-
const createLastArc = (f0, f1
|
|
760
|
-
// This arc starts at f0 and ends at the last sample f1.
|
|
761
|
+
const createLastArc = (f0, f1) => {
|
|
762
|
+
// This arc starts at f0 and ends at the last sample f1.
|
|
763
|
+
// This arc interpolates point and tangent at f1, but only point at f0.
|
|
761
764
|
ellipticalArc.fractionToPoint(f0, pt0);
|
|
762
765
|
ellipticalArc.fractionToPointAndDerivative(f1, ray);
|
|
763
|
-
if (
|
|
764
|
-
ray.direction.scaleInPlace(-1);
|
|
766
|
+
if (f1 > f0)
|
|
767
|
+
ray.direction.scaleInPlace(-1); // computed arc is retrograde
|
|
768
|
+
// compute last arc from f1 to f0, then reverse
|
|
765
769
|
const arc = arcBetween2Samples(ray, pt0, true);
|
|
766
770
|
if (arc)
|
|
767
771
|
processor.announceArc(arc, undefined, f0, f1);
|
|
@@ -791,13 +795,13 @@ class EllipticalArcApproximationContext {
|
|
|
791
795
|
if (!processor.announceQuadrantBegin(q, reversed))
|
|
792
796
|
continue;
|
|
793
797
|
if (q.interpolateStartTangent)
|
|
794
|
-
createFirstArc(q.fractions[0], q.fractions[1]
|
|
798
|
+
createFirstArc(q.fractions[0], q.fractions[1]);
|
|
795
799
|
// the first inner arc approximates the ellipse over [f[1],f[2]]; the last inner arc, over [f[n-3],f[n-2]]
|
|
796
800
|
for (let i = 0; i + 2 < n - 1; ++i)
|
|
797
801
|
createInnerArc(q.fractions[i], q.fractions[i + 1], q.fractions[i + 2]);
|
|
798
802
|
if (n > 2) { // the final arc approximates [f[n-2],f[n-1]]
|
|
799
803
|
if (q.interpolateEndTangent)
|
|
800
|
-
createLastArc(q.fractions[n - 2], q.fractions[n - 1]
|
|
804
|
+
createLastArc(q.fractions[n - 2], q.fractions[n - 1]);
|
|
801
805
|
else
|
|
802
806
|
createInnerArc(q.fractions[n - 3], q.fractions[n - 2], q.fractions[n - 1]);
|
|
803
807
|
}
|
|
@@ -812,8 +816,8 @@ class EllipticalArcApproximationContext {
|
|
|
812
816
|
* @param samples structured sample data from the instance's elliptical arc.
|
|
813
817
|
* @return details of the perpendicular measuring the max approximation error, or undefined if no such perpendicular.
|
|
814
818
|
* For each of `detailA` and `detailB`:
|
|
815
|
-
* * `point` is the end of the perpendicular on each curve
|
|
816
|
-
* * `fraction` is the curve parameter of the point
|
|
819
|
+
* * `point` is the end of the perpendicular on each curve.
|
|
820
|
+
* * `fraction` is the curve parameter of the point.
|
|
817
821
|
* * `a` is the distance between the points.
|
|
818
822
|
* @internal
|
|
819
823
|
*/
|
|
@@ -986,8 +990,8 @@ class EllipticalArcApproximationContext {
|
|
|
986
990
|
return undefined;
|
|
987
991
|
if (!options)
|
|
988
992
|
options = Arc3d_1.EllipticalArcApproximationOptions.create();
|
|
989
|
-
const processor = ArcChainConstructionProcessor.create(this.ellipticalArc, options.forcePath);
|
|
990
993
|
const samples = this.computeSampleFractions(options, true);
|
|
994
|
+
const processor = ArcChainConstructionProcessor.create(this.ellipticalArc, options.forcePath);
|
|
991
995
|
EllipticalArcApproximationContext.processQuadrantFractions(this.ellipticalArc, samples, processor);
|
|
992
996
|
return processor.chain;
|
|
993
997
|
}
|