@wcardinal/wcardinal-ui 0.459.0-beta.4 → 0.460.0-beta.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 (37) hide show
  1. package/dist/types/wcardinal/ui/shape/e-shape-fill-direction.d.ts +7 -0
  2. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-points.d.ts +1 -0
  3. package/dist/types/wcardinal/ui/shape/variant/e-shape-polygon-points.d.ts +1 -0
  4. package/dist/types/wcardinal/ui/shape/variant/e-shape-polygon-triangulated.d.ts +1 -1
  5. package/dist/types/wcardinal/ui/shape/variant/hit-test-polygon.d.ts +3 -4
  6. package/dist/wcardinal/ui/shape/e-shape-fill-direction.js +7 -0
  7. package/dist/wcardinal/ui/shape/e-shape-fill-direction.js.map +1 -1
  8. package/dist/wcardinal/ui/shape/variant/e-shape-fill-impl.js +11 -23
  9. package/dist/wcardinal/ui/shape/variant/e-shape-fill-impl.js.map +1 -1
  10. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js +10 -9
  11. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js.map +1 -1
  12. package/dist/wcardinal/ui/shape/variant/e-shape-polygon-points.js +5 -0
  13. package/dist/wcardinal/ui/shape/variant/e-shape-polygon-points.js.map +1 -1
  14. package/dist/wcardinal/ui/shape/variant/e-shape-polygon-triangulated-impl.js +3 -0
  15. package/dist/wcardinal/ui/shape/variant/e-shape-polygon-triangulated-impl.js.map +1 -1
  16. package/dist/wcardinal/ui/shape/variant/e-shape-polygon-triangulated.js.map +1 -1
  17. package/dist/wcardinal/ui/shape/variant/e-shape-polygon.js +1 -1
  18. package/dist/wcardinal/ui/shape/variant/e-shape-polygon.js.map +1 -1
  19. package/dist/wcardinal/ui/shape/variant/hit-test-polygon.js +3 -4
  20. package/dist/wcardinal/ui/shape/variant/hit-test-polygon.js.map +1 -1
  21. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  22. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  23. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  24. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  25. package/dist/wcardinal-ui-theme-dark.js +1 -1
  26. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  27. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  28. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  29. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  30. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  31. package/dist/wcardinal-ui-theme-white.js +1 -1
  32. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  33. package/dist/wcardinal-ui.cjs.js +41 -38
  34. package/dist/wcardinal-ui.js +41 -38
  35. package/dist/wcardinal-ui.min.js +2 -2
  36. package/dist/wcardinal-ui.min.js.map +1 -1
  37. package/package.json +1 -1
@@ -1,7 +1,14 @@
1
+ /**
2
+ * Represents the fill direction of a shape.
3
+ */
1
4
  export declare const EShapeFillDirection: {
5
+ /** Fill from top to bottom */
2
6
  readonly TOP: 0;
7
+ /** Fill from right to left */
3
8
  readonly RIGHT: 1;
9
+ /** Fill from bottom to top */
4
10
  readonly BOTTOM: 2;
11
+ /** Fill from left to right */
5
12
  readonly LEFT: 3;
6
13
  };
7
14
  export type EShapeFillDirection = (typeof EShapeFillDirection)[keyof typeof EShapeFillDirection];
@@ -35,6 +35,7 @@ export declare class EShapeLinePoints implements EShapePoints {
35
35
  toFitted(x: number, y: number): void;
36
36
  onSizeChange(): void;
37
37
  protected fit(): void;
38
+ protected doNeedCompatibilityCheck(): boolean;
38
39
  get id(): number;
39
40
  get values(): number[];
40
41
  set values(values: number[]);
@@ -2,4 +2,5 @@ import { EShapePointsStyle } from "../e-shape-points-style";
2
2
  import { EShapeLinePoints } from "./e-shape-line-points";
3
3
  export declare class EShapePolygonPoints extends EShapeLinePoints {
4
4
  protected newStyle(): EShapePointsStyle;
5
+ protected doNeedCompatibilityCheck(): boolean;
5
6
  }
@@ -12,7 +12,7 @@ export interface EShapePolygonTriangulated {
12
12
  readonly indices: number[];
13
13
  readonly nindices: number;
14
14
  readonly boundary: EShapeBoundary;
15
- set(parentId?: number, vertices?: number[], distances?: number[], lengths?: number[], clippings?: number[], uvs?: number[], indices?: number[]): this;
15
+ set(parentId?: number, vertices?: number[], distances?: number[], lengths?: number[], clippings?: number[], uvs?: number[], indices?: number[], boundary?: EShapeBoundary): this;
16
16
  copy(source: EShapePolygonTriangulated): this;
17
17
  serialize(manager: EShapeResourceManagerSerialization): number;
18
18
  deserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void;
@@ -2,12 +2,11 @@ import { EShapePolygon } from "./e-shape-polygon";
2
2
  /**
3
3
  * Returns the minimum squared distance between the given point (x, y) and the polygon edges.
4
4
  *
5
- * @param shape a polygon
5
+ * @param values vertices
6
+ * @param valuesLength the length of values
6
7
  * @param x a X-coordinate position
7
8
  * @param y a Y-coordinate position
8
- * @param ax a polygon width
9
- * @param ay a polygon height
10
9
  * @returns the minimum squared distance between the given point (x, y) and the polygon edges
11
10
  */
12
11
  export declare const calcPolygonSquaredDistance: (values: number[], valuesLength: number, x: number, y: number) => number;
13
- export declare const hitTestPolygon: (shape: EShapePolygon, x: number, y: number, ax: number, ay: number, sw: number, ss: number) => boolean;
12
+ export declare const hitTestPolygon: (shape: EShapePolygon, x: number, y: number, sw: number, ss: number) => boolean;
@@ -2,10 +2,17 @@
2
2
  * Copyright (C) 2019 Toshiba Corporation
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
+ /**
6
+ * Represents the fill direction of a shape.
7
+ */
5
8
  export var EShapeFillDirection = {
9
+ /** Fill from top to bottom */
6
10
  TOP: 0,
11
+ /** Fill from right to left */
7
12
  RIGHT: 1,
13
+ /** Fill from bottom to top */
8
14
  BOTTOM: 2,
15
+ /** Fill from left to right */
9
16
  LEFT: 3
10
17
  };
11
18
  //# sourceMappingURL=e-shape-fill-direction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-fill-direction.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-fill-direction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,mBAAmB,GAAG;IAClC,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;CACE,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const EShapeFillDirection = {\n\tTOP: 0,\n\tRIGHT: 1,\n\tBOTTOM: 2,\n\tLEFT: 3\n} as const;\n\nexport type EShapeFillDirection = (typeof EShapeFillDirection)[keyof typeof EShapeFillDirection];\n"]}
1
+ {"version":3,"file":"e-shape-fill-direction.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-fill-direction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG;IAClC,8BAA8B;IAC9B,GAAG,EAAE,CAAC;IACN,8BAA8B;IAC9B,KAAK,EAAE,CAAC;IACR,8BAA8B;IAC9B,MAAM,EAAE,CAAC;IACT,8BAA8B;IAC9B,IAAI,EAAE,CAAC;CACE,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Represents the fill direction of a shape.\n */\nexport const EShapeFillDirection = {\n\t/** Fill from top to bottom */\n\tTOP: 0,\n\t/** Fill from right to left */\n\tRIGHT: 1,\n\t/** Fill from bottom to top */\n\tBOTTOM: 2,\n\t/** Fill from left to right */\n\tLEFT: 3\n} as const;\n\nexport type EShapeFillDirection = (typeof EShapeFillDirection)[keyof typeof EShapeFillDirection];\n"]}
@@ -16,10 +16,7 @@ var EShapeFillImpl = /** @class */ (function () {
16
16
  return this._enable;
17
17
  },
18
18
  set: function (enable) {
19
- if (this._enable !== enable) {
20
- this._enable = enable;
21
- this._parent.updateUploaded();
22
- }
19
+ this.set(enable);
23
20
  },
24
21
  enumerable: false,
25
22
  configurable: true
@@ -29,10 +26,7 @@ var EShapeFillImpl = /** @class */ (function () {
29
26
  return this._color;
30
27
  },
31
28
  set: function (color) {
32
- if (this._color !== color) {
33
- this._color = color;
34
- this._parent.updateUploaded();
35
- }
29
+ this.set(undefined, color);
36
30
  },
37
31
  enumerable: false,
38
32
  configurable: true
@@ -42,10 +36,7 @@ var EShapeFillImpl = /** @class */ (function () {
42
36
  return this._alpha;
43
37
  },
44
38
  set: function (alpha) {
45
- if (this._alpha !== alpha) {
46
- this._alpha = alpha;
47
- this._parent.updateUploaded();
48
- }
39
+ this.set(undefined, undefined, alpha);
49
40
  },
50
41
  enumerable: false,
51
42
  configurable: true
@@ -55,10 +46,7 @@ var EShapeFillImpl = /** @class */ (function () {
55
46
  return this._direction;
56
47
  },
57
48
  set: function (direction) {
58
- if (this._direction !== direction) {
59
- this._direction = direction;
60
- this._parent.updateUploaded();
61
- }
49
+ this.set(undefined, undefined, undefined, direction);
62
50
  },
63
51
  enumerable: false,
64
52
  configurable: true
@@ -68,10 +56,7 @@ var EShapeFillImpl = /** @class */ (function () {
68
56
  return this._percent;
69
57
  },
70
58
  set: function (percent) {
71
- if (this._percent !== percent) {
72
- this._percent = percent;
73
- this._parent.updateUploaded();
74
- }
59
+ this.set(undefined, undefined, undefined, undefined, percent);
75
60
  },
76
61
  enumerable: false,
77
62
  configurable: true
@@ -99,9 +84,12 @@ var EShapeFillImpl = /** @class */ (function () {
99
84
  this._direction = direction;
100
85
  isChanged = true;
101
86
  }
102
- if (percent !== undefined && this._percent !== percent) {
103
- this._percent = percent;
104
- isChanged = true;
87
+ if (percent !== undefined) {
88
+ percent = Math.max(0, Math.min(1, percent));
89
+ if (this._percent !== percent) {
90
+ this._percent = percent;
91
+ isChanged = true;
92
+ }
105
93
  }
106
94
  if (isChanged) {
107
95
  this._parent.updateUploaded();
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-fill-impl.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-fill-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramSerializedFill } from \"../../d-diagram-serialized\";\nimport { EShapeFill, EShapeFillLike } from \"../e-shape-fill\";\nimport { EShapeFillDirection } from \"../e-shape-fill-direction\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeFillImplParent } from \"./e-shape-fill-impl-parent\";\n\nexport class EShapeFillImpl implements EShapeFill {\n\tprotected _parent: EShapeFillImplParent;\n\tprotected _enable: boolean;\n\tprotected _color: number;\n\tprotected _alpha: number;\n\tprotected _direction: EShapeFillDirection;\n\tprotected _percent: number;\n\n\tconstructor(\n\t\tparent: EShapeFillImplParent,\n\t\tenable: boolean,\n\t\tcolor: number,\n\t\talpha: number,\n\t\tdirection: EShapeFillDirection,\n\t\tpercent: number\n\t) {\n\t\tthis._parent = parent;\n\t\tthis._enable = enable;\n\t\tthis._color = color;\n\t\tthis._alpha = alpha;\n\t\tthis._direction = direction;\n\t\tthis._percent = percent;\n\t}\n\n\tget enable(): boolean {\n\t\treturn this._enable;\n\t}\n\n\tset enable(enable: boolean) {\n\t\tif (this._enable !== enable) {\n\t\t\tthis._enable = enable;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget color(): number {\n\t\treturn this._color;\n\t}\n\n\tset color(color: number) {\n\t\tif (this._color !== color) {\n\t\t\tthis._color = color;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget alpha(): number {\n\t\treturn this._alpha;\n\t}\n\n\tset alpha(alpha: number) {\n\t\tif (this._alpha !== alpha) {\n\t\t\tthis._alpha = alpha;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget direction(): EShapeFillDirection {\n\t\treturn this._direction;\n\t}\n\n\tset direction(direction: EShapeFillDirection) {\n\t\tif (this._direction !== direction) {\n\t\t\tthis._direction = direction;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget percent(): number {\n\t\treturn this._percent;\n\t}\n\n\tset percent(percent: number) {\n\t\tif (this._percent !== percent) {\n\t\t\tthis._percent = percent;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tcopy(target?: Partial<EShapeFillLike>): void {\n\t\tif (target) {\n\t\t\tthis.set(target.enable, target.color, target.alpha, target.direction, target.percent);\n\t\t}\n\t}\n\n\tset(\n\t\tenable?: boolean,\n\t\tcolor?: number,\n\t\talpha?: number,\n\t\tdirection?: EShapeFillDirection,\n\t\tpercent?: number\n\t): void {\n\t\tlet isChanged = false;\n\n\t\tif (enable !== undefined && this._enable !== enable) {\n\t\t\tthis._enable = enable;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (color !== undefined && this._color !== color) {\n\t\t\tthis._color = color;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (alpha !== undefined && this._alpha !== alpha) {\n\t\t\tthis._alpha = alpha;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (direction !== undefined && this._direction !== direction) {\n\t\t\tthis._direction = direction;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (percent !== undefined && this._percent !== percent) {\n\t\t\tthis._percent = percent;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (isChanged) {\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tclone(): EShapeFill {\n\t\treturn new EShapeFillImpl(\n\t\t\tthis._parent,\n\t\t\tthis._enable,\n\t\t\tthis._color,\n\t\t\tthis._alpha,\n\t\t\tthis._direction,\n\t\t\tthis._percent\n\t\t);\n\t}\n\n\ttoObject(): EShapeFillLike {\n\t\treturn {\n\t\t\tenable: this._enable,\n\t\t\tcolor: this._color,\n\t\t\talpha: this._alpha,\n\t\t\tdirection: this._direction,\n\t\t\tpercent: this._percent\n\t\t};\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst enable = this._enable ? 1 : 0;\n\t\tconst stringified = `[${enable},${this._color},${this._alpha},${this._direction},${this._percent}]`;\n\t\treturn manager.addResource(stringified);\n\t}\n\n\tdeserialize(target: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= target && target < resources.length) {\n\t\t\tlet parsed = manager.getFill(target);\n\t\t\tif (parsed != null) {\n\t\t\t\tthis.set(!!parsed[0], parsed[1], parsed[2], parsed[3], parsed[4]);\n\t\t\t} else {\n\t\t\t\tparsed = JSON.parse(resources[target]) as DDiagramSerializedFill;\n\t\t\t\tmanager.setFill(target, parsed);\n\t\t\t\tthis.set(!!parsed[0], parsed[1], parsed[2], parsed[3], parsed[4]);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-fill-impl.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-fill-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramSerializedFill } from \"../../d-diagram-serialized\";\nimport { EShapeFill, EShapeFillLike } from \"../e-shape-fill\";\nimport { EShapeFillDirection } from \"../e-shape-fill-direction\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeFillImplParent } from \"./e-shape-fill-impl-parent\";\n\nexport class EShapeFillImpl implements EShapeFill {\n\tprotected _parent: EShapeFillImplParent;\n\tprotected _enable: boolean;\n\tprotected _color: number;\n\tprotected _alpha: number;\n\tprotected _direction: EShapeFillDirection;\n\tprotected _percent: number;\n\n\tconstructor(\n\t\tparent: EShapeFillImplParent,\n\t\tenable: boolean,\n\t\tcolor: number,\n\t\talpha: number,\n\t\tdirection: EShapeFillDirection,\n\t\tpercent: number\n\t) {\n\t\tthis._parent = parent;\n\t\tthis._enable = enable;\n\t\tthis._color = color;\n\t\tthis._alpha = alpha;\n\t\tthis._direction = direction;\n\t\tthis._percent = percent;\n\t}\n\n\tget enable(): boolean {\n\t\treturn this._enable;\n\t}\n\n\tset enable(enable: boolean) {\n\t\tthis.set(enable);\n\t}\n\n\tget color(): number {\n\t\treturn this._color;\n\t}\n\n\tset color(color: number) {\n\t\tthis.set(undefined, color);\n\t}\n\n\tget alpha(): number {\n\t\treturn this._alpha;\n\t}\n\n\tset alpha(alpha: number) {\n\t\tthis.set(undefined, undefined, alpha);\n\t}\n\n\tget direction(): EShapeFillDirection {\n\t\treturn this._direction;\n\t}\n\n\tset direction(direction: EShapeFillDirection) {\n\t\tthis.set(undefined, undefined, undefined, direction);\n\t}\n\n\tget percent(): number {\n\t\treturn this._percent;\n\t}\n\n\tset percent(percent: number) {\n\t\tthis.set(undefined, undefined, undefined, undefined, percent);\n\t}\n\n\tcopy(target?: Partial<EShapeFillLike>): void {\n\t\tif (target) {\n\t\t\tthis.set(target.enable, target.color, target.alpha, target.direction, target.percent);\n\t\t}\n\t}\n\n\tset(\n\t\tenable?: boolean,\n\t\tcolor?: number,\n\t\talpha?: number,\n\t\tdirection?: EShapeFillDirection,\n\t\tpercent?: number\n\t): void {\n\t\tlet isChanged = false;\n\n\t\tif (enable !== undefined && this._enable !== enable) {\n\t\t\tthis._enable = enable;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (color !== undefined && this._color !== color) {\n\t\t\tthis._color = color;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (alpha !== undefined && this._alpha !== alpha) {\n\t\t\tthis._alpha = alpha;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (direction !== undefined && this._direction !== direction) {\n\t\t\tthis._direction = direction;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (percent !== undefined) {\n\t\t\tpercent = Math.max(0, Math.min(1, percent));\n\t\t\tif (this._percent !== percent) {\n\t\t\t\tthis._percent = percent;\n\t\t\t\tisChanged = true;\n\t\t\t}\n\t\t}\n\n\t\tif (isChanged) {\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tclone(): EShapeFill {\n\t\treturn new EShapeFillImpl(\n\t\t\tthis._parent,\n\t\t\tthis._enable,\n\t\t\tthis._color,\n\t\t\tthis._alpha,\n\t\t\tthis._direction,\n\t\t\tthis._percent\n\t\t);\n\t}\n\n\ttoObject(): EShapeFillLike {\n\t\treturn {\n\t\t\tenable: this._enable,\n\t\t\tcolor: this._color,\n\t\t\talpha: this._alpha,\n\t\t\tdirection: this._direction,\n\t\t\tpercent: this._percent\n\t\t};\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst enable = this._enable ? 1 : 0;\n\t\tconst stringified = `[${enable},${this._color},${this._alpha},${this._direction},${this._percent}]`;\n\t\treturn manager.addResource(stringified);\n\t}\n\n\tdeserialize(target: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= target && target < resources.length) {\n\t\t\tlet parsed = manager.getFill(target);\n\t\t\tif (parsed != null) {\n\t\t\t\tthis.set(!!parsed[0], parsed[1], parsed[2], parsed[3], parsed[4]);\n\t\t\t} else {\n\t\t\t\tparsed = JSON.parse(resources[target]) as DDiagramSerializedFill;\n\t\t\t\tmanager.setFill(target, parsed);\n\t\t\t\tthis.set(!!parsed[0], parsed[1], parsed[2], parsed[3], parsed[4]);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -91,13 +91,16 @@ var EShapeLinePoints = /** @class */ (function () {
91
91
  }
92
92
  // Invalidate
93
93
  this._id += 1;
94
- if (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {
94
+ if (this.doNeedCompatibilityCheck()) {
95
95
  var uploaded = parent.uploaded;
96
96
  if (uploaded && !uploaded.isCompatible(parent)) {
97
97
  parent.toDirty();
98
98
  }
99
99
  }
100
100
  };
101
+ EShapeLinePoints.prototype.doNeedCompatibilityCheck = function () {
102
+ return this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;
103
+ };
101
104
  Object.defineProperty(EShapeLinePoints.prototype, "id", {
102
105
  get: function () {
103
106
  this.fit();
@@ -249,10 +252,6 @@ var EShapeLinePoints = /** @class */ (function () {
249
252
  EShapeLinePoints.prototype.set = function (newValues, newSegments, newStyle) {
250
253
  var isDirty = false;
251
254
  var isUpdated = false;
252
- // Formatter
253
- var style = this._style;
254
- var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
255
- var formatter = this._formatter;
256
255
  // Values
257
256
  if (newValues != null) {
258
257
  var values = this._values;
@@ -274,7 +273,7 @@ var EShapeLinePoints = /** @class */ (function () {
274
273
  isDirty = true;
275
274
  }
276
275
  else {
277
- if (formatter != null || styleFormatter) {
276
+ if (this.doNeedCompatibilityCheck()) {
278
277
  isDirty = true;
279
278
  }
280
279
  else {
@@ -288,7 +287,7 @@ var EShapeLinePoints = /** @class */ (function () {
288
287
  isDirty = true;
289
288
  }
290
289
  else {
291
- if (formatter != null || styleFormatter) {
290
+ if (this.doNeedCompatibilityCheck()) {
292
291
  isDirty = true;
293
292
  }
294
293
  else {
@@ -318,7 +317,7 @@ var EShapeLinePoints = /** @class */ (function () {
318
317
  segments.length = newSegmentsLength;
319
318
  }
320
319
  }
321
- if (formatter != null || styleFormatter) {
320
+ if (this.doNeedCompatibilityCheck()) {
322
321
  isDirty = true;
323
322
  }
324
323
  else {
@@ -327,13 +326,15 @@ var EShapeLinePoints = /** @class */ (function () {
327
326
  }
328
327
  // Style
329
328
  if (newStyle != null) {
329
+ var style = this._style;
330
330
  if (style !== newStyle) {
331
+ var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
331
332
  var newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;
332
333
  if (styleFormatter !== newStyleFormatter) {
333
334
  isDirty = true;
334
335
  }
335
336
  else {
336
- if (formatter != null || styleFormatter) {
337
+ if (this._formatter != null || styleFormatter) {
337
338
  var styleClosed = style & EShapePointsStyle.CLOSED;
338
339
  var newStyleClosed = newStyle & EShapePointsStyle.CLOSED;
339
340
  if (styleClosed !== newStyleClosed) {
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-line-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-line-points.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { toIndexOf } from \"../../util/to-index-of\";\nimport { EShape } from \"../e-shape\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport {\n\tEShapePointsFormatted,\n\tEShapePointsFormattedWithBoundary,\n\ttoPointsBoundary\n} from \"../e-shape-points-formatted\";\nimport { EShapeLineBasePointsHitTester } from \"./e-shape-line-base-points-hit-tester\";\nimport { EShapeLineBasePointsHitTesterToRange } from \"./e-shape-line-base-points-hit-tester-to-range\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImpl } from \"../e-shape-points-marker-container-impl\";\nimport { EShapePointsFormatters } from \"../e-shape-points-formatters\";\nimport { EShapeBoundary } from \"../e-shape-boundary\";\n\nexport type EShapeLinePointsSerialized = [number[], number[], number, number?];\n\nexport class EShapeLinePoints implements EShapePoints {\n\tprotected static WORK_RANGE: [number, number] = [0, 0];\n\n\tprotected _parent: EShape;\n\tprotected _valuesBase?: number[];\n\tprotected _valuesBaseLength: number;\n\tprotected _values: number[];\n\tprotected _segments: number[];\n\tprotected _length: number;\n\tprotected _plength: number;\n\tprotected _parentSizeBase: Point;\n\tprotected _parentSizeFitted: Point;\n\tprotected _id: number;\n\tprotected _style: EShapePointsStyle;\n\tprotected _formattedId: number;\n\tprotected _formatter?: EShapePointsFormatter | null;\n\tprotected _formatted?: EShapePointsFormattedWithBoundary;\n\n\tprotected _marker?: EShapePointsMarkerContainer;\n\n\tconstructor(parent: EShape) {\n\t\tthis._parent = parent;\n\t\tthis._valuesBaseLength = 0;\n\t\tthis._values = [];\n\t\tthis._segments = [];\n\t\tthis._length = 0;\n\t\tthis._plength = 0;\n\t\tconst parentSize = parent.size;\n\t\tconst parentSizeX = parentSize.x;\n\t\tconst parentSizeY = parentSize.y;\n\t\tthis._parentSizeBase = new Point(parentSizeX, parentSizeY);\n\t\tthis._parentSizeFitted = new Point(parentSizeX, parentSizeY);\n\t\tthis._id = 0;\n\t\tthis._style = this.newStyle();\n\t\tthis._formattedId = -1;\n\t}\n\n\tprotected newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.NONE;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\tget plength(): number {\n\t\treturn this._plength;\n\t}\n\n\ttoFitted(x: number, y: number): void {\n\t\tthis._valuesBase = undefined;\n\t\tthis._parentSizeFitted.set(x, y);\n\t\tthis._parentSizeBase.set(x, y);\n\t}\n\n\tonSizeChange(): void {\n\t\tthis.fit();\n\t}\n\n\tprotected fit(): void {\n\t\tconst parent = this._parent;\n\t\tconst psizef = this._parentSizeFitted;\n\t\tconst psize = parent.size;\n\t\tconst psizeX = psize.x;\n\t\tconst psizeY = psize.y;\n\t\tconst threshold = 0.00001;\n\t\tif (Math.abs(psizeX - psizef.x) <= threshold && Math.abs(psizeY - psizef.y) <= threshold) {\n\t\t\treturn;\n\t\t}\n\n\t\tpsizef.set(psizeX, psizeY);\n\t\tconst psizeBase = this._parentSizeBase;\n\t\tconst isValidX = threshold < Math.abs(psizeBase.x);\n\t\tconst isValidY = threshold < Math.abs(psizeBase.y);\n\t\tif (!isValidX && !isValidY) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scaleX = isValidX ? psizeX / psizeBase.x : 1;\n\t\tconst scaleY = isValidY ? psizeY / psizeBase.y : 1;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tlet valuesBase = this._valuesBase;\n\t\tif (valuesBase == null) {\n\t\t\tvaluesBase = [];\n\t\t\tthis._valuesBase = valuesBase;\n\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tconst x = values[i];\n\t\t\t\tconst y = values[i + 1];\n\t\t\t\tvalues[i] = x * scaleX;\n\t\t\t\tvalues[i + 1] = y * scaleY;\n\t\t\t\tvaluesBase.push(x, y);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\n\t\t// Invalidate\n\t\tthis._id += 1;\n\t\tif (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded && !uploaded.isCompatible(parent)) {\n\t\t\t\tparent.toDirty();\n\t\t\t}\n\t\t}\n\t}\n\n\tget id(): number {\n\t\tthis.fit();\n\t\treturn this._id;\n\t}\n\n\tget values(): number[] {\n\t\tthis.fit();\n\t\treturn this._values;\n\t}\n\n\tset values(values: number[]) {\n\t\tthis.set(values, undefined, undefined);\n\t}\n\n\tget segments(): number[] {\n\t\treturn this._segments;\n\t}\n\n\t/**\n\t * Must be sorted in ascending order.\n\t */\n\tset segments(segments: number[]) {\n\t\tthis.set(undefined, segments, undefined);\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\treturn this._style;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tthis.set(undefined, undefined, style);\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\treturn (this._marker ??= this.newMarker());\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\treturn this._marker;\n\t}\n\n\tprotected newMarker(): EShapePointsMarkerContainer {\n\t\treturn new EShapePointsMarkerContainerImpl(this);\n\t}\n\n\tonMarkerTypeChange(): void {\n\t\tconst parent = this._parent;\n\t\tparent.uploaded = undefined;\n\t\tparent.toDirty();\n\t}\n\n\tonMarkerSizeChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tonMarkerFillChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\treturn this._formatter || null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\tif (this._formatter !== formatter) {\n\t\t\tthis._formattedId = -1;\n\t\t\tthis._formatter = formatter;\n\t\t\tthis.toDirty(true);\n\t\t}\n\t}\n\n\tget formatted(): EShapePointsFormatted {\n\t\tthis.fit();\n\t\tconst id = this._id;\n\t\tlet result = this._formatted;\n\t\tif (this._formattedId !== id) {\n\t\t\tthis._formattedId = id;\n\n\t\t\tconst style = this._style;\n\t\t\tconst formatter = this._formatter ?? EShapePointsFormatters.find(style)?.formatter;\n\t\t\tif (formatter != null) {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tlength: 0,\n\t\t\t\t\t\tplength: 0,\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\tsegments: [],\n\t\t\t\t\t\tboundary: [0, 0, 0, 0],\n\t\t\t\t\t\tstyle: EShapePointsStyle.NONE\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst values = this._values;\n\t\t\t\tconst segments = this._segments;\n\t\t\t\tconst length = values.length >> 1;\n\t\t\t\tformatter(length, values, segments, style, result);\n\t\t\t\tif (result.plength < result.length) {\n\t\t\t\t\tresult.plength = result.length;\n\t\t\t\t}\n\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\t\t\t} else {\n\t\t\t\tresult = undefined;\n\t\t\t}\n\t\t\tthis._formatted = result;\n\t\t}\n\t\treturn result || this;\n\t}\n\n\tprotected toScaled(\n\t\tvalues: number[],\n\t\tvaluesBase: number[],\n\t\tboundary: EShapeBoundary,\n\t\tboundaryBase: EShapeBoundary\n\t): void {\n\t\tconst size = this._parentSizeFitted;\n\t\tconst sizeBase = this._parentSizeBase;\n\t\tconst threshold = 0.00001;\n\t\tconst hasSizeBaseX = threshold < Math.abs(sizeBase.x);\n\t\tconst hasSizeBaseY = threshold < Math.abs(sizeBase.y);\n\t\tif (hasSizeBaseX || hasSizeBaseY) {\n\t\t\tconst scaleX = hasSizeBaseX ? size.x / sizeBase.x : 1;\n\t\t\tconst scaleY = hasSizeBaseY ? size.y / sizeBase.y : 1;\n\n\t\t\tfor (let i = 0, imax = valuesBase.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\n\t\t\tfor (let i = 0, imax = boundaryBase.length; i < imax; i += 2) {\n\t\t\t\tboundary[i] = boundaryBase[i] * scaleX;\n\t\t\t\tboundary[i + 1] = boundaryBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\tthis.set(source.values, source.segments, source.style);\n\t\tconst marker = source.getMarker();\n\t\tif (marker) {\n\t\t\tthis.marker.copy(marker);\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(newValues?: number[], newSegments?: number[], newStyle?: EShapePointsStyle): this {\n\t\tlet isDirty = false;\n\t\tlet isUpdated = false;\n\n\t\t// Formatter\n\t\tconst style = this._style;\n\t\tconst styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;\n\t\tconst formatter = this._formatter;\n\n\t\t// Values\n\t\tif (newValues != null) {\n\t\t\tconst values = this._values;\n\t\t\tconst valuesBaseLength = this._valuesBaseLength;\n\t\t\tconst newValuesLength = newValues.length;\n\t\t\tconst iupdate = Math.min(newValuesLength, valuesBaseLength);\n\t\t\tconst parentSize = this._parent.size;\n\t\t\tthis.toFitted(parentSize.x, parentSize.y);\n\t\t\tif (values !== newValues) {\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tvalues[i] = newValues[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newValuesLength; ++i) {\n\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t}\n\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tvalues.length = newValuesLength;\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst newLength = newValuesLength >> 1;\n\t\t\tthis._length = newLength;\n\t\t\tif (this._plength < newLength) {\n\t\t\t\tthis._plength = newLength;\n\t\t\t}\n\t\t}\n\n\t\t// Segments\n\t\tif (newSegments != null) {\n\t\t\tconst segments = this._segments;\n\t\t\tif (segments !== newSegments) {\n\t\t\t\tconst newSegmentsLength = newSegments.length;\n\t\t\t\tconst iupdate = Math.min(segments.length, newSegmentsLength);\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tsegments[i] = newSegments[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newSegmentsLength; ++i) {\n\t\t\t\t\tsegments.push(newSegments[i]);\n\t\t\t\t}\n\n\t\t\t\tif (segments.length !== newSegmentsLength) {\n\t\t\t\t\tsegments.length = newSegmentsLength;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t}\n\n\t\t// Style\n\t\tif (newStyle != null) {\n\t\t\tif (style !== newStyle) {\n\t\t\t\tconst newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;\n\t\t\t\tif (styleFormatter !== newStyleFormatter) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tconst styleClosed = style & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tconst newStyleClosed = newStyle & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tif (styleClosed !== newStyleClosed) {\n\t\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis._style = newStyle;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif (isUpdated || isDirty) {\n\t\t\tthis.toDirty(isDirty);\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected toDirty(revalidate: boolean): void {\n\t\tif (revalidate) {\n\t\t\tthis._id += 1;\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded) {\n\t\t\t\tif (uploaded.isCompatible(parent)) {\n\t\t\t\t\tparent.updateUploaded();\n\t\t\t\t} else {\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tparent.updateUploaded();\n\t\t\t}\n\t\t} else {\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tclone(parent: EShape): EShapeLinePoints {\n\t\treturn new EShapeLinePoints(parent).copy(this);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst result: Point[] = [];\n\t\tconst values = this.values;\n\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\tconst point = new Point(values[i + 0], values[i + 1]);\n\t\t\tresult.push(transform.apply(point, point));\n\t\t}\n\t\treturn result;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst values = JSON.stringify(this._values);\n\t\tconst segments = JSON.stringify(this._segments);\n\t\tconst style = this._style;\n\t\tlet markerId = -1;\n\t\tconst marker = this._marker;\n\t\tif (marker) {\n\t\t\tmarkerId = marker.serialize(manager);\n\t\t}\n\t\treturn manager.addResource(`[${values},${segments},${style},${markerId}]`);\n\t}\n\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeLinePointsSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[resourceId]) as EShapeLinePointsSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tthis.set(parsed[0], parsed[1], parsed[2]);\n\t\t\tconst markerId = parsed[3];\n\t\t\tif (markerId != null && 0 <= markerId) {\n\t\t\t\tthis.marker.deserialize(markerId, manager);\n\t\t\t}\n\t\t}\n\t}\n\n\tcalcHitPointAbs<RESULT>(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tthreshold: number,\n\t\ttoRange: EShapeLineBasePointsHitTesterToRange | null,\n\t\ttester: EShapeLineBasePointsHitTester<RESULT>,\n\t\tresult: RESULT\n\t): boolean {\n\t\tconst formatted = this.formatted;\n\t\tconst length = formatted.length;\n\t\tif (2 <= length) {\n\t\t\tconst values = formatted.values;\n\t\t\tconst segments = formatted.segments;\n\t\t\tconst style = formatted.style;\n\t\t\tlet istart = 0;\n\t\t\tlet iend = length;\n\t\t\tif (toRange) {\n\t\t\t\tconst work = EShapeLinePoints.WORK_RANGE;\n\t\t\t\ttoRange(x, y, threshold, values, work);\n\t\t\t\tistart = work[0];\n\t\t\t\tiend = work[1];\n\t\t\t}\n\t\t\tfor (let i = istart, imax = Math.min(iend, length - 1); i < imax; ++i) {\n\t\t\t\tif (toIndexOf(segments, i + 1) < 0) {\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[iv + 2];\n\t\t\t\t\tconst p1y = values[iv + 3];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (2 < length && length <= iend && style & EShapePointsStyle.CLOSED) {\n\t\t\t\tif (toIndexOf(segments, 0) < 0) {\n\t\t\t\t\tconst i = length - 1;\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[0];\n\t\t\t\t\tconst p1y = values[1];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-line-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-line-points.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { toIndexOf } from \"../../util/to-index-of\";\nimport { EShape } from \"../e-shape\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport {\n\tEShapePointsFormatted,\n\tEShapePointsFormattedWithBoundary,\n\ttoPointsBoundary\n} from \"../e-shape-points-formatted\";\nimport { EShapeLineBasePointsHitTester } from \"./e-shape-line-base-points-hit-tester\";\nimport { EShapeLineBasePointsHitTesterToRange } from \"./e-shape-line-base-points-hit-tester-to-range\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImpl } from \"../e-shape-points-marker-container-impl\";\nimport { EShapePointsFormatters } from \"../e-shape-points-formatters\";\nimport { EShapeBoundary } from \"../e-shape-boundary\";\n\nexport type EShapeLinePointsSerialized = [number[], number[], number, number?];\n\nexport class EShapeLinePoints implements EShapePoints {\n\tprotected static WORK_RANGE: [number, number] = [0, 0];\n\n\tprotected _parent: EShape;\n\tprotected _valuesBase?: number[];\n\tprotected _valuesBaseLength: number;\n\tprotected _values: number[];\n\tprotected _segments: number[];\n\tprotected _length: number;\n\tprotected _plength: number;\n\tprotected _parentSizeBase: Point;\n\tprotected _parentSizeFitted: Point;\n\tprotected _id: number;\n\tprotected _style: EShapePointsStyle;\n\tprotected _formattedId: number;\n\tprotected _formatter?: EShapePointsFormatter | null;\n\tprotected _formatted?: EShapePointsFormattedWithBoundary;\n\n\tprotected _marker?: EShapePointsMarkerContainer;\n\n\tconstructor(parent: EShape) {\n\t\tthis._parent = parent;\n\t\tthis._valuesBaseLength = 0;\n\t\tthis._values = [];\n\t\tthis._segments = [];\n\t\tthis._length = 0;\n\t\tthis._plength = 0;\n\t\tconst parentSize = parent.size;\n\t\tconst parentSizeX = parentSize.x;\n\t\tconst parentSizeY = parentSize.y;\n\t\tthis._parentSizeBase = new Point(parentSizeX, parentSizeY);\n\t\tthis._parentSizeFitted = new Point(parentSizeX, parentSizeY);\n\t\tthis._id = 0;\n\t\tthis._style = this.newStyle();\n\t\tthis._formattedId = -1;\n\t}\n\n\tprotected newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.NONE;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\tget plength(): number {\n\t\treturn this._plength;\n\t}\n\n\ttoFitted(x: number, y: number): void {\n\t\tthis._valuesBase = undefined;\n\t\tthis._parentSizeFitted.set(x, y);\n\t\tthis._parentSizeBase.set(x, y);\n\t}\n\n\tonSizeChange(): void {\n\t\tthis.fit();\n\t}\n\n\tprotected fit(): void {\n\t\tconst parent = this._parent;\n\t\tconst psizef = this._parentSizeFitted;\n\t\tconst psize = parent.size;\n\t\tconst psizeX = psize.x;\n\t\tconst psizeY = psize.y;\n\t\tconst threshold = 0.00001;\n\t\tif (Math.abs(psizeX - psizef.x) <= threshold && Math.abs(psizeY - psizef.y) <= threshold) {\n\t\t\treturn;\n\t\t}\n\n\t\tpsizef.set(psizeX, psizeY);\n\t\tconst psizeBase = this._parentSizeBase;\n\t\tconst isValidX = threshold < Math.abs(psizeBase.x);\n\t\tconst isValidY = threshold < Math.abs(psizeBase.y);\n\t\tif (!isValidX && !isValidY) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scaleX = isValidX ? psizeX / psizeBase.x : 1;\n\t\tconst scaleY = isValidY ? psizeY / psizeBase.y : 1;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tlet valuesBase = this._valuesBase;\n\t\tif (valuesBase == null) {\n\t\t\tvaluesBase = [];\n\t\t\tthis._valuesBase = valuesBase;\n\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tconst x = values[i];\n\t\t\t\tconst y = values[i + 1];\n\t\t\t\tvalues[i] = x * scaleX;\n\t\t\t\tvalues[i + 1] = y * scaleY;\n\t\t\t\tvaluesBase.push(x, y);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\n\t\t// Invalidate\n\t\tthis._id += 1;\n\t\tif (this.doNeedCompatibilityCheck()) {\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded && !uploaded.isCompatible(parent)) {\n\t\t\t\tparent.toDirty();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doNeedCompatibilityCheck(): boolean {\n\t\treturn this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;\n\t}\n\n\tget id(): number {\n\t\tthis.fit();\n\t\treturn this._id;\n\t}\n\n\tget values(): number[] {\n\t\tthis.fit();\n\t\treturn this._values;\n\t}\n\n\tset values(values: number[]) {\n\t\tthis.set(values, undefined, undefined);\n\t}\n\n\tget segments(): number[] {\n\t\treturn this._segments;\n\t}\n\n\t/**\n\t * Must be sorted in ascending order.\n\t */\n\tset segments(segments: number[]) {\n\t\tthis.set(undefined, segments, undefined);\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\treturn this._style;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tthis.set(undefined, undefined, style);\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\treturn (this._marker ??= this.newMarker());\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\treturn this._marker;\n\t}\n\n\tprotected newMarker(): EShapePointsMarkerContainer {\n\t\treturn new EShapePointsMarkerContainerImpl(this);\n\t}\n\n\tonMarkerTypeChange(): void {\n\t\tconst parent = this._parent;\n\t\tparent.uploaded = undefined;\n\t\tparent.toDirty();\n\t}\n\n\tonMarkerSizeChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tonMarkerFillChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\treturn this._formatter || null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\tif (this._formatter !== formatter) {\n\t\t\tthis._formattedId = -1;\n\t\t\tthis._formatter = formatter;\n\t\t\tthis.toDirty(true);\n\t\t}\n\t}\n\n\tget formatted(): EShapePointsFormatted {\n\t\tthis.fit();\n\t\tconst id = this._id;\n\t\tlet result = this._formatted;\n\t\tif (this._formattedId !== id) {\n\t\t\tthis._formattedId = id;\n\n\t\t\tconst style = this._style;\n\t\t\tconst formatter = this._formatter ?? EShapePointsFormatters.find(style)?.formatter;\n\t\t\tif (formatter != null) {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tlength: 0,\n\t\t\t\t\t\tplength: 0,\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\tsegments: [],\n\t\t\t\t\t\tboundary: [0, 0, 0, 0],\n\t\t\t\t\t\tstyle: EShapePointsStyle.NONE\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst values = this._values;\n\t\t\t\tconst segments = this._segments;\n\t\t\t\tconst length = values.length >> 1;\n\t\t\t\tformatter(length, values, segments, style, result);\n\t\t\t\tif (result.plength < result.length) {\n\t\t\t\t\tresult.plength = result.length;\n\t\t\t\t}\n\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\t\t\t} else {\n\t\t\t\tresult = undefined;\n\t\t\t}\n\t\t\tthis._formatted = result;\n\t\t}\n\t\treturn result || this;\n\t}\n\n\tprotected toScaled(\n\t\tvalues: number[],\n\t\tvaluesBase: number[],\n\t\tboundary: EShapeBoundary,\n\t\tboundaryBase: EShapeBoundary\n\t): void {\n\t\tconst size = this._parentSizeFitted;\n\t\tconst sizeBase = this._parentSizeBase;\n\t\tconst threshold = 0.00001;\n\t\tconst hasSizeBaseX = threshold < Math.abs(sizeBase.x);\n\t\tconst hasSizeBaseY = threshold < Math.abs(sizeBase.y);\n\t\tif (hasSizeBaseX || hasSizeBaseY) {\n\t\t\tconst scaleX = hasSizeBaseX ? size.x / sizeBase.x : 1;\n\t\t\tconst scaleY = hasSizeBaseY ? size.y / sizeBase.y : 1;\n\n\t\t\tfor (let i = 0, imax = valuesBase.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\n\t\t\tfor (let i = 0, imax = boundaryBase.length; i < imax; i += 2) {\n\t\t\t\tboundary[i] = boundaryBase[i] * scaleX;\n\t\t\t\tboundary[i + 1] = boundaryBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\tthis.set(source.values, source.segments, source.style);\n\t\tconst marker = source.getMarker();\n\t\tif (marker) {\n\t\t\tthis.marker.copy(marker);\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(newValues?: number[], newSegments?: number[], newStyle?: EShapePointsStyle): this {\n\t\tlet isDirty = false;\n\t\tlet isUpdated = false;\n\n\t\t// Values\n\t\tif (newValues != null) {\n\t\t\tconst values = this._values;\n\t\t\tconst valuesBaseLength = this._valuesBaseLength;\n\t\t\tconst newValuesLength = newValues.length;\n\t\t\tconst iupdate = Math.min(newValuesLength, valuesBaseLength);\n\t\t\tconst parentSize = this._parent.size;\n\t\t\tthis.toFitted(parentSize.x, parentSize.y);\n\t\t\tif (values !== newValues) {\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tvalues[i] = newValues[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newValuesLength; ++i) {\n\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t}\n\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tvalues.length = newValuesLength;\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.doNeedCompatibilityCheck()) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.doNeedCompatibilityCheck()) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst newLength = newValuesLength >> 1;\n\t\t\tthis._length = newLength;\n\t\t\tif (this._plength < newLength) {\n\t\t\t\tthis._plength = newLength;\n\t\t\t}\n\t\t}\n\n\t\t// Segments\n\t\tif (newSegments != null) {\n\t\t\tconst segments = this._segments;\n\t\t\tif (segments !== newSegments) {\n\t\t\t\tconst newSegmentsLength = newSegments.length;\n\t\t\t\tconst iupdate = Math.min(segments.length, newSegmentsLength);\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tsegments[i] = newSegments[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newSegmentsLength; ++i) {\n\t\t\t\t\tsegments.push(newSegments[i]);\n\t\t\t\t}\n\n\t\t\t\tif (segments.length !== newSegmentsLength) {\n\t\t\t\t\tsegments.length = newSegmentsLength;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.doNeedCompatibilityCheck()) {\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t}\n\n\t\t// Style\n\t\tif (newStyle != null) {\n\t\t\tconst style = this._style;\n\t\t\tif (style !== newStyle) {\n\t\t\t\tconst styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;\n\t\t\t\tconst newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;\n\t\t\t\tif (styleFormatter !== newStyleFormatter) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (this._formatter != null || styleFormatter) {\n\t\t\t\t\t\tconst styleClosed = style & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tconst newStyleClosed = newStyle & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tif (styleClosed !== newStyleClosed) {\n\t\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis._style = newStyle;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif (isUpdated || isDirty) {\n\t\t\tthis.toDirty(isDirty);\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected toDirty(revalidate: boolean): void {\n\t\tif (revalidate) {\n\t\t\tthis._id += 1;\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded) {\n\t\t\t\tif (uploaded.isCompatible(parent)) {\n\t\t\t\t\tparent.updateUploaded();\n\t\t\t\t} else {\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tparent.updateUploaded();\n\t\t\t}\n\t\t} else {\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tclone(parent: EShape): EShapeLinePoints {\n\t\treturn new EShapeLinePoints(parent).copy(this);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst result: Point[] = [];\n\t\tconst values = this.values;\n\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\tconst point = new Point(values[i + 0], values[i + 1]);\n\t\t\tresult.push(transform.apply(point, point));\n\t\t}\n\t\treturn result;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst values = JSON.stringify(this._values);\n\t\tconst segments = JSON.stringify(this._segments);\n\t\tconst style = this._style;\n\t\tlet markerId = -1;\n\t\tconst marker = this._marker;\n\t\tif (marker) {\n\t\t\tmarkerId = marker.serialize(manager);\n\t\t}\n\t\treturn manager.addResource(`[${values},${segments},${style},${markerId}]`);\n\t}\n\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeLinePointsSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[resourceId]) as EShapeLinePointsSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tthis.set(parsed[0], parsed[1], parsed[2]);\n\t\t\tconst markerId = parsed[3];\n\t\t\tif (markerId != null && 0 <= markerId) {\n\t\t\t\tthis.marker.deserialize(markerId, manager);\n\t\t\t}\n\t\t}\n\t}\n\n\tcalcHitPointAbs<RESULT>(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tthreshold: number,\n\t\ttoRange: EShapeLineBasePointsHitTesterToRange | null,\n\t\ttester: EShapeLineBasePointsHitTester<RESULT>,\n\t\tresult: RESULT\n\t): boolean {\n\t\tconst formatted = this.formatted;\n\t\tconst length = formatted.length;\n\t\tif (2 <= length) {\n\t\t\tconst values = formatted.values;\n\t\t\tconst segments = formatted.segments;\n\t\t\tconst style = formatted.style;\n\t\t\tlet istart = 0;\n\t\t\tlet iend = length;\n\t\t\tif (toRange) {\n\t\t\t\tconst work = EShapeLinePoints.WORK_RANGE;\n\t\t\t\ttoRange(x, y, threshold, values, work);\n\t\t\t\tistart = work[0];\n\t\t\t\tiend = work[1];\n\t\t\t}\n\t\t\tfor (let i = istart, imax = Math.min(iend, length - 1); i < imax; ++i) {\n\t\t\t\tif (toIndexOf(segments, i + 1) < 0) {\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[iv + 2];\n\t\t\t\t\tconst p1y = values[iv + 3];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (2 < length && length <= iend && style & EShapePointsStyle.CLOSED) {\n\t\t\t\tif (toIndexOf(segments, 0) < 0) {\n\t\t\t\t\tconst i = length - 1;\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[0];\n\t\t\t\t\tconst p1y = values[1];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
@@ -9,6 +9,11 @@ var EShapePolygonPoints = /** @class */ (function (_super) {
9
9
  EShapePolygonPoints.prototype.newStyle = function () {
10
10
  return EShapePointsStyle.CLOSED;
11
11
  };
12
+ EShapePolygonPoints.prototype.doNeedCompatibilityCheck = function () {
13
+ // Since the number of vertices and indices could be changed during the triangulation,
14
+ // we need to check the compatibility whenever values change.
15
+ return true;
16
+ };
12
17
  return EShapePolygonPoints;
13
18
  }(EShapeLinePoints));
14
19
  export { EShapePolygonPoints };
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-polygon-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-points.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;IAAyC,uCAAgB;IAAzD;;IAIA,CAAC;IAHmB,sCAAQ,GAA3B;QACC,OAAO,iBAAiB,CAAC,MAAM,CAAC;IACjC,CAAC;IACF,0BAAC;AAAD,CAAC,AAJD,CAAyC,gBAAgB,GAIxD","sourcesContent":["import { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeLinePoints } from \"./e-shape-line-points\";\n\nexport class EShapePolygonPoints extends EShapeLinePoints {\n\tprotected override newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.CLOSED;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-polygon-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-points.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;IAAyC,uCAAgB;IAAzD;;IAUA,CAAC;IATmB,sCAAQ,GAA3B;QACC,OAAO,iBAAiB,CAAC,MAAM,CAAC;IACjC,CAAC;IAEkB,sDAAwB,GAA3C;QACC,sFAAsF;QACtF,6DAA6D;QAC7D,OAAO,IAAI,CAAC;IACb,CAAC;IACF,0BAAC;AAAD,CAAC,AAVD,CAAyC,gBAAgB,GAUxD","sourcesContent":["import { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeLinePoints } from \"./e-shape-line-points\";\n\nexport class EShapePolygonPoints extends EShapeLinePoints {\n\tprotected override newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.CLOSED;\n\t}\n\n\tprotected override doNeedCompatibilityCheck(): boolean {\n\t\t// Since the number of vertices and indices could be changed during the triangulation,\n\t\t// we need to check the compatibility whenever values change.\n\t\treturn true;\n\t}\n}\n"]}
@@ -337,6 +337,9 @@ var EShapePolygonTriangulatedImpl = /** @class */ (function () {
337
337
  }
338
338
  this._boundary = boundary;
339
339
  }
340
+ else {
341
+ toPointsBoundary(this._vertices, this._boundary);
342
+ }
340
343
  }
341
344
  else {
342
345
  toPointsBoundary(this._vertices, this._boundary);
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-polygon-triangulated-impl.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-triangulated-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import { UtilStraightSkeleton } from \"../../util/util-straight-skeleton\";\nimport { UtilStraightSkeletonBuffer } from \"../../util/util-straight-skeleton-buffer\";\nimport { EShapeBoundary } from \"../e-shape-boundary\";\nimport { toPointsBoundary } from \"../e-shape-points-formatted\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport type { EShapePolygon } from \"./e-shape-polygon\";\nimport type { EShapePolygonTriangulated } from \"./e-shape-polygon-triangulated\";\n\nexport type EShapePolygonTriangulatedExtensionSerialized = [\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber?\n];\n\nexport class EShapePolygonTriangulatedImpl implements EShapePolygonTriangulated {\n\tprotected _id: number;\n\tprotected _parent: EShapePolygon;\n\tprotected _parentPointsId: number;\n\tprotected _vertices: number[];\n\tprotected _nvertices: number;\n\tprotected _distances: number[];\n\tprotected _lengths: number[];\n\tprotected _clippings: number[];\n\tprotected _uvs: number[];\n\tprotected _indices: number[];\n\tprotected _nindices: number;\n\tprotected _boundary: EShapeBoundary;\n\n\tconstructor(parent: EShapePolygon) {\n\t\tthis._id = 0;\n\t\tthis._parent = parent;\n\t\tthis._parentPointsId = -1;\n\t\tthis._vertices = [];\n\t\tthis._nvertices = 0;\n\t\tthis._distances = [];\n\t\tthis._lengths = [];\n\t\tthis._clippings = [];\n\t\tthis._uvs = [];\n\t\tthis._indices = [];\n\t\tthis._nindices = 0;\n\t\tthis._boundary = [0, 0, 0, 0];\n\t}\n\n\tget id(): number {\n\t\tthis.triangulate();\n\t\treturn this._id;\n\t}\n\n\tget vertices(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._vertices;\n\t}\n\n\tget nvertices(): number {\n\t\tthis.triangulate();\n\t\treturn this._nvertices;\n\t}\n\n\tget distances(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._distances;\n\t}\n\n\tget lengths(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._lengths;\n\t}\n\n\tget clippings(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._clippings;\n\t}\n\n\tget uvs(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._uvs;\n\t}\n\n\tget indices(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._indices;\n\t}\n\n\tget nindices(): number {\n\t\tthis.triangulate();\n\t\treturn this._nindices;\n\t}\n\n\tget boundary(): EShapeBoundary {\n\t\tthis.triangulate();\n\t\treturn this._boundary;\n\t}\n\n\tset(\n\t\tparentPointsId?: number,\n\t\tvertices?: number[],\n\t\tdistances?: number[],\n\t\tlengths?: number[],\n\t\tclippings?: number[],\n\t\tuvs?: number[],\n\t\tindices?: number[],\n\t\tboundary?: EShapeBoundary\n\t): this {\n\t\tlet isChanged = false;\n\n\t\t// Parent Vertex ID\n\t\tif (parentPointsId != null) {\n\t\t\tthis._parentPointsId = parentPointsId;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Vertices\n\t\tif (vertices != null) {\n\t\t\tconst verticesLength = vertices.length;\n\t\t\tfor (let i = 0; i < verticesLength; ++i) {\n\t\t\t\tthis._vertices[i] = vertices[i];\n\t\t\t}\n\t\t\tif (this._vertices.length !== verticesLength) {\n\t\t\t\tthis._vertices.length = verticesLength;\n\t\t\t}\n\t\t\tthis._nvertices = verticesLength >> 1;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Distances\n\t\tif (distances != null) {\n\t\t\tconst distancesLength = distances.length;\n\t\t\tfor (let i = 0; i < distancesLength; ++i) {\n\t\t\t\tthis._distances[i] = distances[i];\n\t\t\t}\n\t\t\tif (this._distances.length !== distancesLength) {\n\t\t\t\tthis._distances.length = distancesLength;\n\t\t\t}\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Lengths\n\t\tif (lengths != null) {\n\t\t\tconst lengthsLength = lengths.length;\n\t\t\tfor (let i = 0; i < lengthsLength; ++i) {\n\t\t\t\tthis._lengths[i] = lengths[i];\n\t\t\t}\n\t\t\tif (this._lengths.length !== lengthsLength) {\n\t\t\t\tthis._lengths.length = lengthsLength;\n\t\t\t}\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Clippings\n\t\tif (clippings != null) {\n\t\t\tconst clippingsLength = clippings.length;\n\t\t\tfor (let i = 0; i < clippingsLength; ++i) {\n\t\t\t\tthis._clippings[i] = clippings[i];\n\t\t\t}\n\t\t\tif (this._clippings.length !== clippingsLength) {\n\t\t\t\tthis._clippings.length = clippingsLength;\n\t\t\t}\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// UVs\n\t\tif (uvs != null) {\n\t\t\tconst uvsLength = uvs.length;\n\t\t\tfor (let i = 0; i < uvsLength; ++i) {\n\t\t\t\tthis._uvs[i] = uvs[i];\n\t\t\t}\n\t\t\tif (this._uvs.length !== uvsLength) {\n\t\t\t\tthis._uvs.length = uvsLength;\n\t\t\t}\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Indices\n\t\tif (indices != null) {\n\t\t\tconst indicesLength = indices.length;\n\t\t\tfor (let i = 0; i < indicesLength; ++i) {\n\t\t\t\tthis._indices[i] = indices[i];\n\t\t\t}\n\t\t\tif (this._indices.length !== indicesLength) {\n\t\t\t\tthis._indices.length = indicesLength;\n\t\t\t}\n\t\t\tthis._nindices = indicesLength / 3;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Boundary\n\t\tif (boundary != null) {\n\t\t\tthis._boundary[0] = boundary[0];\n\t\t\tthis._boundary[1] = boundary[1];\n\t\t\tthis._boundary[2] = boundary[2];\n\t\t\tthis._boundary[3] = boundary[3];\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Done\n\t\tif (isChanged) {\n\t\t\tthis._id += 1;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected triangulate(): void {\n\t\tconst parent = this._parent;\n\t\tconst parentPoints = parent.points;\n\t\tconst parentPointsId = parentPoints.id;\n\t\tconst isParentIdChanged = this._parentPointsId !== parentPointsId;\n\t\tif (isParentIdChanged) {\n\t\t\tthis._parentPointsId = parentPointsId;\n\t\t\tconst buffer = UtilStraightSkeletonBuffer.from(\n\t\t\t\tUtilStraightSkeleton.from(parentPoints.formatted.values)\n\t\t\t);\n\t\t\tthis._id += 1;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tthis._vertices = vertices;\n\t\t\tthis._nvertices = buffer.vertices.length >> 1;\n\t\t\tthis._distances = buffer.distances;\n\t\t\tthis._lengths = buffer.lengths;\n\t\t\tthis._clippings = buffer.clippings;\n\t\t\tconst boundary = this._boundary;\n\t\t\ttoPointsBoundary(vertices, boundary);\n\t\t\tthis._uvs = this.toUvs(vertices, boundary);\n\t\t\tthis._indices = buffer.indices;\n\t\t\tthis._nindices = buffer.indices.length / 3;\n\t\t}\n\t}\n\n\tprotected toUvs(vertices: number[], boundary: EShapeBoundary): number[] {\n\t\tconst result: number[] = [];\n\t\tconst xmin = boundary[0];\n\t\tconst ymin = boundary[1];\n\t\tconst xmax = boundary[2];\n\t\tconst ymax = boundary[3];\n\t\tconst sx = xmax - xmin;\n\t\tconst sy = ymax - ymin;\n\t\tconst fx = 0 < sx ? 1 / sx : 0;\n\t\tconst fy = 0 < sy ? 1 / sy : 0;\n\t\tconst verticesLength = vertices.length;\n\t\tfor (let i = 0; i < verticesLength; i += 2) {\n\t\t\tresult.push((vertices[i] - xmin) * fx, (vertices[i + 1] - ymin) * fy);\n\t\t}\n\t\treturn result;\n\t}\n\n\tcopy(source: EShapePolygonTriangulated): this {\n\t\tthis.set(\n\t\t\tthis._parent.points.id,\n\t\t\tsource.vertices,\n\t\t\tsource.distances,\n\t\t\tsource.lengths,\n\t\t\tsource.clippings,\n\t\t\tsource.uvs,\n\t\t\tsource.indices,\n\t\t\tsource.boundary\n\t\t);\n\t\treturn this;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tthis.triangulate();\n\t\tconst serialized: EShapePolygonTriangulatedExtensionSerialized = [\n\t\t\tmanager.addResource(JSON.stringify(this._vertices)),\n\t\t\tmanager.addResource(JSON.stringify(this._distances)),\n\t\t\tmanager.addResource(JSON.stringify(this._lengths)),\n\t\t\tmanager.addResource(JSON.stringify(this._clippings)),\n\t\t\tmanager.addResource(JSON.stringify(this._uvs)),\n\t\t\tmanager.addResource(JSON.stringify(this._indices)),\n\t\t\tmanager.addResource(JSON.stringify(this._boundary))\n\t\t];\n\t\treturn manager.addResource(JSON.stringify(serialized));\n\t}\n\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tconst resourcesLength = resources.length;\n\t\tif (0 <= resourceId && resourceId < resourcesLength) {\n\t\t\tlet parsed =\n\t\t\t\tmanager.getExtension<EShapePolygonTriangulatedExtensionSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(\n\t\t\t\t\tresources[resourceId]\n\t\t\t\t) as EShapePolygonTriangulatedExtensionSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\n\t\t\t// Parent Points Id\n\t\t\tthis._parentPointsId = this._parent.points.id;\n\n\t\t\t// Vertices\n\t\t\t{\n\t\t\t\tconst vertexId = parsed[0];\n\t\t\t\tif (0 <= vertexId && vertexId < resourcesLength) {\n\t\t\t\t\tlet vertices = manager.getExtension<number[]>(vertexId);\n\t\t\t\t\tif (vertices == null) {\n\t\t\t\t\t\tvertices = JSON.parse(resources[vertexId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(vertexId, vertices);\n\t\t\t\t\t}\n\t\t\t\t\tthis._vertices = vertices;\n\t\t\t\t\tthis._nvertices = vertices.length >> 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Distances\n\t\t\t{\n\t\t\t\tconst distanceId = parsed[1];\n\t\t\t\tif (0 <= distanceId && distanceId < resourcesLength) {\n\t\t\t\t\tlet distances = manager.getExtension<number[]>(distanceId);\n\t\t\t\t\tif (distances == null) {\n\t\t\t\t\t\tdistances = JSON.parse(resources[distanceId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(distanceId, distances);\n\t\t\t\t\t}\n\t\t\t\t\tthis._distances = distances;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Lengths\n\t\t\t{\n\t\t\t\tconst lengthId = parsed[2];\n\t\t\t\tif (0 <= lengthId && lengthId < resourcesLength) {\n\t\t\t\t\tlet lengths = manager.getExtension<number[]>(lengthId);\n\t\t\t\t\tif (lengths == null) {\n\t\t\t\t\t\tlengths = JSON.parse(resources[lengthId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(lengthId, lengths);\n\t\t\t\t\t}\n\t\t\t\t\tthis._lengths = lengths;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\t{\n\t\t\t\tconst clippingId = parsed[3];\n\t\t\t\tif (0 <= clippingId && clippingId < resourcesLength) {\n\t\t\t\t\tlet clippings = manager.getExtension<number[]>(clippingId);\n\t\t\t\t\tif (clippings == null) {\n\t\t\t\t\t\tclippings = JSON.parse(resources[clippingId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(clippingId, clippings);\n\t\t\t\t\t}\n\t\t\t\t\tthis._clippings = clippings;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\t{\n\t\t\t\tconst uvId = parsed[4];\n\t\t\t\tif (0 <= uvId && uvId < resourcesLength) {\n\t\t\t\t\tlet uvs = manager.getExtension<number[]>(uvId);\n\t\t\t\t\tif (uvs == null) {\n\t\t\t\t\t\tuvs = JSON.parse(resources[uvId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(uvId, uvs);\n\t\t\t\t\t}\n\t\t\t\t\tthis._uvs = uvs;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Indices\n\t\t\t{\n\t\t\t\tconst indexId = parsed[5];\n\t\t\t\tif (0 <= indexId && indexId < resourcesLength) {\n\t\t\t\t\tlet indices = manager.getExtension<number[]>(indexId);\n\t\t\t\t\tif (indices == null) {\n\t\t\t\t\t\tindices = JSON.parse(resources[indexId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(indexId, indices);\n\t\t\t\t\t}\n\t\t\t\t\tthis._indices = indices;\n\t\t\t\t\tthis._nindices = indices.length / 3;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Boundary\n\t\t\t{\n\t\t\t\tconst boundaryId = parsed[6];\n\t\t\t\tif (boundaryId != null) {\n\t\t\t\t\tif (0 <= boundaryId && boundaryId < resourcesLength) {\n\t\t\t\t\t\tlet boundary = manager.getExtension<EShapeBoundary>(boundaryId);\n\t\t\t\t\t\tif (boundary == null) {\n\t\t\t\t\t\t\tboundary = JSON.parse(resources[boundaryId]) as EShapeBoundary;\n\t\t\t\t\t\t\tmanager.setExtension(boundaryId, boundary);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._boundary = boundary;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttoPointsBoundary(this._vertices, this._boundary);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._id += 1;\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-polygon-triangulated-impl.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-triangulated-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAgB/D;IAcC,uCAAY,MAAqB;QAChC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,sBAAI,6CAAE;aAAN;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC;;;OAAA;IAED,sBAAI,mDAAQ;aAAZ;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,oDAAS;aAAb;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC;QACxB,CAAC;;;OAAA;IAED,sBAAI,oDAAS;aAAb;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC;QACxB,CAAC;;;OAAA;IAED,sBAAI,kDAAO;aAAX;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;;;OAAA;IAED,sBAAI,oDAAS;aAAb;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC;QACxB,CAAC;;;OAAA;IAED,sBAAI,8CAAG;aAAP;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;;;OAAA;IAED,sBAAI,kDAAO;aAAX;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;;;OAAA;IAED,sBAAI,mDAAQ;aAAZ;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,mDAAQ;aAAZ;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,2CAAG,GAAH,UACC,cAAuB,EACvB,QAAmB,EACnB,SAAoB,EACpB,OAAkB,EAClB,SAAoB,EACpB,GAAc,EACd,OAAkB,EAClB,QAAyB;QAEzB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,mBAAmB;QACnB,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;YACtC,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,WAAW;QACX,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACtB,IAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,cAAc,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,cAAc,IAAI,CAAC,CAAC;YACtC,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,YAAY;QACZ,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACvB,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC;YAC1C,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,UAAU;QACV,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACrB,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;YACtC,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,YAAY;QACZ,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACvB,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC;YAC1C,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,MAAM;QACN,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACjB,IAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC9B,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,UAAU;QACV,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACrB,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;YACnC,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,WAAW;QACX,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,OAAO;QACP,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,mDAAW,GAArB;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,IAAM,cAAc,GAAG,YAAY,CAAC,EAAE,CAAC;QACvC,IAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,KAAK,cAAc,CAAC;QAClE,IAAI,iBAAiB,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;YACtC,IAAM,MAAM,GAAG,0BAA0B,CAAC,IAAI,CAC7C,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CACxD,CAAC;YACF,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IAES,6CAAK,GAAf,UAAgB,QAAkB,EAAE,QAAwB;QAC3D,IAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;QACvB,IAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;QACvB,IAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,4CAAI,GAAJ,UAAK,MAAiC;QACrC,IAAI,CAAC,GAAG,CACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EACtB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iDAAS,GAAT,UAAU,OAA2C;QACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAM,UAAU,GAAiD;YAChE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnD,CAAC;QACF,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,mDAAW,GAAX,UAAY,UAAkB,EAAE,OAA6C;QAC5E,IAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;YACrD,IAAI,MAAM,GACT,OAAO,CAAC,YAAY,CAA+C,UAAU,CAAC,CAAC;YAChF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,GAAG,IAAI,CAAC,KAAK,CAClB,SAAS,CAAC,UAAU,CAAC,CAC2B,CAAC;gBAClD,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,mBAAmB;YACnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAE9C,WAAW;YACX,CAAC;gBACA,IAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,GAAG,eAAe,EAAE,CAAC;oBACjD,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAW,QAAQ,CAAC,CAAC;oBACxD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;wBACtB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAa,CAAC;wBACvD,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;oBAC1B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;gBACxC,CAAC;YACF,CAAC;YAED,YAAY;YACZ,CAAC;gBACA,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;oBACrD,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAW,UAAU,CAAC,CAAC;oBAC3D,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;wBACvB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAa,CAAC;wBAC1D,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC7C,CAAC;oBACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC7B,CAAC;YACF,CAAC;YAED,UAAU;YACV,CAAC;gBACA,IAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,GAAG,eAAe,EAAE,CAAC;oBACjD,IAAI,OAAO,GAAG,OAAO,CAAC,YAAY,CAAW,QAAQ,CAAC,CAAC;oBACvD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;wBACrB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAa,CAAC;wBACtD,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACzC,CAAC;oBACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACzB,CAAC;YACF,CAAC;YAED,YAAY;YACZ,CAAC;gBACA,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;oBACrD,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAW,UAAU,CAAC,CAAC;oBAC3D,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;wBACvB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAa,CAAC;wBAC1D,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC7C,CAAC;oBACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC7B,CAAC;YACF,CAAC;YAED,MAAM;YACN,CAAC;gBACA,IAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,eAAe,EAAE,CAAC;oBACzC,IAAI,GAAG,GAAG,OAAO,CAAC,YAAY,CAAW,IAAI,CAAC,CAAC;oBAC/C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAa,CAAC;wBAC9C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACjC,CAAC;oBACD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;gBACjB,CAAC;YACF,CAAC;YAED,UAAU;YACV,CAAC;gBACA,IAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,OAAO,IAAI,OAAO,GAAG,eAAe,EAAE,CAAC;oBAC/C,IAAI,OAAO,GAAG,OAAO,CAAC,YAAY,CAAW,OAAO,CAAC,CAAC;oBACtD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;wBACrB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAa,CAAC;wBACrD,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACxC,CAAC;oBACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;oBACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrC,CAAC;YACF,CAAC;YAED,WAAW;YACX,CAAC;gBACA,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;wBACrD,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAiB,UAAU,CAAC,CAAC;wBAChE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;4BACtB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAmB,CAAC;4BAC/D,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBAC5C,CAAC;wBACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACP,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBAClD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClD,CAAC;YACF,CAAC;YAED,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACf,CAAC;IACF,CAAC;IACF,oCAAC;AAAD,CAAC,AAvXD,IAuXC","sourcesContent":["import { UtilStraightSkeleton } from \"../../util/util-straight-skeleton\";\nimport { UtilStraightSkeletonBuffer } from \"../../util/util-straight-skeleton-buffer\";\nimport { EShapeBoundary } from \"../e-shape-boundary\";\nimport { toPointsBoundary } from \"../e-shape-points-formatted\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport type { EShapePolygon } from \"./e-shape-polygon\";\nimport type { EShapePolygonTriangulated } from \"./e-shape-polygon-triangulated\";\n\nexport type EShapePolygonTriangulatedExtensionSerialized = [\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber?\n];\n\nexport class EShapePolygonTriangulatedImpl implements EShapePolygonTriangulated {\n\tprotected _id: number;\n\tprotected _parent: EShapePolygon;\n\tprotected _parentPointsId: number;\n\tprotected _vertices: number[];\n\tprotected _nvertices: number;\n\tprotected _distances: number[];\n\tprotected _lengths: number[];\n\tprotected _clippings: number[];\n\tprotected _uvs: number[];\n\tprotected _indices: number[];\n\tprotected _nindices: number;\n\tprotected _boundary: EShapeBoundary;\n\n\tconstructor(parent: EShapePolygon) {\n\t\tthis._id = 0;\n\t\tthis._parent = parent;\n\t\tthis._parentPointsId = -1;\n\t\tthis._vertices = [];\n\t\tthis._nvertices = 0;\n\t\tthis._distances = [];\n\t\tthis._lengths = [];\n\t\tthis._clippings = [];\n\t\tthis._uvs = [];\n\t\tthis._indices = [];\n\t\tthis._nindices = 0;\n\t\tthis._boundary = [0, 0, 0, 0];\n\t}\n\n\tget id(): number {\n\t\tthis.triangulate();\n\t\treturn this._id;\n\t}\n\n\tget vertices(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._vertices;\n\t}\n\n\tget nvertices(): number {\n\t\tthis.triangulate();\n\t\treturn this._nvertices;\n\t}\n\n\tget distances(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._distances;\n\t}\n\n\tget lengths(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._lengths;\n\t}\n\n\tget clippings(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._clippings;\n\t}\n\n\tget uvs(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._uvs;\n\t}\n\n\tget indices(): number[] {\n\t\tthis.triangulate();\n\t\treturn this._indices;\n\t}\n\n\tget nindices(): number {\n\t\tthis.triangulate();\n\t\treturn this._nindices;\n\t}\n\n\tget boundary(): EShapeBoundary {\n\t\tthis.triangulate();\n\t\treturn this._boundary;\n\t}\n\n\tset(\n\t\tparentPointsId?: number,\n\t\tvertices?: number[],\n\t\tdistances?: number[],\n\t\tlengths?: number[],\n\t\tclippings?: number[],\n\t\tuvs?: number[],\n\t\tindices?: number[],\n\t\tboundary?: EShapeBoundary\n\t): this {\n\t\tlet isChanged = false;\n\n\t\t// Parent Vertex ID\n\t\tif (parentPointsId != null) {\n\t\t\tthis._parentPointsId = parentPointsId;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Vertices\n\t\tif (vertices != null) {\n\t\t\tconst verticesLength = vertices.length;\n\t\t\tfor (let i = 0; i < verticesLength; ++i) {\n\t\t\t\tthis._vertices[i] = vertices[i];\n\t\t\t}\n\t\t\tif (this._vertices.length !== verticesLength) {\n\t\t\t\tthis._vertices.length = verticesLength;\n\t\t\t}\n\t\t\tthis._nvertices = verticesLength >> 1;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Distances\n\t\tif (distances != null) {\n\t\t\tconst distancesLength = distances.length;\n\t\t\tfor (let i = 0; i < distancesLength; ++i) {\n\t\t\t\tthis._distances[i] = distances[i];\n\t\t\t}\n\t\t\tif (this._distances.length !== distancesLength) {\n\t\t\t\tthis._distances.length = distancesLength;\n\t\t\t}\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Lengths\n\t\tif (lengths != null) {\n\t\t\tconst lengthsLength = lengths.length;\n\t\t\tfor (let i = 0; i < lengthsLength; ++i) {\n\t\t\t\tthis._lengths[i] = lengths[i];\n\t\t\t}\n\t\t\tif (this._lengths.length !== lengthsLength) {\n\t\t\t\tthis._lengths.length = lengthsLength;\n\t\t\t}\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Clippings\n\t\tif (clippings != null) {\n\t\t\tconst clippingsLength = clippings.length;\n\t\t\tfor (let i = 0; i < clippingsLength; ++i) {\n\t\t\t\tthis._clippings[i] = clippings[i];\n\t\t\t}\n\t\t\tif (this._clippings.length !== clippingsLength) {\n\t\t\t\tthis._clippings.length = clippingsLength;\n\t\t\t}\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// UVs\n\t\tif (uvs != null) {\n\t\t\tconst uvsLength = uvs.length;\n\t\t\tfor (let i = 0; i < uvsLength; ++i) {\n\t\t\t\tthis._uvs[i] = uvs[i];\n\t\t\t}\n\t\t\tif (this._uvs.length !== uvsLength) {\n\t\t\t\tthis._uvs.length = uvsLength;\n\t\t\t}\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Indices\n\t\tif (indices != null) {\n\t\t\tconst indicesLength = indices.length;\n\t\t\tfor (let i = 0; i < indicesLength; ++i) {\n\t\t\t\tthis._indices[i] = indices[i];\n\t\t\t}\n\t\t\tif (this._indices.length !== indicesLength) {\n\t\t\t\tthis._indices.length = indicesLength;\n\t\t\t}\n\t\t\tthis._nindices = indicesLength / 3;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Boundary\n\t\tif (boundary != null) {\n\t\t\tthis._boundary[0] = boundary[0];\n\t\t\tthis._boundary[1] = boundary[1];\n\t\t\tthis._boundary[2] = boundary[2];\n\t\t\tthis._boundary[3] = boundary[3];\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Done\n\t\tif (isChanged) {\n\t\t\tthis._id += 1;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected triangulate(): void {\n\t\tconst parent = this._parent;\n\t\tconst parentPoints = parent.points;\n\t\tconst parentPointsId = parentPoints.id;\n\t\tconst isParentIdChanged = this._parentPointsId !== parentPointsId;\n\t\tif (isParentIdChanged) {\n\t\t\tthis._parentPointsId = parentPointsId;\n\t\t\tconst buffer = UtilStraightSkeletonBuffer.from(\n\t\t\t\tUtilStraightSkeleton.from(parentPoints.formatted.values)\n\t\t\t);\n\t\t\tthis._id += 1;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tthis._vertices = vertices;\n\t\t\tthis._nvertices = buffer.vertices.length >> 1;\n\t\t\tthis._distances = buffer.distances;\n\t\t\tthis._lengths = buffer.lengths;\n\t\t\tthis._clippings = buffer.clippings;\n\t\t\tconst boundary = this._boundary;\n\t\t\ttoPointsBoundary(vertices, boundary);\n\t\t\tthis._uvs = this.toUvs(vertices, boundary);\n\t\t\tthis._indices = buffer.indices;\n\t\t\tthis._nindices = buffer.indices.length / 3;\n\t\t}\n\t}\n\n\tprotected toUvs(vertices: number[], boundary: EShapeBoundary): number[] {\n\t\tconst result: number[] = [];\n\t\tconst xmin = boundary[0];\n\t\tconst ymin = boundary[1];\n\t\tconst xmax = boundary[2];\n\t\tconst ymax = boundary[3];\n\t\tconst sx = xmax - xmin;\n\t\tconst sy = ymax - ymin;\n\t\tconst fx = 0 < sx ? 1 / sx : 0;\n\t\tconst fy = 0 < sy ? 1 / sy : 0;\n\t\tconst verticesLength = vertices.length;\n\t\tfor (let i = 0; i < verticesLength; i += 2) {\n\t\t\tresult.push((vertices[i] - xmin) * fx, (vertices[i + 1] - ymin) * fy);\n\t\t}\n\t\treturn result;\n\t}\n\n\tcopy(source: EShapePolygonTriangulated): this {\n\t\tthis.set(\n\t\t\tthis._parent.points.id,\n\t\t\tsource.vertices,\n\t\t\tsource.distances,\n\t\t\tsource.lengths,\n\t\t\tsource.clippings,\n\t\t\tsource.uvs,\n\t\t\tsource.indices,\n\t\t\tsource.boundary\n\t\t);\n\t\treturn this;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tthis.triangulate();\n\t\tconst serialized: EShapePolygonTriangulatedExtensionSerialized = [\n\t\t\tmanager.addResource(JSON.stringify(this._vertices)),\n\t\t\tmanager.addResource(JSON.stringify(this._distances)),\n\t\t\tmanager.addResource(JSON.stringify(this._lengths)),\n\t\t\tmanager.addResource(JSON.stringify(this._clippings)),\n\t\t\tmanager.addResource(JSON.stringify(this._uvs)),\n\t\t\tmanager.addResource(JSON.stringify(this._indices)),\n\t\t\tmanager.addResource(JSON.stringify(this._boundary))\n\t\t];\n\t\treturn manager.addResource(JSON.stringify(serialized));\n\t}\n\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tconst resourcesLength = resources.length;\n\t\tif (0 <= resourceId && resourceId < resourcesLength) {\n\t\t\tlet parsed =\n\t\t\t\tmanager.getExtension<EShapePolygonTriangulatedExtensionSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(\n\t\t\t\t\tresources[resourceId]\n\t\t\t\t) as EShapePolygonTriangulatedExtensionSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\n\t\t\t// Parent Points Id\n\t\t\tthis._parentPointsId = this._parent.points.id;\n\n\t\t\t// Vertices\n\t\t\t{\n\t\t\t\tconst vertexId = parsed[0];\n\t\t\t\tif (0 <= vertexId && vertexId < resourcesLength) {\n\t\t\t\t\tlet vertices = manager.getExtension<number[]>(vertexId);\n\t\t\t\t\tif (vertices == null) {\n\t\t\t\t\t\tvertices = JSON.parse(resources[vertexId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(vertexId, vertices);\n\t\t\t\t\t}\n\t\t\t\t\tthis._vertices = vertices;\n\t\t\t\t\tthis._nvertices = vertices.length >> 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Distances\n\t\t\t{\n\t\t\t\tconst distanceId = parsed[1];\n\t\t\t\tif (0 <= distanceId && distanceId < resourcesLength) {\n\t\t\t\t\tlet distances = manager.getExtension<number[]>(distanceId);\n\t\t\t\t\tif (distances == null) {\n\t\t\t\t\t\tdistances = JSON.parse(resources[distanceId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(distanceId, distances);\n\t\t\t\t\t}\n\t\t\t\t\tthis._distances = distances;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Lengths\n\t\t\t{\n\t\t\t\tconst lengthId = parsed[2];\n\t\t\t\tif (0 <= lengthId && lengthId < resourcesLength) {\n\t\t\t\t\tlet lengths = manager.getExtension<number[]>(lengthId);\n\t\t\t\t\tif (lengths == null) {\n\t\t\t\t\t\tlengths = JSON.parse(resources[lengthId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(lengthId, lengths);\n\t\t\t\t\t}\n\t\t\t\t\tthis._lengths = lengths;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\t{\n\t\t\t\tconst clippingId = parsed[3];\n\t\t\t\tif (0 <= clippingId && clippingId < resourcesLength) {\n\t\t\t\t\tlet clippings = manager.getExtension<number[]>(clippingId);\n\t\t\t\t\tif (clippings == null) {\n\t\t\t\t\t\tclippings = JSON.parse(resources[clippingId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(clippingId, clippings);\n\t\t\t\t\t}\n\t\t\t\t\tthis._clippings = clippings;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\t{\n\t\t\t\tconst uvId = parsed[4];\n\t\t\t\tif (0 <= uvId && uvId < resourcesLength) {\n\t\t\t\t\tlet uvs = manager.getExtension<number[]>(uvId);\n\t\t\t\t\tif (uvs == null) {\n\t\t\t\t\t\tuvs = JSON.parse(resources[uvId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(uvId, uvs);\n\t\t\t\t\t}\n\t\t\t\t\tthis._uvs = uvs;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Indices\n\t\t\t{\n\t\t\t\tconst indexId = parsed[5];\n\t\t\t\tif (0 <= indexId && indexId < resourcesLength) {\n\t\t\t\t\tlet indices = manager.getExtension<number[]>(indexId);\n\t\t\t\t\tif (indices == null) {\n\t\t\t\t\t\tindices = JSON.parse(resources[indexId]) as number[];\n\t\t\t\t\t\tmanager.setExtension(indexId, indices);\n\t\t\t\t\t}\n\t\t\t\t\tthis._indices = indices;\n\t\t\t\t\tthis._nindices = indices.length / 3;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Boundary\n\t\t\t{\n\t\t\t\tconst boundaryId = parsed[6];\n\t\t\t\tif (boundaryId != null) {\n\t\t\t\t\tif (0 <= boundaryId && boundaryId < resourcesLength) {\n\t\t\t\t\t\tlet boundary = manager.getExtension<EShapeBoundary>(boundaryId);\n\t\t\t\t\t\tif (boundary == null) {\n\t\t\t\t\t\t\tboundary = JSON.parse(resources[boundaryId]) as EShapeBoundary;\n\t\t\t\t\t\t\tmanager.setExtension(boundaryId, boundary);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._boundary = boundary;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttoPointsBoundary(this._vertices, this._boundary);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttoPointsBoundary(this._vertices, this._boundary);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._id += 1;\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-polygon-triangulated.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-triangulated.ts"],"names":[],"mappings":"","sourcesContent":["import { EShapeBoundary } from \"../e-shape-boundary\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\n\nexport interface EShapePolygonTriangulated {\n\treadonly id: number;\n\treadonly vertices: number[];\n\treadonly nvertices: number;\n\treadonly distances: number[];\n\treadonly lengths: number[];\n\treadonly clippings: number[];\n\treadonly uvs: number[];\n\treadonly indices: number[];\n\treadonly nindices: number;\n\treadonly boundary: EShapeBoundary;\n\n\tset(\n\t\tparentId?: number,\n\t\tvertices?: number[],\n\t\tdistances?: number[],\n\t\tlengths?: number[],\n\t\tclippings?: number[],\n\t\tuvs?: number[],\n\t\tindices?: number[]\n\t): this;\n\tcopy(source: EShapePolygonTriangulated): this;\n\tserialize(manager: EShapeResourceManagerSerialization): number;\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void;\n}\n"]}
1
+ {"version":3,"file":"e-shape-polygon-triangulated.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-triangulated.ts"],"names":[],"mappings":"","sourcesContent":["import { EShapeBoundary } from \"../e-shape-boundary\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\n\nexport interface EShapePolygonTriangulated {\n\treadonly id: number;\n\treadonly vertices: number[];\n\treadonly nvertices: number;\n\treadonly distances: number[];\n\treadonly lengths: number[];\n\treadonly clippings: number[];\n\treadonly uvs: number[];\n\treadonly indices: number[];\n\treadonly nindices: number;\n\treadonly boundary: EShapeBoundary;\n\n\tset(\n\t\tparentId?: number,\n\t\tvertices?: number[],\n\t\tdistances?: number[],\n\t\tlengths?: number[],\n\t\tclippings?: number[],\n\t\tuvs?: number[],\n\t\tindices?: number[],\n\t\tboundary?: EShapeBoundary\n\t): this;\n\tcopy(source: EShapePolygonTriangulated): this;\n\tserialize(manager: EShapeResourceManagerSerialization): number;\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void;\n}\n"]}
@@ -84,7 +84,7 @@ var EShapePolygon = /** @class */ (function (_super) {
84
84
  };
85
85
  EShapePolygon.prototype.containsAbs = function (x, y, ax, ay, sw, ss, sa) {
86
86
  if (_super.prototype.containsAbsBBox.call(this, x, y, ax, ay)) {
87
- return hitTestPolygon(this, x, y, ax, ay, sw, ss);
87
+ return hitTestPolygon(this, x, y, sw, ss);
88
88
  }
89
89
  return false;
90
90
  };