@itwin/core-geometry 4.10.0-dev.8 → 5.0.0-dev.0
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 +21 -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 +11 -23
|
@@ -113,10 +113,10 @@ export class QuadrantFractions {
|
|
|
113
113
|
}
|
|
114
114
|
/**
|
|
115
115
|
* Compute quadrant data for the given angles.
|
|
116
|
-
* @param radians0 first radian angle
|
|
117
|
-
* @param radians1 second radian angle
|
|
116
|
+
* @param radians0 first radian angle.
|
|
117
|
+
* @param radians1 second radian angle.
|
|
118
118
|
* @return quadrant number and start/end radian angles for the quadrant that contains both input angles, or
|
|
119
|
-
* undefined if no such quadrant.
|
|
119
|
+
* `undefined` if no such quadrant.
|
|
120
120
|
* * The returned sweep is always counterclockwise: angle0 < angle1.
|
|
121
121
|
*/
|
|
122
122
|
static getQuadrantRadians(radians0, radians1) {
|
|
@@ -134,13 +134,13 @@ export class QuadrantFractions {
|
|
|
134
134
|
return { quadrant: 4, angle0: Angle.pi3Over2Radians, angle1: Angle.pi2Radians };
|
|
135
135
|
return undefined;
|
|
136
136
|
}
|
|
137
|
-
/** Compute the fractional range of Quadrant 1 for the given sweep. */
|
|
138
|
-
static getQ1FractionalRange(
|
|
137
|
+
/** Compute the fractional range of Quadrant 1 for the given full sweep. */
|
|
138
|
+
static getQ1FractionalRange(fullSweep) {
|
|
139
139
|
const angle0 = 0;
|
|
140
140
|
const angle90 = 0.5 * Math.PI;
|
|
141
|
-
let f0 =
|
|
142
|
-
let f1 =
|
|
143
|
-
if (!
|
|
141
|
+
let f0 = fullSweep.radiansToSignedPeriodicFraction(angle0);
|
|
142
|
+
let f1 = fullSweep.radiansToSignedPeriodicFraction(angle90);
|
|
143
|
+
if (!fullSweep.isCCW)
|
|
144
144
|
[f0, f1] = [f1, f0];
|
|
145
145
|
if (f1 < f0)
|
|
146
146
|
f1 += 1;
|
|
@@ -162,7 +162,7 @@ class QuadrantFractionsProcessor {
|
|
|
162
162
|
* Announce the beginning of processing for quadrant `q`.
|
|
163
163
|
* @param _reversed whether `q.reverse()` was invoked before this call for symmetry reasons. If so, arcs will be
|
|
164
164
|
* announced in the opposite order and with the opposite orientation.
|
|
165
|
-
* @return whether to process `q
|
|
165
|
+
* @return whether to process `q`.
|
|
166
166
|
*/
|
|
167
167
|
announceQuadrantBegin(_q, _reversed) { return true; }
|
|
168
168
|
/**
|
|
@@ -173,8 +173,8 @@ class QuadrantFractionsProcessor {
|
|
|
173
173
|
* @param _fPrev fractional parameter of E used to define the 3-point parent circle through the points at `fPrev`,
|
|
174
174
|
* `f0`, and `f1` from which `arc` was constructed. If undefined, `arc` was generated from the circle defined by
|
|
175
175
|
* the points at `f0` and `f1` and one of their tangents.
|
|
176
|
-
* @param _f0 fractional parameter of E at which point `arc` starts
|
|
177
|
-
* @param _f1 fractional parameter of E at which point `arc` ends
|
|
176
|
+
* @param _f0 fractional parameter of E at which point `arc` starts.
|
|
177
|
+
* @param _f1 fractional parameter of E at which point `arc` ends.
|
|
178
178
|
*/
|
|
179
179
|
announceArc(_arc, _fPrev, _f0, _f1) { }
|
|
180
180
|
/**
|
|
@@ -206,21 +206,21 @@ class ArcChainErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
206
206
|
* * Inputs should be in horizontal plane(s), as z-coordinates are ignored.
|
|
207
207
|
* @param circularArc circular arc approximant. Assumed to start and end on the elliptical arc.
|
|
208
208
|
* @param ellipticalArc elliptical arc being approximated.
|
|
209
|
-
* For best results, `f0` and `f1` should correspond to the start/end of `circularArc
|
|
210
|
-
* @param f0 optional `ellipticalArc` start fraction to restrict its sweep
|
|
211
|
-
* @param f1 optional `ellipticalArc` end fraction to restrict its sweep
|
|
209
|
+
* For best results, `f0` and `f1` should correspond to the start/end of `circularArc`.
|
|
210
|
+
* @param f0 optional `ellipticalArc` start fraction to restrict its sweep.
|
|
211
|
+
* @param f1 optional `ellipticalArc` end fraction to restrict its sweep.
|
|
212
212
|
* @return details of the perpendicular measuring the max approximation error, or undefined if no such perpendicular.
|
|
213
213
|
* For each of `detailA` (refers to `circularArc`) and `detailB` (refers to unrestricted `ellipticalArc`):
|
|
214
|
-
* * `point` is the end of the perpendicular on each curve
|
|
215
|
-
* * `fraction` is the curve parameter of the point
|
|
216
|
-
* * `a` is the distance between the points
|
|
214
|
+
* * `point` is the end of the perpendicular on each curve.
|
|
215
|
+
* * `fraction` is the curve parameter of the point.
|
|
216
|
+
* * `a` is the distance between the points.
|
|
217
217
|
*/
|
|
218
218
|
static computePrimitiveErrorXY(circularArc, ellipticalArc, f0, f1) {
|
|
219
219
|
const handler = new CurveCurveCloseApproachXY();
|
|
220
220
|
handler.maxDistanceToAccept = circularArc.quickLength() / 2;
|
|
221
221
|
const trimEllipse = undefined !== f0 && undefined !== f1;
|
|
222
222
|
const trimmedEllipticalArc = trimEllipse ? ellipticalArc.clonePartialCurve(f0, f1) : ellipticalArc;
|
|
223
|
-
//
|
|
223
|
+
// we expect only one perpendicular, not near an endpoint.
|
|
224
224
|
handler.allPerpendicularsArcArcBounded(circularArc, trimmedEllipticalArc);
|
|
225
225
|
let maxPerp;
|
|
226
226
|
for (const perp of handler.grabPairedResults()) {
|
|
@@ -263,7 +263,7 @@ class ArcChainErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
263
263
|
}
|
|
264
264
|
/**
|
|
265
265
|
* Processor for refining a single Q1 ordered interval [f0,f1] by perturbing an interior fraction f.
|
|
266
|
-
* * This processor expects to repeatedly process a QuadrantFractions `q`
|
|
266
|
+
* * This processor expects to repeatedly process a QuadrantFractions `q` with `q.quadrant` = 1 and fractions array
|
|
267
267
|
* [fPrev, f0, f, f1], where fPrev is from the previously processed (possibly refined) adjacent interval; however, if
|
|
268
268
|
* `q.interpolateStartTangent === true`, then no fPrev is necessary and [f0, f, f1] is expected.
|
|
269
269
|
* * This is enough info to compute the two circular arcs spanning [f0,f] and [f,f1] and compare their approximation
|
|
@@ -307,8 +307,8 @@ class AdaptiveSubdivisionQ1IntervalErrorProcessor extends QuadrantFractionsProce
|
|
|
307
307
|
/** Remember the initial value of the fraction f to be perturbed. */
|
|
308
308
|
announceQuadrantBegin(q, reversed) {
|
|
309
309
|
assert(q.quadrant === 1);
|
|
310
|
-
assert(!reversed); // ASSUME
|
|
311
|
-
// the first fraction might be an extra point for computing the first 3-pt arc
|
|
310
|
+
assert(!reversed); // ASSUME [bracket0, bracket1] and q.fractions have the same ordering
|
|
311
|
+
// the first fraction might be an extra point for computing the first 3-pt arc
|
|
312
312
|
assert(q.fractions.length === 4 || (q.fractions.length === 3 && q.interpolateStartTangent));
|
|
313
313
|
this._error0 = this._error1 = Geometry.largeCoordinateResult;
|
|
314
314
|
return true;
|
|
@@ -413,7 +413,7 @@ class AdaptiveSubdivisionQ1ErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
413
413
|
const interpolateStartTangent = Geometry.isAlmostEqualEitherNumber(f0, this._fractionRangeQ1.low, this._fractionRangeQ1.high, 0);
|
|
414
414
|
const interpolateEndTangent = Geometry.isAlmostEqualEitherNumber(f1, this._fractionRangeQ1.low, this._fractionRangeQ1.high, 0);
|
|
415
415
|
if (!interpolateStartTangent && undefined === fPrev)
|
|
416
|
-
fPrev = this.getPreviousFraction(f0); // createLastArc
|
|
416
|
+
fPrev = this.getPreviousFraction(f0); // createLastArc doesn't supply fPrev to announceArc
|
|
417
417
|
const fractions = (undefined === fPrev) ? [f0, f, f1] : [fPrev, f0, f, f1];
|
|
418
418
|
const q1 = [QuadrantFractions.create(1, fractions, interpolateStartTangent, interpolateEndTangent)];
|
|
419
419
|
const processor = AdaptiveSubdivisionQ1IntervalErrorProcessor.create(this.fullEllipseXY, f0, f, f1);
|
|
@@ -430,7 +430,7 @@ class AdaptiveSubdivisionQ1ErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
430
430
|
}
|
|
431
431
|
/**
|
|
432
432
|
* Compute radian angles for the fractions in the current refinement that are strictly inside Q1.
|
|
433
|
-
* @param result optional preallocated array to clear and populate
|
|
433
|
+
* @param result optional preallocated array to clear and populate.
|
|
434
434
|
* @return angles suitable for output from [[EllipticalArcSampler.computeRadiansStrictlyInsideQuadrant1]].
|
|
435
435
|
*/
|
|
436
436
|
getRefinedInteriorQ1Angles(result) {
|
|
@@ -631,11 +631,11 @@ class ArcChainConstructionProcessor extends QuadrantFractionsProcessor {
|
|
|
631
631
|
* @internal
|
|
632
632
|
*/
|
|
633
633
|
export class EllipticalArcApproximationContext {
|
|
634
|
-
/** Constructor, captures input */
|
|
634
|
+
/** Constructor, captures input. */
|
|
635
635
|
constructor(ellipticalArc) {
|
|
636
636
|
this._isValidEllipticalArc = false;
|
|
637
637
|
const data = ellipticalArc.toScaledMatrix3d();
|
|
638
|
-
this._ellipticalArc = Arc3d.createScaledXYColumns(data.center, data.axes, data.r0, data.r90, data.sweep);
|
|
638
|
+
this._ellipticalArc = 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
|
|
639
639
|
this._localToWorld = Transform.createRefs(data.center, data.axes);
|
|
640
640
|
if (this._localToWorld.matrix.isSingular())
|
|
641
641
|
return;
|
|
@@ -677,9 +677,9 @@ export class EllipticalArcApproximationContext {
|
|
|
677
677
|
return this._isValidEllipticalArc;
|
|
678
678
|
}
|
|
679
679
|
/**
|
|
680
|
-
* Create a clone of the context's arc in local coordinates.
|
|
680
|
+
* Create a clone of the context's arc in local coordinates (with axes aligned to x-axis and y-axis).
|
|
681
681
|
* @param fullSweep Optionally set full sweep on the returned local arc. Start angle is preserved.
|
|
682
|
-
* @returns local arc, or undefined if the arc is invalid
|
|
682
|
+
* @returns local arc, or undefined if the arc is invalid.
|
|
683
683
|
*/
|
|
684
684
|
cloneLocalArc(fullSweep) {
|
|
685
685
|
if (!this.isValidEllipticalArc)
|
|
@@ -703,9 +703,9 @@ export class EllipticalArcApproximationContext {
|
|
|
703
703
|
* * A 2-point plus tangent construction is used to create the first and last circular arc in each quadrant.
|
|
704
704
|
* * Symmetry of the announced circular arcs matching that of a multi-quadrant spanning elliptical arc is ensured by
|
|
705
705
|
* processing the samples consistently, starting along the elliptical arc's major axis in each quadrant.
|
|
706
|
-
* @param ellipticalArc source arc to approximate
|
|
707
|
-
* @param quadrants structured samples, may be temporarily reversed for symmetry
|
|
708
|
-
* @param processor callbacks for handling the constructed arcs
|
|
706
|
+
* @param ellipticalArc source arc to approximate.
|
|
707
|
+
* @param quadrants structured samples, may be temporarily reversed for symmetry.
|
|
708
|
+
* @param processor callbacks for handling the constructed arcs.
|
|
709
709
|
* @internal
|
|
710
710
|
*/
|
|
711
711
|
static processQuadrantFractions(ellipticalArc, quadrants, processor) {
|
|
@@ -731,17 +731,19 @@ export class EllipticalArcApproximationContext {
|
|
|
731
731
|
arc.sweep.setStartEndRadians(startAngle.radians, arc.sweep.endRadians);
|
|
732
732
|
return arc; // returned arc starts at arcStart, ends at arcEnd
|
|
733
733
|
};
|
|
734
|
-
const createFirstArc = (f0, f1
|
|
734
|
+
const createFirstArc = (f0, f1) => {
|
|
735
735
|
// This arc starts at the first sample f0 and ends at f1.
|
|
736
|
+
// This arc interpolates point and tangent at f0, but only point at f1.
|
|
736
737
|
ellipticalArc.fractionToPointAndDerivative(f0, ray);
|
|
737
738
|
ellipticalArc.fractionToPoint(f1, pt1);
|
|
738
|
-
if (
|
|
739
|
-
ray.direction.scaleInPlace(-1);
|
|
739
|
+
if (f0 > f1)
|
|
740
|
+
ray.direction.scaleInPlace(-1); // computed arc is retrograde
|
|
740
741
|
const arc = arcBetween2Samples(ray, pt1, false);
|
|
741
742
|
if (arc)
|
|
742
743
|
processor.announceArc(arc, undefined, f0, f1);
|
|
743
744
|
};
|
|
744
745
|
const createInnerArc = (f0, f1, f2) => {
|
|
746
|
+
// This arc starts at f1 and ends at f2
|
|
745
747
|
let fPrev = f0;
|
|
746
748
|
if (processor.getPreviousFraction)
|
|
747
749
|
fPrev = processor.getPreviousFraction(f1) ?? f0;
|
|
@@ -752,12 +754,14 @@ export class EllipticalArcApproximationContext {
|
|
|
752
754
|
if (arc)
|
|
753
755
|
processor.announceArc(arc, fPrev, f1, f2);
|
|
754
756
|
};
|
|
755
|
-
const createLastArc = (f0, f1
|
|
756
|
-
// This arc starts at f0 and ends at the last sample f1.
|
|
757
|
+
const createLastArc = (f0, f1) => {
|
|
758
|
+
// This arc starts at f0 and ends at the last sample f1.
|
|
759
|
+
// This arc interpolates point and tangent at f1, but only point at f0.
|
|
757
760
|
ellipticalArc.fractionToPoint(f0, pt0);
|
|
758
761
|
ellipticalArc.fractionToPointAndDerivative(f1, ray);
|
|
759
|
-
if (
|
|
760
|
-
ray.direction.scaleInPlace(-1);
|
|
762
|
+
if (f1 > f0)
|
|
763
|
+
ray.direction.scaleInPlace(-1); // computed arc is retrograde
|
|
764
|
+
// compute last arc from f1 to f0, then reverse
|
|
761
765
|
const arc = arcBetween2Samples(ray, pt0, true);
|
|
762
766
|
if (arc)
|
|
763
767
|
processor.announceArc(arc, undefined, f0, f1);
|
|
@@ -787,13 +791,13 @@ export class EllipticalArcApproximationContext {
|
|
|
787
791
|
if (!processor.announceQuadrantBegin(q, reversed))
|
|
788
792
|
continue;
|
|
789
793
|
if (q.interpolateStartTangent)
|
|
790
|
-
createFirstArc(q.fractions[0], q.fractions[1]
|
|
794
|
+
createFirstArc(q.fractions[0], q.fractions[1]);
|
|
791
795
|
// the first inner arc approximates the ellipse over [f[1],f[2]]; the last inner arc, over [f[n-3],f[n-2]]
|
|
792
796
|
for (let i = 0; i + 2 < n - 1; ++i)
|
|
793
797
|
createInnerArc(q.fractions[i], q.fractions[i + 1], q.fractions[i + 2]);
|
|
794
798
|
if (n > 2) { // the final arc approximates [f[n-2],f[n-1]]
|
|
795
799
|
if (q.interpolateEndTangent)
|
|
796
|
-
createLastArc(q.fractions[n - 2], q.fractions[n - 1]
|
|
800
|
+
createLastArc(q.fractions[n - 2], q.fractions[n - 1]);
|
|
797
801
|
else
|
|
798
802
|
createInnerArc(q.fractions[n - 3], q.fractions[n - 2], q.fractions[n - 1]);
|
|
799
803
|
}
|
|
@@ -808,8 +812,8 @@ export class EllipticalArcApproximationContext {
|
|
|
808
812
|
* @param samples structured sample data from the instance's elliptical arc.
|
|
809
813
|
* @return details of the perpendicular measuring the max approximation error, or undefined if no such perpendicular.
|
|
810
814
|
* For each of `detailA` and `detailB`:
|
|
811
|
-
* * `point` is the end of the perpendicular on each curve
|
|
812
|
-
* * `fraction` is the curve parameter of the point
|
|
815
|
+
* * `point` is the end of the perpendicular on each curve.
|
|
816
|
+
* * `fraction` is the curve parameter of the point.
|
|
813
817
|
* * `a` is the distance between the points.
|
|
814
818
|
* @internal
|
|
815
819
|
*/
|
|
@@ -982,8 +986,8 @@ export class EllipticalArcApproximationContext {
|
|
|
982
986
|
return undefined;
|
|
983
987
|
if (!options)
|
|
984
988
|
options = EllipticalArcApproximationOptions.create();
|
|
985
|
-
const processor = ArcChainConstructionProcessor.create(this.ellipticalArc, options.forcePath);
|
|
986
989
|
const samples = this.computeSampleFractions(options, true);
|
|
990
|
+
const processor = ArcChainConstructionProcessor.create(this.ellipticalArc, options.forcePath);
|
|
987
991
|
EllipticalArcApproximationContext.processQuadrantFractions(this.ellipticalArc, samples, processor);
|
|
988
992
|
return processor.chain;
|
|
989
993
|
}
|