plotboilerplate 1.17.1 → 1.19.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/README.md +63 -6
- package/dist/index.esm.js +278 -60
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +276 -58
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/Bounds.d.ts +11 -1
- package/src/cjs/Bounds.js +13 -1
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/Circle.d.ts +36 -2
- package/src/cjs/Circle.js +81 -1
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +20 -3
- package/src/cjs/CubicBezierCurve.js +25 -2
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/Line.d.ts +46 -4
- package/src/cjs/Line.js +60 -3
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/MouseHandler.d.ts +3 -2
- package/src/cjs/MouseHandler.js +16 -14
- package/src/cjs/MouseHandler.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +4 -2
- package/src/cjs/PlotBoilerplate.js +44 -28
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.js +1 -1
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Vector.d.ts +14 -3
- package/src/cjs/Vector.js +21 -2
- package/src/cjs/Vector.js.map +1 -1
- package/src/cjs/draw.d.ts +4 -1
- package/src/cjs/draw.js +15 -6
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/interfaces/additionals.d.ts +95 -0
- package/src/cjs/interfaces/additionals.js +3 -0
- package/src/cjs/interfaces/additionals.js.map +1 -0
- package/src/cjs/interfaces/core.d.ts +4 -0
- package/src/cjs/interfaces/core.js +1 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/interfaces/index.d.ts +1 -0
- package/src/cjs/interfaces/index.js +1 -0
- package/src/cjs/interfaces/index.js.map +1 -1
- package/src/cjs/utils/algorithms/arrayShuffle.d.ts +8 -0
- package/src/cjs/utils/algorithms/arrayShuffle.js +15 -0
- package/src/cjs/utils/algorithms/arrayShuffle.js.map +1 -0
- package/src/cjs/utils/algorithms/detectPaths.d.ts +20 -0
- package/src/cjs/utils/algorithms/detectPaths.js +169 -0
- package/src/cjs/utils/algorithms/detectPaths.js.map +1 -0
- package/src/cjs/utils/datastructures/GenericPath.d.ts +75 -0
- package/src/cjs/utils/datastructures/GenericPath.js +105 -0
- package/src/cjs/utils/datastructures/GenericPath.js.map +1 -0
- package/src/cjs/utils/datastructures/GirihTile.d.ts +1 -1
- package/src/esm/Bounds.d.ts +11 -1
- package/src/esm/Bounds.js +13 -1
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/Circle.d.ts +36 -2
- package/src/esm/Circle.js +81 -1
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +20 -3
- package/src/esm/CubicBezierCurve.js +25 -2
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/Line.d.ts +46 -4
- package/src/esm/Line.js +60 -3
- package/src/esm/Line.js.map +1 -1
- package/src/esm/MouseHandler.d.ts +3 -2
- package/src/esm/MouseHandler.js +16 -14
- package/src/esm/MouseHandler.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +4 -2
- package/src/esm/PlotBoilerplate.js +44 -28
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.js +1 -1
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Vector.d.ts +13 -2
- package/src/esm/Vector.js +23 -4
- package/src/esm/Vector.js.map +1 -1
- package/src/esm/draw.d.ts +4 -1
- package/src/esm/draw.js +15 -6
- package/src/esm/draw.js.map +1 -1
- package/src/esm/interfaces/additionals.d.ts +95 -0
- package/src/esm/interfaces/additionals.js +2 -0
- package/src/esm/interfaces/additionals.js.map +1 -0
- package/src/esm/interfaces/core.d.ts +4 -0
- package/src/esm/interfaces/core.js +1 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/interfaces/index.d.ts +1 -0
- package/src/esm/interfaces/index.js +1 -0
- package/src/esm/interfaces/index.js.map +1 -1
- package/src/esm/utils/algorithms/arrayShuffle.d.ts +8 -0
- package/src/esm/utils/algorithms/arrayShuffle.js +11 -0
- package/src/esm/utils/algorithms/arrayShuffle.js.map +1 -0
- package/src/esm/utils/algorithms/detectPaths.d.ts +20 -0
- package/src/esm/utils/algorithms/detectPaths.js +165 -0
- package/src/esm/utils/algorithms/detectPaths.js.map +1 -0
- package/src/esm/utils/datastructures/GenericPath.d.ts +75 -0
- package/src/esm/utils/datastructures/GenericPath.js +100 -0
- package/src/esm/utils/datastructures/GenericPath.js.map +1 -0
- package/src/esm/utils/datastructures/GirihTile.d.ts +1 -1
- package/src/ts/Bounds.ts +14 -1
- package/src/ts/Circle.ts +92 -2
- package/src/ts/CubicBezierCurve.ts +29 -4
- package/src/ts/Line.ts +70 -6
- package/src/ts/MouseHandler.ts +16 -15
- package/src/ts/PlotBoilerplate.ts +47 -32
- package/src/ts/Polygon.ts +1 -1
- package/src/ts/Vector.ts +24 -4
- package/src/ts/draw.ts +15 -6
- package/src/ts/interfaces/additionals.ts +105 -0
- package/src/ts/interfaces/core.ts +2 -0
- package/src/ts/interfaces/index.ts +1 -0
- package/src/ts/utils/algorithms/arrayShuffle.ts +11 -0
- package/src/ts/utils/algorithms/detectPaths.ts +195 -0
- package/src/ts/utils/datastructures/GenericPath.ts +113 -0
- package/src/ts/utils/datastructures/GirihTile.ts +1 -1
- package/changelog.md +0 -722
package/package.json
CHANGED
package/src/cjs/Bounds.d.ts
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* @modified 2021-02-02 Added the `toPolygon` method.
|
|
7
7
|
* @modified 2021-06-21 (mid-summer) Added `getCenter` method.
|
|
8
8
|
* @modified 2022-02-01 Added the `toString` function.
|
|
9
|
-
* @
|
|
9
|
+
* @modified 2022-10-09 Added the `fromDimension` function.
|
|
10
|
+
* @version 1.5.0
|
|
10
11
|
**/
|
|
11
12
|
import { Polygon } from "./Polygon";
|
|
12
13
|
import { XYCoords, IBounds, XYDimension } from "./interfaces";
|
|
@@ -109,4 +110,13 @@ export declare class Bounds implements IBounds, XYDimension {
|
|
|
109
110
|
* @return The minimal Bounds for the given vertices.
|
|
110
111
|
**/
|
|
111
112
|
static computeFromVertices(vertices: Array<Vertex>): Bounds;
|
|
113
|
+
/**
|
|
114
|
+
* Create a new `Bounds` instance just from `width` and `height`, located at (0,0) or the optionally given origin.
|
|
115
|
+
*
|
|
116
|
+
* @param {number} width - The width of the bounds
|
|
117
|
+
* @param {number} height - The height of the bounds
|
|
118
|
+
* @param {XYCoords={x:0,y:0}} origin - [optional] A origin to locate the new Bounds object at.
|
|
119
|
+
* @returns {Bounds} A new `Bounds` instance width given width and height, located at (0,0) or the given origin..
|
|
120
|
+
*/
|
|
121
|
+
static fromDimension(width: number, height: number, origin?: XYCoords): Bounds;
|
|
112
122
|
}
|
package/src/cjs/Bounds.js
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* @modified 2021-02-02 Added the `toPolygon` method.
|
|
8
8
|
* @modified 2021-06-21 (mid-summer) Added `getCenter` method.
|
|
9
9
|
* @modified 2022-02-01 Added the `toString` function.
|
|
10
|
-
* @
|
|
10
|
+
* @modified 2022-10-09 Added the `fromDimension` function.
|
|
11
|
+
* @version 1.5.0
|
|
11
12
|
**/
|
|
12
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
14
|
exports.Bounds = void 0;
|
|
@@ -113,6 +114,17 @@ var Bounds = /** @class */ (function () {
|
|
|
113
114
|
}
|
|
114
115
|
return new Bounds(new Vertex_1.Vertex(xMin, yMin), new Vertex_1.Vertex(xMax, yMax));
|
|
115
116
|
};
|
|
117
|
+
/**
|
|
118
|
+
* Create a new `Bounds` instance just from `width` and `height`, located at (0,0) or the optionally given origin.
|
|
119
|
+
*
|
|
120
|
+
* @param {number} width - The width of the bounds
|
|
121
|
+
* @param {number} height - The height of the bounds
|
|
122
|
+
* @param {XYCoords={x:0,y:0}} origin - [optional] A origin to locate the new Bounds object at.
|
|
123
|
+
* @returns {Bounds} A new `Bounds` instance width given width and height, located at (0,0) or the given origin..
|
|
124
|
+
*/
|
|
125
|
+
Bounds.fromDimension = function (width, height, origin) {
|
|
126
|
+
return new Bounds(origin !== null && origin !== void 0 ? origin : { x: 0, y: 0 }, { x: (origin ? origin.x : 0) + width, y: (origin ? origin.y : 0) + height });
|
|
127
|
+
};
|
|
116
128
|
return Bounds;
|
|
117
129
|
}()); // END class bounds
|
|
118
130
|
exports.Bounds = Bounds;
|
package/src/cjs/Bounds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bounds.js","sourceRoot":"","sources":["../ts/Bounds.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"Bounds.js","sourceRoot":"","sources":["../ts/Bounds.ts"],"names":[],"mappings":"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"}
|
package/src/cjs/Circle.d.ts
CHANGED
|
@@ -9,13 +9,16 @@
|
|
|
9
9
|
* @modified 2021-01-20 Added UID.
|
|
10
10
|
* @modified 2022-02-02 Added the `destroy` method.
|
|
11
11
|
* @modified 2022-02-02 Cleared the `toSVGString` function (deprecated). Use `drawutilssvg` instead.
|
|
12
|
-
* @
|
|
12
|
+
* @modified 2022-08-15 Added the `containsPoint` function.
|
|
13
|
+
* @modified 2022-08-23 Added the `lineIntersection` function.
|
|
14
|
+
* @modified 2022-08-23 Added the `closestPoint` function.
|
|
15
|
+
* @version 1.4.0
|
|
13
16
|
**/
|
|
14
17
|
import { Line } from "./Line";
|
|
15
18
|
import { Vector } from "./Vector";
|
|
16
19
|
import { VertTuple } from "./VertTuple";
|
|
17
20
|
import { Vertex } from "./Vertex";
|
|
18
|
-
import { SVGSerializable, UID } from "./interfaces";
|
|
21
|
+
import { SVGSerializable, UID, XYCoords } from "./interfaces";
|
|
19
22
|
/**
|
|
20
23
|
* @classdesc A simple circle: center point and radius.
|
|
21
24
|
*
|
|
@@ -69,6 +72,16 @@ export declare class Circle implements SVGSerializable {
|
|
|
69
72
|
* @param {number} radius - The radius of the circle.
|
|
70
73
|
*/
|
|
71
74
|
constructor(center: Vertex, radius: number);
|
|
75
|
+
/**
|
|
76
|
+
* Check if the given circle is fully contained inside this circle.
|
|
77
|
+
*
|
|
78
|
+
* @method containsPoint
|
|
79
|
+
* @param {XYCoords} point - The point to check if it is contained in this circle.
|
|
80
|
+
* @instance
|
|
81
|
+
* @memberof Circle
|
|
82
|
+
* @return {boolean} `true` if the given point is inside this circle.
|
|
83
|
+
*/
|
|
84
|
+
containsPoint(point: XYCoords): boolean;
|
|
72
85
|
/**
|
|
73
86
|
* Check if the given circle is fully contained inside this circle.
|
|
74
87
|
*
|
|
@@ -126,6 +139,27 @@ export declare class Circle implements SVGSerializable {
|
|
|
126
139
|
* @return {Line|null} The intersection points (as a line) or null if the two circles do not intersect.
|
|
127
140
|
**/
|
|
128
141
|
circleIntersection(circle: Circle): Line | null;
|
|
142
|
+
/**
|
|
143
|
+
* Calculate the intersection points (if exists) with the given infinite line (defined by two points).
|
|
144
|
+
*
|
|
145
|
+
* @method lineIntersection
|
|
146
|
+
* @instance
|
|
147
|
+
* @memberof Circle
|
|
148
|
+
* @param {Vertex} a- The first of the two points defining the line.
|
|
149
|
+
* @param {Vertex} b - The second of the two points defining the line.
|
|
150
|
+
* @return {Line|null} The intersection points (as a line) or null if this circle does not intersect the line given.
|
|
151
|
+
**/
|
|
152
|
+
lineIntersection(a: Vertex, b: XYCoords): Line | null;
|
|
153
|
+
/**
|
|
154
|
+
* Calculate the closest point on the outline of this circle to the given point.
|
|
155
|
+
*
|
|
156
|
+
* @method closestPoint
|
|
157
|
+
* @instance
|
|
158
|
+
* @memberof Circle
|
|
159
|
+
* @param {XYCoords} vert - The point to find the closest circle point for.
|
|
160
|
+
* @return {Vertex} The closest point on this circle.
|
|
161
|
+
**/
|
|
162
|
+
closestPoint(vert: XYCoords): Vertex;
|
|
129
163
|
/**
|
|
130
164
|
* This function should invalidate any installed listeners and invalidate this object.
|
|
131
165
|
* After calling this function the object might not hold valid data any more and
|
package/src/cjs/Circle.js
CHANGED
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
* @modified 2021-01-20 Added UID.
|
|
11
11
|
* @modified 2022-02-02 Added the `destroy` method.
|
|
12
12
|
* @modified 2022-02-02 Cleared the `toSVGString` function (deprecated). Use `drawutilssvg` instead.
|
|
13
|
-
* @
|
|
13
|
+
* @modified 2022-08-15 Added the `containsPoint` function.
|
|
14
|
+
* @modified 2022-08-23 Added the `lineIntersection` function.
|
|
15
|
+
* @modified 2022-08-23 Added the `closestPoint` function.
|
|
16
|
+
* @version 1.4.0
|
|
14
17
|
**/
|
|
15
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
19
|
exports.Circle = void 0;
|
|
@@ -47,6 +50,18 @@ var Circle = /** @class */ (function () {
|
|
|
47
50
|
this.center = center;
|
|
48
51
|
this.radius = radius;
|
|
49
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Check if the given circle is fully contained inside this circle.
|
|
55
|
+
*
|
|
56
|
+
* @method containsPoint
|
|
57
|
+
* @param {XYCoords} point - The point to check if it is contained in this circle.
|
|
58
|
+
* @instance
|
|
59
|
+
* @memberof Circle
|
|
60
|
+
* @return {boolean} `true` if the given point is inside this circle.
|
|
61
|
+
*/
|
|
62
|
+
Circle.prototype.containsPoint = function (point) {
|
|
63
|
+
return this.center.distance(point) < this.radius;
|
|
64
|
+
};
|
|
50
65
|
/**
|
|
51
66
|
* Check if the given circle is fully contained inside this circle.
|
|
52
67
|
*
|
|
@@ -158,6 +173,71 @@ var Circle = /** @class */ (function () {
|
|
|
158
173
|
var y4 = p2.y + (h * (p1.x - p0.x)) / d;
|
|
159
174
|
return new Line_1.Line(new Vertex_1.Vertex(x3, y3), new Vertex_1.Vertex(x4, y4));
|
|
160
175
|
};
|
|
176
|
+
/**
|
|
177
|
+
* Calculate the intersection points (if exists) with the given infinite line (defined by two points).
|
|
178
|
+
*
|
|
179
|
+
* @method lineIntersection
|
|
180
|
+
* @instance
|
|
181
|
+
* @memberof Circle
|
|
182
|
+
* @param {Vertex} a- The first of the two points defining the line.
|
|
183
|
+
* @param {Vertex} b - The second of the two points defining the line.
|
|
184
|
+
* @return {Line|null} The intersection points (as a line) or null if this circle does not intersect the line given.
|
|
185
|
+
**/
|
|
186
|
+
Circle.prototype.lineIntersection = function (a, b) {
|
|
187
|
+
// Based on the math from
|
|
188
|
+
// https://mathworld.wolfram.com/Circle-LineIntersection.html
|
|
189
|
+
var interA = new Vertex_1.Vertex();
|
|
190
|
+
var interB = new Vertex_1.Vertex();
|
|
191
|
+
// First do a transformation, because the calculation is based on a cicle at (0,0)
|
|
192
|
+
var transA = new Vertex_1.Vertex(a).sub(this.center);
|
|
193
|
+
var transB = new Vertex_1.Vertex(b).sub(this.center);
|
|
194
|
+
var diff = transA.difference(transB);
|
|
195
|
+
// There is a special case if diff.y=0, where the intersection is not calcuatable.
|
|
196
|
+
// Use an non-zero epsilon here to approximate this case.
|
|
197
|
+
// TODO for the future: find a better solution
|
|
198
|
+
if (Math.abs(diff.y) === 0) {
|
|
199
|
+
diff.y = 0.000001;
|
|
200
|
+
}
|
|
201
|
+
var dist = transA.distance(transB);
|
|
202
|
+
var det = transA.x * transB.y - transA.y * transB.x;
|
|
203
|
+
var distSquared = dist * dist;
|
|
204
|
+
var radiusSquared = this.radius * this.radius;
|
|
205
|
+
// Check if circle and line have an intersection at all
|
|
206
|
+
if (radiusSquared * distSquared - det * det < 0) {
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
var belowSqrt = this.radius * this.radius * dist * dist - det * det;
|
|
210
|
+
var sqrt = Math.sqrt(belowSqrt);
|
|
211
|
+
interA.x = (det * diff.y + Math.sign(diff.y) * diff.x * sqrt) / distSquared;
|
|
212
|
+
interB.x = (det * diff.y - Math.sign(diff.y) * diff.x * sqrt) / distSquared;
|
|
213
|
+
interA.y = (-det * diff.x + Math.abs(diff.y) * sqrt) / distSquared;
|
|
214
|
+
interB.y = (-det * diff.x - Math.abs(diff.y) * sqrt) / distSquared;
|
|
215
|
+
return new Line_1.Line(interA.add(this.center), interB.add(this.center));
|
|
216
|
+
// return new Line(interA, interB);
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* Calculate the closest point on the outline of this circle to the given point.
|
|
220
|
+
*
|
|
221
|
+
* @method closestPoint
|
|
222
|
+
* @instance
|
|
223
|
+
* @memberof Circle
|
|
224
|
+
* @param {XYCoords} vert - The point to find the closest circle point for.
|
|
225
|
+
* @return {Vertex} The closest point on this circle.
|
|
226
|
+
**/
|
|
227
|
+
Circle.prototype.closestPoint = function (vert) {
|
|
228
|
+
var lineIntersection = this.lineIntersection(this.center, vert);
|
|
229
|
+
if (!lineIntersection) {
|
|
230
|
+
// Note: this case should not happen as a radial from the center always intersect this circle.
|
|
231
|
+
return new Vertex_1.Vertex();
|
|
232
|
+
}
|
|
233
|
+
// Return closed of both
|
|
234
|
+
if (lineIntersection.a.distance(vert) < lineIntersection.b.distance(vert)) {
|
|
235
|
+
return lineIntersection.a;
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
return lineIntersection.b;
|
|
239
|
+
}
|
|
240
|
+
};
|
|
161
241
|
/**
|
|
162
242
|
* This function should invalidate any installed listeners and invalidate this object.
|
|
163
243
|
* After calling this function the object might not hold valid data any more and
|
package/src/cjs/Circle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Circle.js","sourceRoot":"","sources":["../ts/Circle.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"Circle.js","sourceRoot":"","sources":["../ts/Circle.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,14 +20,15 @@
|
|
|
20
20
|
* @modified 2021-01-20 Added UID.
|
|
21
21
|
* @modified 2022-02-02 Added the `destroy` method.
|
|
22
22
|
* @modified 2022-02-02 Cleared the `toSVGPathData` function (deprecated). Use `drawutilssvg` instead.
|
|
23
|
-
* @
|
|
23
|
+
* @modified 2022-10-17 The `CubicBezierCurve` class now implements the new `PathSegment` interface.
|
|
24
|
+
* @version 2.7.1
|
|
24
25
|
*
|
|
25
26
|
* @file CubicBezierCurve
|
|
26
27
|
* @public
|
|
27
28
|
**/
|
|
28
29
|
import { Bounds } from "./Bounds";
|
|
29
30
|
import { Vertex } from "./Vertex";
|
|
30
|
-
import { XYCoords, UID } from "./interfaces";
|
|
31
|
+
import { XYCoords, UID, PathSegment } from "./interfaces";
|
|
31
32
|
/**
|
|
32
33
|
* @classdesc A refactored cubic bezier curve class.
|
|
33
34
|
*
|
|
@@ -38,7 +39,7 @@ import { XYCoords, UID } from "./interfaces";
|
|
|
38
39
|
* @requires UID
|
|
39
40
|
* @requires UIDGenerator
|
|
40
41
|
*/
|
|
41
|
-
export declare class CubicBezierCurve {
|
|
42
|
+
export declare class CubicBezierCurve implements PathSegment {
|
|
42
43
|
/** @constant {number} */
|
|
43
44
|
static readonly START_POINT: number;
|
|
44
45
|
/** @constant {number} */
|
|
@@ -388,6 +389,22 @@ export declare class CubicBezierCurve {
|
|
|
388
389
|
* @return {CubicBezierCurve}
|
|
389
390
|
**/
|
|
390
391
|
clone(): CubicBezierCurve;
|
|
392
|
+
/**
|
|
393
|
+
* Get the tangent's end point at the start point of this segment.
|
|
394
|
+
*
|
|
395
|
+
* @method getStartTangent
|
|
396
|
+
* @memberof PathSegment
|
|
397
|
+
* @return {Vertex} The end point of the starting point's tangent.
|
|
398
|
+
*/
|
|
399
|
+
getStartTangent(): Vertex;
|
|
400
|
+
/**
|
|
401
|
+
* Get the tangent's end point at the end point of this segment.
|
|
402
|
+
*
|
|
403
|
+
* @method getEndTangent
|
|
404
|
+
* @memberof PathSegment
|
|
405
|
+
* @return {Vertex} The end point of the ending point's tangent.
|
|
406
|
+
*/
|
|
407
|
+
getEndTangent(): Vertex;
|
|
391
408
|
/**
|
|
392
409
|
* Check if this and the specified curve are equal.<br>
|
|
393
410
|
* <br>
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
* @modified 2021-01-20 Added UID.
|
|
22
22
|
* @modified 2022-02-02 Added the `destroy` method.
|
|
23
23
|
* @modified 2022-02-02 Cleared the `toSVGPathData` function (deprecated). Use `drawutilssvg` instead.
|
|
24
|
-
* @
|
|
24
|
+
* @modified 2022-10-17 The `CubicBezierCurve` class now implements the new `PathSegment` interface.
|
|
25
|
+
* @version 2.7.1
|
|
25
26
|
*
|
|
26
27
|
* @file CubicBezierCurve
|
|
27
28
|
* @public
|
|
@@ -73,7 +74,7 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
73
74
|
// An array of floats
|
|
74
75
|
this.segmentLengths = [];
|
|
75
76
|
// float
|
|
76
|
-
this.arcLength = null;
|
|
77
|
+
// this.arcLength = null;
|
|
77
78
|
this.updateArcLengths();
|
|
78
79
|
}
|
|
79
80
|
/**
|
|
@@ -505,6 +506,28 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
505
506
|
CubicBezierCurve.prototype.clone = function () {
|
|
506
507
|
return new CubicBezierCurve(this.getStartPoint().clone(), this.getEndPoint().clone(), this.getStartControlPoint().clone(), this.getEndControlPoint().clone());
|
|
507
508
|
};
|
|
509
|
+
//---BEGIN PathSegment-------------------------
|
|
510
|
+
/**
|
|
511
|
+
* Get the tangent's end point at the start point of this segment.
|
|
512
|
+
*
|
|
513
|
+
* @method getStartTangent
|
|
514
|
+
* @memberof PathSegment
|
|
515
|
+
* @return {Vertex} The end point of the starting point's tangent.
|
|
516
|
+
*/
|
|
517
|
+
CubicBezierCurve.prototype.getStartTangent = function () {
|
|
518
|
+
return this.startControlPoint;
|
|
519
|
+
};
|
|
520
|
+
/**
|
|
521
|
+
* Get the tangent's end point at the end point of this segment.
|
|
522
|
+
*
|
|
523
|
+
* @method getEndTangent
|
|
524
|
+
* @memberof PathSegment
|
|
525
|
+
* @return {Vertex} The end point of the ending point's tangent.
|
|
526
|
+
*/
|
|
527
|
+
CubicBezierCurve.prototype.getEndTangent = function () {
|
|
528
|
+
return this.endControlPoint;
|
|
529
|
+
};
|
|
530
|
+
//---END PathSegment-------------------------
|
|
508
531
|
/**
|
|
509
532
|
* Check if this and the specified curve are equal.<br>
|
|
510
533
|
* <br>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BI;;;AAEJ,mCAAkC;AAClC,+CAA8C;AAC9C,mCAAkC;AAClC,mCAAkC;AAGlC;;;;;;;;;GASG;AACH;IA6FE;;;;;;;;;QASI;IACJ,0BAAY,UAAkB,EAAE,QAAgB,EAAE,iBAAyB,EAAE,eAAuB;QA7FpG,yBAAyB;QAChB,gBAAW,GAAW,gBAAgB,CAAC,WAAW,CAAC;QAC5D,yBAAyB;QAChB,wBAAmB,GAAW,gBAAgB,CAAC,mBAAmB,CAAC;QAC5E,yBAAyB;QAChB,sBAAiB,GAAW,gBAAgB,CAAC,iBAAiB,CAAC;QACxE,yBAAyB;QAChB,cAAS,GAAW,gBAAgB,CAAC,SAAS,CAAC;QAuFtD,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,uBAAuB;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,qBAAqB;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,QAAQ;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;QAYI;IACJ,yCAAc,GAAd,UAAe,OAAe,EAAE,UAAoB,EAAE,gBAAyB,EAAE,gBAAyB;QACxG,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,gBAAgB;gBAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACnE;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC9C,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC7C;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC3C;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,gBAAgB;gBAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACjE;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,gDAA8C,OAAO,eAAY,CAAC,CAAC;SAChF;QAED,IAAI,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;QAQI;IACJ,oCAAS,GAAT,UAAU,MAAc;QACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,kCAAO,GAAP;QACE,IAAI,GAAG,GAAW,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;QAcI;IACJ,oCAAS,GAAT;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,2CAAgB,GAAhB;QACE,IAAI,MAAM,GAAW,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,MAAM,GAAW,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,IAAI,SAAS,GAAW,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAElD,sBAAsB;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,+BAA+B;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,SAAS,GAAW,GAAG,CAAC;QAE5B,IAAI,CAAC,GAAW,GAAG,CAAC;QACpB,IAAI,SAAiB,CAAC;QACtB,OAAO,CAAC,IAAI,GAAG,EAAE;YACf,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE5B,yBAAyB;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/B,2BAA2B;YAC3B,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,SAAS,IAAI,SAAS,CAAC;YAEvB,MAAM,GAAG,MAAM,CAAC;YAChB,CAAC,IAAI,SAAS,CAAC;SAChB;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;;;;QASI;IACJ,sCAAW,GAAX,UAAY,CAAS;QACnB,6DAA6D;QAC7D,IAAI,cAAc,GAAW,GAAG,CAAC;QAEjC,IAAI,MAAM,GAAgD,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC3F,IAAI,SAAS,GAAW,CAAC,CAAC;QAC1B,GAAG;YACD,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3F,SAAS,EAAE,CAAC;YACZ,mCAAmC;SACpC,QAAQ,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,EAAE;QAClH,OAAO,MAAM,CAAC,CAAC,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;QAaI;IACI,mDAAwB,GAAhC,UACE,CAAS,EACT,MAAc,EACd,IAAY,EACZ,SAAiB;QAEjB,IAAI,QAAQ,GAAW,CAAC,CAAC,CAAC;QAC1B,IAAI,OAAO,GAAW,CAAC,CAAC;QACxB,IAAI,CAAC,GAAW,GAAG,CAAC;QACpB,IAAM,KAAK,GAAW,IAAI,GAAG,MAAM,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE;YACnC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YACrC,IAAI,IAAI,GAAW,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,GAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,OAAO,EAAE;gBACpC,QAAQ,GAAG,CAAC,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;aAChB;SACF;QACD,OAAO;YACL,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1C,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAC/D,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;SACxE,CAAC;IACJ,CAAC;IAED;;;;;;;QAOI;IACJ,oCAAS,GAAT;QACE,IAAI,GAAG,GAAW,IAAI,eAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjF,IAAI,GAAG,GAAW,IAAI,eAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjF,IAAI,CAAS,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;QACD,OAAO,IAAI,eAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;QASI;IACJ,wCAAa,GAAb;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;;;;QASI;IACJ,sCAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;;;QASI;IACJ,+CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;;;;QASI;IACJ,6CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;;;QAQI;IACJ,uCAAY,GAAZ,UAAa,EAAU;QACrB,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QAC/C,IAAI,EAAE,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAClE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,uBAAqB,EAAE,OAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,qCAAU,GAAV,UAAW,CAAS;QAClB,mCAAmC;QACnC,IAAM,CAAC,GACL,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,IAAM,CAAC,GACL,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,mCAAQ,GAAR,UAAS,CAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;QAUI;IACJ,uCAAY,GAAZ,UAAa,CAAS;QACpB,IAAM,CAAC,GAAW,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAM,CAAC,GAAW,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,IAAM,CAAC,GAAW,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,IAAM,CAAC,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,4BAA4B;QAC5B,IAAM,EAAE,GAAW,CAAC,GAAG,CAAC,CAAC;QACzB,4DAA4D;QAC5D,IAAM,GAAG,GAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAM,EAAE,GAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAClH,IAAM,EAAE,GAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAElH,8DAA8D;QAC9D,OAAO,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,wCAAa,GAAb,UAAc,MAAc,EAAE,IAAY;QACxC,IAAM,QAAQ,GAAW,IAAI,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACxF,IAAM,MAAM,GAAW,IAAI,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAExF,wCAAwC;QACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEvB,mDAAmD;QACnD,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAE3C,wBAAwB;QACxB,mFAAmF;QACnF,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;QAQI;IACJ,qCAAU,GAAV,UAAW,CAAS;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;QAUI;IACJ,qCAAU,GAAV,UAAW,CAAS;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;QAUI;IACJ,2CAAgB,GAAhB,UAAiB,CAAS;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;QAUI;IACJ,6CAAkB,GAAlB,UAAmB,CAAS;QAC1B,IAAM,aAAa,GAAW,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,eAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;QAOI;IACJ,gCAAK,GAAL;QACE,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAC5B,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAClC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;QAYI;IACJ,iCAAM,GAAN,UAAO,KAAmC;QACxC,gFAAgF;QAChF,wDAAwD;QACxD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QAC7G,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CACnD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,kCAAO,GAAP;QACE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;;QASI;IACG,2BAAU,GAAjB,UAAkB,GAAQ;QACxB,yBAAyB;QACzB,mCAAmC;QACnC;;;;;;;;;UASD;QACC,OAAO,GAAG,YAAY,gBAAgB,CAAC;IACzC,CAAC;IAED;;;;;;;;QAQI;IACJ,iCAAM,GAAN,UAAO,YAAqB;QAC1B,IAAI,UAAU,GACZ,IAAI,GAAG,eAAe;YACtB,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,kBAAkB;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACtB,GAAG;YACH,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACtB,KAAK;YACL,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,gBAAgB;YAChB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACpB,GAAG;YACH,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACpB,KAAK;YACL,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,wBAAwB;YACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC7B,GAAG;YACH,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC7B,KAAK;YACL,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,uBAAuB;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC3B,GAAG;YACH,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC3B,GAAG;YACH,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,aAAa;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;QASI;IACG,yBAAQ,GAAf,UAAgB,UAAkB;QAChC,IAAI,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;QASI;IACG,2BAAU,GAAjB,UAAkB,GAAQ;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM,6BAA6B,CAAC;QAEjE,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,MAAM,qCAAqC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,MAAM,mCAAmC,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,iBAAiB;YAAE,MAAM,4CAA4C,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,eAAe;YAAE,MAAM,0CAA0C,CAAC;QAE3E,OAAO,IAAI,gBAAgB,CACzB,IAAI,eAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAChD,IAAI,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC5C,IAAI,eAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC9D,IAAI,eAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED;;;;;;;;QAQI;IACG,0BAAS,GAAhB,UAAiB,GAAkB;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,6BAA6B,CAAC;QAC7D,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;YAAE,MAAM,+CAA+C,CAAC;QAC3E,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAxuBD,yBAAyB;IACT,4BAAW,GAAW,CAAC,CAAC;IACxC,yBAAyB;IACT,oCAAmB,GAAW,CAAC,CAAC;IAChD,yBAAyB;IACT,kCAAiB,GAAW,CAAC,CAAC;IAC9C,yBAAyB;IACT,0BAAS,GAAW,CAAC,CAAC;IAkuBxC,uBAAC;CAAA,AA1uBD,IA0uBC;AA1uBY,4CAAgB"}
|
|
1
|
+
{"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BI;;;AAEJ,mCAAkC;AAClC,+CAA8C;AAC9C,mCAAkC;AAClC,mCAAkC;AAGlC;;;;;;;;;GASG;AACH;IA6FE;;;;;;;;;QASI;IACJ,0BAAY,UAAkB,EAAE,QAAgB,EAAE,iBAAyB,EAAE,eAAuB;QA7FpG,yBAAyB;QAChB,gBAAW,GAAW,gBAAgB,CAAC,WAAW,CAAC;QAC5D,yBAAyB;QAChB,wBAAmB,GAAW,gBAAgB,CAAC,mBAAmB,CAAC;QAC5E,yBAAyB;QAChB,sBAAiB,GAAW,gBAAgB,CAAC,iBAAiB,CAAC;QACxE,yBAAyB;QAChB,cAAS,GAAW,gBAAgB,CAAC,SAAS,CAAC;QAuFtD,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,uBAAuB;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,qBAAqB;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,QAAQ;QACR,yBAAyB;QAEzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;QAYI;IACJ,yCAAc,GAAd,UAAe,OAAe,EAAE,UAAoB,EAAE,gBAAyB,EAAE,gBAAyB;QACxG,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,gBAAgB;gBAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACnE;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC9C,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC7C;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC3C;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,gBAAgB;gBAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACjE;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,gDAA8C,OAAO,eAAY,CAAC,CAAC;SAChF;QAED,IAAI,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;QAQI;IACJ,oCAAS,GAAT,UAAU,MAAc;QACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,kCAAO,GAAP;QACE,IAAI,GAAG,GAAW,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;QAcI;IACJ,oCAAS,GAAT;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,2CAAgB,GAAhB;QACE,IAAI,MAAM,GAAW,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,MAAM,GAAW,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,IAAI,SAAS,GAAW,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAElD,sBAAsB;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,+BAA+B;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,SAAS,GAAW,GAAG,CAAC;QAE5B,IAAI,CAAC,GAAW,GAAG,CAAC;QACpB,IAAI,SAAiB,CAAC;QACtB,OAAO,CAAC,IAAI,GAAG,EAAE;YACf,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE5B,yBAAyB;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/B,2BAA2B;YAC3B,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,SAAS,IAAI,SAAS,CAAC;YAEvB,MAAM,GAAG,MAAM,CAAC;YAChB,CAAC,IAAI,SAAS,CAAC;SAChB;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;;;;QASI;IACJ,sCAAW,GAAX,UAAY,CAAS;QACnB,6DAA6D;QAC7D,IAAI,cAAc,GAAW,GAAG,CAAC;QAEjC,IAAI,MAAM,GAAgD,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC3F,IAAI,SAAS,GAAW,CAAC,CAAC;QAC1B,GAAG;YACD,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3F,SAAS,EAAE,CAAC;YACZ,mCAAmC;SACpC,QAAQ,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,EAAE;QAClH,OAAO,MAAM,CAAC,CAAC,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;QAaI;IACI,mDAAwB,GAAhC,UACE,CAAS,EACT,MAAc,EACd,IAAY,EACZ,SAAiB;QAEjB,IAAI,QAAQ,GAAW,CAAC,CAAC,CAAC;QAC1B,IAAI,OAAO,GAAW,CAAC,CAAC;QACxB,IAAI,CAAC,GAAW,GAAG,CAAC;QACpB,IAAM,KAAK,GAAW,IAAI,GAAG,MAAM,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE;YACnC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YACrC,IAAI,IAAI,GAAW,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,GAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,OAAO,EAAE;gBACpC,QAAQ,GAAG,CAAC,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;aAChB;SACF;QACD,OAAO;YACL,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1C,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAC/D,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;SACxE,CAAC;IACJ,CAAC;IAED;;;;;;;QAOI;IACJ,oCAAS,GAAT;QACE,IAAI,GAAG,GAAW,IAAI,eAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjF,IAAI,GAAG,GAAW,IAAI,eAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjF,IAAI,CAAS,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;QACD,OAAO,IAAI,eAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;QASI;IACJ,wCAAa,GAAb;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;;;;QASI;IACJ,sCAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;;;QASI;IACJ,+CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;;;;QASI;IACJ,6CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;;;QAQI;IACJ,uCAAY,GAAZ,UAAa,EAAU;QACrB,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QAC/C,IAAI,EAAE,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAClE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,uBAAqB,EAAE,OAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,qCAAU,GAAV,UAAW,CAAS;QAClB,mCAAmC;QACnC,IAAM,CAAC,GACL,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,IAAM,CAAC,GACL,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,mCAAQ,GAAR,UAAS,CAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;QAUI;IACJ,uCAAY,GAAZ,UAAa,CAAS;QACpB,IAAM,CAAC,GAAW,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAM,CAAC,GAAW,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,IAAM,CAAC,GAAW,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,IAAM,CAAC,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,4BAA4B;QAC5B,IAAM,EAAE,GAAW,CAAC,GAAG,CAAC,CAAC;QACzB,4DAA4D;QAC5D,IAAM,GAAG,GAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAM,EAAE,GAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAClH,IAAM,EAAE,GAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAElH,8DAA8D;QAC9D,OAAO,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,wCAAa,GAAb,UAAc,MAAc,EAAE,IAAY;QACxC,IAAM,QAAQ,GAAW,IAAI,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACxF,IAAM,MAAM,GAAW,IAAI,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAExF,wCAAwC;QACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEvB,mDAAmD;QACnD,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAE3C,wBAAwB;QACxB,mFAAmF;QACnF,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;QAQI;IACJ,qCAAU,GAAV,UAAW,CAAS;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;QAUI;IACJ,qCAAU,GAAV,UAAW,CAAS;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;QAUI;IACJ,2CAAgB,GAAhB,UAAiB,CAAS;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;QAUI;IACJ,6CAAkB,GAAlB,UAAmB,CAAS;QAC1B,IAAM,aAAa,GAAW,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,eAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;QAOI;IACJ,gCAAK,GAAL;QACE,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAC5B,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C;;;;;;OAMG;IACH,0CAAe,GAAf;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,wCAAa,GAAb;QACE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,6CAA6C;IAE7C;;;;;;;;;;;;QAYI;IACJ,iCAAM,GAAN,UAAO,KAAmC;QACxC,gFAAgF;QAChF,wDAAwD;QACxD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QAC7G,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CACnD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,kCAAO,GAAP;QACE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;;QASI;IACG,2BAAU,GAAjB,UAAkB,GAAQ;QACxB,yBAAyB;QACzB,mCAAmC;QACnC;;;;;;;;;UASD;QACC,OAAO,GAAG,YAAY,gBAAgB,CAAC;IACzC,CAAC;IAED;;;;;;;;QAQI;IACJ,iCAAM,GAAN,UAAO,YAAqB;QAC1B,IAAI,UAAU,GACZ,IAAI,GAAG,eAAe;YACtB,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,kBAAkB;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACtB,GAAG;YACH,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACtB,KAAK;YACL,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,gBAAgB;YAChB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACpB,GAAG;YACH,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACpB,KAAK;YACL,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,wBAAwB;YACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC7B,GAAG;YACH,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC7B,KAAK;YACL,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,uBAAuB;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC3B,GAAG;YACH,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC3B,GAAG;YACH,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,aAAa;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;QASI;IACG,yBAAQ,GAAf,UAAgB,UAAkB;QAChC,IAAI,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;QASI;IACG,2BAAU,GAAjB,UAAkB,GAAQ;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM,6BAA6B,CAAC;QAEjE,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,MAAM,qCAAqC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,MAAM,mCAAmC,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,iBAAiB;YAAE,MAAM,4CAA4C,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,eAAe;YAAE,MAAM,0CAA0C,CAAC;QAE3E,OAAO,IAAI,gBAAgB,CACzB,IAAI,eAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAChD,IAAI,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC5C,IAAI,eAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC9D,IAAI,eAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED;;;;;;;;QAQI;IACG,0BAAS,GAAhB,UAAiB,GAAkB;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,6BAA6B,CAAC;QAC7D,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;YAAE,MAAM,+CAA+C,CAAC;QAC3E,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAhwBD,yBAAyB;IACT,4BAAW,GAAW,CAAC,CAAC;IACxC,yBAAyB;IACT,oCAAmB,GAAW,CAAC,CAAC;IAChD,yBAAyB;IACT,kCAAiB,GAAW,CAAC,CAAC;IAC9C,yBAAyB;IACT,0BAAS,GAAW,CAAC,CAAC;IA0vBxC,uBAAC;CAAA,AAlwBD,IAkwBC;AAlwBY,4CAAgB"}
|
package/src/cjs/Line.d.ts
CHANGED
|
@@ -13,14 +13,16 @@
|
|
|
13
13
|
* @modified 2020-03-23 Ported to Typescript from JS.
|
|
14
14
|
* @modified 2020-12-04 The `intersection` function returns undefined if both lines are parallel.
|
|
15
15
|
* @modified 2022-02-02 Added the `destroy` method.
|
|
16
|
-
* @
|
|
16
|
+
* @modified 2022-10-09 Changed the actual return value of the `intersection` function to null (was undefined before).
|
|
17
|
+
* @modified 2022-10-17 Adding these methods from the `PathSegment` interface: getStartPoint, getEndPoint, revert.
|
|
18
|
+
* @version 2.3.0
|
|
17
19
|
*
|
|
18
20
|
* @file Line
|
|
19
21
|
* @public
|
|
20
22
|
**/
|
|
21
23
|
import { VertTuple } from "./VertTuple";
|
|
22
24
|
import { Vertex } from "./Vertex";
|
|
23
|
-
import { SVGSerializable } from "./interfaces";
|
|
25
|
+
import { PathSegment, SVGSerializable } from "./interfaces";
|
|
24
26
|
/**
|
|
25
27
|
* @classdesc A line consists of two vertices a and b.<br>
|
|
26
28
|
* <br>
|
|
@@ -29,7 +31,7 @@ import { SVGSerializable } from "./interfaces";
|
|
|
29
31
|
*
|
|
30
32
|
* @requires Vertex
|
|
31
33
|
*/
|
|
32
|
-
export declare class Line extends VertTuple<Line> implements SVGSerializable {
|
|
34
|
+
export declare class Line extends VertTuple<Line> implements SVGSerializable, PathSegment {
|
|
33
35
|
/**
|
|
34
36
|
* Required to generate proper CSS classes and other class related IDs.
|
|
35
37
|
**/
|
|
@@ -52,5 +54,45 @@ export declare class Line extends VertTuple<Line> implements SVGSerializable {
|
|
|
52
54
|
* @instance
|
|
53
55
|
* @memberof Line
|
|
54
56
|
**/
|
|
55
|
-
intersection(line: Line): Vertex |
|
|
57
|
+
intersection(line: Line): Vertex | null;
|
|
58
|
+
/**
|
|
59
|
+
* Get the start point of this path segment.
|
|
60
|
+
*
|
|
61
|
+
* @method getStartPoint
|
|
62
|
+
* @memberof PathSegment
|
|
63
|
+
* @return {Vertex} The start point of this path segment.
|
|
64
|
+
*/
|
|
65
|
+
getStartPoint(): Vertex;
|
|
66
|
+
/**
|
|
67
|
+
* Get the end point of this path segment.
|
|
68
|
+
*
|
|
69
|
+
* @method getEndPoint
|
|
70
|
+
* @memberof PathSegment
|
|
71
|
+
* @return {Vertex} The end point of this path segment.
|
|
72
|
+
*/
|
|
73
|
+
getEndPoint(): Vertex;
|
|
74
|
+
/**
|
|
75
|
+
* Get the tangent's end point at the start point of this segment.
|
|
76
|
+
*
|
|
77
|
+
* @method getStartTangent
|
|
78
|
+
* @memberof PathSegment
|
|
79
|
+
* @return {Vertex} The end point of the starting point's tangent.
|
|
80
|
+
*/
|
|
81
|
+
getStartTangent(): Vertex;
|
|
82
|
+
/**
|
|
83
|
+
* Get the tangent's end point at the end point of this segment.
|
|
84
|
+
*
|
|
85
|
+
* @method getEndTangent
|
|
86
|
+
* @memberof PathSegment
|
|
87
|
+
* @return {Vertex} The end point of the ending point's tangent.
|
|
88
|
+
*/
|
|
89
|
+
getEndTangent(): Vertex;
|
|
90
|
+
/**
|
|
91
|
+
* Inverse this path segment (in-place) and return this same instance (useful for chaining).
|
|
92
|
+
*
|
|
93
|
+
* @method reverse
|
|
94
|
+
* @memberof PathSegment
|
|
95
|
+
* @return {PathSegment} This path segment instance (for chaining).
|
|
96
|
+
*/
|
|
97
|
+
reverse(): Line;
|
|
56
98
|
}
|
package/src/cjs/Line.js
CHANGED
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
* @modified 2020-03-23 Ported to Typescript from JS.
|
|
15
15
|
* @modified 2020-12-04 The `intersection` function returns undefined if both lines are parallel.
|
|
16
16
|
* @modified 2022-02-02 Added the `destroy` method.
|
|
17
|
-
* @
|
|
17
|
+
* @modified 2022-10-09 Changed the actual return value of the `intersection` function to null (was undefined before).
|
|
18
|
+
* @modified 2022-10-17 Adding these methods from the `PathSegment` interface: getStartPoint, getEndPoint, revert.
|
|
19
|
+
* @version 2.3.0
|
|
18
20
|
*
|
|
19
21
|
* @file Line
|
|
20
22
|
* @public
|
|
@@ -74,8 +76,9 @@ var Line = /** @class */ (function (_super) {
|
|
|
74
76
|
// !!! DO NOT MOVE TO VertTuple
|
|
75
77
|
Line.prototype.intersection = function (line) {
|
|
76
78
|
var denominator = this.denominator(line);
|
|
77
|
-
if (denominator == 0)
|
|
79
|
+
if (denominator == 0) {
|
|
78
80
|
return null;
|
|
81
|
+
}
|
|
79
82
|
var a = this.a.y - line.a.y;
|
|
80
83
|
var b = this.a.x - line.a.x;
|
|
81
84
|
var numerator1 = (line.b.x - line.a.x) * a - (line.b.y - line.a.y) * b;
|
|
@@ -86,11 +89,65 @@ var Line = /** @class */ (function (_super) {
|
|
|
86
89
|
var x = this.a.x + a * (this.b.x - this.a.x);
|
|
87
90
|
var y = this.a.y + a * (this.b.y - this.a.y);
|
|
88
91
|
if (isNaN(a) || isNaN(x) || isNaN(y)) {
|
|
89
|
-
return
|
|
92
|
+
return null;
|
|
90
93
|
}
|
|
91
94
|
// if we cast these lines infinitely in both directions, they intersect here:
|
|
92
95
|
return new Vertex_1.Vertex(x, y);
|
|
93
96
|
};
|
|
97
|
+
//--- Implement PathSegment ---
|
|
98
|
+
/**
|
|
99
|
+
* Get the start point of this path segment.
|
|
100
|
+
*
|
|
101
|
+
* @method getStartPoint
|
|
102
|
+
* @memberof PathSegment
|
|
103
|
+
* @return {Vertex} The start point of this path segment.
|
|
104
|
+
*/
|
|
105
|
+
Line.prototype.getStartPoint = function () {
|
|
106
|
+
return this.a;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Get the end point of this path segment.
|
|
110
|
+
*
|
|
111
|
+
* @method getEndPoint
|
|
112
|
+
* @memberof PathSegment
|
|
113
|
+
* @return {Vertex} The end point of this path segment.
|
|
114
|
+
*/
|
|
115
|
+
Line.prototype.getEndPoint = function () {
|
|
116
|
+
return this.b;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Get the tangent's end point at the start point of this segment.
|
|
120
|
+
*
|
|
121
|
+
* @method getStartTangent
|
|
122
|
+
* @memberof PathSegment
|
|
123
|
+
* @return {Vertex} The end point of the starting point's tangent.
|
|
124
|
+
*/
|
|
125
|
+
Line.prototype.getStartTangent = function () {
|
|
126
|
+
return this.b;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Get the tangent's end point at the end point of this segment.
|
|
130
|
+
*
|
|
131
|
+
* @method getEndTangent
|
|
132
|
+
* @memberof PathSegment
|
|
133
|
+
* @return {Vertex} The end point of the ending point's tangent.
|
|
134
|
+
*/
|
|
135
|
+
Line.prototype.getEndTangent = function () {
|
|
136
|
+
return this.a;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Inverse this path segment (in-place) and return this same instance (useful for chaining).
|
|
140
|
+
*
|
|
141
|
+
* @method reverse
|
|
142
|
+
* @memberof PathSegment
|
|
143
|
+
* @return {PathSegment} This path segment instance (for chaining).
|
|
144
|
+
*/
|
|
145
|
+
Line.prototype.reverse = function () {
|
|
146
|
+
var tmp = this.a;
|
|
147
|
+
this.a = this.b;
|
|
148
|
+
this.b = tmp;
|
|
149
|
+
return this;
|
|
150
|
+
};
|
|
94
151
|
return Line;
|
|
95
152
|
}(VertTuple_1.VertTuple));
|
|
96
153
|
exports.Line = Line;
|
package/src/cjs/Line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Line.js","sourceRoot":"","sources":["../ts/Line.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"Line.js","sourceRoot":"","sources":["../ts/Line.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
* @modified 2020-10-04 Added extended JSDoc comments.
|
|
18
18
|
* @modified 2020-11-25 Added the `isTouchEvent` param.
|
|
19
19
|
* @modified 2021-01-10 The mouse handler is now also working with SVGElements.
|
|
20
|
-
* @
|
|
20
|
+
* @modified 2022-08-16 Fixed a bug in the mouse button detection.
|
|
21
|
+
* @version 1.2.1
|
|
21
22
|
*
|
|
22
23
|
* @file MouseHandler
|
|
23
24
|
* @public
|
|
@@ -150,7 +151,7 @@ export declare class MouseHandler {
|
|
|
150
151
|
* @memberof MouseHandler
|
|
151
152
|
* @instance
|
|
152
153
|
* @private
|
|
153
|
-
* @param {MouseEvent}
|
|
154
|
+
* @param {MouseEvent} event - The mouse event to get the relative position for.
|
|
154
155
|
* @param {string} eventName - The name of the firing event.
|
|
155
156
|
* @return {XMouseEvent}
|
|
156
157
|
*/
|