plotboilerplate 1.27.1 → 1.28.1

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.
Files changed (78) hide show
  1. package/dist/index.esm.js +135 -36
  2. package/dist/index.esm.js.map +1 -1
  3. package/dist/index.esm.min.js +1 -1
  4. package/dist/index.esm.min.js.map +1 -1
  5. package/dist/plotboilerplate.browser.min.js +1 -1
  6. package/dist/plotboilerplate.browser.min.js.map +1 -1
  7. package/dist/plotboilerplate.js +96 -17
  8. package/dist/plotboilerplate.min.js +1 -1
  9. package/package.json +2 -1
  10. package/src/cjs/PlotBoilerplate.d.ts +11 -1
  11. package/src/cjs/PlotBoilerplate.js +23 -7
  12. package/src/cjs/PlotBoilerplate.js.map +1 -1
  13. package/src/cjs/VertexListeners.d.ts +2 -1
  14. package/src/cjs/VertexListeners.js +5 -1
  15. package/src/cjs/VertexListeners.js.map +1 -1
  16. package/src/cjs/draw.d.ts +18 -2
  17. package/src/cjs/draw.js +21 -2
  18. package/src/cjs/draw.js.map +1 -1
  19. package/src/cjs/drawgl.d.ts +18 -3
  20. package/src/cjs/drawgl.js +19 -2
  21. package/src/cjs/drawgl.js.map +1 -1
  22. package/src/cjs/drawutilssvg.d.ts +19 -1
  23. package/src/cjs/drawutilssvg.js +28 -5
  24. package/src/cjs/drawutilssvg.js.map +1 -1
  25. package/src/cjs/interfaces/DrawLib.d.ts +18 -1
  26. package/src/cjs/interfaces/DrawLib.js +2 -0
  27. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  28. package/src/cjs/utils/Params.d.ts +3 -2
  29. package/src/cjs/utils/Params.js +11 -3
  30. package/src/cjs/utils/Params.js.map +1 -1
  31. package/src/cjs/utils/WebColors.d.ts +2 -1
  32. package/src/cjs/utils/WebColors.js +15 -2
  33. package/src/cjs/utils/WebColors.js.map +1 -1
  34. package/src/cjs/utils/algorithms/HobbyPath.js +13 -16
  35. package/src/cjs/utils/algorithms/HobbyPath.js.map +1 -1
  36. package/src/cjs/utils/helpers/BezierResizeHelper.d.ts +144 -0
  37. package/src/cjs/utils/helpers/BezierResizeHelper.js +319 -0
  38. package/src/cjs/utils/helpers/BezierResizeHelper.js.map +1 -0
  39. package/src/esm/PlotBoilerplate.d.ts +11 -1
  40. package/src/esm/PlotBoilerplate.js +23 -7
  41. package/src/esm/PlotBoilerplate.js.map +1 -1
  42. package/src/esm/VertexListeners.d.ts +2 -1
  43. package/src/esm/VertexListeners.js +5 -1
  44. package/src/esm/VertexListeners.js.map +1 -1
  45. package/src/esm/draw.d.ts +18 -2
  46. package/src/esm/draw.js +21 -2
  47. package/src/esm/draw.js.map +1 -1
  48. package/src/esm/drawgl.d.ts +18 -3
  49. package/src/esm/drawgl.js +19 -2
  50. package/src/esm/drawgl.js.map +1 -1
  51. package/src/esm/drawutilssvg.d.ts +19 -1
  52. package/src/esm/drawutilssvg.js +28 -5
  53. package/src/esm/drawutilssvg.js.map +1 -1
  54. package/src/esm/interfaces/DrawLib.d.ts +18 -1
  55. package/src/esm/interfaces/DrawLib.js +2 -0
  56. package/src/esm/interfaces/DrawLib.js.map +1 -1
  57. package/src/esm/utils/Params.d.ts +3 -2
  58. package/src/esm/utils/Params.js +11 -3
  59. package/src/esm/utils/Params.js.map +1 -1
  60. package/src/esm/utils/WebColors.d.ts +2 -1
  61. package/src/esm/utils/WebColors.js +15 -2
  62. package/src/esm/utils/WebColors.js.map +1 -1
  63. package/src/esm/utils/algorithms/HobbyPath.js +13 -16
  64. package/src/esm/utils/algorithms/HobbyPath.js.map +1 -1
  65. package/src/esm/utils/helpers/BezierResizeHelper.d.ts +144 -0
  66. package/src/esm/utils/helpers/BezierResizeHelper.js +314 -0
  67. package/src/esm/utils/helpers/BezierResizeHelper.js.map +1 -0
  68. package/src/ts/PlotBoilerplate.ts +37 -11
  69. package/src/ts/VertexListeners.ts +5 -1
  70. package/src/ts/draw.ts +32 -2
  71. package/src/ts/drawgl.ts +38 -3
  72. package/src/ts/drawutilssvg.ts +33 -6
  73. package/src/ts/interfaces/DrawLib.ts +19 -1
  74. package/src/ts/utils/Params.ts +11 -3
  75. package/src/ts/utils/WebColors.ts +15 -2
  76. package/src/ts/utils/algorithms/HobbyPath.ts +248 -272
  77. package/src/ts/utils/helpers/BezierResizeHelper.ts +390 -0
  78. package/src/cjs/utils/_gup.js_ +0 -13
@@ -26,11 +26,13 @@
26
26
  * @modified 2023-09-29 Added the `lineDashes` attribute.
27
27
  * @modified 2023-09-30 Adding `strokeOptions` param to these draw function: line, arrow, cubicBezierArrow, cubicBezier, cubicBezierPath, circle, circleArc, ellipse, square, rect, polygon, polyline.
28
28
  * @modified 2026-01-04 Adding optional `lineJoin` attribute to the `StrokeOptions` interface.
29
+ * @modified 2026-04-04 Added the method `bounds`.
30
+ * @modified 2026-04-04 Added the `lineCap` attribute to the `StrokeOptions`.
29
31
  **/
30
32
  import { Bounds } from "../Bounds";
31
33
  import { Polygon } from "../Polygon";
32
34
  import { Vertex } from "../Vertex";
33
- import { SVGPathParams, UID, XYCoords } from "./core";
35
+ import { IBounds, SVGPathParams, UID, XYCoords } from "./core";
34
36
  export interface DrawLibConfiguration {
35
37
  blendMode?: 'source-over' | 'source-in' | 'source-out' | 'source-atop' | 'destination-over' | 'destination-in' | 'destination-out' | 'destination-atop' | 'lighter' | 'copy' | 'xor' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity' | null;
36
38
  }
@@ -59,6 +61,7 @@ export interface StrokeOptions {
59
61
  dashOffset?: number;
60
62
  dashArray?: Array<number>;
61
63
  lineJoin?: "round" | "bevel" | "miter";
64
+ lineCap?: "butt" | "round" | "square";
62
65
  }
63
66
  /**
64
67
  * An interface all drawing libraries must implement to be used with PlotBoilerplate.
@@ -379,6 +382,20 @@ export interface DrawLib<R> {
379
382
  * @memberof DrawLib
380
383
  */
381
384
  rect: (upperLeft: XYCoords, width: number, height: number, color: string, lineWidth?: number, strokeOptions?: StrokeOptions) => R;
385
+ /**
386
+ * Draw a rectangle at the given bounds; and with the specified line width and (CSS-) color.<br>
387
+ *
388
+ * @method bounds
389
+ * @param {IBounds} bounds - The bounds rectangle to be drawn.
390
+ * @param {string} color - The CSS color to draw the rectangle with.
391
+ * @param {number=} lineWidth - (optional) The line width to use; default is 1.
392
+ * @param {StrokeOptions=} strokeOptions - (optional) Stroke settings to use.
393
+ *
394
+ * @return {R}
395
+ * @instance
396
+ * @memberof DrawLib
397
+ */
398
+ bounds: (bounds: IBounds, color: string, lineWidth?: number, strokeOptions?: StrokeOptions) => R;
382
399
  /**
383
400
  * Draw a grid of horizontal and vertical lines with the given (CSS-) color.
384
401
  *
@@ -27,6 +27,8 @@
27
27
  * @modified 2023-09-29 Added the `lineDashes` attribute.
28
28
  * @modified 2023-09-30 Adding `strokeOptions` param to these draw function: line, arrow, cubicBezierArrow, cubicBezier, cubicBezierPath, circle, circleArc, ellipse, square, rect, polygon, polyline.
29
29
  * @modified 2026-01-04 Adding optional `lineJoin` attribute to the `StrokeOptions` interface.
30
+ * @modified 2026-04-04 Added the method `bounds`.
31
+ * @modified 2026-04-04 Added the `lineCap` attribute to the `StrokeOptions`.
30
32
  **/
31
33
  Object.defineProperty(exports, "__esModule", { value: true });
32
34
  //# sourceMappingURL=DrawLib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawLib.js","sourceRoot":"","sources":["../../ts/interfaces/DrawLib.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BI"}
1
+ {"version":3,"file":"DrawLib.js","sourceRoot":"","sources":["../../ts/interfaces/DrawLib.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BI"}
@@ -6,12 +6,13 @@
6
6
  * @version 1.0.0
7
7
  * @date 2023-03-13
8
8
  * @modified 2024-08-26 Added the `hasParam` method.
9
+ * @modified 2026-05-22 Added the `isValueAllowed` function param to the getter methods.
9
10
  */
10
11
  export declare class Params {
11
12
  baseParams: Record<string, string>;
12
13
  constructor(baseParams: Record<string, string>);
13
14
  hasParam(name: string): boolean;
14
- getString(name: string, fallback: string): string;
15
- getNumber(name: string, fallback: number): number;
15
+ getString(name: string, fallback: string, isValueAllowed?: (value: string) => boolean): string;
16
+ getNumber(name: string, fallback: number, isValueAllowed?: (value: number) => boolean): number;
16
17
  getBoolean(name: string, fallback: boolean): boolean;
17
18
  }
@@ -7,6 +7,7 @@
7
7
  * @version 1.0.0
8
8
  * @date 2023-03-13
9
9
  * @modified 2024-08-26 Added the `hasParam` method.
10
+ * @modified 2026-05-22 Added the `isValueAllowed` function param to the getter methods.
10
11
  */
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.Params = void 0;
@@ -17,19 +18,26 @@ var Params = /** @class */ (function () {
17
18
  Params.prototype.hasParam = function (name) {
18
19
  return this.baseParams.hasOwnProperty(name);
19
20
  };
20
- Params.prototype.getString = function (name, fallback) {
21
+ Params.prototype.getString = function (name, fallback, isValueAllowed) {
21
22
  var value = this.baseParams[name];
22
23
  if (typeof value === "undefined" || !value || (value = value.trim()).length === 0) {
23
24
  return fallback;
24
25
  }
26
+ if (isValueAllowed && !isValueAllowed(value)) {
27
+ return fallback;
28
+ }
25
29
  return value;
26
30
  };
27
- Params.prototype.getNumber = function (name, fallback) {
31
+ Params.prototype.getNumber = function (name, fallback, isValueAllowed) {
28
32
  var value = this.baseParams[name];
29
33
  if (typeof value === "undefined" || !value || (value = value.trim()).length === 0) {
30
34
  return fallback;
31
35
  }
32
- return Number(value);
36
+ var numericValue = Number(value);
37
+ if (isValueAllowed && !isValueAllowed(numericValue)) {
38
+ return fallback;
39
+ }
40
+ return numericValue;
33
41
  };
34
42
  Params.prototype.getBoolean = function (name, fallback) {
35
43
  var value = this.baseParams[name];
@@ -1 +1 @@
1
- {"version":3,"file":"Params.js","sourceRoot":"","sources":["../../ts/utils/Params.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH;IAGE,gBAAY,UAAkC;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,yBAAQ,GAAR,UAAS,IAAY;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,0BAAS,GAAT,UAAU,IAAY,EAAE,QAAgB;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0BAAS,GAAT,UAAU,IAAY,EAAE,QAAgB;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,2BAAU,GAAV,UAAW,IAAY,EAAE,QAAiB;QACxC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAC7G,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnH,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACH,aAAC;AAAD,CAAC,AAzCD,IAyCC;AAzCY,wBAAM"}
1
+ {"version":3,"file":"Params.js","sourceRoot":"","sources":["../../ts/utils/Params.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH;IAGE,gBAAY,UAAkC;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,yBAAQ,GAAR,UAAS,IAAY;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,0BAAS,GAAT,UAAU,IAAY,EAAE,QAAgB,EAAE,cAA2C;QACnF,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0BAAS,GAAT,UAAU,IAAY,EAAE,QAAgB,EAAE,cAA2C;QACnF,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,2BAAU,GAAV,UAAW,IAAY,EAAE,QAAiB;QACxC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAC7G,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnH,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACH,aAAC;AAAD,CAAC,AAhDD,IAgDC;AAhDY,wBAAM"}
@@ -4,7 +4,8 @@
4
4
  * @modified 2020-10-23 Ported to Typescript.
5
5
  * @modified 2020-10-30 Exporting each color under its name globally.
6
6
  * @modified 2025-12-08 Replaying self defined colors by official web colors.
7
- * @version 1.0.2
7
+ * @modified 2026-03-18 Fixing global `WebColors` array.
8
+ * @version 1.0.3
8
9
  **/
9
10
  import { Color } from "./datastructures/Color";
10
11
  export declare const Red: Color;
@@ -5,7 +5,8 @@
5
5
  * @modified 2020-10-23 Ported to Typescript.
6
6
  * @modified 2020-10-30 Exporting each color under its name globally.
7
7
  * @modified 2025-12-08 Replaying self defined colors by official web colors.
8
- * @version 1.0.2
8
+ * @modified 2026-03-18 Fixing global `WebColors` array.
9
+ * @version 1.0.3
9
10
  **/
10
11
  Object.defineProperty(exports, "__esModule", { value: true });
11
12
  exports.shuffleWebColors = exports.WebColors = exports.LightGreen = exports.Green = exports.Teal = exports.Cyan = exports.LightBlue = exports.Blue = exports.Indigo = exports.DeepPurple = exports.Purple = exports.Pink = exports.Red = void 0;
@@ -30,7 +31,19 @@ exports.LightGreen = Color_1.Color.LightGreen; // Color.makeRGB(141,195,67);
30
31
  * @requires Color
31
32
  *
32
33
  */
33
- exports.WebColors = [exports.Red, exports.Pink, exports.Purple, exports.DeepPurple, exports.Indigo, exports.Blue, exports.LightBlue, exports.Cyan, exports.Teal, exports.Green, exports.LightGreen];
34
+ exports.WebColors = [
35
+ Color_1.Color.Red,
36
+ Color_1.Color.Pink,
37
+ Color_1.Color.Purple,
38
+ Color_1.Color.DeepPink,
39
+ Color_1.Color.Indigo,
40
+ Color_1.Color.Blue,
41
+ Color_1.Color.LightBlue,
42
+ Color_1.Color.Cyan,
43
+ Color_1.Color.Teal,
44
+ Color_1.Color.Green,
45
+ Color_1.Color.LightGreen
46
+ ];
34
47
  /**
35
48
  * A helper function to shuffle the colors into a new order.
36
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"WebColors.js","sourceRoot":"","sources":["../../ts/utils/WebColors.ts"],"names":[],"mappings":";AAAA;;;;;;;IAOI;;;AAEJ,gDAA+C;AAElC,QAAA,GAAG,GAAU,aAAK,CAAC,GAAG,CAAC,CAAC,4BAA4B;AACpD,QAAA,IAAI,GAAU,aAAK,CAAC,IAAI,CAAC,CAAC,6BAA6B;AACvD,QAAA,MAAM,GAAU,aAAK,CAAC,MAAM,CAAC,CAAC,6BAA6B;AAC3D,QAAA,UAAU,GAAU,aAAK,CAAC,QAAQ,CAAC,CAAC,6BAA6B;AACjE,QAAA,MAAM,GAAU,aAAK,CAAC,MAAM,CAAC,CAAC,4BAA4B;AAC1D,QAAA,IAAI,GAAU,aAAK,CAAC,IAAI,CAAC,CAAC,6BAA6B;AACvD,QAAA,SAAS,GAAU,aAAK,CAAC,SAAS,CAAC,CAAC,4BAA4B;AAChE,QAAA,IAAI,GAAU,aAAK,CAAC,IAAI,CAAC,CAAC,4BAA4B;AACtD,QAAA,IAAI,GAAU,aAAK,CAAC,IAAI,CAAC,CAAC,4BAA4B;AACtD,QAAA,KAAK,GAAU,aAAK,CAAC,KAAK,CAAC,CAAC,4BAA4B;AACxD,QAAA,UAAU,GAAU,aAAK,CAAC,UAAU,CAAC,CAAC,6BAA6B;AAEhF;;;;;;;;GAQG;AACU,QAAA,SAAS,GAAiB,CAAC,WAAG,EAAE,YAAI,EAAE,cAAM,EAAE,kBAAU,EAAE,cAAM,EAAE,YAAI,EAAE,iBAAS,EAAE,YAAI,EAAE,YAAI,EAAE,aAAK,EAAE,kBAAU,CAAC,CAAC;AAE/H;;GAEG;AACI,IAAM,gBAAgB,GAAG,UAAC,KAAoB;IACnD,IAAM,MAAM,GAAiB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,CAAC,CAAC,GAAG,iBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,iBAAS,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B"}
1
+ {"version":3,"file":"WebColors.js","sourceRoot":"","sources":["../../ts/utils/WebColors.ts"],"names":[],"mappings":";AAAA;;;;;;;;IAQI;;;AAEJ,gDAA+C;AAElC,QAAA,GAAG,GAAU,aAAK,CAAC,GAAG,CAAC,CAAC,4BAA4B;AACpD,QAAA,IAAI,GAAU,aAAK,CAAC,IAAI,CAAC,CAAC,6BAA6B;AACvD,QAAA,MAAM,GAAU,aAAK,CAAC,MAAM,CAAC,CAAC,6BAA6B;AAC3D,QAAA,UAAU,GAAU,aAAK,CAAC,QAAQ,CAAC,CAAC,6BAA6B;AACjE,QAAA,MAAM,GAAU,aAAK,CAAC,MAAM,CAAC,CAAC,4BAA4B;AAC1D,QAAA,IAAI,GAAU,aAAK,CAAC,IAAI,CAAC,CAAC,6BAA6B;AACvD,QAAA,SAAS,GAAU,aAAK,CAAC,SAAS,CAAC,CAAC,4BAA4B;AAChE,QAAA,IAAI,GAAU,aAAK,CAAC,IAAI,CAAC,CAAC,4BAA4B;AACtD,QAAA,IAAI,GAAU,aAAK,CAAC,IAAI,CAAC,CAAC,4BAA4B;AACtD,QAAA,KAAK,GAAU,aAAK,CAAC,KAAK,CAAC,CAAC,4BAA4B;AACxD,QAAA,UAAU,GAAU,aAAK,CAAC,UAAU,CAAC,CAAC,6BAA6B;AAEhF;;;;;;;;GAQG;AACU,QAAA,SAAS,GAAiB;IACrC,aAAK,CAAC,GAAG;IACT,aAAK,CAAC,IAAI;IACV,aAAK,CAAC,MAAM;IACZ,aAAK,CAAC,QAAQ;IACd,aAAK,CAAC,MAAM;IACZ,aAAK,CAAC,IAAI;IACV,aAAK,CAAC,SAAS;IACf,aAAK,CAAC,IAAI;IACV,aAAK,CAAC,IAAI;IACV,aAAK,CAAC,KAAK;IACX,aAAK,CAAC,UAAU;CACjB,CAAC;AAEF;;GAEG;AACI,IAAM,gBAAgB,GAAG,UAAC,KAAoB;IACnD,IAAM,MAAM,GAAiB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,CAAC,CAAC,GAAG,iBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,iBAAS,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B"}
@@ -20,7 +20,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.HobbyPath = void 0;
21
21
  var CubicBezierCurve_1 = require("../../CubicBezierCurve");
22
22
  var Vertex_1 = require("../../Vertex");
23
- ;
24
23
  /**
25
24
  * @classdesc A HobbyCurve/HobbyPath calculation class: compute a set of optimal
26
25
  * cubic Bézier curves from a sequence of vertices.
@@ -37,7 +36,6 @@ var HobbyPath = /** @class */ (function () {
37
36
  function HobbyPath(vertices) {
38
37
  this.vertices = vertices ? vertices : [];
39
38
  }
40
- ;
41
39
  /**
42
40
  * Add a new point to the end of the vertex sequence.
43
41
  *
@@ -49,7 +47,6 @@ var HobbyPath = /** @class */ (function () {
49
47
  HobbyPath.prototype.addPoint = function (p) {
50
48
  this.vertices.push(p);
51
49
  };
52
- ;
53
50
  /**
54
51
  * Generate a sequence of cubic Bézier curves from the point set.
55
52
  *
@@ -82,7 +79,6 @@ var HobbyPath = /** @class */ (function () {
82
79
  return [];
83
80
  }
84
81
  };
85
- ;
86
82
  /**
87
83
  * Computes the control point coordinates for a Hobby curve through
88
84
  * the points given.
@@ -96,13 +92,17 @@ var HobbyPath = /** @class */ (function () {
96
92
  **/
97
93
  HobbyPath.prototype.hobbyControls = function (circular, omega) {
98
94
  // This is a version that works for both, closed and non-closed paths.
99
- if (typeof omega === 'undefined')
95
+ if (typeof omega === "undefined")
100
96
  omega = 0;
101
97
  var n = this.vertices.length - (circular ? 0 : 1);
102
98
  var D = new Array(n);
103
99
  var ds = new Array(n);
104
- var succ = function (i) { return circular ? ((i + 1) % n) : (i + 1); };
105
- var pred = function (i) { return circular ? ((i + n - 1) % n) : (i - 1); };
100
+ var succ = function (i) {
101
+ return circular ? (i + 1) % n : i + 1;
102
+ };
103
+ var pred = function (i) {
104
+ return circular ? (i + n - 1) % n : i - 1;
105
+ };
106
106
  for (var i = 0; i < n; i++) {
107
107
  // the "next" point in a modular way
108
108
  var j = succ(i);
@@ -110,7 +110,7 @@ var HobbyPath = /** @class */ (function () {
110
110
  D[i] = Math.sqrt(ds[i].x * ds[i].x + ds[i].y * ds[i].y);
111
111
  }
112
112
  var gamma = new Array(n + (circular ? 0 : 1));
113
- for (var i = (circular ? 0 : 1); i < n; i++) {
113
+ for (var i = circular ? 0 : 1; i < n; i++) {
114
114
  // the "previous" point in a modular way
115
115
  var k = pred(i);
116
116
  var sin = ds[k].y / D[k];
@@ -124,7 +124,7 @@ var HobbyPath = /** @class */ (function () {
124
124
  var b = new Array(n + (circular ? 0 : 1));
125
125
  var c = new Array(n + (circular ? 0 : 1));
126
126
  var d = new Array(n + (circular ? 0 : 1));
127
- for (var i = (circular ? 0 : 1); i < n; i++) {
127
+ for (var i = circular ? 0 : 1; i < n; i++) {
128
128
  // j is the "next" point, k the "previous" one
129
129
  var j = succ(i);
130
130
  var k = pred(i);
@@ -174,16 +174,14 @@ var HobbyPath = /** @class */ (function () {
174
174
  var endControlPoints = new Array(n);
175
175
  for (var i = 0; i < n; i++) {
176
176
  var j = succ(i);
177
- var a_1 = HobbyPath.utils.rho(alpha[i], beta[i]) * D[i] / 3;
178
- var b_1 = HobbyPath.utils.rho(beta[i], alpha[i]) * D[i] / 3;
177
+ var a_1 = (HobbyPath.utils.rho(alpha[i], beta[i]) * D[i]) / 3;
178
+ var b_1 = (HobbyPath.utils.rho(beta[i], alpha[i]) * D[i]) / 3;
179
179
  var v = HobbyPath.utils.normalize(HobbyPath.utils.rotateAngle(ds[i], alpha[i]));
180
180
  startControlPoints[i] = new Vertex_1.Vertex(this.vertices[i].x + a_1 * v.x, this.vertices[i].y + a_1 * v.y);
181
181
  v = HobbyPath.utils.normalize(HobbyPath.utils.rotateAngle(ds[i], -beta[i]));
182
182
  endControlPoints[i] = new Vertex_1.Vertex(this.vertices[j].x - b_1 * v.x, this.vertices[j].y - b_1 * v.y);
183
183
  }
184
- return { startControlPoints: startControlPoints,
185
- endControlPoints: endControlPoints
186
- };
184
+ return { startControlPoints: startControlPoints, endControlPoints: endControlPoints };
187
185
  };
188
186
  HobbyPath.utils = {
189
187
  // rotates a vector [x, y] about an angle; the angle is implicitly
@@ -272,7 +270,6 @@ var HobbyPath = /** @class */ (function () {
272
270
  }
273
271
  };
274
272
  return HobbyPath;
275
- }());
273
+ }()); // END class
276
274
  exports.HobbyPath = HobbyPath;
277
- ; // END class
278
275
  //# sourceMappingURL=HobbyPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HobbyPath.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/HobbyPath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HobbyPath.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/HobbyPath.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * A helper to resize bezier paths in horizontal and vertical orientation.
3
+ *
4
+ * @requires PlotBoilerplate
5
+ * @requires BezierPath
6
+ * @requires Vertex
7
+ *
8
+ * @author Ikaros Kappler
9
+ * @date 2026-04-04 Copied from the ngdg project, made minor type adaptions.
10
+ * @version 1.2.0
11
+ *
12
+ */
13
+ import { BezierPath } from "../../BezierPath";
14
+ import PlotBoilerplate from "../../PlotBoilerplate";
15
+ import { Vertex } from "../../Vertex";
16
+ import { DrawLib, XYCoords } from "../../interfaces";
17
+ export declare class BezierResizeHelper {
18
+ private pb;
19
+ readonly bezierPath: BezierPath;
20
+ readonly topResizeHandle: Vertex;
21
+ readonly leftResizeHandle: Vertex;
22
+ readonly bottomResizeHandle: Vertex;
23
+ readonly rightResizeHandle: Vertex;
24
+ topHandleDragStartPosition: XYCoords;
25
+ leftHandleDragStartPosition: XYCoords;
26
+ bottomHandleDragStartPosition: XYCoords;
27
+ rightHandleDragStartPosition: XYCoords;
28
+ __listeners: Array<() => void>;
29
+ /**
30
+ * The constructor.
31
+ *
32
+ * @param {PlotBoilerplate} pb
33
+ * @param {BezierPath} bezierPath
34
+ * @param {function} updateCallback
35
+ */
36
+ constructor(pb: PlotBoilerplate, bezierPath: BezierPath, updateCallback: () => void);
37
+ draw(draw: DrawLib<any>, fill: DrawLib<any>): void;
38
+ /**
39
+ * Call this method from the outside to see active helper lines for those edges
40
+ * that are currently dragged.
41
+ *
42
+ * @param {DrawLib<any>} draw
43
+ * @param {DrawLib<any>} fill
44
+ * @param {string} lineColor
45
+ */
46
+ drawHandleLines(draw: DrawLib<any>, fill: DrawLib<any>, lineColor: string): void;
47
+ drawTriangles(draw: DrawLib<any>, _fill: DrawLib<any>, color: string): void;
48
+ /**
49
+ * Draws an up-trinangle at the top handle position.
50
+ *
51
+ * @param draw
52
+ * @param position
53
+ * @param color
54
+ */
55
+ drawTopTriangle(draw: DrawLib<any>, _fill: DrawLib<any>, color: string): void;
56
+ /**
57
+ * Draws an up-trinangle at the top handle position.
58
+ *
59
+ * @param draw
60
+ * @param position
61
+ * @param color
62
+ */
63
+ drawLeftTriangle(draw: DrawLib<any>, _fill: DrawLib<any>, color: string): void;
64
+ /**
65
+ * Draws an up-trinangle at the top handle position.
66
+ *
67
+ * @param draw
68
+ * @param position
69
+ * @param color
70
+ */
71
+ drawBottomTriangle(draw: DrawLib<any>, _fill: DrawLib<any>, color: string): void;
72
+ /**
73
+ * Draws an right-trinangle at the top handle position.
74
+ *
75
+ * @param draw
76
+ * @param position
77
+ * @param color
78
+ */
79
+ drawRightTriangle(draw: DrawLib<any>, _fill: DrawLib<any>, color: string): void;
80
+ /**
81
+ * Draws an up-trinangle at the top handle position.
82
+ *
83
+ * @param draw
84
+ * @param position
85
+ * @param color
86
+ */
87
+ private __drawUpTriangle;
88
+ /**
89
+ * Draws an left-trinangle at the left handle position.
90
+ *
91
+ * @param draw
92
+ * @param position
93
+ * @param color
94
+ */
95
+ private __drawLeftTriangle;
96
+ /**
97
+ * Draws a down-trinangle at the top handle position.
98
+ *
99
+ * @param draw
100
+ * @param position
101
+ * @param color
102
+ */
103
+ private __drawDownTriangle;
104
+ /**
105
+ * Draws an left-trinangle at the left handle position.
106
+ *
107
+ * @param draw
108
+ * @param position
109
+ * @param color
110
+ */
111
+ private __drawRightTriangle;
112
+ /**
113
+ * Destroys this helper by removing all previously installed vertex listeners.
114
+ */
115
+ destroy(): void;
116
+ /**
117
+ * Install all required drag-start and drag-end listeners.
118
+ */
119
+ private __installListeners;
120
+ /**
121
+ * @param {BezierPath} bezierPath - The path to update.
122
+ * @param {number} heightAmount - The height difference to apply. Can be positive or negative or zero.
123
+ */
124
+ private __changePathHeightTop;
125
+ /**
126
+ * @param {BezierPath} bezierPath - The path to update.
127
+ * @param {number} widthAmount - The width difference to apply. Can be positive or negative or zero.
128
+ */
129
+ private __changePathWidthLeft;
130
+ /**
131
+ * @param {BezierPath} bezierPath - The path to update.
132
+ * @param {number} heightAmount - The height difference to apply. Can be positive or negative or zero.
133
+ */
134
+ private __changePathHeightBottom;
135
+ /**
136
+ * @param {BezierPath} bezierPath - The path to update.
137
+ * @param {number} widthAmount - The width difference to apply. Can be positive or negative or zero.
138
+ */
139
+ private __changePathWidthRight;
140
+ /**
141
+ * Set the handles to the new position after the path was resized.
142
+ */
143
+ updateResizeHandles(): void;
144
+ }