@next2d/geom 1.18.12 → 2.0.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 (98) hide show
  1. package/package.json +8 -24
  2. package/src/ColorTransform/service/ColorTransformConcatService.d.ts +12 -0
  3. package/src/ColorTransform/service/ColorTransformConcatService.js +25 -0
  4. package/{dist → src}/ColorTransform.d.ts +57 -69
  5. package/src/ColorTransform.js +240 -0
  6. package/src/GeomUtil.d.ts +63 -0
  7. package/src/GeomUtil.js +102 -0
  8. package/src/Matrix/service/MatirxConcatService.d.ts +12 -0
  9. package/src/Matrix/service/MatirxConcatService.js +34 -0
  10. package/src/Matrix/service/MatrixCloneService.d.ts +11 -0
  11. package/src/Matrix/service/MatrixCloneService.js +13 -0
  12. package/src/Matrix/service/MatrixCopyFromService.d.ts +12 -0
  13. package/src/Matrix/service/MatrixCopyFromService.js +18 -0
  14. package/src/Matrix/service/MatrixCreateBoxService.d.ts +15 -0
  15. package/src/Matrix/service/MatrixCreateBoxService.js +19 -0
  16. package/src/Matrix/service/MatrixCreateGradientBoxService.d.ts +16 -0
  17. package/src/Matrix/service/MatrixCreateGradientBoxService.js +33 -0
  18. package/src/Matrix/service/MatrixDeltaTransformPointService.d.ts +13 -0
  19. package/src/Matrix/service/MatrixDeltaTransformPointService.js +14 -0
  20. package/src/Matrix/service/MatrixIdentityService.d.ts +11 -0
  21. package/src/Matrix/service/MatrixIdentityService.js +17 -0
  22. package/src/Matrix/service/MatrixInvertService.d.ts +11 -0
  23. package/src/Matrix/service/MatrixInvertService.js +37 -0
  24. package/src/Matrix/service/MatrixRotateService.d.ts +11 -0
  25. package/src/Matrix/service/MatrixRotateService.js +24 -0
  26. package/src/Matrix/service/MatrixScaleService.d.ts +13 -0
  27. package/src/Matrix/service/MatrixScaleService.js +20 -0
  28. package/src/Matrix/service/MatrixSetToService.d.ts +17 -0
  29. package/src/Matrix/service/MatrixSetToService.js +24 -0
  30. package/src/Matrix/service/MatrixTransformPointService.d.ts +13 -0
  31. package/src/Matrix/service/MatrixTransformPointService.js +17 -0
  32. package/src/Matrix/service/MatrixTranslateService.d.ts +13 -0
  33. package/src/Matrix/service/MatrixTranslateService.js +15 -0
  34. package/{dist → src}/Matrix.d.ts +45 -69
  35. package/{dist → src}/Matrix.js +92 -204
  36. package/src/Point/service/PointAddService.d.ts +12 -0
  37. package/src/Point/service/PointAddService.js +14 -0
  38. package/src/Point/service/PointCloneService.d.ts +11 -0
  39. package/src/Point/service/PointCloneService.js +13 -0
  40. package/src/Point/service/PointCopyFromService.d.ts +12 -0
  41. package/src/Point/service/PointCopyFromService.js +14 -0
  42. package/src/Point/service/PointDistanceService.d.ts +12 -0
  43. package/src/Point/service/PointDistanceService.js +14 -0
  44. package/src/Point/service/PointEqualsService.d.ts +12 -0
  45. package/src/Point/service/PointEqualsService.js +13 -0
  46. package/src/Point/service/PointInterpolateService.d.ts +13 -0
  47. package/src/Point/service/PointInterpolateService.js +15 -0
  48. package/src/Point/service/PointNormalizeService.d.ts +12 -0
  49. package/src/Point/service/PointNormalizeService.js +15 -0
  50. package/src/Point/service/PointOffsetService.d.ts +13 -0
  51. package/src/Point/service/PointOffsetService.js +15 -0
  52. package/src/Point/service/PointPolarService.d.ts +12 -0
  53. package/src/Point/service/PointPolarService.js +14 -0
  54. package/src/Point/service/PointSetToService.d.ts +13 -0
  55. package/src/Point/service/PointSetToService.js +15 -0
  56. package/src/Point/service/PointSubtractService.d.ts +12 -0
  57. package/src/Point/service/PointSubtractService.js +14 -0
  58. package/{dist → src}/Point.d.ts +34 -82
  59. package/{dist → src}/Point.js +67 -128
  60. package/src/Rectangle/service/RectangleCloneService.d.ts +11 -0
  61. package/src/Rectangle/service/RectangleCloneService.js +13 -0
  62. package/src/Rectangle/service/RectangleContainsPointService.d.ts +13 -0
  63. package/src/Rectangle/service/RectangleContainsPointService.js +16 -0
  64. package/src/Rectangle/service/RectangleContainsRectService.d.ts +12 -0
  65. package/src/Rectangle/service/RectangleContainsRectService.js +16 -0
  66. package/src/Rectangle/service/RectangleContainsService.d.ts +13 -0
  67. package/src/Rectangle/service/RectangleContainsService.js +17 -0
  68. package/src/Rectangle/service/RectangleCopyFromService.d.ts +12 -0
  69. package/src/Rectangle/service/RectangleCopyFromService.js +16 -0
  70. package/src/Rectangle/service/RectangleEqualsService.d.ts +12 -0
  71. package/src/Rectangle/service/RectangleEqualsService.js +16 -0
  72. package/src/Rectangle/service/RectangleInflatePointService.d.ts +13 -0
  73. package/src/Rectangle/service/RectangleInflatePointService.js +16 -0
  74. package/src/Rectangle/service/RectangleInflateService.d.ts +13 -0
  75. package/src/Rectangle/service/RectangleInflateService.js +17 -0
  76. package/src/Rectangle/service/RectangleIntersectionService.d.ts +12 -0
  77. package/src/Rectangle/service/RectangleIntersectionService.js +22 -0
  78. package/src/Rectangle/service/RectangleIntersectsService.d.ts +12 -0
  79. package/src/Rectangle/service/RectangleIntersectsService.js +17 -0
  80. package/src/Rectangle/service/RectangleIsEmptyService.d.ts +11 -0
  81. package/src/Rectangle/service/RectangleIsEmptyService.js +12 -0
  82. package/src/Rectangle/service/RectangleOffsetPointService.d.ts +13 -0
  83. package/src/Rectangle/service/RectangleOffsetPointService.js +14 -0
  84. package/src/Rectangle/service/RectangleOffsetService.d.ts +13 -0
  85. package/src/Rectangle/service/RectangleOffsetService.js +15 -0
  86. package/src/Rectangle/service/RectangleSetEmptyService.d.ts +11 -0
  87. package/src/Rectangle/service/RectangleSetEmptyService.js +12 -0
  88. package/src/Rectangle/service/RectangleSetToService.d.ts +15 -0
  89. package/src/Rectangle/service/RectangleSetToService.js +19 -0
  90. package/src/Rectangle/service/RectangleUnionService.d.ts +12 -0
  91. package/src/Rectangle/service/RectangleUnionService.js +20 -0
  92. package/{dist → src}/Rectangle.d.ts +50 -102
  93. package/{dist → src}/Rectangle.js +110 -205
  94. package/{dist → src}/index.d.ts +0 -1
  95. package/{dist → src}/index.js +0 -1
  96. package/dist/ColorTransform.js +0 -278
  97. package/dist/Transform.d.ts +0 -209
  98. package/dist/Transform.js +0 -478
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description 指定の座標がRectangle内に含まれるかを判定
3
+ * Determines whether the specified coordinates are within the Rectangle
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @param {Point} point
7
+ * @return {boolean}
8
+ * @method
9
+ * @public
10
+ */
11
+ export const execute = (rectangle, point) => {
12
+ return rectangle.x <= point.x
13
+ && rectangle.y <= point.y
14
+ && rectangle.right > point.x
15
+ && rectangle.bottom > point.y;
16
+ };
@@ -0,0 +1,12 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定のRectangleがRectangle内に含まれるかを判定
4
+ * Determines whether the specified Rectangle is within the Rectangle
5
+ *
6
+ * @param {Rectangle} rectangle1
7
+ * @param {Rectangle} rectangle2
8
+ * @return {boolean}
9
+ * @method
10
+ * @public
11
+ */
12
+ export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => boolean;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description 指定のRectangleがRectangle内に含まれるかを判定
3
+ * Determines whether the specified Rectangle is within the Rectangle
4
+ *
5
+ * @param {Rectangle} rectangle1
6
+ * @param {Rectangle} rectangle2
7
+ * @return {boolean}
8
+ * @method
9
+ * @public
10
+ */
11
+ export const execute = (rectangle1, rectangle2) => {
12
+ return rectangle1.x <= rectangle2.x
13
+ && rectangle1.y <= rectangle2.y
14
+ && rectangle1.right >= rectangle2.right
15
+ && rectangle1.bottom >= rectangle2.bottom;
16
+ };
@@ -0,0 +1,13 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定の座標がRectangle内に含まれるかを判定
4
+ * Determines whether the specified coordinates are within the Rectangle
5
+ *
6
+ * @param {Rectangle} rectangle
7
+ * @param {number} x
8
+ * @param {number} y
9
+ * @return {boolean}
10
+ * @method
11
+ * @public
12
+ */
13
+ export declare const execute: (rectangle: Rectangle, x: number, y: number) => boolean;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @description 指定の座標がRectangle内に含まれるかを判定
3
+ * Determines whether the specified coordinates are within the Rectangle
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @param {number} x
7
+ * @param {number} y
8
+ * @return {boolean}
9
+ * @method
10
+ * @public
11
+ */
12
+ export const execute = (rectangle, x, y) => {
13
+ return rectangle.x <= x
14
+ && rectangle.y <= y
15
+ && rectangle.right > x
16
+ && rectangle.bottom > y;
17
+ };
@@ -0,0 +1,12 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定のRectangleの値をコピー
4
+ * Copy the value of the specified Rectangle
5
+ *
6
+ * @param {Rectangle} dst
7
+ * @param {Rectangle} src
8
+ * @return {void}
9
+ * @method
10
+ * @public
11
+ */
12
+ export declare const execute: (dst: Rectangle, src: Rectangle) => void;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description 指定のRectangleの値をコピー
3
+ * Copy the value of the specified Rectangle
4
+ *
5
+ * @param {Rectangle} dst
6
+ * @param {Rectangle} src
7
+ * @return {void}
8
+ * @method
9
+ * @public
10
+ */
11
+ export const execute = (dst, src) => {
12
+ dst.x = src.x;
13
+ dst.y = src.y;
14
+ dst.width = src.width;
15
+ dst.height = src.height;
16
+ };
@@ -0,0 +1,12 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定のRectangleが等しいかを判定
4
+ * Determines whether the specified Rectangle is equal
5
+ *
6
+ * @param {Rectangle} rectangle1
7
+ * @param {Rectangle} dst
8
+ * @return {boolean}
9
+ * @method
10
+ * @public
11
+ */
12
+ export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => boolean;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description 指定のRectangleが等しいかを判定
3
+ * Determines whether the specified Rectangle is equal
4
+ *
5
+ * @param {Rectangle} rectangle1
6
+ * @param {Rectangle} dst
7
+ * @return {boolean}
8
+ * @method
9
+ * @public
10
+ */
11
+ export const execute = (rectangle1, rectangle2) => {
12
+ return rectangle1.x === rectangle2.x
13
+ && rectangle1.y === rectangle2.y
14
+ && rectangle1.width === rectangle2.width
15
+ && rectangle1.height === rectangle2.height;
16
+ };
@@ -0,0 +1,13 @@
1
+ import type { Point } from "../../Point";
2
+ import type { Rectangle } from "../../Rectangle";
3
+ /**
4
+ * @description 指定のRectangleの値を変更
5
+ * Change the value of the specified Rectangle
6
+ *
7
+ * @param {Rectangle} rectangle
8
+ * @param {Point} point
9
+ * @return {void}
10
+ * @method
11
+ * @public
12
+ */
13
+ export declare const execute: (rectangle: Rectangle, point: Point) => void;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description 指定のRectangleの値を変更
3
+ * Change the value of the specified Rectangle
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @param {Point} point
7
+ * @return {void}
8
+ * @method
9
+ * @public
10
+ */
11
+ export const execute = (rectangle, point) => {
12
+ rectangle.x -= point.x;
13
+ rectangle.width += 2 * point.x;
14
+ rectangle.y -= point.y;
15
+ rectangle.height += 2 * point.y;
16
+ };
@@ -0,0 +1,13 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定のRectangleの値を変更
4
+ * Change the value of the specified Rectangle
5
+ *
6
+ * @param {Rectangle} rectangle
7
+ * @param {number} dx
8
+ * @param {number} dy
9
+ * @return {void}
10
+ * @method
11
+ * @public
12
+ */
13
+ export declare const execute: (rectangle: Rectangle, dx: number, dy: number) => void;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @description 指定のRectangleの値を変更
3
+ * Change the value of the specified Rectangle
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @param {number} dx
7
+ * @param {number} dy
8
+ * @return {void}
9
+ * @method
10
+ * @public
11
+ */
12
+ export const execute = (rectangle, dx, dy) => {
13
+ rectangle.x -= dx;
14
+ rectangle.width += 2 * dx;
15
+ rectangle.y -= dy;
16
+ rectangle.height += 2 * dy;
17
+ };
@@ -0,0 +1,12 @@
1
+ import { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定のRectangleの交差部分を取得
4
+ * Get the intersection of the specified Rectangle
5
+ *
6
+ * @param {Rectangle} rectangle1
7
+ * @param {Rectangle} rectangle2
8
+ * @return {Rectangle}
9
+ * @method
10
+ * @public
11
+ */
12
+ export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => Rectangle;
@@ -0,0 +1,22 @@
1
+ import { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定のRectangleの交差部分を取得
4
+ * Get the intersection of the specified Rectangle
5
+ *
6
+ * @param {Rectangle} rectangle1
7
+ * @param {Rectangle} rectangle2
8
+ * @return {Rectangle}
9
+ * @method
10
+ * @public
11
+ */
12
+ export const execute = (rectangle1, rectangle2) => {
13
+ const sx = Math.max(rectangle1.x, rectangle2.x);
14
+ const sy = Math.max(rectangle1.y, rectangle2.y);
15
+ const ex = Math.min(rectangle1.right, rectangle2.right);
16
+ const ey = Math.min(rectangle1.bottom, rectangle2.bottom);
17
+ const w = ex - sx;
18
+ const h = ey - sy;
19
+ return w > 0 && h > 0
20
+ ? new Rectangle(sx, sy, w, h)
21
+ : new Rectangle(0, 0, 0, 0);
22
+ };
@@ -0,0 +1,12 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定のRectangle同士が重なっているかどうかを判定
4
+ * Determine whether the specified Rectangles overlap
5
+ *
6
+ * @param {Rectangle} rectangle1
7
+ * @param {Rectangle} rectangle2
8
+ * @return {boolean}
9
+ * @method
10
+ * @public
11
+ */
12
+ export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => boolean;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @description 指定のRectangle同士が重なっているかどうかを判定
3
+ * Determine whether the specified Rectangles overlap
4
+ *
5
+ * @param {Rectangle} rectangle1
6
+ * @param {Rectangle} rectangle2
7
+ * @return {boolean}
8
+ * @method
9
+ * @public
10
+ */
11
+ export const execute = (rectangle1, rectangle2) => {
12
+ const sx = Math.max(rectangle1.x, rectangle2.x);
13
+ const sy = Math.max(rectangle1.y, rectangle2.y);
14
+ const ex = Math.min(rectangle1.right, rectangle2.right);
15
+ const ey = Math.min(rectangle1.bottom, rectangle2.bottom);
16
+ return ex - sx > 0 && ey - sy > 0;
17
+ };
@@ -0,0 +1,11 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 指定のRectangleが空かどうかを返す
4
+ * Returns whether the specified Rectangle is empty
5
+ *
6
+ * @param {Rectangle} rectangle
7
+ * @return {boolean}
8
+ * @method
9
+ * @public
10
+ */
11
+ export declare const execute: (rectangle: Rectangle) => boolean;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @description 指定のRectangleが空かどうかを返す
3
+ * Returns whether the specified Rectangle is empty
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @return {boolean}
7
+ * @method
8
+ * @public
9
+ */
10
+ export const execute = (rectangle) => {
11
+ return rectangle.width <= 0 || rectangle.height <= 0;
12
+ };
@@ -0,0 +1,13 @@
1
+ import type { Point } from "../../Point";
2
+ import type { Rectangle } from "../../Rectangle";
3
+ /**
4
+ * @description 矩形を指定された量だけオフセットする。
5
+ * Offset the Rectangle by the given amount.
6
+ *
7
+ * @param {Rectangle} rectangle
8
+ * @param {Point} point
9
+ * @return {void}
10
+ * @method
11
+ * @public
12
+ */
13
+ export declare const execute: (rectangle: Rectangle, point: Point) => void;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @description 矩形を指定された量だけオフセットする。
3
+ * Offset the Rectangle by the given amount.
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @param {Point} point
7
+ * @return {void}
8
+ * @method
9
+ * @public
10
+ */
11
+ export const execute = (rectangle, point) => {
12
+ rectangle.x += point.x;
13
+ rectangle.y += point.y;
14
+ };
@@ -0,0 +1,13 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 矩形を指定された量だけオフセットする。
4
+ * Offset the Rectangle by the given amount.
5
+ *
6
+ * @param {Rectangle} rectangle
7
+ * @param {number} dx
8
+ * @param {number} dy
9
+ * @return {void}
10
+ * @method
11
+ * @public
12
+ */
13
+ export declare const execute: (rectangle: Rectangle, dx: number, dy: number) => void;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @description 矩形を指定された量だけオフセットする。
3
+ * Offset the Rectangle by the given amount.
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @param {number} dx
7
+ * @param {number} dy
8
+ * @return {void}
9
+ * @method
10
+ * @public
11
+ */
12
+ export const execute = (rectangle, dx, dy) => {
13
+ rectangle.x += dx;
14
+ rectangle.y += dy;
15
+ };
@@ -0,0 +1,11 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 矩形を空にする
4
+ * Make the rectangle empty
5
+ *
6
+ * @param {Rectangle} rectangle
7
+ * @return {void}
8
+ * @method
9
+ * @public
10
+ */
11
+ export declare const execute: (rectangle: Rectangle) => void;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @description 矩形を空にする
3
+ * Make the rectangle empty
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @return {void}
7
+ * @method
8
+ * @public
9
+ */
10
+ export const execute = (rectangle) => {
11
+ rectangle.x = rectangle.y = rectangle.width = rectangle.height = 0;
12
+ };
@@ -0,0 +1,15 @@
1
+ import type { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 矩形を指定された値に設定する
4
+ * Set the rectangle to the specified value
5
+ *
6
+ * @param {Rectangle} rectangle
7
+ * @param {number} x
8
+ * @param {number} y
9
+ * @param {number} width
10
+ * @param {number} height
11
+ * @return {void}
12
+ * @method
13
+ * @public
14
+ */
15
+ export declare const execute: (rectangle: Rectangle, x: number, y: number, width: number, height: number) => void;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @description 矩形を指定された値に設定する
3
+ * Set the rectangle to the specified value
4
+ *
5
+ * @param {Rectangle} rectangle
6
+ * @param {number} x
7
+ * @param {number} y
8
+ * @param {number} width
9
+ * @param {number} height
10
+ * @return {void}
11
+ * @method
12
+ * @public
13
+ */
14
+ export const execute = (rectangle, x, y, width, height) => {
15
+ rectangle.x = x;
16
+ rectangle.y = y;
17
+ rectangle.width = width;
18
+ rectangle.height = height;
19
+ };
@@ -0,0 +1,12 @@
1
+ import { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 2つの矩形を結合した矩形を返す
4
+ * Returns a rectangle that is the union of two rectangles
5
+ *
6
+ * @param {Rectangle} src
7
+ * @param {Rectangle} dst
8
+ * @return {void}
9
+ * @method
10
+ * @public
11
+ */
12
+ export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => Rectangle;
@@ -0,0 +1,20 @@
1
+ import { Rectangle } from "../../Rectangle";
2
+ /**
3
+ * @description 2つの矩形を結合した矩形を返す
4
+ * Returns a rectangle that is the union of two rectangles
5
+ *
6
+ * @param {Rectangle} src
7
+ * @param {Rectangle} dst
8
+ * @return {void}
9
+ * @method
10
+ * @public
11
+ */
12
+ export const execute = (rectangle1, rectangle2) => {
13
+ if (rectangle1.isEmpty()) {
14
+ return rectangle2.clone();
15
+ }
16
+ if (rectangle2.isEmpty()) {
17
+ return rectangle1.clone();
18
+ }
19
+ return new Rectangle(Math.min(rectangle1.x, rectangle2.x), Math.min(rectangle1.y, rectangle2.y), Math.max(rectangle1.right - rectangle2.left, rectangle2.right - rectangle1.left), Math.max(rectangle1.bottom - rectangle2.top, rectangle2.bottom - rectangle1.top));
20
+ };