@itwin/core-geometry 4.3.0-dev.2 → 4.3.0-dev.21
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 +41 -1
- package/lib/cjs/Geometry.d.ts.map +1 -1
- package/lib/cjs/Geometry.js +2 -4
- package/lib/cjs/Geometry.js.map +1 -1
- package/lib/cjs/bspline/BSpline1dNd.d.ts +12 -2
- package/lib/cjs/bspline/BSpline1dNd.d.ts.map +1 -1
- package/lib/cjs/bspline/BSpline1dNd.js +27 -17
- package/lib/cjs/bspline/BSpline1dNd.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.d.ts +30 -16
- package/lib/cjs/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineCurve.js +68 -44
- package/lib/cjs/bspline/BSplineCurve.js.map +1 -1
- package/lib/cjs/bspline/BSplineCurve3dH.d.ts +27 -20
- package/lib/cjs/bspline/BSplineCurve3dH.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineCurve3dH.js +136 -87
- package/lib/cjs/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.d.ts +138 -74
- package/lib/cjs/bspline/BSplineSurface.d.ts.map +1 -1
- package/lib/cjs/bspline/BSplineSurface.js +242 -119
- package/lib/cjs/bspline/BSplineSurface.js.map +1 -1
- package/lib/cjs/bspline/Bezier1dNd.d.ts +18 -4
- package/lib/cjs/bspline/Bezier1dNd.d.ts.map +1 -1
- package/lib/cjs/bspline/Bezier1dNd.js +19 -5
- package/lib/cjs/bspline/Bezier1dNd.js.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.d.ts.map +1 -1
- package/lib/cjs/bspline/BezierCurve3dH.js +2 -1
- package/lib/cjs/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/cjs/bspline/KnotVector.d.ts +30 -33
- package/lib/cjs/bspline/KnotVector.d.ts.map +1 -1
- package/lib/cjs/bspline/KnotVector.js +76 -69
- package/lib/cjs/bspline/KnotVector.js.map +1 -1
- package/lib/cjs/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/cjs/clipping/ClipUtils.d.ts +32 -5
- package/lib/cjs/clipping/ClipUtils.d.ts.map +1 -1
- package/lib/cjs/clipping/ClipUtils.js +92 -11
- package/lib/cjs/clipping/ClipUtils.js.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts +18 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js +47 -0
- package/lib/cjs/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/cjs/curve/CurveCollection.d.ts +9 -9
- package/lib/cjs/curve/CurveCollection.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCollection.js +7 -10
- package/lib/cjs/curve/CurveCollection.js.map +1 -1
- package/lib/cjs/curve/CurveCurve.d.ts +2 -2
- package/lib/cjs/curve/CurveCurve.d.ts.map +1 -1
- package/lib/cjs/curve/CurveCurve.js +3 -16
- package/lib/cjs/curve/CurveCurve.js.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.d.ts +17 -4
- package/lib/cjs/curve/CurveLocationDetail.d.ts.map +1 -1
- package/lib/cjs/curve/CurveLocationDetail.js +32 -10
- package/lib/cjs/curve/CurveLocationDetail.js.map +1 -1
- package/lib/cjs/curve/CurveOps.d.ts +4 -5
- package/lib/cjs/curve/CurveOps.d.ts.map +1 -1
- package/lib/cjs/curve/CurveOps.js +1 -1
- package/lib/cjs/curve/CurveOps.js.map +1 -1
- package/lib/cjs/curve/CurveTypes.d.ts +14 -2
- package/lib/cjs/curve/CurveTypes.d.ts.map +1 -1
- package/lib/cjs/curve/CurveTypes.js.map +1 -1
- package/lib/cjs/curve/CurveWireMomentsXYZ.d.ts.map +1 -1
- package/lib/cjs/curve/CurveWireMomentsXYZ.js +2 -4
- package/lib/cjs/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/cjs/curve/LineString3d.d.ts +3 -6
- package/lib/cjs/curve/LineString3d.d.ts.map +1 -1
- package/lib/cjs/curve/LineString3d.js +1 -4
- package/lib/cjs/curve/LineString3d.js.map +1 -1
- package/lib/cjs/curve/PointString3d.d.ts +2 -1
- package/lib/cjs/curve/PointString3d.d.ts.map +1 -1
- package/lib/cjs/curve/PointString3d.js.map +1 -1
- package/lib/cjs/curve/RegionOps.d.ts +7 -12
- package/lib/cjs/curve/RegionOps.d.ts.map +1 -1
- package/lib/cjs/curve/RegionOps.js +2 -1
- package/lib/cjs/curve/RegionOps.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +0 -9
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js +16 -35
- package/lib/cjs/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts +12 -6
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js +80 -18
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts +11 -5
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js +73 -8
- package/lib/cjs/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts +2 -3
- package/lib/cjs/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js +2 -3
- package/lib/cjs/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts +4 -4
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js +38 -36
- package/lib/cjs/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts +21 -5
- package/lib/cjs/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js +71 -45
- package/lib/cjs/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.d.ts +20 -13
- package/lib/cjs/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Matrix3d.js +28 -21
- package/lib/cjs/geometry3d/Matrix3d.js.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts +11 -2
- package/lib/cjs/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Point3dVector3d.js +16 -5
- package/lib/cjs/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.d.ts +58 -20
- package/lib/cjs/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/cjs/geometry3d/PointHelpers.js +213 -62
- package/lib/cjs/geometry3d/PointHelpers.js.map +1 -1
- package/lib/cjs/geometry3d/Segment1d.d.ts +5 -1
- package/lib/cjs/geometry3d/Segment1d.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Segment1d.js +11 -7
- package/lib/cjs/geometry3d/Segment1d.js.map +1 -1
- package/lib/cjs/geometry3d/Transform.d.ts +2 -3
- package/lib/cjs/geometry3d/Transform.d.ts.map +1 -1
- package/lib/cjs/geometry3d/Transform.js +2 -3
- package/lib/cjs/geometry3d/Transform.js.map +1 -1
- package/lib/cjs/geometry4d/Point4d.d.ts +14 -1
- package/lib/cjs/geometry4d/Point4d.d.ts.map +1 -1
- package/lib/cjs/geometry4d/Point4d.js +22 -1
- package/lib/cjs/geometry4d/Point4d.js.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.d.ts +91 -68
- package/lib/cjs/numerics/BezierPolynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/BezierPolynomials.js +100 -79
- package/lib/cjs/numerics/BezierPolynomials.js.map +1 -1
- package/lib/cjs/numerics/Newton.d.ts +115 -60
- package/lib/cjs/numerics/Newton.d.ts.map +1 -1
- package/lib/cjs/numerics/Newton.js +120 -62
- package/lib/cjs/numerics/Newton.js.map +1 -1
- package/lib/cjs/numerics/PascalCoefficients.d.ts +8 -12
- package/lib/cjs/numerics/PascalCoefficients.d.ts.map +1 -1
- package/lib/cjs/numerics/PascalCoefficients.js +10 -12
- package/lib/cjs/numerics/PascalCoefficients.js.map +1 -1
- package/lib/cjs/numerics/Polynomials.d.ts +2 -2
- package/lib/cjs/numerics/Polynomials.d.ts.map +1 -1
- package/lib/cjs/numerics/Polynomials.js +2 -2
- package/lib/cjs/numerics/Polynomials.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts +3 -0
- package/lib/cjs/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceBuilder.js +13 -2
- package/lib/cjs/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.d.ts +1 -1
- package/lib/cjs/polyface/PolyfaceClip.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceClip.js +6 -3
- package/lib/cjs/polyface/PolyfaceClip.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceData.d.ts +1 -1
- package/lib/cjs/polyface/PolyfaceData.js +1 -1
- package/lib/cjs/polyface/PolyfaceData.js.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.d.ts +39 -12
- package/lib/cjs/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/cjs/polyface/PolyfaceQuery.js +94 -17
- package/lib/cjs/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/cjs/serialization/BGFBReader.d.ts +10 -10
- package/lib/cjs/serialization/BGFBReader.d.ts.map +1 -1
- package/lib/cjs/serialization/BGFBReader.js +69 -42
- package/lib/cjs/serialization/BGFBReader.js.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.d.ts +8 -8
- package/lib/cjs/serialization/BGFBWriter.d.ts.map +1 -1
- package/lib/cjs/serialization/BGFBWriter.js +80 -55
- package/lib/cjs/serialization/BGFBWriter.js.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/cjs/serialization/GeometrySamples.js +6 -8
- package/lib/cjs/serialization/GeometrySamples.js.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.d.ts +8 -14
- package/lib/cjs/serialization/IModelJsonSchema.d.ts.map +1 -1
- package/lib/cjs/serialization/IModelJsonSchema.js +85 -259
- package/lib/cjs/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/cjs/serialization/SerializationHelpers.d.ts +109 -0
- package/lib/cjs/serialization/SerializationHelpers.d.ts.map +1 -0
- package/lib/cjs/serialization/SerializationHelpers.js +591 -0
- package/lib/cjs/serialization/SerializationHelpers.js.map +1 -0
- package/lib/cjs/solid/SweepContour.d.ts +4 -2
- package/lib/cjs/solid/SweepContour.d.ts.map +1 -1
- package/lib/cjs/solid/SweepContour.js +4 -2
- package/lib/cjs/solid/SweepContour.js.map +1 -1
- package/lib/esm/Geometry.d.ts.map +1 -1
- package/lib/esm/Geometry.js +2 -4
- package/lib/esm/Geometry.js.map +1 -1
- package/lib/esm/bspline/BSpline1dNd.d.ts +12 -2
- package/lib/esm/bspline/BSpline1dNd.d.ts.map +1 -1
- package/lib/esm/bspline/BSpline1dNd.js +27 -17
- package/lib/esm/bspline/BSpline1dNd.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve.d.ts +30 -16
- package/lib/esm/bspline/BSplineCurve.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineCurve.js +68 -44
- package/lib/esm/bspline/BSplineCurve.js.map +1 -1
- package/lib/esm/bspline/BSplineCurve3dH.d.ts +27 -20
- package/lib/esm/bspline/BSplineCurve3dH.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineCurve3dH.js +137 -88
- package/lib/esm/bspline/BSplineCurve3dH.js.map +1 -1
- package/lib/esm/bspline/BSplineSurface.d.ts +138 -74
- package/lib/esm/bspline/BSplineSurface.d.ts.map +1 -1
- package/lib/esm/bspline/BSplineSurface.js +242 -119
- package/lib/esm/bspline/BSplineSurface.js.map +1 -1
- package/lib/esm/bspline/Bezier1dNd.d.ts +18 -4
- package/lib/esm/bspline/Bezier1dNd.d.ts.map +1 -1
- package/lib/esm/bspline/Bezier1dNd.js +19 -5
- package/lib/esm/bspline/Bezier1dNd.js.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.d.ts.map +1 -1
- package/lib/esm/bspline/BezierCurve3dH.js +2 -1
- package/lib/esm/bspline/BezierCurve3dH.js.map +1 -1
- package/lib/esm/bspline/KnotVector.d.ts +30 -33
- package/lib/esm/bspline/KnotVector.d.ts.map +1 -1
- package/lib/esm/bspline/KnotVector.js +76 -69
- package/lib/esm/bspline/KnotVector.js.map +1 -1
- package/lib/esm/clipping/AlternatingConvexClipTree.js.map +1 -1
- package/lib/esm/clipping/ClipUtils.d.ts +32 -5
- package/lib/esm/clipping/ClipUtils.d.ts.map +1 -1
- package/lib/esm/clipping/ClipUtils.js +92 -11
- package/lib/esm/clipping/ClipUtils.js.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts +18 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.d.ts.map +1 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js +48 -1
- package/lib/esm/curve/CurveChainWithDistanceIndex.js.map +1 -1
- package/lib/esm/curve/CurveCollection.d.ts +9 -9
- package/lib/esm/curve/CurveCollection.d.ts.map +1 -1
- package/lib/esm/curve/CurveCollection.js +7 -10
- package/lib/esm/curve/CurveCollection.js.map +1 -1
- package/lib/esm/curve/CurveCurve.d.ts +2 -2
- package/lib/esm/curve/CurveCurve.d.ts.map +1 -1
- package/lib/esm/curve/CurveCurve.js +3 -16
- package/lib/esm/curve/CurveCurve.js.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.d.ts +17 -4
- package/lib/esm/curve/CurveLocationDetail.d.ts.map +1 -1
- package/lib/esm/curve/CurveLocationDetail.js +32 -10
- package/lib/esm/curve/CurveLocationDetail.js.map +1 -1
- package/lib/esm/curve/CurveOps.d.ts +4 -5
- package/lib/esm/curve/CurveOps.d.ts.map +1 -1
- package/lib/esm/curve/CurveOps.js +1 -1
- package/lib/esm/curve/CurveOps.js.map +1 -1
- package/lib/esm/curve/CurveTypes.d.ts +14 -2
- package/lib/esm/curve/CurveTypes.d.ts.map +1 -1
- package/lib/esm/curve/CurveTypes.js.map +1 -1
- package/lib/esm/curve/CurveWireMomentsXYZ.d.ts.map +1 -1
- package/lib/esm/curve/CurveWireMomentsXYZ.js +2 -4
- package/lib/esm/curve/CurveWireMomentsXYZ.js.map +1 -1
- package/lib/esm/curve/LineString3d.d.ts +3 -6
- package/lib/esm/curve/LineString3d.d.ts.map +1 -1
- package/lib/esm/curve/LineString3d.js +1 -4
- package/lib/esm/curve/LineString3d.js.map +1 -1
- package/lib/esm/curve/PointString3d.d.ts +2 -1
- package/lib/esm/curve/PointString3d.d.ts.map +1 -1
- package/lib/esm/curve/PointString3d.js.map +1 -1
- package/lib/esm/curve/RegionOps.d.ts +7 -12
- package/lib/esm/curve/RegionOps.d.ts.map +1 -1
- package/lib/esm/curve/RegionOps.js +2 -1
- package/lib/esm/curve/RegionOps.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts +0 -9
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js +16 -35
- package/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts +12 -6
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js +81 -19
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts +11 -5
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js +74 -9
- package/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts +2 -3
- package/lib/esm/curve/internalContexts/MultiChainCollector.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/MultiChainCollector.js +2 -3
- package/lib/esm/curve/internalContexts/MultiChainCollector.js.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts +4 -4
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.d.ts.map +1 -1
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js +38 -36
- package/lib/esm/curve/internalContexts/PolygonOffsetContext.js.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts +21 -5
- package/lib/esm/geometry3d/CoincidentGeometryOps.d.ts.map +1 -1
- package/lib/esm/geometry3d/CoincidentGeometryOps.js +71 -45
- package/lib/esm/geometry3d/CoincidentGeometryOps.js.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.d.ts +20 -13
- package/lib/esm/geometry3d/Matrix3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Matrix3d.js +28 -21
- package/lib/esm/geometry3d/Matrix3d.js.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.d.ts +11 -2
- package/lib/esm/geometry3d/Point3dVector3d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Point3dVector3d.js +16 -5
- package/lib/esm/geometry3d/Point3dVector3d.js.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.d.ts +58 -20
- package/lib/esm/geometry3d/PointHelpers.d.ts.map +1 -1
- package/lib/esm/geometry3d/PointHelpers.js +213 -62
- package/lib/esm/geometry3d/PointHelpers.js.map +1 -1
- package/lib/esm/geometry3d/Segment1d.d.ts +5 -1
- package/lib/esm/geometry3d/Segment1d.d.ts.map +1 -1
- package/lib/esm/geometry3d/Segment1d.js +11 -7
- package/lib/esm/geometry3d/Segment1d.js.map +1 -1
- package/lib/esm/geometry3d/Transform.d.ts +2 -3
- package/lib/esm/geometry3d/Transform.d.ts.map +1 -1
- package/lib/esm/geometry3d/Transform.js +2 -3
- package/lib/esm/geometry3d/Transform.js.map +1 -1
- package/lib/esm/geometry4d/Point4d.d.ts +14 -1
- package/lib/esm/geometry4d/Point4d.d.ts.map +1 -1
- package/lib/esm/geometry4d/Point4d.js +22 -1
- package/lib/esm/geometry4d/Point4d.js.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.d.ts +91 -68
- package/lib/esm/numerics/BezierPolynomials.d.ts.map +1 -1
- package/lib/esm/numerics/BezierPolynomials.js +100 -79
- package/lib/esm/numerics/BezierPolynomials.js.map +1 -1
- package/lib/esm/numerics/Newton.d.ts +115 -60
- package/lib/esm/numerics/Newton.d.ts.map +1 -1
- package/lib/esm/numerics/Newton.js +120 -62
- package/lib/esm/numerics/Newton.js.map +1 -1
- package/lib/esm/numerics/PascalCoefficients.d.ts +8 -12
- package/lib/esm/numerics/PascalCoefficients.d.ts.map +1 -1
- package/lib/esm/numerics/PascalCoefficients.js +10 -12
- package/lib/esm/numerics/PascalCoefficients.js.map +1 -1
- package/lib/esm/numerics/Polynomials.d.ts +2 -2
- package/lib/esm/numerics/Polynomials.d.ts.map +1 -1
- package/lib/esm/numerics/Polynomials.js +2 -2
- package/lib/esm/numerics/Polynomials.js.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.d.ts +3 -0
- package/lib/esm/polyface/PolyfaceBuilder.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceBuilder.js +13 -2
- package/lib/esm/polyface/PolyfaceBuilder.js.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.d.ts +1 -1
- package/lib/esm/polyface/PolyfaceClip.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceClip.js +6 -3
- package/lib/esm/polyface/PolyfaceClip.js.map +1 -1
- package/lib/esm/polyface/PolyfaceData.d.ts +1 -1
- package/lib/esm/polyface/PolyfaceData.js +1 -1
- package/lib/esm/polyface/PolyfaceData.js.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.d.ts +39 -12
- package/lib/esm/polyface/PolyfaceQuery.d.ts.map +1 -1
- package/lib/esm/polyface/PolyfaceQuery.js +94 -17
- package/lib/esm/polyface/PolyfaceQuery.js.map +1 -1
- package/lib/esm/serialization/BGFBReader.d.ts +10 -10
- package/lib/esm/serialization/BGFBReader.d.ts.map +1 -1
- package/lib/esm/serialization/BGFBReader.js +69 -42
- package/lib/esm/serialization/BGFBReader.js.map +1 -1
- package/lib/esm/serialization/BGFBWriter.d.ts +8 -8
- package/lib/esm/serialization/BGFBWriter.d.ts.map +1 -1
- package/lib/esm/serialization/BGFBWriter.js +80 -55
- package/lib/esm/serialization/BGFBWriter.js.map +1 -1
- package/lib/esm/serialization/GeometrySamples.d.ts.map +1 -1
- package/lib/esm/serialization/GeometrySamples.js +7 -9
- package/lib/esm/serialization/GeometrySamples.js.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.d.ts +8 -14
- package/lib/esm/serialization/IModelJsonSchema.d.ts.map +1 -1
- package/lib/esm/serialization/IModelJsonSchema.js +86 -260
- package/lib/esm/serialization/IModelJsonSchema.js.map +1 -1
- package/lib/esm/serialization/SerializationHelpers.d.ts +109 -0
- package/lib/esm/serialization/SerializationHelpers.d.ts.map +1 -0
- package/lib/esm/serialization/SerializationHelpers.js +588 -0
- package/lib/esm/serialization/SerializationHelpers.js.map +1 -0
- package/lib/esm/solid/SweepContour.d.ts +4 -2
- package/lib/esm/solid/SweepContour.d.ts.map +1 -1
- package/lib/esm/solid/SweepContour.js +4 -2
- package/lib/esm/solid/SweepContour.js.map +1 -1
- package/package.json +3 -3
|
@@ -89,14 +89,15 @@ class BezierCoffs {
|
|
|
89
89
|
for (let i = 0; i < this.coffs.length; i++)
|
|
90
90
|
this.coffs[i] += a;
|
|
91
91
|
}
|
|
92
|
-
/** Compute parameter values where the bezier value matches
|
|
92
|
+
/** Compute parameter values where the bezier value matches targetValue.
|
|
93
93
|
* * The base class finds roots only in 01. (i.e. ignores _restrictTo01)
|
|
94
|
-
* * Order-specific implementations apply special case
|
|
94
|
+
* * Order-specific implementations apply special case analytic logic, e.g. for degree 1,2,3,4.
|
|
95
95
|
*/
|
|
96
96
|
roots(targetValue, _restrictTo01) {
|
|
97
97
|
const bezier = UnivariateBezier.create(this);
|
|
98
98
|
bezier.addInPlace(-targetValue);
|
|
99
|
-
|
|
99
|
+
const roots = UnivariateBezier.deflateRoots(bezier);
|
|
100
|
+
return this.filter01(roots, true);
|
|
100
101
|
}
|
|
101
102
|
/** Given an array of numbers, optionally remove those not in the 0..1 interval.
|
|
102
103
|
* @param roots candidate values
|
|
@@ -124,7 +125,9 @@ class BezierCoffs {
|
|
|
124
125
|
return undefined;
|
|
125
126
|
}
|
|
126
127
|
/** zero out all coefficients. */
|
|
127
|
-
zero() {
|
|
128
|
+
zero() {
|
|
129
|
+
this.coffs.fill(0);
|
|
130
|
+
}
|
|
128
131
|
/** Subdivide -- write results into caller-supplied bezier coffs (which must be of the same order) */
|
|
129
132
|
subdivide(u, left, right) {
|
|
130
133
|
const order = this.order;
|
|
@@ -422,13 +425,15 @@ class UnivariateBezier extends BezierCoffs {
|
|
|
422
425
|
this.coffs[i] += a;
|
|
423
426
|
}
|
|
424
427
|
}
|
|
425
|
-
/**
|
|
428
|
+
/**
|
|
429
|
+
* Evaluate the basis functions at specified u.
|
|
426
430
|
* @param u bezier parameter for evaluation.
|
|
427
|
-
* @
|
|
431
|
+
* @param result optional destination of length `order`. If insufficient length, a new array is returned.
|
|
432
|
+
* @returns array of `order` basis function values.
|
|
428
433
|
*/
|
|
429
434
|
basisFunctions(u, result) {
|
|
430
435
|
this._basisValues = PascalCoefficients_1.PascalCoefficients.getBezierBasisValues(this.order, u, this._basisValues);
|
|
431
|
-
if (!result || result.length
|
|
436
|
+
if (!result || result.length < this.order)
|
|
432
437
|
result = new Float64Array(this.order);
|
|
433
438
|
let i = 0;
|
|
434
439
|
for (const a of this._basisValues)
|
|
@@ -438,9 +443,11 @@ class UnivariateBezier extends BezierCoffs {
|
|
|
438
443
|
/**
|
|
439
444
|
* Sum weights[i] * data[...] in blocks of numPerBlock.
|
|
440
445
|
* This is for low level use -- counts are not checked.
|
|
441
|
-
* @param weights
|
|
442
|
-
* @param
|
|
443
|
-
* @param numPerBlock
|
|
446
|
+
* @param weights input array of length `numWeights`
|
|
447
|
+
* @param numWeights number of weights
|
|
448
|
+
* @param data input array of length `numWeights * numPerBlock`
|
|
449
|
+
* @param numPerBlock control point dimension
|
|
450
|
+
* @param result output array of length `numPerBlock`
|
|
444
451
|
*/
|
|
445
452
|
static sumWeightedBlocks(weights, numWeights, data, numPerBlock, result) {
|
|
446
453
|
for (let k0 = 0; k0 < numPerBlock; k0++) {
|
|
@@ -456,33 +463,33 @@ class UnivariateBezier extends BezierCoffs {
|
|
|
456
463
|
}
|
|
457
464
|
}
|
|
458
465
|
/**
|
|
459
|
-
*
|
|
466
|
+
* Sum the control points weighted by the basis function values at parameter u.
|
|
460
467
|
* @param u bezier parameter
|
|
461
|
-
* @param polygon
|
|
462
|
-
* @param blockSize
|
|
463
|
-
* @param result `blockSize`
|
|
468
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `blockSize*order` values.
|
|
469
|
+
* @param blockSize dimension of control points
|
|
470
|
+
* @param result optional preallocated array of length `blockSize` to fill and return. If insufficient length, a newly created array is returned.
|
|
471
|
+
* @returns array of `blockSize` summed basis function values.
|
|
464
472
|
*/
|
|
465
473
|
sumBasisFunctions(u, polygon, blockSize, result) {
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
result = new Float64Array(order);
|
|
474
|
+
if (!result || result.length < blockSize)
|
|
475
|
+
result = new Float64Array(blockSize);
|
|
469
476
|
this._basisValues = PascalCoefficients_1.PascalCoefficients.getBezierBasisValues(this.order, u, this._basisValues);
|
|
470
|
-
UnivariateBezier.sumWeightedBlocks(this._basisValues, order, polygon, blockSize, result);
|
|
477
|
+
UnivariateBezier.sumWeightedBlocks(this._basisValues, this.order, polygon, blockSize, result);
|
|
471
478
|
return result;
|
|
472
479
|
}
|
|
473
480
|
/**
|
|
474
|
-
*
|
|
481
|
+
* Sum the control points weighted by the basis function derivative values at parameter u.
|
|
475
482
|
* @param u bezier parameter
|
|
476
|
-
* @param polygon
|
|
477
|
-
* @param blockSize
|
|
478
|
-
* @param result `blockSize`
|
|
483
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `blockSize*order` values.
|
|
484
|
+
* @param blockSize dimension of control points
|
|
485
|
+
* @param result optional preallocated array of length `blockSize` to fill and return. If insufficient length, a newly created array is returned.
|
|
486
|
+
* @returns array of `blockSize` summed basis function derivative values.
|
|
479
487
|
*/
|
|
480
488
|
sumBasisFunctionDerivatives(u, polygon, blockSize, result) {
|
|
481
|
-
|
|
482
|
-
if (!result)
|
|
489
|
+
if (!result || result.length < blockSize)
|
|
483
490
|
result = new Float64Array(blockSize);
|
|
484
491
|
this._basisValues = PascalCoefficients_1.PascalCoefficients.getBezierBasisDerivatives(this.order, u, this._basisValues);
|
|
485
|
-
UnivariateBezier.sumWeightedBlocks(this._basisValues, order, polygon, blockSize, result);
|
|
492
|
+
UnivariateBezier.sumWeightedBlocks(this._basisValues, this.order, polygon, blockSize, result);
|
|
486
493
|
return result;
|
|
487
494
|
}
|
|
488
495
|
/**
|
|
@@ -649,11 +656,10 @@ class UnivariateBezier extends BezierCoffs {
|
|
|
649
656
|
// first c0*b0 = a0
|
|
650
657
|
// last c[orderC-1]*b1 = a[orderA-1]
|
|
651
658
|
/** Find roots of a bezier polynomial
|
|
652
|
-
* * Only look for roots in 0..1
|
|
653
659
|
* * As roots are found, deflate the polynomial.
|
|
654
660
|
* * bezier coffs are changed (and order reduced) at each step.
|
|
655
661
|
*/
|
|
656
|
-
static
|
|
662
|
+
static deflateRoots(bezier) {
|
|
657
663
|
const roots = [];
|
|
658
664
|
const coffs = bezier.coffs;
|
|
659
665
|
let a0, a1, segmentFraction, globalStartFraction, newtonFraction;
|
|
@@ -716,26 +722,29 @@ class Order2Bezier extends BezierCoffs {
|
|
|
716
722
|
static solveCoffs(a0, a1) {
|
|
717
723
|
return Geometry_1.Geometry.conditionalDivideFraction(-a0, (a1 - a0));
|
|
718
724
|
}
|
|
719
|
-
/**
|
|
725
|
+
/**
|
|
726
|
+
* Evaluate the basis functions at specified u.
|
|
720
727
|
* @param u bezier parameter for evaluation.
|
|
721
|
-
* @
|
|
728
|
+
* @param result optional destination of length 2. If insufficient length, a new array is returned.
|
|
729
|
+
* @returns array of 2 basis function values.
|
|
722
730
|
*/
|
|
723
731
|
basisFunctions(u, result) {
|
|
724
|
-
if (!result)
|
|
732
|
+
if (!result || result.length < 2)
|
|
725
733
|
result = new Float64Array(2);
|
|
726
734
|
result[0] = 1.0 - u;
|
|
727
735
|
result[1] = u;
|
|
728
736
|
return result;
|
|
729
737
|
}
|
|
730
|
-
/**
|
|
738
|
+
/**
|
|
739
|
+
* Sum the control points weighted by the basis function values at parameter u.
|
|
731
740
|
* @param u bezier parameter for evaluation.
|
|
741
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
|
|
732
742
|
* @param n dimension of control points.
|
|
733
|
-
* @param
|
|
734
|
-
* @
|
|
735
|
-
* @returns Return a (newly allocated) array of basis function values.
|
|
743
|
+
* @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
|
|
744
|
+
* @returns array of `n` summed basis function values.
|
|
736
745
|
*/
|
|
737
746
|
sumBasisFunctions(u, polygon, n, result) {
|
|
738
|
-
if (!result)
|
|
747
|
+
if (!result || result.length < n)
|
|
739
748
|
result = new Float64Array(n);
|
|
740
749
|
const v = 1.0 - u;
|
|
741
750
|
for (let i = 0; i < n; i++) {
|
|
@@ -743,15 +752,16 @@ class Order2Bezier extends BezierCoffs {
|
|
|
743
752
|
}
|
|
744
753
|
return result;
|
|
745
754
|
}
|
|
746
|
-
/**
|
|
747
|
-
*
|
|
755
|
+
/**
|
|
756
|
+
* Sum the control points weighted by the basis function derivative values at parameter u.
|
|
757
|
+
* @param _u bezier parameter for evaluation.
|
|
758
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
|
|
748
759
|
* @param n dimension of control points.
|
|
749
|
-
* @param
|
|
750
|
-
* @
|
|
751
|
-
* @returns Return a (newly allocated) array of basis function values.
|
|
760
|
+
* @param result optional destination of length `n`. If insufficient length, a new array is returned.
|
|
761
|
+
* @returns array of `n` summed basis function derivative values.
|
|
752
762
|
*/
|
|
753
763
|
sumBasisFunctionDerivatives(_u, polygon, n, result) {
|
|
754
|
-
if (!result)
|
|
764
|
+
if (!result || result.length < n)
|
|
755
765
|
result = new Float64Array(n);
|
|
756
766
|
for (let i = 0; i < n; i++) {
|
|
757
767
|
result[i] = polygon[i + n] - polygon[i];
|
|
@@ -800,12 +810,14 @@ class Order3Bezier extends BezierCoffs {
|
|
|
800
810
|
clone() {
|
|
801
811
|
return new Order3Bezier(this.coffs[0], this.coffs[1], this.coffs[2]);
|
|
802
812
|
}
|
|
803
|
-
/**
|
|
813
|
+
/**
|
|
814
|
+
* Evaluate the basis functions at specified u.
|
|
804
815
|
* @param u bezier parameter for evaluation.
|
|
805
|
-
* @
|
|
816
|
+
* @param result optional destination of length 3. If insufficient length, a new array is returned.
|
|
817
|
+
* @returns array of 3 basis function values.
|
|
806
818
|
*/
|
|
807
819
|
basisFunctions(u, result) {
|
|
808
|
-
if (!result)
|
|
820
|
+
if (!result || result.length < 3)
|
|
809
821
|
result = new Float64Array(3);
|
|
810
822
|
const v = 1.0 - u;
|
|
811
823
|
result[0] = v * v;
|
|
@@ -813,15 +825,16 @@ class Order3Bezier extends BezierCoffs {
|
|
|
813
825
|
result[2] = u * u;
|
|
814
826
|
return result;
|
|
815
827
|
}
|
|
816
|
-
/**
|
|
828
|
+
/**
|
|
829
|
+
* Sum the control points weighted by the basis function values at parameter u.
|
|
817
830
|
* @param u bezier parameter for evaluation.
|
|
831
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
|
|
818
832
|
* @param n dimension of control points.
|
|
819
|
-
* @param
|
|
820
|
-
* @
|
|
821
|
-
* @returns Return a (newly allocated) array of basis function values.
|
|
833
|
+
* @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
|
|
834
|
+
* @returns array of `n` summed basis function values.
|
|
822
835
|
*/
|
|
823
836
|
sumBasisFunctions(u, polygon, n, result) {
|
|
824
|
-
if (!result)
|
|
837
|
+
if (!result || result.length < n)
|
|
825
838
|
result = new Float64Array(n);
|
|
826
839
|
const v = 1 - u;
|
|
827
840
|
const b0 = v * v;
|
|
@@ -832,15 +845,16 @@ class Order3Bezier extends BezierCoffs {
|
|
|
832
845
|
}
|
|
833
846
|
return result;
|
|
834
847
|
}
|
|
835
|
-
/**
|
|
848
|
+
/**
|
|
849
|
+
* Sum the control points weighted by the basis function derivative values at parameter u.
|
|
836
850
|
* @param u bezier parameter for evaluation.
|
|
851
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
|
|
837
852
|
* @param n dimension of control points.
|
|
838
|
-
* @param
|
|
839
|
-
* @
|
|
840
|
-
* @returns Return a (newly allocated) array of basis function values.
|
|
853
|
+
* @param result optional destination of length `n`. If insufficient length, a new array is returned.
|
|
854
|
+
* @returns array of `n` summed basis function derivative values.
|
|
841
855
|
*/
|
|
842
856
|
sumBasisFunctionDerivatives(u, polygon, n, result) {
|
|
843
|
-
if (!result)
|
|
857
|
+
if (!result || result.length < n)
|
|
844
858
|
result = new Float64Array(n);
|
|
845
859
|
const f0 = 2 * (1 - u);
|
|
846
860
|
const f1 = 2 * u;
|
|
@@ -907,12 +921,14 @@ class Order4Bezier extends BezierCoffs {
|
|
|
907
921
|
static createProductOrder3Order2(factorA, factorB) {
|
|
908
922
|
return new Order4Bezier(factorA.coffs[0] * factorB.coffs[0], (factorA.coffs[0] * factorB.coffs[1] + 2.0 * factorA.coffs[1] * factorB.coffs[0]) / 3.0, (2.0 * factorA.coffs[1] * factorB.coffs[1] + factorA.coffs[2] * factorB.coffs[0]) / 3.0, factorA.coffs[2] * factorB.coffs[1]);
|
|
909
923
|
}
|
|
910
|
-
/**
|
|
924
|
+
/**
|
|
925
|
+
* Evaluate the basis functions at specified u.
|
|
911
926
|
* @param u bezier parameter for evaluation.
|
|
912
|
-
* @
|
|
927
|
+
* @param result optional destination of length 4. If insufficient length, a new array is returned.
|
|
928
|
+
* @returns array of 4 basis function values.
|
|
913
929
|
*/
|
|
914
930
|
basisFunctions(u, result) {
|
|
915
|
-
if (!result)
|
|
931
|
+
if (!result || result.length < 4)
|
|
916
932
|
result = new Float64Array(4);
|
|
917
933
|
const v = 1.0 - u;
|
|
918
934
|
const uu = u * u;
|
|
@@ -923,15 +939,16 @@ class Order4Bezier extends BezierCoffs {
|
|
|
923
939
|
result[3] = u * uu;
|
|
924
940
|
return result;
|
|
925
941
|
}
|
|
926
|
-
/**
|
|
942
|
+
/**
|
|
943
|
+
* Sum the control points weighted by the basis function values at parameter u.
|
|
927
944
|
* @param u bezier parameter for evaluation.
|
|
945
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
|
|
928
946
|
* @param n dimension of control points.
|
|
929
|
-
* @param
|
|
930
|
-
* @
|
|
931
|
-
* @returns Return a (newly allocated) array of basis function values.
|
|
947
|
+
* @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
|
|
948
|
+
* @returns array of `n` summed basis function values.
|
|
932
949
|
*/
|
|
933
950
|
sumBasisFunctions(u, polygon, n, result) {
|
|
934
|
-
if (!result)
|
|
951
|
+
if (!result || result.length < n)
|
|
935
952
|
result = new Float64Array(n);
|
|
936
953
|
const v = 1 - u;
|
|
937
954
|
const uu = u * u;
|
|
@@ -945,15 +962,16 @@ class Order4Bezier extends BezierCoffs {
|
|
|
945
962
|
}
|
|
946
963
|
return result;
|
|
947
964
|
}
|
|
948
|
-
/**
|
|
965
|
+
/**
|
|
966
|
+
* Sum the control points weighted by the basis function derivative values at parameter u.
|
|
949
967
|
* @param u bezier parameter for evaluation.
|
|
968
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
|
|
950
969
|
* @param n dimension of control points.
|
|
951
|
-
* @param
|
|
952
|
-
* @
|
|
953
|
-
* @returns Return a (newly allocated) array of basis function values.
|
|
970
|
+
* @param result optional destination of length `n`. If insufficient length, a new array is returned.
|
|
971
|
+
* @returns array of `n` summed basis function derivative values.
|
|
954
972
|
*/
|
|
955
973
|
sumBasisFunctionDerivatives(u, polygon, n, result) {
|
|
956
|
-
if (!result)
|
|
974
|
+
if (!result || result.length < n)
|
|
957
975
|
result = new Float64Array(n);
|
|
958
976
|
const v = 1 - u;
|
|
959
977
|
// QUADRATIC basis functions applied to differences ... (with factor 3 for derivative)
|
|
@@ -1060,10 +1078,11 @@ class Order5Bezier extends BezierCoffs {
|
|
|
1060
1078
|
}
|
|
1061
1079
|
/** evaluate the basis functions at specified u.
|
|
1062
1080
|
* @param u bezier parameter for evaluation.
|
|
1063
|
-
* @
|
|
1081
|
+
* @param result optional destination of length 5. If insufficient length, a new array is returned.
|
|
1082
|
+
* @returns array of 5 basis function values.
|
|
1064
1083
|
*/
|
|
1065
1084
|
basisFunctions(u, result) {
|
|
1066
|
-
if (!result)
|
|
1085
|
+
if (!result || result.length < 5)
|
|
1067
1086
|
result = new Float64Array(5);
|
|
1068
1087
|
const v = 1.0 - u;
|
|
1069
1088
|
const uu = u * u;
|
|
@@ -1077,15 +1096,16 @@ class Order5Bezier extends BezierCoffs {
|
|
|
1077
1096
|
result[4] = uu * uu;
|
|
1078
1097
|
return result;
|
|
1079
1098
|
}
|
|
1080
|
-
/**
|
|
1099
|
+
/**
|
|
1100
|
+
* Sum the control points weighted by the basis function values at parameter u.
|
|
1081
1101
|
* @param u bezier parameter for evaluation.
|
|
1102
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
|
|
1082
1103
|
* @param n dimension of control points.
|
|
1083
|
-
* @param
|
|
1084
|
-
* @
|
|
1085
|
-
* @returns Return a (newly allocated) array of basis function values.
|
|
1104
|
+
* @param result optional preallocated array of length `n` to fill and return. If insufficient length, a newly created array is returned.
|
|
1105
|
+
* @returns array of `n` summed basis function values.
|
|
1086
1106
|
*/
|
|
1087
1107
|
sumBasisFunctions(u, polygon, n, result) {
|
|
1088
|
-
if (!result)
|
|
1108
|
+
if (!result || result.length < n)
|
|
1089
1109
|
result = new Float64Array(n);
|
|
1090
1110
|
const v = 1.0 - u;
|
|
1091
1111
|
const uu = u * u;
|
|
@@ -1102,15 +1122,16 @@ class Order5Bezier extends BezierCoffs {
|
|
|
1102
1122
|
}
|
|
1103
1123
|
return result;
|
|
1104
1124
|
}
|
|
1105
|
-
/**
|
|
1125
|
+
/**
|
|
1126
|
+
* Sum the control points weighted by the basis function derivative values at parameter u.
|
|
1106
1127
|
* @param u bezier parameter for evaluation.
|
|
1128
|
+
* @param polygon packed multidimensional control points. ASSUMED contains `n*order` values.
|
|
1107
1129
|
* @param n dimension of control points.
|
|
1108
|
-
* @param
|
|
1109
|
-
* @
|
|
1110
|
-
* @returns Return a (newly allocated) array of basis function values.
|
|
1130
|
+
* @param result optional destination of length `n`. If insufficient length, a new array is returned.
|
|
1131
|
+
* @returns array of `n` summed basis function derivative values.
|
|
1111
1132
|
*/
|
|
1112
1133
|
sumBasisFunctionDerivatives(u, polygon, n, result) {
|
|
1113
|
-
if (!result)
|
|
1134
|
+
if (!result || result.length < n)
|
|
1114
1135
|
result = new Float64Array(n);
|
|
1115
1136
|
const v = 1 - u;
|
|
1116
1137
|
// CUBIC basis functions applied to differences ...
|