plotboilerplate 1.20.2 → 1.21.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/dist/index.esm.js +1985 -1368
- 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 +1170 -541
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/BezierPath.d.ts +27 -49
- package/src/cjs/BezierPath.js +67 -234
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/Bounds.d.ts +14 -1
- package/src/cjs/Bounds.js +21 -1
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +70 -1
- package/src/cjs/CubicBezierCurve.js +130 -12
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/Line.d.ts +2 -1
- package/src/cjs/Line.js +1 -0
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/PBText.d.ts +2 -1
- package/src/cjs/PBText.js +10 -9
- package/src/cjs/PBText.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +4 -13
- package/src/cjs/PlotBoilerplate.js +61 -15
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +35 -1
- package/src/cjs/Polygon.js +87 -1
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/VEllipse.js +1 -1
- package/src/cjs/VEllipse.js.map +1 -1
- package/src/cjs/Vector.d.ts +4 -4
- package/src/cjs/Vector.js +2 -2
- package/src/cjs/Vector.js.map +1 -1
- package/src/cjs/VertTuple.d.ts +2 -1
- package/src/cjs/VertTuple.js +4 -3
- package/src/cjs/VertTuple.js.map +1 -1
- package/src/cjs/Vertex.d.ts +14 -3
- package/src/cjs/Vertex.js +18 -3
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/draw.d.ts +154 -75
- package/src/cjs/draw.js +308 -137
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawgl.d.ts +87 -50
- package/src/cjs/drawgl.js +86 -31
- package/src/cjs/drawgl.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +226 -53
- package/src/cjs/drawutilssvg.js +374 -92
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/interfaces/DrawLib.d.ts +157 -79
- package/src/cjs/interfaces/DrawLib.js +6 -0
- package/src/cjs/interfaces/DrawLib.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +13 -2
- package/src/cjs/interfaces/core.js +1 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/creategui.js +16 -10
- package/src/cjs/utils/detectDarkMode.d.ts +10 -0
- package/src/cjs/utils/detectDarkMode.js +32 -0
- package/src/cjs/utils/detectDarkMode.js.map +1 -0
- package/src/esm/BezierPath.d.ts +27 -49
- package/src/esm/BezierPath.js +67 -234
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/Bounds.d.ts +14 -1
- package/src/esm/Bounds.js +19 -1
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +70 -1
- package/src/esm/CubicBezierCurve.js +130 -12
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/Line.d.ts +2 -1
- package/src/esm/Line.js +1 -0
- package/src/esm/Line.js.map +1 -1
- package/src/esm/PBText.d.ts +2 -1
- package/src/esm/PBText.js +10 -9
- package/src/esm/PBText.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +4 -13
- package/src/esm/PlotBoilerplate.js +62 -16
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +35 -1
- package/src/esm/Polygon.js +85 -1
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/VEllipse.js +1 -1
- package/src/esm/VEllipse.js.map +1 -1
- package/src/esm/Vector.d.ts +4 -4
- package/src/esm/Vector.js +2 -2
- package/src/esm/Vector.js.map +1 -1
- package/src/esm/VertTuple.d.ts +2 -1
- package/src/esm/VertTuple.js +4 -3
- package/src/esm/VertTuple.js.map +1 -1
- package/src/esm/Vertex.d.ts +14 -3
- package/src/esm/Vertex.js +18 -3
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/draw.d.ts +154 -75
- package/src/esm/draw.js +304 -135
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawgl.d.ts +87 -50
- package/src/esm/drawgl.js +86 -31
- package/src/esm/drawgl.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +226 -53
- package/src/esm/drawutilssvg.js +369 -92
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/interfaces/DrawLib.d.ts +157 -79
- package/src/esm/interfaces/DrawLib.js +6 -0
- package/src/esm/interfaces/DrawLib.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +13 -2
- package/src/esm/interfaces/core.js +1 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/detectDarkMode.d.ts +10 -0
- package/src/esm/utils/detectDarkMode.js +28 -0
- package/src/esm/utils/detectDarkMode.js.map +1 -0
- package/src/ts/BezierPath.ts +72 -241
- package/src/ts/Bounds.ts +25 -1
- package/src/ts/CubicBezierCurve.ts +139 -12
- package/src/ts/Line.ts +2 -1
- package/src/ts/PBText.ts +10 -9
- package/src/ts/PlotBoilerplate.ts +56 -19
- package/src/ts/Polygon.ts +91 -1
- package/src/ts/VEllipse.ts +2 -2
- package/src/ts/Vector.ts +4 -4
- package/src/ts/VertTuple.ts +4 -3
- package/src/ts/Vertex.ts +20 -4
- package/src/ts/draw.ts +311 -115
- package/src/ts/drawgl.ts +133 -71
- package/src/ts/drawutilssvg.ts +543 -121
- package/src/ts/interfaces/DrawLib.ts +219 -83
- package/src/ts/interfaces/core.ts +14 -2
- package/src/ts/utils/detectDarkMode.ts +30 -0
package/src/cjs/Bounds.js
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* @modified 2022-02-01 Added the `toString` function.
|
|
10
10
|
* @modified 2022-10-09 Added the `fromDimension` function.
|
|
11
11
|
* @modified 2022-11-28 Added the `clone` method.
|
|
12
|
-
* @
|
|
12
|
+
* @modified 2023-09-29 Added the `randomPoint` method.
|
|
13
|
+
* @version 1.7.0
|
|
13
14
|
**/
|
|
14
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
16
|
exports.Bounds = void 0;
|
|
@@ -59,6 +60,25 @@ var Bounds = /** @class */ (function () {
|
|
|
59
60
|
Bounds.prototype.getCenter = function () {
|
|
60
61
|
return new Vertex_1.Vertex(this.min.x + (this.max.x - this.min.x) / 2.0, this.min.y + (this.max.y - this.min.y) / 2);
|
|
61
62
|
};
|
|
63
|
+
/**
|
|
64
|
+
* Generate a random point inside this bounds object. Safe areas at the border to avoid
|
|
65
|
+
* included.
|
|
66
|
+
*
|
|
67
|
+
* @method randomPoint
|
|
68
|
+
* @instance
|
|
69
|
+
* @memberof Bounds
|
|
70
|
+
* @param {horizontalSafeArea} - (optional) The horizonal (left and right) safe area. No vertex will be created here. Can be used as percent in (0.0 ... 0.1) interval.
|
|
71
|
+
* @param {verticalSafeArea} - (optional) The vertical (top and bottom) safe area. No vertex will be created here. Can be used as percent in (0.0 ... 0.1) interval
|
|
72
|
+
* @returns {Vertex} A pseudo random point inside these bounds.
|
|
73
|
+
*/
|
|
74
|
+
Bounds.prototype.randomPoint = function (horizontalSafeArea, verticalSafeArea) {
|
|
75
|
+
if (horizontalSafeArea === void 0) { horizontalSafeArea = 0; }
|
|
76
|
+
if (verticalSafeArea === void 0) { verticalSafeArea = 0; }
|
|
77
|
+
// Check if the safe areas are meant as percent
|
|
78
|
+
var absHorizontalSafeArea = horizontalSafeArea > 0 && horizontalSafeArea < 1 ? this.width * horizontalSafeArea : horizontalSafeArea;
|
|
79
|
+
var absVerticalSafeArea = verticalSafeArea > 0 && verticalSafeArea < 1 ? this.height * verticalSafeArea : verticalSafeArea;
|
|
80
|
+
return new Vertex_1.Vertex(this.min.x + absHorizontalSafeArea + Math.random() * (this.width - 2 * absHorizontalSafeArea), this.min.y + absVerticalSafeArea + Math.random() * (this.height - 2 * absVerticalSafeArea));
|
|
81
|
+
};
|
|
62
82
|
/**
|
|
63
83
|
* Convert these bounds to a human readable form.
|
|
64
84
|
*
|
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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"}
|
|
@@ -21,7 +21,9 @@
|
|
|
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
|
-
* @
|
|
24
|
+
* @modified 2023-09-30 Added the function `CubicbezierCurve.getSubCurve(number,number)` – similar to `getSubCurveAt(...)` but with absolute position parameters.
|
|
25
|
+
* @modified 2023-10-07 Added the `trimEnd`, `trimEndAt`, `trimStart`, `trimStartAt` methods.
|
|
26
|
+
* @version 2.8.0
|
|
25
27
|
*
|
|
26
28
|
* @file CubicBezierCurve
|
|
27
29
|
* @public
|
|
@@ -321,6 +323,69 @@ export declare class CubicBezierCurve implements PathSegment {
|
|
|
321
323
|
* @return {Vertex}
|
|
322
324
|
**/
|
|
323
325
|
getTangentAt(t: number): Vertex;
|
|
326
|
+
/**
|
|
327
|
+
* Trim off a start section of this curve. The position parameter `uValue` is the absolute position on the
|
|
328
|
+
* curve in `[0...arcLength]`.
|
|
329
|
+
* The remaining curve will be the one in the bounds `[uValue,1]` (so `[0.0,uValue]` is cut off).
|
|
330
|
+
*
|
|
331
|
+
* Note this function just converts the absolute parameter to a relative one and call `trimStartAt`.
|
|
332
|
+
*
|
|
333
|
+
* @method trimStart
|
|
334
|
+
* @instance
|
|
335
|
+
* @memberof CubicBezierCurve
|
|
336
|
+
* @param {number} uValue - The absolute position parameter where to cut off the head curve.
|
|
337
|
+
* @returns {CubicBezierCurve} `this` for chanining.
|
|
338
|
+
*/
|
|
339
|
+
trimStart(uValue: number): CubicBezierCurve;
|
|
340
|
+
/**
|
|
341
|
+
* Trim off a start section of this curve. The position parameter `t` is the relative position in [0..1].
|
|
342
|
+
* The remaining curve will be the one in the bounds `[uValue,1]` (so `[0.0,uValue]` is cut off).
|
|
343
|
+
*
|
|
344
|
+
* @method trimStartAt
|
|
345
|
+
* @instance
|
|
346
|
+
* @memberof CubicBezierCurve
|
|
347
|
+
* @param {number} t - The relative position parameter where to cut off the head curve.
|
|
348
|
+
* @returns {CubicBezierCurve} `this` for chanining.
|
|
349
|
+
*/
|
|
350
|
+
trimStartAt(t: number): CubicBezierCurve;
|
|
351
|
+
/**
|
|
352
|
+
* Trim off the end of this curve. The position parameter `uValue` is the absolute position on the
|
|
353
|
+
* curve in `[0...arcLength]`.
|
|
354
|
+
* The remaining curve will be the one in the bounds `[0,uValue]` (so `[1.0-uValue,1.0]` is cut off).
|
|
355
|
+
*
|
|
356
|
+
* Note this function just converts the absolute parameter to a relative one and call `trimEndAt`.
|
|
357
|
+
*
|
|
358
|
+
* @method trimEnd
|
|
359
|
+
* @instance
|
|
360
|
+
* @memberof CubicBezierCurve
|
|
361
|
+
* @param {number} uValue - The absolute position parameter where to cut off the tail curve.
|
|
362
|
+
* @returns {CubicBezierCurve} `this` for chanining.
|
|
363
|
+
*/
|
|
364
|
+
trimEnd(uValue: number): CubicBezierCurve;
|
|
365
|
+
/**
|
|
366
|
+
* Trim off the end of this curve. The position parameter `t` is the relative position in [0..1].
|
|
367
|
+
* The remaining curve will be the one in the bounds `[0,t]` (so `[1.0-t,1.0]` is cut off).
|
|
368
|
+
*
|
|
369
|
+
* @method trimEndAt
|
|
370
|
+
* @instance
|
|
371
|
+
* @memberof CubicBezierCurve
|
|
372
|
+
* @param {number} t - The relative position parameter where to cut off the tail curve.
|
|
373
|
+
* @returns {CubicBezierCurve} `this` for chanining.
|
|
374
|
+
*/
|
|
375
|
+
trimEndAt(t: number): CubicBezierCurve;
|
|
376
|
+
/**
|
|
377
|
+
* Get a sub curve at the given start end end positions (values on the curve's length, between 0 and curve.arcLength).
|
|
378
|
+
*
|
|
379
|
+
* tStart >= tEnd is allowed, you will get a reversed sub curve then.
|
|
380
|
+
*
|
|
381
|
+
* @method getSubCurve
|
|
382
|
+
* @param {number} tStart – The start position of the desired sub curve (must be in [0..arcLength]).
|
|
383
|
+
* @param {number} tEnd – The end position if the desired cub curve (must be in [0..arcLength]).
|
|
384
|
+
* @instance
|
|
385
|
+
* @memberof CubicBezierCurve
|
|
386
|
+
* @return {CubicBezierCurve} The sub curve as a new curve.
|
|
387
|
+
**/
|
|
388
|
+
getSubCurve(uStart: number, uEnd: number): CubicBezierCurve;
|
|
324
389
|
/**
|
|
325
390
|
* Get a sub curve at the given start end end offsets (values between 0.0 and 1.0).
|
|
326
391
|
*
|
|
@@ -478,4 +543,8 @@ export declare class CubicBezierCurve implements PathSegment {
|
|
|
478
543
|
* @return {CubicBezierCurve}
|
|
479
544
|
**/
|
|
480
545
|
static fromArray(arr: Array<Vertex>): CubicBezierCurve;
|
|
546
|
+
/**
|
|
547
|
+
* Helper utils.
|
|
548
|
+
*/
|
|
549
|
+
private static utils;
|
|
481
550
|
}
|
|
@@ -22,7 +22,9 @@
|
|
|
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
|
-
* @
|
|
25
|
+
* @modified 2023-09-30 Added the function `CubicbezierCurve.getSubCurve(number,number)` – similar to `getSubCurveAt(...)` but with absolute position parameters.
|
|
26
|
+
* @modified 2023-10-07 Added the `trimEnd`, `trimEndAt`, `trimStart`, `trimStartAt` methods.
|
|
27
|
+
* @version 2.8.0
|
|
26
28
|
*
|
|
27
29
|
* @file CubicBezierCurve
|
|
28
30
|
* @public
|
|
@@ -415,6 +417,91 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
415
417
|
// Note: my implementation does NOT normalize tangent vectors!
|
|
416
418
|
return new Vertex_1.Vertex(tX, tY);
|
|
417
419
|
};
|
|
420
|
+
/**
|
|
421
|
+
* Trim off a start section of this curve. The position parameter `uValue` is the absolute position on the
|
|
422
|
+
* curve in `[0...arcLength]`.
|
|
423
|
+
* The remaining curve will be the one in the bounds `[uValue,1]` (so `[0.0,uValue]` is cut off).
|
|
424
|
+
*
|
|
425
|
+
* Note this function just converts the absolute parameter to a relative one and call `trimStartAt`.
|
|
426
|
+
*
|
|
427
|
+
* @method trimStart
|
|
428
|
+
* @instance
|
|
429
|
+
* @memberof CubicBezierCurve
|
|
430
|
+
* @param {number} uValue - The absolute position parameter where to cut off the head curve.
|
|
431
|
+
* @returns {CubicBezierCurve} `this` for chanining.
|
|
432
|
+
*/
|
|
433
|
+
CubicBezierCurve.prototype.trimStart = function (uValue) {
|
|
434
|
+
return this.trimStartAt(this.convertU2T(uValue));
|
|
435
|
+
};
|
|
436
|
+
/**
|
|
437
|
+
* Trim off a start section of this curve. The position parameter `t` is the relative position in [0..1].
|
|
438
|
+
* The remaining curve will be the one in the bounds `[uValue,1]` (so `[0.0,uValue]` is cut off).
|
|
439
|
+
*
|
|
440
|
+
* @method trimStartAt
|
|
441
|
+
* @instance
|
|
442
|
+
* @memberof CubicBezierCurve
|
|
443
|
+
* @param {number} t - The relative position parameter where to cut off the head curve.
|
|
444
|
+
* @returns {CubicBezierCurve} `this` for chanining.
|
|
445
|
+
*/
|
|
446
|
+
CubicBezierCurve.prototype.trimStartAt = function (t) {
|
|
447
|
+
var subCurbePoints = CubicBezierCurve.utils.getSubCurvePointsAt(this, t, 1.0);
|
|
448
|
+
this.startPoint.set(subCurbePoints[0]);
|
|
449
|
+
this.startControlPoint.set(subCurbePoints[2]);
|
|
450
|
+
this.endPoint.set(subCurbePoints[1]);
|
|
451
|
+
this.endControlPoint.set(subCurbePoints[3]);
|
|
452
|
+
this.updateArcLengths();
|
|
453
|
+
return this;
|
|
454
|
+
};
|
|
455
|
+
/**
|
|
456
|
+
* Trim off the end of this curve. The position parameter `uValue` is the absolute position on the
|
|
457
|
+
* curve in `[0...arcLength]`.
|
|
458
|
+
* The remaining curve will be the one in the bounds `[0,uValue]` (so `[1.0-uValue,1.0]` is cut off).
|
|
459
|
+
*
|
|
460
|
+
* Note this function just converts the absolute parameter to a relative one and call `trimEndAt`.
|
|
461
|
+
*
|
|
462
|
+
* @method trimEnd
|
|
463
|
+
* @instance
|
|
464
|
+
* @memberof CubicBezierCurve
|
|
465
|
+
* @param {number} uValue - The absolute position parameter where to cut off the tail curve.
|
|
466
|
+
* @returns {CubicBezierCurve} `this` for chanining.
|
|
467
|
+
*/
|
|
468
|
+
CubicBezierCurve.prototype.trimEnd = function (uValue) {
|
|
469
|
+
return this.trimEndAt(this.convertU2T(uValue));
|
|
470
|
+
};
|
|
471
|
+
/**
|
|
472
|
+
* Trim off the end of this curve. The position parameter `t` is the relative position in [0..1].
|
|
473
|
+
* The remaining curve will be the one in the bounds `[0,t]` (so `[1.0-t,1.0]` is cut off).
|
|
474
|
+
*
|
|
475
|
+
* @method trimEndAt
|
|
476
|
+
* @instance
|
|
477
|
+
* @memberof CubicBezierCurve
|
|
478
|
+
* @param {number} t - The relative position parameter where to cut off the tail curve.
|
|
479
|
+
* @returns {CubicBezierCurve} `this` for chanining.
|
|
480
|
+
*/
|
|
481
|
+
CubicBezierCurve.prototype.trimEndAt = function (t) {
|
|
482
|
+
var subCurbePoints = CubicBezierCurve.utils.getSubCurvePointsAt(this, 0.0, t);
|
|
483
|
+
this.startPoint.set(subCurbePoints[0]);
|
|
484
|
+
this.startControlPoint.set(subCurbePoints[2]);
|
|
485
|
+
this.endPoint.set(subCurbePoints[1]);
|
|
486
|
+
this.endControlPoint.set(subCurbePoints[3]);
|
|
487
|
+
this.updateArcLengths();
|
|
488
|
+
return this;
|
|
489
|
+
};
|
|
490
|
+
/**
|
|
491
|
+
* Get a sub curve at the given start end end positions (values on the curve's length, between 0 and curve.arcLength).
|
|
492
|
+
*
|
|
493
|
+
* tStart >= tEnd is allowed, you will get a reversed sub curve then.
|
|
494
|
+
*
|
|
495
|
+
* @method getSubCurve
|
|
496
|
+
* @param {number} tStart – The start position of the desired sub curve (must be in [0..arcLength]).
|
|
497
|
+
* @param {number} tEnd – The end position if the desired cub curve (must be in [0..arcLength]).
|
|
498
|
+
* @instance
|
|
499
|
+
* @memberof CubicBezierCurve
|
|
500
|
+
* @return {CubicBezierCurve} The sub curve as a new curve.
|
|
501
|
+
**/
|
|
502
|
+
CubicBezierCurve.prototype.getSubCurve = function (uStart, uEnd) {
|
|
503
|
+
return this.getSubCurveAt(this.convertU2T(uStart), this.convertU2T(uEnd));
|
|
504
|
+
};
|
|
418
505
|
/**
|
|
419
506
|
* Get a sub curve at the given start end end offsets (values between 0.0 and 1.0).
|
|
420
507
|
*
|
|
@@ -428,17 +515,19 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
428
515
|
* @return {CubicBezierCurve} The sub curve as a new curve.
|
|
429
516
|
**/
|
|
430
517
|
CubicBezierCurve.prototype.getSubCurveAt = function (tStart, tEnd) {
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
// Tangents are relative. Make absolute.
|
|
434
|
-
startVec.b.add(startVec.a);
|
|
435
|
-
endVec.b.add(endVec.a);
|
|
436
|
-
// This 'splits' the curve at the given point at t.
|
|
437
|
-
startVec.scale(0.33333333 * (tEnd - tStart));
|
|
438
|
-
endVec.scale(0.33333333 * (tEnd - tStart));
|
|
439
|
-
// Draw the bezier curve
|
|
440
|
-
// pb.draw.cubicBezier( startVec.a, endVec.a, startVec.b, endVec.b, '#8800ff', 2 );
|
|
441
|
-
return new CubicBezierCurve(startVec.a, endVec.a, startVec.b, endVec.b);
|
|
518
|
+
// const startVec: Vector = new Vector(this.getPointAt(tStart), this.getTangentAt(tStart));
|
|
519
|
+
// const endVec: Vector = new Vector(this.getPointAt(tEnd), this.getTangentAt(tEnd).inv());
|
|
520
|
+
// // Tangents are relative. Make absolute.
|
|
521
|
+
// startVec.b.add(startVec.a);
|
|
522
|
+
// endVec.b.add(endVec.a);
|
|
523
|
+
// // This 'splits' the curve at the given point at t.
|
|
524
|
+
// startVec.scale(0.33333333 * (tEnd - tStart));
|
|
525
|
+
// endVec.scale(0.33333333 * (tEnd - tStart));
|
|
526
|
+
// // Draw the bezier curve
|
|
527
|
+
// // pb.draw.cubicBezier( startVec.a, endVec.a, startVec.b, endVec.b, '#8800ff', 2 );
|
|
528
|
+
// return new CubicBezierCurve(startVec.a, endVec.a, startVec.b, endVec.b);
|
|
529
|
+
var subCurbePoints = CubicBezierCurve.utils.getSubCurvePointsAt(this, tStart, tEnd);
|
|
530
|
+
return new CubicBezierCurve(subCurbePoints[0], subCurbePoints[1], subCurbePoints[2], subCurbePoints[3]);
|
|
442
531
|
};
|
|
443
532
|
/**
|
|
444
533
|
* Convert a relative curve position u to the absolute curve position t.
|
|
@@ -690,6 +779,35 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
690
779
|
CubicBezierCurve.END_CONTROL_POINT = 2;
|
|
691
780
|
/** @constant {number} */
|
|
692
781
|
CubicBezierCurve.END_POINT = 3;
|
|
782
|
+
/**
|
|
783
|
+
* Helper utils.
|
|
784
|
+
*/
|
|
785
|
+
CubicBezierCurve.utils = {
|
|
786
|
+
/**
|
|
787
|
+
* Get the points of a sub curve at the given start end end offsets (values between 0.0 and 1.0).
|
|
788
|
+
*
|
|
789
|
+
* tStart >= tEnd is allowed, you will get a reversed sub curve then.
|
|
790
|
+
*
|
|
791
|
+
* @method getSubCurvePointsAt
|
|
792
|
+
* @param {CubicBezierCurve} curve – The curve to get the sub curve points from.
|
|
793
|
+
* @param {number} tStart – The start offset of the desired sub curve (must be in [0..1]).
|
|
794
|
+
* @param {number} tEnd – The end offset if the desired cub curve (must be in [0..1]).
|
|
795
|
+
* @instance
|
|
796
|
+
* @memberof CubicBezierCurve
|
|
797
|
+
* @return {CubicBezierCurve} The sub curve as a new curve.
|
|
798
|
+
**/
|
|
799
|
+
getSubCurvePointsAt: function (curve, tStart, tEnd) {
|
|
800
|
+
var startVec = new Vector_1.Vector(curve.getPointAt(tStart), curve.getTangentAt(tStart));
|
|
801
|
+
var endVec = new Vector_1.Vector(curve.getPointAt(tEnd), curve.getTangentAt(tEnd).inv());
|
|
802
|
+
// Tangents are relative. Make absolute.
|
|
803
|
+
startVec.b.add(startVec.a);
|
|
804
|
+
endVec.b.add(endVec.a);
|
|
805
|
+
// This 'splits' the curve at the given point at t.
|
|
806
|
+
startVec.scale(0.33333333 * (tEnd - tStart));
|
|
807
|
+
endVec.scale(0.33333333 * (tEnd - tStart));
|
|
808
|
+
return [startVec.a, endVec.a, startVec.b, endVec.b];
|
|
809
|
+
}
|
|
810
|
+
};
|
|
693
811
|
return CubicBezierCurve;
|
|
694
812
|
}());
|
|
695
813
|
exports.CubicBezierCurve = CubicBezierCurve;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":"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"}
|
package/src/cjs/Line.d.ts
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
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
17
|
* @modified 2022-10-17 Adding these methods from the `PathSegment` interface: getStartPoint, getEndPoint, revert.
|
|
18
|
+
* @modified 2023-09-25 Changed param type of `intersection()` from Line to VertTuple.
|
|
18
19
|
* @version 2.3.0
|
|
19
20
|
*
|
|
20
21
|
* @file Line
|
|
@@ -54,7 +55,7 @@ export declare class Line extends VertTuple<Line> implements SVGSerializable, Pa
|
|
|
54
55
|
* @instance
|
|
55
56
|
* @memberof Line
|
|
56
57
|
**/
|
|
57
|
-
intersection(line:
|
|
58
|
+
intersection(line: VertTuple<any>): Vertex | null;
|
|
58
59
|
/**
|
|
59
60
|
* Get the start point of this path segment.
|
|
60
61
|
*
|
package/src/cjs/Line.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
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
18
|
* @modified 2022-10-17 Adding these methods from the `PathSegment` interface: getStartPoint, getEndPoint, revert.
|
|
19
|
+
* @modified 2023-09-25 Changed param type of `intersection()` from Line to VertTuple.
|
|
19
20
|
* @version 2.3.0
|
|
20
21
|
*
|
|
21
22
|
* @file 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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"}
|
package/src/cjs/PBText.d.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* @author Ikaros Kappler
|
|
3
3
|
* @date 2021-11-16
|
|
4
4
|
* @modified 2022-02-02 Added the `destroy` method.
|
|
5
|
-
* @
|
|
5
|
+
* @modified 2023-09-25 Fixed a type error in the constructor. Nothing vital.
|
|
6
|
+
* @version 1.1.1
|
|
6
7
|
**/
|
|
7
8
|
import { Vertex } from "./Vertex";
|
|
8
9
|
import { FontOptions, FontStyle, FontWeight, SVGSerializable, UID } from "./interfaces";
|
package/src/cjs/PBText.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* @author Ikaros Kappler
|
|
4
4
|
* @date 2021-11-16
|
|
5
5
|
* @modified 2022-02-02 Added the `destroy` method.
|
|
6
|
-
* @
|
|
6
|
+
* @modified 2023-09-25 Fixed a type error in the constructor. Nothing vital.
|
|
7
|
+
* @version 1.1.1
|
|
7
8
|
**/
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.PBText = void 0;
|
|
@@ -38,14 +39,14 @@ var PBText = /** @class */ (function () {
|
|
|
38
39
|
this.uid = UIDGenerator_1.UIDGenerator.next();
|
|
39
40
|
this.text = text;
|
|
40
41
|
this.anchor = anchor !== null && anchor !== void 0 ? anchor : new Vertex_1.Vertex();
|
|
41
|
-
this.color = options.color;
|
|
42
|
-
this.fontFamily = options.fontFamily;
|
|
43
|
-
this.fontSize = options.fontSize;
|
|
44
|
-
this.fontStyle = options.fontStyle;
|
|
45
|
-
this.fontWeight = options.fontWeight;
|
|
46
|
-
this.lineHeight = options.lineHeight;
|
|
47
|
-
this.textAlign = options.textAlign;
|
|
48
|
-
this.rotation = options.rotation;
|
|
42
|
+
this.color = options === null || options === void 0 ? void 0 : options.color;
|
|
43
|
+
this.fontFamily = options === null || options === void 0 ? void 0 : options.fontFamily;
|
|
44
|
+
this.fontSize = options === null || options === void 0 ? void 0 : options.fontSize;
|
|
45
|
+
this.fontStyle = options === null || options === void 0 ? void 0 : options.fontStyle;
|
|
46
|
+
this.fontWeight = options === null || options === void 0 ? void 0 : options.fontWeight;
|
|
47
|
+
this.lineHeight = options === null || options === void 0 ? void 0 : options.lineHeight;
|
|
48
|
+
this.textAlign = options === null || options === void 0 ? void 0 : options.textAlign;
|
|
49
|
+
this.rotation = options === null || options === void 0 ? void 0 : options.rotation;
|
|
49
50
|
}
|
|
50
51
|
/**
|
|
51
52
|
* This function should invalidate any installed listeners and invalidate this object.
|
package/src/cjs/PBText.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PBText.js","sourceRoot":"","sources":["../ts/PBText.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"PBText.js","sourceRoot":"","sources":["../ts/PBText.ts"],"names":[],"mappings":";AAAA;;;;;;IAMI;;;AAEJ,+CAA8C;AAC9C,mCAAkC;AAGlC;;;;;;;;;;;IAWI;AACJ;IA8FE;;;;;;;OAOG;IACH,gBAAY,IAAY,EAAE,MAAe,EAAE,OAAqB;QArGhE;;YAEI;QACK,cAAS,GAAW,QAAQ,CAAC;QAmGpC,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,eAAM,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,wBAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACH,aAAC;AAAD,CAAC,AA7HD,IA6HC,CAAC,YAAY;AA7HD,wBAAM"}
|
|
@@ -82,7 +82,8 @@
|
|
|
82
82
|
* @modified 2023-02-10 Fixing an issue of the `style.position` setting when `fitToParent=true` from `absolute` to `static` (default).
|
|
83
83
|
* @modified 2023-02-10 Cleaning up most type errors in the main class (mostly null checks).
|
|
84
84
|
* @modified 2023-02-10 Adding `enableZoom` and `enablePan` (both default true) to have the option to disable these functions.
|
|
85
|
-
* @
|
|
85
|
+
* @modified 2023-09-29 Adding proper dicionary key and value types to the params of `PlotBoilerplate.utils.safeMergeByKeys` (was `object` before).
|
|
86
|
+
* @version 1.17.3
|
|
86
87
|
*
|
|
87
88
|
* @file PlotBoilerplate
|
|
88
89
|
* @fileoverview The main class.
|
|
@@ -796,17 +797,7 @@ export declare class PlotBoilerplate {
|
|
|
796
797
|
* @param {Object} extension
|
|
797
798
|
* @return {Object} base extended by the new attributes.
|
|
798
799
|
**/
|
|
799
|
-
safeMergeByKeys: (base:
|
|
800
|
-
/**
|
|
801
|
-
* A helper function to scale elements (usually the canvas) using CSS.
|
|
802
|
-
*
|
|
803
|
-
* transform-origin is at (0,0).
|
|
804
|
-
*
|
|
805
|
-
* @param {HTMLElement} element - The DOM element to scale.
|
|
806
|
-
* @param {number} scaleX The - X scale factor.
|
|
807
|
-
* @param {number} scaleY The - Y scale factor.
|
|
808
|
-
* @return {void}
|
|
809
|
-
**/
|
|
800
|
+
safeMergeByKeys: <KeyType_1 extends string | number | symbol, ValueType>(base: Record<KeyType_1, ValueType>, extension: Record<KeyType_1, ValueType>) => Record<KeyType_1, ValueType>;
|
|
810
801
|
setCSSscale: (element: HTMLElement | SVGElement, scaleX: number, scaleY: number) => void;
|
|
811
802
|
fetch: {
|
|
812
803
|
/**
|
|
@@ -834,7 +825,7 @@ export declare class PlotBoilerplate {
|
|
|
834
825
|
* @param {boolean} fallback - A default value if the key does not exist.
|
|
835
826
|
* @return {boolean}
|
|
836
827
|
**/
|
|
837
|
-
bool: (obj: any, key: string, fallback: boolean) => any;
|
|
828
|
+
bool: (obj: any, key: string, fallback: boolean | null) => any;
|
|
838
829
|
/**
|
|
839
830
|
* A helper function to the the object property function-value specified by the given key.
|
|
840
831
|
*
|