@revideo/2d 0.1.0 → 0.1.4-alpha.878
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/code/CodeCursor.d.ts +74 -74
- package/lib/code/CodeCursor.js +352 -286
- package/lib/code/CodeDiffer.d.ts +21 -16
- package/lib/code/CodeDiffer.js +39 -41
- package/lib/code/CodeFragment.d.ts +16 -8
- package/lib/code/CodeFragment.js +36 -36
- package/lib/code/CodeHighlighter.d.ts +59 -59
- package/lib/code/CodeHighlighter.js +1 -1
- package/lib/code/CodeMetrics.d.ts +12 -8
- package/lib/code/CodeMetrics.js +26 -24
- package/lib/code/CodeRange.d.ts +21 -5
- package/lib/code/CodeRange.js +131 -124
- package/lib/code/CodeScope.d.ts +18 -8
- package/lib/code/CodeScope.js +59 -61
- package/lib/code/CodeSelection.d.ts +9 -4
- package/lib/code/CodeSelection.js +8 -8
- package/lib/code/CodeSignal.d.ts +74 -47
- package/lib/code/CodeSignal.js +206 -189
- package/lib/code/CodeTokenizer.d.ts +1 -1
- package/lib/code/CodeTokenizer.js +41 -41
- package/lib/code/DefaultHighlightStyle.d.ts +2 -2
- package/lib/code/DefaultHighlightStyle.js +96 -96
- package/lib/code/LezerHighlighter.d.ts +21 -19
- package/lib/code/LezerHighlighter.js +101 -101
- package/lib/code/diff.d.ts +12 -9
- package/lib/code/diff.js +218 -205
- package/lib/code/extractRange.d.ts +7 -4
- package/lib/code/extractRange.js +79 -71
- package/lib/code/index.d.ts +1 -1
- package/lib/code/index.js +1 -1
- package/lib/components/Audio.d.ts +11 -11
- package/lib/components/Audio.js +115 -109
- package/lib/components/AudioTest.d.ts +95 -95
- package/lib/components/AudioTest.js +259 -261
- package/lib/components/Bezier.d.ts +18 -18
- package/lib/components/Bezier.js +86 -75
- package/lib/components/Circle.d.ts +95 -90
- package/lib/components/Circle.js +85 -74
- package/lib/components/Code.d.ts +244 -211
- package/lib/components/Code.js +317 -269
- package/lib/components/CodeBlock.d.ts +109 -67
- package/lib/components/CodeBlock.js +414 -373
- package/lib/components/CubicBezier.d.ts +36 -36
- package/lib/components/CubicBezier.js +52 -49
- package/lib/components/Curve.d.ts +208 -198
- package/lib/components/Curve.js +270 -269
- package/lib/components/Grid.d.ts +47 -42
- package/lib/components/Grid.js +63 -56
- package/lib/components/Icon.d.ts +55 -50
- package/lib/components/Icon.js +58 -50
- package/lib/components/Img.d.ts +86 -79
- package/lib/components/Img.js +193 -181
- package/lib/components/Knot.d.ts +97 -78
- package/lib/components/Knot.js +81 -60
- package/lib/components/Latex.d.ts +12 -12
- package/lib/components/Latex.js +77 -65
- package/lib/components/Layout.d.ts +455 -413
- package/lib/components/Layout.js +666 -681
- package/lib/components/Line.d.ts +61 -49
- package/lib/components/Line.js +216 -193
- package/lib/components/Media.d.ts +35 -31
- package/lib/components/Media.d.ts.map +1 -1
- package/lib/components/Media.js +135 -121
- package/lib/components/Node.d.ts +875 -830
- package/lib/components/Node.js +1383 -1314
- package/lib/components/Path.d.ts +35 -14
- package/lib/components/Path.js +100 -89
- package/lib/components/Polygon.d.ts +60 -55
- package/lib/components/Polygon.js +71 -66
- package/lib/components/QuadBezier.d.ts +29 -29
- package/lib/components/QuadBezier.js +50 -45
- package/lib/components/Ray.d.ts +28 -28
- package/lib/components/Ray.js +71 -64
- package/lib/components/Rect.d.ts +115 -108
- package/lib/components/Rect.js +78 -72
- package/lib/components/SVG.d.ts +165 -139
- package/lib/components/SVG.js +609 -541
- package/lib/components/Shape.d.ts +44 -35
- package/lib/components/Shape.js +112 -127
- package/lib/components/Spline.d.ts +46 -40
- package/lib/components/Spline.js +190 -175
- package/lib/components/Txt.d.ts +55 -44
- package/lib/components/Txt.js +156 -155
- package/lib/components/TxtLeaf.d.ts +20 -16
- package/lib/components/TxtLeaf.js +177 -158
- package/lib/components/Video.d.ts +41 -41
- package/lib/components/Video.js +138 -135
- package/lib/components/View2D.d.ts +21 -21
- package/lib/components/View2D.js +98 -85
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/types.d.ts +22 -9
- package/lib/components/types.js +1 -1
- package/lib/curves/ArcSegment.d.ts +36 -24
- package/lib/curves/ArcSegment.js +145 -94
- package/lib/curves/CircleSegment.d.ts +26 -16
- package/lib/curves/CircleSegment.js +56 -49
- package/lib/curves/CubicBezierSegment.d.ts +18 -13
- package/lib/curves/CubicBezierSegment.js +79 -46
- package/lib/curves/CurveDrawingInfo.d.ts +9 -9
- package/lib/curves/CurveDrawingInfo.js +1 -1
- package/lib/curves/CurvePoint.d.ts +13 -13
- package/lib/curves/CurvePoint.js +1 -1
- package/lib/curves/CurveProfile.d.ts +5 -5
- package/lib/curves/CurveProfile.js +1 -1
- package/lib/curves/KnotInfo.d.ts +8 -8
- package/lib/curves/KnotInfo.js +1 -1
- package/lib/curves/LineSegment.d.ts +19 -14
- package/lib/curves/LineSegment.js +42 -42
- package/lib/curves/Polynomial.d.ts +110 -110
- package/lib/curves/Polynomial.js +249 -239
- package/lib/curves/Polynomial2D.d.ts +20 -20
- package/lib/curves/Polynomial2D.js +46 -42
- package/lib/curves/PolynomialSegment.d.ts +42 -37
- package/lib/curves/PolynomialSegment.js +83 -81
- package/lib/curves/QuadBezierSegment.d.ts +12 -12
- package/lib/curves/QuadBezierSegment.js +71 -41
- package/lib/curves/Segment.d.ts +12 -7
- package/lib/curves/Segment.js +2 -3
- package/lib/curves/UniformPolynomialCurveSampler.d.ts +34 -34
- package/lib/curves/UniformPolynomialCurveSampler.js +68 -62
- package/lib/curves/createCurveProfileLerp.d.ts +17 -6
- package/lib/curves/createCurveProfileLerp.js +211 -208
- package/lib/curves/getBezierSplineProfile.d.ts +8 -4
- package/lib/curves/getBezierSplineProfile.js +145 -101
- package/lib/curves/getCircleProfile.d.ts +10 -4
- package/lib/curves/getCircleProfile.js +72 -40
- package/lib/curves/getPathProfile.d.ts +2 -2
- package/lib/curves/getPathProfile.js +135 -112
- package/lib/curves/getPointAtDistance.d.ts +7 -4
- package/lib/curves/getPointAtDistance.js +12 -12
- package/lib/curves/getPolylineProfile.d.ts +8 -4
- package/lib/curves/getPolylineProfile.js +67 -54
- package/lib/curves/getRectProfile.d.ts +9 -4
- package/lib/curves/getRectProfile.js +117 -52
- package/lib/curves/index.d.ts +1 -1
- package/lib/curves/index.js +1 -1
- package/lib/decorators/canvasStyleSignal.d.ts +3 -3
- package/lib/decorators/canvasStyleSignal.js +10 -10
- package/lib/decorators/colorSignal.d.ts +1 -1
- package/lib/decorators/colorSignal.js +7 -7
- package/lib/decorators/compound.d.ts +4 -2
- package/lib/decorators/compound.js +43 -23
- package/lib/decorators/computed.d.ts +1 -1
- package/lib/decorators/computed.js +9 -9
- package/lib/decorators/defaultStyle.d.ts +5 -2
- package/lib/decorators/defaultStyle.js +11 -11
- package/lib/decorators/filtersSignal.d.ts +28 -8
- package/lib/decorators/filtersSignal.js +87 -64
- package/lib/decorators/index.d.ts +1 -1
- package/lib/decorators/index.js +1 -1
- package/lib/decorators/initializers.d.ts +5 -2
- package/lib/decorators/initializers.js +18 -19
- package/lib/decorators/nodeName.d.ts +1 -1
- package/lib/decorators/nodeName.js +4 -4
- package/lib/decorators/signal.d.ts +40 -20
- package/lib/decorators/signal.js +113 -104
- package/lib/decorators/spacingSignal.d.ts +1 -1
- package/lib/decorators/spacingSignal.js +13 -13
- package/lib/decorators/vector2Signal.d.ts +13 -7
- package/lib/decorators/vector2Signal.js +15 -13
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/jsx-dev-runtime.d.ts +3 -3
- package/lib/jsx-dev-runtime.js +3 -3
- package/lib/jsx-runtime.d.ts +19 -9
- package/lib/jsx-runtime.js +18 -18
- package/lib/partials/Filter.d.ts +24 -16
- package/lib/partials/Filter.js +69 -69
- package/lib/partials/Gradient.d.ts +30 -24
- package/lib/partials/Gradient.js +69 -58
- package/lib/partials/Pattern.d.ts +14 -9
- package/lib/partials/Pattern.js +30 -24
- package/lib/partials/ShaderConfig.d.ts +81 -74
- package/lib/partials/ShaderConfig.js +22 -23
- package/lib/partials/index.d.ts +1 -1
- package/lib/partials/index.js +1 -1
- package/lib/partials/types.d.ts +19 -6
- package/lib/partials/types.js +1 -1
- package/lib/scenes/Scene2D.d.ts +42 -23
- package/lib/scenes/Scene2D.d.ts.map +1 -1
- package/lib/scenes/Scene2D.js +161 -149
- package/lib/scenes/index.d.ts +1 -1
- package/lib/scenes/index.js +1 -1
- package/lib/scenes/makeScene2D.d.ts +7 -5
- package/lib/scenes/makeScene2D.js +10 -10
- package/lib/scenes/useScene2D.d.ts +2 -2
- package/lib/scenes/useScene2D.js +3 -3
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/lib/utils/CanvasUtils.d.ts +93 -21
- package/lib/utils/CanvasUtils.js +186 -105
- package/lib/utils/diff.d.ts +25 -18
- package/lib/utils/diff.js +84 -87
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/is.d.ts +4 -2
- package/lib/utils/is.js +2 -2
- package/lib/utils/makeSignalExtensions.d.ts +11 -4
- package/lib/utils/makeSignalExtensions.js +17 -17
- package/package.json +5 -5
- package/src/lib/components/Media.ts +18 -0
- package/src/lib/scenes/Scene2D.ts +2 -0
|
@@ -1,55 +1,88 @@
|
|
|
1
|
-
var __decorate =
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
var __decorate =
|
|
2
|
+
(this && this.__decorate) ||
|
|
3
|
+
function (decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length,
|
|
5
|
+
r =
|
|
6
|
+
c < 3
|
|
7
|
+
? target
|
|
8
|
+
: desc === null
|
|
9
|
+
? (desc = Object.getOwnPropertyDescriptor(target, key))
|
|
10
|
+
: desc,
|
|
11
|
+
d;
|
|
12
|
+
if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
|
|
13
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
14
|
+
else
|
|
15
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
16
|
+
if ((d = decorators[i]))
|
|
17
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
18
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
19
|
+
};
|
|
20
|
+
import {Vector2, lazy} from '@revideo/core';
|
|
21
|
+
import {bezierCurveTo} from '../utils';
|
|
22
|
+
import {Polynomial2D} from './Polynomial2D';
|
|
23
|
+
import {PolynomialSegment} from './PolynomialSegment';
|
|
11
24
|
/**
|
|
12
25
|
* A spline segment representing a cubic Bézier curve.
|
|
13
26
|
*/
|
|
14
27
|
export class CubicBezierSegment extends PolynomialSegment {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
28
|
+
get points() {
|
|
29
|
+
return [this.p0, this.p1, this.p2, this.p3];
|
|
30
|
+
}
|
|
31
|
+
constructor(p0, p1, p2, p3) {
|
|
32
|
+
super(
|
|
33
|
+
new Polynomial2D(
|
|
34
|
+
p0,
|
|
20
35
|
// 3*(-p0+p1)
|
|
21
|
-
p0.flipped.add(p1).scale(3),
|
|
36
|
+
p0.flipped.add(p1).scale(3),
|
|
22
37
|
// 3*p0-6*p1+3*p2
|
|
23
|
-
p0.scale(3).sub(p1.scale(6)).add(p2.scale(3)),
|
|
38
|
+
p0.scale(3).sub(p1.scale(6)).add(p2.scale(3)),
|
|
24
39
|
// -p0+3*p1-3*p2+p3
|
|
25
|
-
p0.flipped.add(p1.scale(3)).sub(p2.scale(3)).add(p3)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
p0.flipped.add(p1.scale(3)).sub(p2.scale(3)).add(p3),
|
|
41
|
+
),
|
|
42
|
+
CubicBezierSegment.getLength(p0, p1, p2, p3),
|
|
43
|
+
);
|
|
44
|
+
this.p0 = p0;
|
|
45
|
+
this.p1 = p1;
|
|
46
|
+
this.p2 = p2;
|
|
47
|
+
this.p3 = p3;
|
|
48
|
+
}
|
|
49
|
+
split(t) {
|
|
50
|
+
const a = new Vector2(
|
|
51
|
+
this.p0.x + (this.p1.x - this.p0.x) * t,
|
|
52
|
+
this.p0.y + (this.p1.y - this.p0.y) * t,
|
|
53
|
+
);
|
|
54
|
+
const b = new Vector2(
|
|
55
|
+
this.p1.x + (this.p2.x - this.p1.x) * t,
|
|
56
|
+
this.p1.y + (this.p2.y - this.p1.y) * t,
|
|
57
|
+
);
|
|
58
|
+
const c = new Vector2(
|
|
59
|
+
this.p2.x + (this.p3.x - this.p2.x) * t,
|
|
60
|
+
this.p2.y + (this.p3.y - this.p2.y) * t,
|
|
61
|
+
);
|
|
62
|
+
const d = new Vector2(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);
|
|
63
|
+
const e = new Vector2(b.x + (c.x - b.x) * t, b.y + (c.y - b.y) * t);
|
|
64
|
+
const p = new Vector2(d.x + (e.x - d.x) * t, d.y + (e.y - d.y) * t);
|
|
65
|
+
const left = new CubicBezierSegment(this.p0, a, d, p);
|
|
66
|
+
const right = new CubicBezierSegment(p, e, c, this.p3);
|
|
67
|
+
return [left, right];
|
|
68
|
+
}
|
|
69
|
+
doDraw(context) {
|
|
70
|
+
bezierCurveTo(context, this.p1, this.p2, this.p3);
|
|
71
|
+
}
|
|
72
|
+
static getLength(p0, p1, p2, p3) {
|
|
73
|
+
// Let the browser do the work for us instead of calculating the arclength
|
|
74
|
+
// manually.
|
|
75
|
+
CubicBezierSegment.el.setAttribute(
|
|
76
|
+
'd',
|
|
77
|
+
`M ${p0.x} ${p0.y} C ${p1.x} ${p1.y} ${p2.x} ${p2.y} ${p3.x} ${p3.y}`,
|
|
78
|
+
);
|
|
79
|
+
return CubicBezierSegment.el.getTotalLength();
|
|
80
|
+
}
|
|
51
81
|
}
|
|
52
|
-
__decorate(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
82
|
+
__decorate(
|
|
83
|
+
[lazy(() => document.createElementNS('http://www.w3.org/2000/svg', 'path'))],
|
|
84
|
+
CubicBezierSegment,
|
|
85
|
+
'el',
|
|
86
|
+
void 0,
|
|
87
|
+
);
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3ViaWNCZXppZXJTZWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdXJ2ZXMvQ3ViaWNCZXppZXJTZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUl2RCxJQUFXLE1BQU07UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUNrQixFQUFXLEVBQ1gsRUFBVyxFQUNYLEVBQVcsRUFDWCxFQUFXO1FBRTNCLEtBQUssQ0FDSCxJQUFJLFlBQVksQ0FDZCxFQUFFO1FBQ0YsYUFBYTtRQUNiLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0IsaUJBQWlCO1FBQ2pCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxtQkFBbUI7UUFDbkIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUNyRCxFQUNELGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDN0MsQ0FBQztRQWhCYyxPQUFFLEdBQUYsRUFBRSxDQUFTO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBUztRQUNYLE9BQUUsR0FBRixFQUFFLENBQVM7UUFDWCxPQUFFLEdBQUYsRUFBRSxDQUFTO0lBYzdCLENBQUM7SUFFTSxLQUFLLENBQUMsQ0FBUztRQUNwQixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDeEMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUN2QyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsTUFBTSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ3ZDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQ3hDLENBQUM7UUFDRixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVwRSxNQUFNLElBQUksR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2RCxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFa0IsTUFBTSxDQUFDLE9BQTBDO1FBQ2xFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRVMsTUFBTSxDQUFDLFNBQVMsQ0FDeEIsRUFBVyxFQUNYLEVBQVcsRUFDWCxFQUFXLEVBQ1gsRUFBVztRQUVYLDBFQUEwRTtRQUMxRSxZQUFZO1FBQ1osa0JBQWtCLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FDaEMsR0FBRyxFQUNILEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQ3RFLENBQUM7UUFDRixPQUFPLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFuRWdCO0lBRGQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLENBQUM7b0NBQ3pDIn0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {Vector2} from '@revideo/core';
|
|
2
2
|
export interface CurveDrawingInfo {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
path: Path2D;
|
|
4
|
+
arrowSize: number;
|
|
5
|
+
endPoint: Vector2;
|
|
6
|
+
endTangent: Vector2;
|
|
7
|
+
startPoint: Vector2;
|
|
8
|
+
startTangent: Vector2;
|
|
9
|
+
startOffset: number;
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=CurveDrawingInfo.d.ts.map
|
|
11
|
+
//# sourceMappingURL=CurveDrawingInfo.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVEcmF3aW5nSW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0N1cnZlRHJhd2luZ0luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVEcmF3aW5nSW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0N1cnZlRHJhd2luZ0luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {Vector2} from '@revideo/core';
|
|
2
2
|
export interface CurvePoint {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
position: Vector2;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated
|
|
6
|
+
* The tangent is currently inconsistent for different types of curves and may
|
|
7
|
+
* sometimes return the normal of the point, instead. This will be fixed in
|
|
8
|
+
* the next major version but is kept as is for now for backwards
|
|
9
|
+
* compatibility reasons. To always get the real tangent of the point, you can
|
|
10
|
+
* use `normal.flipped.perpendicular`, instead.
|
|
11
|
+
*/
|
|
12
|
+
tangent: Vector2;
|
|
13
|
+
normal: Vector2;
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=CurvePoint.d.ts.map
|
|
15
|
+
//# sourceMappingURL=CurvePoint.d.ts.map
|
package/lib/curves/CurvePoint.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVQb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0N1cnZlUG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVQb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0N1cnZlUG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {Segment} from './Segment';
|
|
2
2
|
export interface CurveProfile {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
arcLength: number;
|
|
4
|
+
segments: Segment[];
|
|
5
|
+
minSin: number;
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=CurveProfile.d.ts.map
|
|
7
|
+
//# sourceMappingURL=CurveProfile.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVQcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdXJ2ZXMvQ3VydmVQcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVQcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdXJ2ZXMvQ3VydmVQcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
package/lib/curves/KnotInfo.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {Vector2} from '@revideo/core';
|
|
2
2
|
export type KnotAutoHandles = {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
start: number;
|
|
4
|
+
end: number;
|
|
5
5
|
};
|
|
6
6
|
export interface KnotInfo {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
position: Vector2;
|
|
8
|
+
startHandle: Vector2;
|
|
9
|
+
endHandle: Vector2;
|
|
10
|
+
auto: KnotAutoHandles;
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=KnotInfo.d.ts.map
|
|
12
|
+
//# sourceMappingURL=KnotInfo.d.ts.map
|
package/lib/curves/KnotInfo.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS25vdEluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2N1cnZlcy9Lbm90SW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS25vdEluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2N1cnZlcy9Lbm90SW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import {Vector2} from '@revideo/core';
|
|
2
|
+
import {CurvePoint} from './CurvePoint';
|
|
3
|
+
import {Segment} from './Segment';
|
|
4
4
|
export declare class LineSegment extends Segment {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
readonly from: Vector2;
|
|
6
|
+
readonly to: Vector2;
|
|
7
|
+
private readonly length;
|
|
8
|
+
private readonly vector;
|
|
9
|
+
private readonly normal;
|
|
10
|
+
readonly points: Vector2[];
|
|
11
|
+
constructor(from: Vector2, to: Vector2);
|
|
12
|
+
get arcLength(): number;
|
|
13
|
+
draw(
|
|
14
|
+
context: CanvasRenderingContext2D | Path2D,
|
|
15
|
+
start?: number,
|
|
16
|
+
end?: number,
|
|
17
|
+
move?: boolean,
|
|
18
|
+
): [CurvePoint, CurvePoint];
|
|
19
|
+
getPoint(distance: number): CurvePoint;
|
|
15
20
|
}
|
|
16
|
-
//# sourceMappingURL=LineSegment.d.ts.map
|
|
21
|
+
//# sourceMappingURL=LineSegment.d.ts.map
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import {lineTo, moveTo} from '../utils';
|
|
2
|
+
import {Segment} from './Segment';
|
|
3
3
|
export class LineSegment extends Segment {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
lineTo(context, to);
|
|
23
|
-
return [
|
|
24
|
-
{
|
|
25
|
-
position: from,
|
|
26
|
-
tangent: this.normal.flipped,
|
|
27
|
-
normal: this.normal,
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
position: to,
|
|
31
|
-
tangent: this.normal,
|
|
32
|
-
normal: this.normal,
|
|
33
|
-
},
|
|
34
|
-
];
|
|
35
|
-
}
|
|
36
|
-
getPoint(distance) {
|
|
37
|
-
const point = this.from.add(this.vector.scale(distance));
|
|
38
|
-
return {
|
|
39
|
-
position: point,
|
|
40
|
-
tangent: this.normal.flipped,
|
|
41
|
-
normal: this.normal,
|
|
42
|
-
};
|
|
4
|
+
constructor(from, to) {
|
|
5
|
+
super();
|
|
6
|
+
this.from = from;
|
|
7
|
+
this.to = to;
|
|
8
|
+
this.vector = to.sub(from);
|
|
9
|
+
this.length = this.vector.magnitude;
|
|
10
|
+
this.normal = this.vector.perpendicular.normalized.safe;
|
|
11
|
+
this.points = [from, to];
|
|
12
|
+
}
|
|
13
|
+
get arcLength() {
|
|
14
|
+
return this.length;
|
|
15
|
+
}
|
|
16
|
+
draw(context, start = 0, end = 1, move = false) {
|
|
17
|
+
const from = this.from.add(this.vector.scale(start));
|
|
18
|
+
const to = this.from.add(this.vector.scale(end));
|
|
19
|
+
if (move) {
|
|
20
|
+
moveTo(context, from);
|
|
43
21
|
}
|
|
22
|
+
lineTo(context, to);
|
|
23
|
+
return [
|
|
24
|
+
{
|
|
25
|
+
position: from,
|
|
26
|
+
tangent: this.normal.flipped,
|
|
27
|
+
normal: this.normal,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
position: to,
|
|
31
|
+
tangent: this.normal,
|
|
32
|
+
normal: this.normal,
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
getPoint(distance) {
|
|
37
|
+
const point = this.from.add(this.vector.scale(distance));
|
|
38
|
+
return {
|
|
39
|
+
position: point,
|
|
40
|
+
tangent: this.normal.flipped,
|
|
41
|
+
normal: this.normal,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZVNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2N1cnZlcy9MaW5lU2VnbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTztJQU10QyxZQUNrQixJQUFhLEVBQ2IsRUFBVztRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFTO1FBRzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxJQUFJLENBQ1QsT0FBMEMsRUFDMUMsS0FBSyxHQUFHLENBQUMsRUFDVCxHQUFHLEdBQUcsQ0FBQyxFQUNQLElBQUksR0FBRyxLQUFLO1FBRVosTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXBCLE9BQU87WUFDTDtnQkFDRSxRQUFRLEVBQUUsSUFBSTtnQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2dCQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7WUFDRDtnQkFDRSxRQUFRLEVBQUUsRUFBRTtnQkFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUSxDQUFDLFFBQWdCO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekQsT0FBTztZQUNMLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZVNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2N1cnZlcy9MaW5lU2VnbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTztJQU10QyxZQUNrQixJQUFhLEVBQ2IsRUFBVztRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFTO1FBRzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxJQUFJLENBQ1QsT0FBMEMsRUFDMUMsS0FBSyxHQUFHLENBQUMsRUFDVCxHQUFHLEdBQUcsQ0FBQyxFQUNQLElBQUksR0FBRyxLQUFLO1FBRVosTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXBCLE9BQU87WUFDTDtnQkFDRSxRQUFRLEVBQUUsSUFBSTtnQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2dCQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7WUFDRDtnQkFDRSxRQUFRLEVBQUUsRUFBRTtnQkFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUSxDQUFDLFFBQWdCO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekQsT0FBTztZQUNMLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -5,114 +5,114 @@
|
|
|
5
5
|
* https://github.com/FreyaHolmer/Mathfs/blob/master/Runtime/Curves/Polynomial.cs
|
|
6
6
|
*/
|
|
7
7
|
export declare class Polynomial {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
8
|
+
readonly c0: number;
|
|
9
|
+
readonly c1: number;
|
|
10
|
+
readonly c2: number;
|
|
11
|
+
readonly c3: number;
|
|
12
|
+
/**
|
|
13
|
+
* Constructs a constant polynomial
|
|
14
|
+
*
|
|
15
|
+
* @param c0 - The constant coefficient
|
|
16
|
+
*/
|
|
17
|
+
static constant(c0: number): Polynomial;
|
|
18
|
+
/**
|
|
19
|
+
* Constructs a linear polynomial
|
|
20
|
+
*
|
|
21
|
+
* @param c0 - The constant coefficient
|
|
22
|
+
* @param c1 - The linear coefficient
|
|
23
|
+
*/
|
|
24
|
+
static linear(c0: number, c1: number): Polynomial;
|
|
25
|
+
/**
|
|
26
|
+
* Constructs a quadratic polynomial
|
|
27
|
+
*
|
|
28
|
+
* @param c0 - The constant coefficient
|
|
29
|
+
* @param c1 - The linear coefficient
|
|
30
|
+
* @param c2 - The quadratic coefficient
|
|
31
|
+
*/
|
|
32
|
+
static quadratic(c0: number, c1: number, c2: number): Polynomial;
|
|
33
|
+
/**
|
|
34
|
+
* Constructs a cubic polynomial
|
|
35
|
+
*
|
|
36
|
+
* @param c0 - The constant coefficient
|
|
37
|
+
* @param c1 - The linear coefficient
|
|
38
|
+
* @param c2 - The quadratic coefficient
|
|
39
|
+
* @param c3 - The cubic coefficient
|
|
40
|
+
*/
|
|
41
|
+
static cubic(c0: number, c1: number, c2: number, c3: number): Polynomial;
|
|
42
|
+
/**
|
|
43
|
+
* The degree of the polynomial
|
|
44
|
+
*/
|
|
45
|
+
get degree(): number;
|
|
46
|
+
/**
|
|
47
|
+
* @param c0 - The constant coefficient
|
|
48
|
+
*/
|
|
49
|
+
constructor(c0: number);
|
|
50
|
+
/**
|
|
51
|
+
* @param c0 - The constant coefficient
|
|
52
|
+
* @param c1 - The linear coefficient
|
|
53
|
+
*/
|
|
54
|
+
constructor(c0: number, c1: number);
|
|
55
|
+
/**
|
|
56
|
+
* @param c0 - The constant coefficient
|
|
57
|
+
* @param c1 - The linear coefficient
|
|
58
|
+
* @param c2 - The quadratic coefficient
|
|
59
|
+
*/
|
|
60
|
+
constructor(c0: number, c1: number, c2: number);
|
|
61
|
+
/**
|
|
62
|
+
* @param c0 - The constant coefficient
|
|
63
|
+
* @param c1 - The linear coefficient
|
|
64
|
+
* @param c2 - The quadratic coefficient
|
|
65
|
+
* @param c3 - The cubic coefficient
|
|
66
|
+
*/
|
|
67
|
+
constructor(c0: number, c1: number, c2: number, c3: number);
|
|
68
|
+
/**
|
|
69
|
+
* Return the nth derivative of the polynomial.
|
|
70
|
+
*
|
|
71
|
+
* @param n - The number of times to differentiate the polynomial.
|
|
72
|
+
*/
|
|
73
|
+
differentiate(n?: number): Polynomial;
|
|
74
|
+
/**
|
|
75
|
+
* Evaluate the polynomial at the given value t.
|
|
76
|
+
*
|
|
77
|
+
* @param t - The value to sample at
|
|
78
|
+
*/
|
|
79
|
+
eval(t: number): number;
|
|
80
|
+
/**
|
|
81
|
+
* Evaluate the nth derivative of the polynomial at the given value t.
|
|
82
|
+
*
|
|
83
|
+
* @param t - The value to sample at
|
|
84
|
+
* @param derivative - The derivative of the polynomial to sample from
|
|
85
|
+
*/
|
|
86
|
+
eval(t: number, derivative: number): number;
|
|
87
|
+
/**
|
|
88
|
+
* Split the polynomial into two polynomials of the same overall shape.
|
|
89
|
+
*
|
|
90
|
+
* @param u - The point at which to split the polynomial.
|
|
91
|
+
*/
|
|
92
|
+
split(u: number): [Polynomial, Polynomial];
|
|
93
|
+
/**
|
|
94
|
+
* Calculate the roots (values where this polynomial = 0).
|
|
95
|
+
*
|
|
96
|
+
* @remarks
|
|
97
|
+
* Depending on the degree of the polynomial, returns between 0 and 3 results.
|
|
98
|
+
*/
|
|
99
|
+
roots(): number[];
|
|
100
|
+
/**
|
|
101
|
+
* Calculate the local extrema of the polynomial.
|
|
102
|
+
*/
|
|
103
|
+
localExtrema(): number[];
|
|
104
|
+
/**
|
|
105
|
+
* Calculate the local extrema of the polynomial in the unit interval.
|
|
106
|
+
*/
|
|
107
|
+
localExtrema01(): number[];
|
|
108
|
+
/**
|
|
109
|
+
* Return the output value range within the unit interval.
|
|
110
|
+
*/
|
|
111
|
+
outputRange01(): number[];
|
|
112
|
+
private solveCubicRoots;
|
|
113
|
+
private solveDepressedCubicRoots;
|
|
114
|
+
private solveQuadraticRoots;
|
|
115
|
+
private solveLinearRoot;
|
|
116
|
+
private almostZero;
|
|
117
117
|
}
|
|
118
|
-
//# sourceMappingURL=Polynomial.d.ts.map
|
|
118
|
+
//# sourceMappingURL=Polynomial.d.ts.map
|