@ntf/math 1.2.0 → 1.3.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.
Files changed (125) hide show
  1. package/dist/index.cjs +2536 -0
  2. package/dist/index.d.cts +738 -0
  3. package/dist/index.d.mts +738 -0
  4. package/dist/index.mjs +2489 -0
  5. package/package.json +19 -12
  6. package/dist/cjs/algebra/function.js +0 -7
  7. package/dist/cjs/algebra/function.js.map +0 -1
  8. package/dist/cjs/algebra/linear.js +0 -49
  9. package/dist/cjs/algebra/linear.js.map +0 -1
  10. package/dist/cjs/algebra/quad.js +0 -62
  11. package/dist/cjs/algebra/quad.js.map +0 -1
  12. package/dist/cjs/color.js +0 -243
  13. package/dist/cjs/color.js.map +0 -1
  14. package/dist/cjs/common/error.js +0 -14
  15. package/dist/cjs/common/error.js.map +0 -1
  16. package/dist/cjs/common/sign.js +0 -14
  17. package/dist/cjs/common/sign.js.map +0 -1
  18. package/dist/cjs/common/types.js +0 -77
  19. package/dist/cjs/common/types.js.map +0 -1
  20. package/dist/cjs/geometry/angle.js +0 -11
  21. package/dist/cjs/geometry/angle.js.map +0 -1
  22. package/dist/cjs/geometry/bbox.js +0 -102
  23. package/dist/cjs/geometry/bbox.js.map +0 -1
  24. package/dist/cjs/geometry/circle.js +0 -87
  25. package/dist/cjs/geometry/circle.js.map +0 -1
  26. package/dist/cjs/geometry/object.js +0 -3
  27. package/dist/cjs/geometry/object.js.map +0 -1
  28. package/dist/cjs/geometry/rectangle.js +0 -98
  29. package/dist/cjs/geometry/rectangle.js.map +0 -1
  30. package/dist/cjs/geometry/square.js +0 -70
  31. package/dist/cjs/geometry/square.js.map +0 -1
  32. package/dist/cjs/geometry/triangle.js +0 -65
  33. package/dist/cjs/geometry/triangle.js.map +0 -1
  34. package/dist/cjs/index.js +0 -59
  35. package/dist/cjs/index.js.map +0 -1
  36. package/dist/cjs/matrices/mat3.js +0 -202
  37. package/dist/cjs/matrices/mat3.js.map +0 -1
  38. package/dist/cjs/matrices/mat4.js +0 -292
  39. package/dist/cjs/matrices/mat4.js.map +0 -1
  40. package/dist/cjs/quaternion.js +0 -204
  41. package/dist/cjs/quaternion.js.map +0 -1
  42. package/dist/cjs/vectors/vec2.js +0 -168
  43. package/dist/cjs/vectors/vec2.js.map +0 -1
  44. package/dist/cjs/vectors/vec3.js +0 -177
  45. package/dist/cjs/vectors/vec3.js.map +0 -1
  46. package/dist/esm/algebra/function.js +0 -3
  47. package/dist/esm/algebra/function.js.map +0 -1
  48. package/dist/esm/algebra/linear.js +0 -45
  49. package/dist/esm/algebra/linear.js.map +0 -1
  50. package/dist/esm/algebra/quad.js +0 -58
  51. package/dist/esm/algebra/quad.js.map +0 -1
  52. package/dist/esm/color.js +0 -236
  53. package/dist/esm/color.js.map +0 -1
  54. package/dist/esm/common/error.js +0 -10
  55. package/dist/esm/common/error.js.map +0 -1
  56. package/dist/esm/common/sign.js +0 -10
  57. package/dist/esm/common/sign.js.map +0 -1
  58. package/dist/esm/common/types.js +0 -65
  59. package/dist/esm/common/types.js.map +0 -1
  60. package/dist/esm/geometry/angle.js +0 -5
  61. package/dist/esm/geometry/angle.js.map +0 -1
  62. package/dist/esm/geometry/bbox.js +0 -98
  63. package/dist/esm/geometry/bbox.js.map +0 -1
  64. package/dist/esm/geometry/circle.js +0 -83
  65. package/dist/esm/geometry/circle.js.map +0 -1
  66. package/dist/esm/geometry/object.js +0 -2
  67. package/dist/esm/geometry/object.js.map +0 -1
  68. package/dist/esm/geometry/rectangle.js +0 -94
  69. package/dist/esm/geometry/rectangle.js.map +0 -1
  70. package/dist/esm/geometry/square.js +0 -66
  71. package/dist/esm/geometry/square.js.map +0 -1
  72. package/dist/esm/geometry/triangle.js +0 -59
  73. package/dist/esm/geometry/triangle.js.map +0 -1
  74. package/dist/esm/index.js +0 -40
  75. package/dist/esm/index.js.map +0 -1
  76. package/dist/esm/matrices/mat3.js +0 -198
  77. package/dist/esm/matrices/mat3.js.map +0 -1
  78. package/dist/esm/matrices/mat4.js +0 -288
  79. package/dist/esm/matrices/mat4.js.map +0 -1
  80. package/dist/esm/quaternion.js +0 -200
  81. package/dist/esm/quaternion.js.map +0 -1
  82. package/dist/esm/vectors/vec2.js +0 -164
  83. package/dist/esm/vectors/vec2.js.map +0 -1
  84. package/dist/esm/vectors/vec3.js +0 -173
  85. package/dist/esm/vectors/vec3.js.map +0 -1
  86. package/dist/types/algebra/function.d.ts +0 -6
  87. package/dist/types/algebra/function.d.ts.map +0 -1
  88. package/dist/types/algebra/linear.d.ts +0 -14
  89. package/dist/types/algebra/linear.d.ts.map +0 -1
  90. package/dist/types/algebra/quad.d.ts +0 -18
  91. package/dist/types/algebra/quad.d.ts.map +0 -1
  92. package/dist/types/color.d.ts +0 -90
  93. package/dist/types/color.d.ts.map +0 -1
  94. package/dist/types/common/error.d.ts +0 -6
  95. package/dist/types/common/error.d.ts.map +0 -1
  96. package/dist/types/common/sign.d.ts +0 -2
  97. package/dist/types/common/sign.d.ts.map +0 -1
  98. package/dist/types/common/types.d.ts +0 -26
  99. package/dist/types/common/types.d.ts.map +0 -1
  100. package/dist/types/geometry/angle.d.ts +0 -5
  101. package/dist/types/geometry/angle.d.ts.map +0 -1
  102. package/dist/types/geometry/bbox.d.ts +0 -38
  103. package/dist/types/geometry/bbox.d.ts.map +0 -1
  104. package/dist/types/geometry/circle.d.ts +0 -32
  105. package/dist/types/geometry/circle.d.ts.map +0 -1
  106. package/dist/types/geometry/object.d.ts +0 -5
  107. package/dist/types/geometry/object.d.ts.map +0 -1
  108. package/dist/types/geometry/rectangle.d.ts +0 -34
  109. package/dist/types/geometry/rectangle.d.ts.map +0 -1
  110. package/dist/types/geometry/square.d.ts +0 -28
  111. package/dist/types/geometry/square.d.ts.map +0 -1
  112. package/dist/types/geometry/triangle.d.ts +0 -42
  113. package/dist/types/geometry/triangle.d.ts.map +0 -1
  114. package/dist/types/index.d.ts +0 -23
  115. package/dist/types/index.d.ts.map +0 -1
  116. package/dist/types/matrices/mat3.d.ts +0 -62
  117. package/dist/types/matrices/mat3.d.ts.map +0 -1
  118. package/dist/types/matrices/mat4.d.ts +0 -89
  119. package/dist/types/matrices/mat4.d.ts.map +0 -1
  120. package/dist/types/quaternion.d.ts +0 -50
  121. package/dist/types/quaternion.d.ts.map +0 -1
  122. package/dist/types/vectors/vec2.d.ts +0 -60
  123. package/dist/types/vectors/vec2.d.ts.map +0 -1
  124. package/dist/types/vectors/vec3.d.ts +0 -58
  125. package/dist/types/vectors/vec3.d.ts.map +0 -1
@@ -1,45 +0,0 @@
1
- import { sign_char } from "../common/sign.js";
2
- import { check_number } from "../common/types.js";
3
- import { Vec2 } from "../vectors/vec2.js";
4
- import { MathFunction } from "./function.js";
5
- export class LinearFunction extends MathFunction {
6
- m;
7
- b;
8
- static get(m, b, x) {
9
- return new this(m, b).get(x);
10
- }
11
- static fromPoints(a, b) {
12
- const veca = Vec2.resolve(a);
13
- const vecb = Vec2.resolve(b);
14
- const m = (vecb.y - veca.y) / (vecb.x - veca.x);
15
- const h = -m * veca.x + veca.y;
16
- return new this(m, h);
17
- }
18
- constructor(m, b) {
19
- super();
20
- if (!check_number(m))
21
- throw new TypeError("expected number for m");
22
- if (!check_number(b))
23
- throw new TypeError("expected number for b");
24
- this.m = m;
25
- this.b = b;
26
- }
27
- get(x) {
28
- if (!check_number(x))
29
- throw new TypeError("expected number for x");
30
- return this.m;
31
- }
32
- roots() {
33
- const x = -(this.b) / this.m;
34
- if (!isNaN(x))
35
- return [new Vec2(x)];
36
- return [];
37
- }
38
- toString() {
39
- const bsign = sign_char(this.b);
40
- if (bsign)
41
- return `f(x) = ${this.m} * x ${bsign} ${Math.abs(this.b)}`;
42
- return `f(x) = ${this.m} * x`;
43
- }
44
- }
45
- //# sourceMappingURL=linear.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../source/algebra/linear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAY,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzC,MAAM,OAAO,cAAe,SAAQ,YAAsB;IAE/C,CAAC,CAAQ;IACT,CAAC,CAAQ;IACT,MAAM,CAAC,GAAG,CAAC,CAAS,EAAC,CAAS,EAAC,CAAS;QAE3C,OAAO,IAAI,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IACM,MAAM,CAAC,UAAU,CAAC,CAAW,EAAC,CAAW;QAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,GAAC,IAAI,CAAC,CAAC,GAAC,IAAI,CAAC,CAAC,CAAA;QAC1B,OAAO,IAAI,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IACD,YAAmB,CAAS,EAAC,CAAS;QAElC,KAAK,EAAE,CAAA;QACP,IAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAA;QAChD,IAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAA;QAChD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACM,GAAG,CAAC,CAAS;QAEhB,IAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAA;QAChD,OAAO,IAAI,CAAC,CAAC,CAAA;IACjB,CAAC;IACM,KAAK;QAER,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxB,OAAO,EAAE,CAAA;IACb,CAAC;IACM,QAAQ;QAEX,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAG,KAAK;YACJ,OAAO,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9D,OAAO,UAAU,IAAI,CAAC,CAAC,MAAM,CAAA;IACjC,CAAC;CACJ"}
@@ -1,58 +0,0 @@
1
- import { sign_char } from "../common/sign.js";
2
- import { check_number } from "../common/types.js";
3
- import { Vec2 } from "../vectors/vec2.js";
4
- import { MathFunction } from "./function.js";
5
- export class QuadFunction extends MathFunction {
6
- a;
7
- b;
8
- c;
9
- static get(a, b, c, x) {
10
- return new this(a, b, c).get(x);
11
- }
12
- constructor(a, b, c) {
13
- super();
14
- if (!check_number(a))
15
- throw new TypeError("expected number for a");
16
- if (a == 0)
17
- throw new TypeError("a cannot be 0");
18
- if (!check_number(b))
19
- throw new TypeError("expected number for b");
20
- if (!check_number(c))
21
- throw new TypeError("expected number for c");
22
- this.a = a;
23
- this.b = b;
24
- this.c = c;
25
- }
26
- get(x) {
27
- if (!check_number(x))
28
- throw new TypeError("expected number for x");
29
- return this.a * x * x + this.b * x + this.c;
30
- }
31
- roots() {
32
- const roots = new Array;
33
- const discriminant = this.b * this.b - 4 * this.a * this.c;
34
- const n0 = (-this.b + Math.sqrt(discriminant)) / (2 * this.a);
35
- const n1 = (-this.b + Math.sqrt(discriminant)) / (2 * this.a);
36
- if (!isNaN(n0))
37
- roots.push(new Vec2(n0));
38
- if (!isNaN(n1) && n0 != n1)
39
- roots.push(new Vec2(n1));
40
- return roots;
41
- }
42
- toString(type = "standard") {
43
- switch (type) {
44
- default:
45
- case "standard":
46
- {
47
- const bsign = sign_char(this.b);
48
- const csign = sign_char(this.c);
49
- if (bsign && csign)
50
- return `f(x) = ${this.a}x^2 ${bsign} ${Math.abs(this.b)}x ${csign} ${Math.abs(this.c)}`;
51
- if (bsign)
52
- return `f(x) = ${this.a}x^2 ${bsign} ${Math.abs(this.b)}x`;
53
- return `f(x) = ${this.a}x^2`;
54
- }
55
- }
56
- }
57
- }
58
- //# sourceMappingURL=quad.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quad.js","sourceRoot":"","sources":["../../../source/algebra/quad.ts"],"names":[],"mappings":"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"}
package/dist/esm/color.js DELETED
@@ -1,236 +0,0 @@
1
- import { ResolveError } from "./common/error.js";
2
- import { check_hex, check_number, check_number_array, check_string, check_string_array, get_hex_part, has_property } from "./common/types.js";
3
- import { clamp } from "./index.js";
4
- function _hex_to_array(hex) {
5
- if (!check_hex(hex))
6
- return undefined;
7
- const part = get_hex_part(hex);
8
- const a = parseInt(part.substring(0, 2), 16) / 0xff;
9
- const b = parseInt(part.substring(2, 4), 16) / 0xff;
10
- const c = parseInt(part.substring(4, 6), 16) / 0xff;
11
- const d = part.length == 8 ? parseInt(hex.substring(6, 8), 16) / 0xff : 1;
12
- return [a, b, c, d];
13
- }
14
- function _number_to_rgb(number) {
15
- const blue = number & 0xff;
16
- const green = (number & 0xff00) >>> 8;
17
- const red = (number & 0xff0000) >>> 16;
18
- return [red / 0xff, green / 0xff, blue / 0xff];
19
- }
20
- function _number_to_rgba(number) {
21
- const alpha = number & 0xff;
22
- const blue = (number & 0xff00) >>> 8;
23
- const green = (number & 0xff0000) >>> 16;
24
- const red = (number & 0xff000000) >>> 24;
25
- return [red / 0xff, green / 0xff, blue / 0xff, alpha / 0xff];
26
- }
27
- function _fix_integer(number) {
28
- return number * 0xff | 0;
29
- }
30
- export class RGBAColor {
31
- _red;
32
- get red() { return this._red; }
33
- set red(val) { this._red = clamp(val, 0, 1); }
34
- _green;
35
- get green() { return this._green; }
36
- set green(val) { this._green = clamp(val, 0, 1); }
37
- _blue;
38
- get blue() { return this._blue; }
39
- set blue(val) { this._blue = clamp(val, 0, 1); }
40
- _alpha;
41
- get alpha() { return this._alpha; }
42
- set alpha(val) { this._alpha = clamp(val, 0, 1); }
43
- static resolve(a) {
44
- const value = this.cast(a);
45
- if (typeof value != "undefined")
46
- return value;
47
- throw new ResolveError("RGBAColor", a);
48
- }
49
- static cast(a) {
50
- if (a == null || typeof a == "undefined")
51
- return undefined;
52
- if (check_number_array(a, 3) || check_number_array(a, 4))
53
- return new this(a[0], a[1], a[2], a[3]);
54
- if (has_property(a, "red", "number") && has_property(a, "green", "number") && has_property(a, "blue", "number"))
55
- return new this(a.red, a.green, a.blue, has_property(a, "alpha", "number") ? a.alpha : undefined);
56
- if (check_number(a)) {
57
- const hex = a.toString(16);
58
- const convert = hex.length <= 6 ? _number_to_rgb : _number_to_rgba;
59
- return this.cast(convert(a));
60
- }
61
- if (check_string(a)) {
62
- if (a.startsWith("rgb")) {
63
- const hasAlpha = a.startsWith("rgba");
64
- const offset = hasAlpha ? 5 : 4;
65
- const parts = a.substring(offset, a.indexOf(")", offset)).split(",");
66
- if (check_string_array(parts, hasAlpha ? 4 : 3))
67
- return this.cast(parts.map((v) => parseInt(v) / 0xff));
68
- }
69
- return this.cast(_hex_to_array(a));
70
- }
71
- return undefined;
72
- }
73
- static is(a) {
74
- return typeof this.cast(a) != "undefined";
75
- }
76
- constructor(red, green, blue, alpha = 1) {
77
- this._red = clamp(red, 0, 1);
78
- this._green = clamp(green, 0, 1);
79
- this._blue = clamp(blue, 0, 1);
80
- this._alpha = clamp(alpha, 0, 1);
81
- }
82
- toArray(withAlpha = false) {
83
- return withAlpha ? [this.red, this.green, this.blue, this.alpha] : (this.alpha == 1 ? [this.red, this.green, this.blue] : this.toArray(true));
84
- }
85
- toJSON(withAlpha = false) {
86
- return withAlpha ? {
87
- red: this.red, green: this.green, blue: this.blue, alpha: this.alpha
88
- } : (this.alpha == 1 ? { red: this.red, green: this.green, blue: this.blue } : this.toJSON(true));
89
- }
90
- toString(withAlpha = false) {
91
- return withAlpha ? `rgba(${_fix_integer(this.red)},${_fix_integer(this.green)},${_fix_integer(this.blue)},${_fix_integer(this.alpha)})` : (this.alpha == 1 ? `rgb(${_fix_integer(this.red)},${_fix_integer(this.green)},${_fix_integer(this.blue)})` : this.toString(true));
92
- }
93
- toHSL(withAlpha = true) {
94
- const red = this.red, green = this.green, blue = this.blue;
95
- const min = Math.min(red, green, blue), max = Math.max(red, green, blue);
96
- const luminace = (min + max) / 2;
97
- if (min == max)
98
- return new HSLColor(0, 0, luminace, withAlpha ? this.alpha : undefined);
99
- const d = max - min;
100
- const saturation = luminace > 0.5 ? d / (2 - max - min) : d / (max + min);
101
- if (max == red)
102
- return new HSLColor(((green - blue) / d + (green < blue ? 6 : 0)) / 6, saturation, luminace);
103
- if (max == green)
104
- return new HSLColor(((blue - red) / d + 2) / 6, saturation, luminace);
105
- if (max == blue)
106
- return new HSLColor(((red - green) / d + 4) / 6, saturation, luminace);
107
- return new HSLColor(0, saturation, luminace, withAlpha ? this.alpha : undefined);
108
- }
109
- invert(withAlpha = false) {
110
- return new RGBAColor(1 - this.red, 1 - this.green, 1 - this.blue, withAlpha ? 1 - this.alpha : this.alpha);
111
- }
112
- }
113
- export class HSLColor {
114
- _hue;
115
- get hue() { return this._hue; }
116
- set hue(val) { this._hue = clamp(val, 0, 1); }
117
- _saturation;
118
- get saturation() { return this._saturation; }
119
- set saturation(val) { this._saturation = clamp(val, 0, 1); }
120
- _luminace;
121
- get luminace() { return this._luminace; }
122
- set luminace(val) { this._luminace = clamp(val, 0, 1); }
123
- _alpha;
124
- get alpha() { return this._alpha; }
125
- set alpha(val) { this._alpha = clamp(val, 0, 1); }
126
- static resolve(a) {
127
- const value = this.cast(a);
128
- if (typeof value != "undefined")
129
- return value;
130
- throw new ResolveError("HSLColor", a);
131
- }
132
- static cast(a) {
133
- if (a == null || typeof a == "undefined")
134
- return undefined;
135
- if (check_number_array(a, 3) || check_number_array(a, 4))
136
- return new this(a[0], a[1], a[2], a[3]);
137
- if (has_property(a, "hue", "number") && has_property(a, "saturation", "number") && has_property(a, "luminace", "number"))
138
- return new this(a.hue, a.saturation, a.luminace, has_property(a, "alpha", "number") ? a.alpha : undefined);
139
- if (check_number(a)) {
140
- const hex = a.toString(16);
141
- const convert = hex.length <= 6 ? _number_to_rgb : _number_to_rgba;
142
- return this.cast(convert(a));
143
- }
144
- if (check_string(a)) {
145
- if (a.startsWith("hsl")) {
146
- const hasAlpha = a.startsWith("hsla");
147
- const offset = hasAlpha ? 5 : 4;
148
- const parts = a.substring(offset, a.indexOf(")", offset)).split(",");
149
- if (check_string_array(parts, hasAlpha ? 4 : 3))
150
- return this.cast(parts.map((v) => parseInt(v) / 0xff));
151
- }
152
- return this.cast(_hex_to_array(a));
153
- }
154
- return undefined;
155
- }
156
- static is(a) {
157
- return typeof this.cast(a) != "undefined";
158
- }
159
- constructor(hue, saturation, luminace, alpha = 1) {
160
- if (!check_number(hue))
161
- throw new TypeError("expected number for hue");
162
- if (!check_number(saturation))
163
- throw new TypeError("expected number for saturation");
164
- if (!check_number(luminace))
165
- throw new TypeError("expected number for luminace");
166
- if (!check_number(alpha))
167
- throw new TypeError("expected number for alpha");
168
- this._hue = clamp(hue, 0, 1);
169
- this._saturation = clamp(saturation, 0, 1);
170
- this._luminace = clamp(luminace, 0, 1);
171
- this._alpha = clamp(alpha, 0, 1);
172
- }
173
- toArray(withAlpha = false) {
174
- return withAlpha ? [this.hue, this.saturation, this.luminace, this.alpha] : (this.alpha == 1 ? [this.hue, this.saturation, this.luminace] : this.toArray(true));
175
- }
176
- toJSON(withAlpha = false) {
177
- return withAlpha ? {
178
- hue: this.hue, saturation: this.saturation, luminace: this.luminace, alpha: this.alpha
179
- } : (this.alpha == 1 ? { hue: this.hue, saturation: this.saturation, luminace: this.luminace } : this.toJSON(true));
180
- }
181
- toString(withAlpha = false) {
182
- return withAlpha ? `hsla(${_fix_integer(this.hue)},${_fix_integer(this.saturation)},${_fix_integer(this.luminace)},${_fix_integer(this.alpha)})` : (this.alpha == 1 ? `hsl(${_fix_integer(this.hue)},${_fix_integer(this.saturation)},${_fix_integer(this.luminace)})` : this.toString(true));
183
- }
184
- toRGB(withAlpha = true) {
185
- if (this.saturation == 0)
186
- return new RGBAColor(this.luminace * 0xff, this.luminace * 0xff, this.luminace * 0xff, withAlpha ? this.alpha : undefined);
187
- const q = this.luminace < 0.5 ? this.luminace * (1 + this.saturation) : this.luminace + this.saturation - this.luminace * this.saturation;
188
- const p = 2 * this.luminace - q;
189
- function _hue_2_rgb(t) {
190
- let _t = t;
191
- if (_t < 0)
192
- _t++;
193
- if (_t > 1)
194
- _t--;
195
- if (_t < 1. / 6)
196
- return p + (q - p) * 6 * _t;
197
- if (_t < 1. / 2)
198
- return q;
199
- if (_t < 2. / 3)
200
- return p + (q - p) * (2. / 3 - _t) * 6;
201
- return p;
202
- }
203
- return new RGBAColor(_hue_2_rgb(this.hue + 1. / 3) * 0xff, _hue_2_rgb(this.hue) * 0xff, _hue_2_rgb(this.hue - 1. / 3) * 0xff, withAlpha ? this.alpha : undefined);
204
- }
205
- invert(withAlpha = false) {
206
- return new HSLColor(1 - this.hue, 1 - this.saturation, 1 - this.luminace, withAlpha ? 1 - this.alpha : this.alpha);
207
- }
208
- }
209
- export function resolveColor(a, preferHSL = false) {
210
- const value = castColor(a, preferHSL);
211
- if (typeof value != "undefined")
212
- return value;
213
- throw new ResolveError("Color", a);
214
- }
215
- export function castColor(a, preferHSL = false) {
216
- const results = [];
217
- try {
218
- const rgba = RGBAColor.resolve(a);
219
- results.push(rgba);
220
- }
221
- catch (e) { }
222
- try {
223
- const hsla = HSLColor.resolve(a);
224
- results.push(hsla);
225
- }
226
- catch (e) { }
227
- let offset = preferHSL ? 1 : 0;
228
- const firstItem = results[offset];
229
- if (firstItem)
230
- return firstItem;
231
- const secondItem = results[offset + 1];
232
- if (secondItem)
233
- return secondItem;
234
- return undefined;
235
- }
236
- //# sourceMappingURL=color.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../source/color.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export class ResolveError extends Error {
2
- target;
3
- value;
4
- constructor(target, value) {
5
- super(`can't resolve ${value} to ${target}`);
6
- this.target = target;
7
- this.value = value;
8
- }
9
- }
10
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../source/common/error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAEA;IAA+B;IAAlE,YAAmC,MAAc,EAAiB,KAAc;QAE5E,KAAK,CAAC,iBAAiB,KAAK,OAAO,MAAM,EAAE,CAAC,CAAA;QAFb,WAAM,GAAN,MAAM,CAAQ;QAAiB,UAAK,GAAL,KAAK,CAAS;IAGhF,CAAC;CACJ"}
@@ -1,10 +0,0 @@
1
- export function sign_char(num) {
2
- if (num == 0)
3
- return undefined;
4
- if (num < 0)
5
- return "-";
6
- if (num > 0)
7
- return "+";
8
- return undefined;
9
- }
10
- //# sourceMappingURL=sign.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../source/common/sign.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,GAAoB;IAE1C,IAAG,GAAG,IAAI,CAAC;QACP,OAAO,SAAS,CAAA;IACpB,IAAG,GAAG,GAAG,CAAC;QACN,OAAO,GAAG,CAAA;IACd,IAAG,GAAG,GAAG,CAAC;QACN,OAAO,GAAG,CAAA;IACd,OAAO,SAAS,CAAA;AACpB,CAAC"}
@@ -1,65 +0,0 @@
1
- export function check_number(obj) {
2
- return obj != null && typeof obj == "number" && !isNaN(obj) && isFinite(obj);
3
- }
4
- export function check_hex_digit(obj) {
5
- if (!check_string(obj) || obj.length != 1)
6
- return false;
7
- switch (obj.toUpperCase()) {
8
- default:
9
- return false;
10
- case "0":
11
- case "1":
12
- case "2":
13
- case "3":
14
- case "4":
15
- case "5":
16
- case "6":
17
- case "7":
18
- case "8":
19
- case "9":
20
- case "A":
21
- case "B":
22
- case "C":
23
- case "D":
24
- case "E":
25
- case "F":
26
- return true;
27
- }
28
- }
29
- export function get_hex_part(string) {
30
- let offset = 0;
31
- if (string.startsWith("#") || string.startsWith("$"))
32
- offset = 1;
33
- if (string.startsWith("0x"))
34
- offset = 2;
35
- return string.substring(offset);
36
- }
37
- export function check_hex(obj) {
38
- if (!check_string(obj))
39
- return false;
40
- const value = get_hex_part(obj).split("").map((char) => parseInt(char.toUpperCase(), 16));
41
- return check_number_array(value);
42
- }
43
- export function check_string(obj) {
44
- return obj != null && typeof obj == "string" && obj.length > 0;
45
- }
46
- export function check_array(obj, predicate, requiredLength) {
47
- if (!Array.isArray(obj))
48
- return false;
49
- if (requiredLength && requiredLength != obj.length)
50
- return false;
51
- for (const item of obj)
52
- if (predicate && !predicate(item))
53
- return false;
54
- return true;
55
- }
56
- export function check_number_array(obj, requiredLength) {
57
- return check_array(obj, check_number, requiredLength);
58
- }
59
- export function check_string_array(obj, requiredLength) {
60
- return check_array(obj, check_string, requiredLength);
61
- }
62
- export function has_property(obj, name, type) {
63
- return obj != null && typeof obj == "object" && name in obj && typeof obj[name] == type;
64
- }
65
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../source/common/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export const MAX_ANGLE_DEGREE = 360;
2
- export const cap_angle_degree = (angle) => angle % MAX_ANGLE_DEGREE;
3
- export const radian_to_degree = (angle) => angle * (180 / Math.PI);
4
- export const degree_to_radian = (angle) => angle * (Math.PI / 180);
5
- //# sourceMappingURL=angle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"angle.js","sourceRoot":"","sources":["../../../source/geometry/angle.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,gBAAgB,CAAA;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,GAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAC,GAAG,CAAC,CAAA"}
@@ -1,98 +0,0 @@
1
- import { ResolveError } from "../common/error.js";
2
- import { check_number, check_number_array, check_string, check_string_array, has_property } from "../common/types.js";
3
- import { Vec2 } from "../vectors/vec2.js";
4
- import { Circle } from "./circle.js";
5
- import { Rectangle } from "./rectangle.js";
6
- import { Square } from "./square.js";
7
- export class BoundingBox {
8
- left;
9
- right;
10
- top;
11
- bottom;
12
- get width() { return this.right - this.left; }
13
- set width(val) { this.right = this.left + val; }
14
- get height() { return this.bottom - this.top; }
15
- set height(val) { this.bottom = this.top + val; }
16
- static resolve(a) {
17
- const value = this.cast(a);
18
- if (typeof value != "undefined")
19
- return value;
20
- throw new ResolveError("BoundingBox", a);
21
- }
22
- static cast(a) {
23
- if (a == null || typeof a == "undefined")
24
- return undefined;
25
- if (check_number_array(a, 4))
26
- return new this(a[0], a[1], a[2], a[3]);
27
- if (has_property(a, "left", "number") && has_property(a, "right", "number") && has_property(a, "top", "number") && has_property(a, "bottom", "number"))
28
- return new this(a.left, a.right, a.top, a.bottom);
29
- if (check_string(a)) {
30
- const parts = a.split(",");
31
- if (check_string_array(parts, 4))
32
- return this.cast(parts.map((v) => parseFloat(v)));
33
- }
34
- return undefined;
35
- }
36
- static is(a) {
37
- return typeof this.cast(a) != "undefined";
38
- }
39
- constructor(left, right, top, bottom) {
40
- if (!check_number(left))
41
- throw new TypeError("expected number for left");
42
- if (!check_number(right))
43
- throw new TypeError("expected number for right");
44
- if (!check_number(top))
45
- throw new TypeError("expected number for top");
46
- if (!check_number(bottom))
47
- throw new TypeError("expected number for bottom");
48
- this.left = left;
49
- this.right = right;
50
- this.top = top;
51
- this.bottom = bottom;
52
- }
53
- toArray() {
54
- return [this.left, this.right, this.top, this.bottom];
55
- }
56
- toString() {
57
- return `${this.left},${this.right},${this.top},${this.bottom}`;
58
- }
59
- toJSON() {
60
- return {
61
- left: this.left, top: this.top,
62
- right: this.right, bottom: this.bottom
63
- };
64
- }
65
- clone() {
66
- return new BoundingBox(this.left, this.right, this.top, this.bottom);
67
- }
68
- equals(bbox) {
69
- const b = BoundingBox.resolve(bbox);
70
- return this.left == b.left && this.right == b.right && this.top == b.top && this.bottom == b.bottom;
71
- }
72
- toSquare() {
73
- return new Square(this.width, this.height);
74
- }
75
- toRectangle() {
76
- return new Rectangle(this.left, this.top, this.width, this.height);
77
- }
78
- inside(a) {
79
- const bbox = BoundingBox.resolve(a);
80
- return this.right >= bbox.left && bbox.right >= this.left && this.bottom >= bbox.top && bbox.bottom >= this.top;
81
- }
82
- insidePoint(a) {
83
- const point = Vec2.resolve(a);
84
- return this.left <= point.x && this.right >= point.x && this.top >= point.y && this.bottom <= point.y;
85
- }
86
- insideCircle(a) {
87
- const circle = Circle.resolve(a);
88
- const center = Vec2.resolve(circle).add(circle.radius);
89
- const bboxhe = new Vec2(this.width / 2, this.height / 2);
90
- const bboxcenter = new Vec2(this.left + bboxhe.x, this.top + bboxhe.y);
91
- let diff = center.subtract(bboxcenter);
92
- const clamped = Vec2.clamp(diff, bboxhe.invert(), bboxhe);
93
- const closest = bboxcenter.add(clamped);
94
- diff = closest.subtract(center);
95
- return diff.length() < circle.radius;
96
- }
97
- }
98
- //# sourceMappingURL=bbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bbox.js","sourceRoot":"","sources":["../../../source/geometry/bbox.ts"],"names":[],"mappings":"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"}