@wcardinal/wcardinal-ui 0.458.0-beta.0 → 0.458.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/types/wcardinal/ui/shape/variant/build-polygon.d.ts +3 -4
  2. package/dist/types/wcardinal/ui/shape/variant/create-polygon.d.ts +1 -1
  3. package/dist/types/wcardinal/ui/shape/variant/e-shape-polygon-triangulated-impl.d.ts +6 -5
  4. package/dist/types/wcardinal/ui/shape/variant/e-shape-polygon-triangulated.d.ts +2 -1
  5. package/dist/types/wcardinal/ui/shape/variant/e-shape-polygon.d.ts +7 -31
  6. package/dist/types/wcardinal/ui/shape/variant/hit-test-polygon.d.ts +1 -1
  7. package/dist/types/wcardinal/ui/util/util-polygon.d.ts +1 -3
  8. package/dist/types/wcardinal/ui/util/util-straight-skeleton.d.ts +1 -1
  9. package/dist/wcardinal/ui/shape/variant/build-polygon.js +12 -14
  10. package/dist/wcardinal/ui/shape/variant/build-polygon.js.map +1 -1
  11. package/dist/wcardinal/ui/shape/variant/builder-polygon.js +8 -15
  12. package/dist/wcardinal/ui/shape/variant/builder-polygon.js.map +1 -1
  13. package/dist/wcardinal/ui/shape/variant/create-polygon.js +32 -42
  14. package/dist/wcardinal/ui/shape/variant/create-polygon.js.map +1 -1
  15. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js +2 -6
  16. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js.map +1 -1
  17. package/dist/wcardinal/ui/shape/variant/e-shape-polygon-triangulated-impl.js +66 -59
  18. package/dist/wcardinal/ui/shape/variant/e-shape-polygon-triangulated-impl.js.map +1 -1
  19. package/dist/wcardinal/ui/shape/variant/e-shape-polygon-triangulated.js.map +1 -1
  20. package/dist/wcardinal/ui/shape/variant/e-shape-polygon.js +22 -127
  21. package/dist/wcardinal/ui/shape/variant/e-shape-polygon.js.map +1 -1
  22. package/dist/wcardinal/ui/shape/variant/hit-test-polygon.js +21 -27
  23. package/dist/wcardinal/ui/shape/variant/hit-test-polygon.js.map +1 -1
  24. package/dist/wcardinal/ui/util/util-polygon.js +5 -9
  25. package/dist/wcardinal/ui/util/util-polygon.js.map +1 -1
  26. package/dist/wcardinal/ui/util/util-straight-skeleton-buffer.js +5 -7
  27. package/dist/wcardinal/ui/util/util-straight-skeleton-buffer.js.map +1 -1
  28. package/dist/wcardinal/ui/util/util-straight-skeleton.js +2 -4
  29. package/dist/wcardinal/ui/util/util-straight-skeleton.js.map +1 -1
  30. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  31. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  32. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  33. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  34. package/dist/wcardinal-ui-theme-dark.js +1 -1
  35. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  36. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  37. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  38. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  39. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  40. package/dist/wcardinal-ui-theme-white.js +1 -1
  41. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  42. package/dist/wcardinal-ui.cjs.js +174 -311
  43. package/dist/wcardinal-ui.js +174 -311
  44. package/dist/wcardinal-ui.min.js +2 -2
  45. package/dist/wcardinal-ui.min.js.map +1 -1
  46. package/package.json +1 -1
@@ -10,14 +10,13 @@ export declare const buildPolygonIndex: (indices: Uint16Array | Uint32Array, pol
10
10
  * Build vertex buffer for polygons.
11
11
  * Transforms vertices from relative coordinates [-0.5, +0.5] to world coordinates.
12
12
  */
13
- export declare const buildPolygonVertex: (vertices: Float32Array, polygonVertices: number[], voffset: number, sizeX: number, sizeY: number, internalTransform: Matrix) => void;
13
+ export declare const buildPolygonVertex: (vertices: Float32Array, polygonVertices: number[], voffset: number, internalTransform: Matrix) => void;
14
14
  /**
15
15
  * Build step buffer for polygons.
16
16
  * Since this is fill-only, step information is minimal.
17
17
  */
18
- export declare const buildPolygonStep: (steps: Float32Array, polygonDistances: number[], polygonClippings: number[], voffset: number, vertexCount: number, sizeX: number, sizeY: number, strokeWidth: number, strokeSide: EShapeStrokeSide, strokeStyle: EShapeStrokeStyle) => void;
18
+ export declare const buildPolygonStep: (steps: Float32Array, polygonDistances: number[], polygonClippings: number[], voffset: number, vertexCount: number, strokeWidth: number, strokeSide: EShapeStrokeSide, strokeStyle: EShapeStrokeStyle) => void;
19
19
  /**
20
20
  * Build UV buffer for polygons.
21
- * Transforms vertices from relative coordinates [-0.5, +0.5] to UV coordinates.
22
21
  */
23
- export declare const buildPolygonUv: (uvs: Float32Array, polygonVertices: number[], voffset: number, textureUvs: TextureUvs) => void;
22
+ export declare const buildPolygonUv: (uvs: Float32Array, polygonUvs: number[], voffset: number, textureUvs: TextureUvs) => void;
@@ -1,2 +1,2 @@
1
1
  import { EShapePolygon } from "./e-shape-polygon";
2
- export declare const createPolygon: (points: number[]) => EShapePolygon;
2
+ export declare const createPolygon: (points: number[], result?: EShapePolygon) => EShapePolygon;
@@ -2,17 +2,16 @@ import { EShapeResourceManagerDeserialization } from "../e-shape-resource-manage
2
2
  import { EShapeResourceManagerSerialization } from "../e-shape-resource-manager-serialization";
3
3
  import type { EShapePolygon } from "./e-shape-polygon";
4
4
  import { EShapePolygonTriangulated } from "./e-shape-polygon-triangulated";
5
- export type EShapePolygonTriangulatedExtensionSerialized = [number, number, number, number];
5
+ export type EShapePolygonTriangulatedExtensionSerialized = [number, number, number, number, number];
6
6
  export declare class EShapePolygonTriangulatedImpl implements EShapePolygonTriangulated {
7
7
  protected _id: number;
8
8
  protected _parent: EShapePolygon;
9
- protected _parentVertexId: number;
10
- protected _parentWidth: number;
11
- protected _parentHeight: number;
9
+ protected _parentPointsId: number;
12
10
  protected _vertices: number[];
13
11
  protected _nvertices: number;
14
12
  protected _distances: number[];
15
13
  protected _clippings: number[];
14
+ protected _uvs: number[];
16
15
  protected _indices: number[];
17
16
  protected _nindices: number;
18
17
  constructor(parent: EShapePolygon);
@@ -21,10 +20,12 @@ export declare class EShapePolygonTriangulatedImpl implements EShapePolygonTrian
21
20
  get nvertices(): number;
22
21
  get distances(): number[];
23
22
  get clippings(): number[];
23
+ get uvs(): number[];
24
24
  get indices(): number[];
25
25
  get nindices(): number;
26
- set(parentVertexId?: number, parentWidth?: number, parentHeight?: number, vertices?: number[], distances?: number[], clippings?: number[], indices?: number[]): this;
26
+ set(parentPointsId?: number, vertices?: number[], distances?: number[], clippings?: number[], uvs?: number[], indices?: number[]): this;
27
27
  protected triangulate(): void;
28
+ protected toUvs(vertices: number[]): number[];
28
29
  copy(source: EShapePolygonTriangulated): this;
29
30
  serialize(manager: EShapeResourceManagerSerialization): number;
30
31
  deserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void;
@@ -6,9 +6,10 @@ export interface EShapePolygonTriangulated {
6
6
  get nvertices(): number;
7
7
  get distances(): number[];
8
8
  get clippings(): number[];
9
+ get uvs(): number[];
9
10
  get indices(): number[];
10
11
  get nindices(): number;
11
- set(parentVertexId?: number, parentWidth?: number, parentHeight?: number, vertices?: number[], distances?: number[], clippings?: number[], indices?: number[]): this;
12
+ set(parentId?: number, vertices?: number[], distances?: number[], clippings?: number[], uvs?: number[], indices?: number[]): this;
12
13
  copy(source: EShapePolygonTriangulated): this;
13
14
  serialize(manager: EShapeResourceManagerSerialization): number;
14
15
  deserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void;
@@ -1,49 +1,25 @@
1
1
  import { DDiagramSerializedItem } from "../../d-diagram-serialized";
2
2
  import { EShape } from "../e-shape";
3
+ import { EShapeCopyPart } from "../e-shape-copy-part";
3
4
  import { EShapeResourceManagerDeserialization } from "../e-shape-resource-manager-deserialization";
4
5
  import { EShapeResourceManagerSerialization } from "../e-shape-resource-manager-serialization";
5
6
  import { EShapeStroke } from "../e-shape-stroke";
6
7
  import { EShapeType } from "../e-shape-type";
8
+ import { EShapeLinePoints } from "./e-shape-line-points";
7
9
  import { EShapePolygonTriangulated } from "./e-shape-polygon-triangulated";
8
10
  import { EShapePrimitive } from "./e-shape-primitive";
9
11
  export type EShapePolygonExtensionSerialized = [number, number];
10
12
  export declare class EShapePolygon extends EShapePrimitive {
11
- protected _vertices: number[];
12
- protected _vertexId: number;
13
- protected _nvertices: number;
14
- protected _triangulated: EShapePolygonTriangulated;
15
- /**
16
- * Please note that the given arrays `vertices`, `distances`, `clippings` and `indices` are used internally.
17
- * Because of this, these arrays must not be modified outside of this class after calling this constructor.
18
- */
13
+ protected readonly _points: EShapeLinePoints;
14
+ protected readonly _triangulated: EShapePolygonTriangulated;
19
15
  constructor(type?: EShapeType);
16
+ get points(): EShapeLinePoints;
17
+ protected newPoints(): EShapeLinePoints;
20
18
  protected newTriangulated(): EShapePolygonTriangulated;
21
19
  protected newStroke(): EShapeStroke;
22
- /**
23
- * Vertex positions are in [-0.5, +0.5] and relative to the shape position and size.
24
- * Therefore, transformed actual vertex positions are calculated as follows:
25
- *
26
- * ```
27
- * const imx = this.transform.internalTransform;
28
- * const size = this.size;
29
- * const vertices = this._vertices;
30
- * const transformedVertices = [];
31
- * for (let i = 0; i < vertices.length; i += 2) {
32
- * const transformedVertex = imx.apply(
33
- * new Point(size.x * vertices[i + 0], size.y * vertices[i + 1])
34
- * );
35
- * transformedVertices.push(transformedVertex.x, transformedVertex.y);
36
- * }
37
- * ```
38
- */
39
- get vertices(): number[];
40
- set vertices(vertices: number[]);
41
- get nvertices(): number;
42
- get vertexId(): number;
43
20
  get triangulated(): EShapePolygonTriangulated;
44
- set(vertices?: number[]): this;
45
21
  clone(): EShapePolygon;
46
- copy(source: EShape): this;
22
+ copy(source: EShape, part?: EShapeCopyPart): this;
47
23
  serialize(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem;
48
24
  deserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void;
49
25
  containsAbs(x: number, y: number, ax: number, ay: number, sw: number, ss: number, sa: number): boolean;
@@ -9,5 +9,5 @@ import { EShapePolygon } from "./e-shape-polygon";
9
9
  * @param ay a polygon height
10
10
  * @returns the minimum squared distance between the given point (x, y) and the polygon edges
11
11
  */
12
- export declare const calcPolygonSquaredDistance: (shape: EShapePolygon, x: number, y: number, ax: number, ay: number) => number;
12
+ export declare const calcPolygonSquaredDistance: (values: number[], valuesLength: number, x: number, y: number) => number;
13
13
  export declare const hitTestPolygon: (shape: EShapePolygon, x: number, y: number, ax: number, ay: number, sw: number, ss: number) => boolean;
@@ -17,10 +17,8 @@ export declare class UtilPolygon {
17
17
  * Creates an UtilPolygon instance.
18
18
  *
19
19
  * @param points points
20
- * @param sx the scale along X axis
21
- * @param sy the scale along Y axis
22
20
  * @param epsilon threshold
23
21
  * @returns a created UtilPolygon instance
24
22
  */
25
- static from(points: number[], sx?: number, sy?: number, epsilon?: number): UtilPolygon[];
23
+ static from(points: number[], epsilon?: number): UtilPolygon[];
26
24
  }
@@ -26,7 +26,7 @@ export declare class UtilStraightSkeletonWavefront {
26
26
  static from(polygon: UtilPolygon, epsilon: number): UtilStraightSkeletonWavefront;
27
27
  }
28
28
  export declare class UtilStraightSkeleton {
29
- static from(points: number[], sx?: number, sy?: number, level?: number, epsilon?: number): UtilStraightSkeletonWavefront[];
29
+ static from(points: number[], level?: number, epsilon?: number): UtilStraightSkeletonWavefront[];
30
30
  protected static next(wavefront: UtilStraightSkeletonWavefront, level: number): void;
31
31
  protected static map(wavefront: UtilStraightSkeletonWavefront): void;
32
32
  }
@@ -19,7 +19,7 @@ export var buildPolygonIndex = function (indices, polygonIndices, voffset, ioffs
19
19
  * Build vertex buffer for polygons.
20
20
  * Transforms vertices from relative coordinates [-0.5, +0.5] to world coordinates.
21
21
  */
22
- export var buildPolygonVertex = function (vertices, polygonVertices, voffset, sizeX, sizeY, internalTransform) {
22
+ export var buildPolygonVertex = function (vertices, polygonVertices, voffset, internalTransform) {
23
23
  var a = internalTransform.a;
24
24
  var b = internalTransform.b;
25
25
  var c = internalTransform.c;
@@ -28,8 +28,8 @@ export var buildPolygonVertex = function (vertices, polygonVertices, voffset, si
28
28
  var ty = internalTransform.ty;
29
29
  var iv = (voffset << 1) - 1;
30
30
  for (var i = 0, n = polygonVertices.length; i < n; i += 2) {
31
- var x = sizeX * polygonVertices[i];
32
- var y = sizeY * polygonVertices[i + 1];
31
+ var x = polygonVertices[i];
32
+ var y = polygonVertices[i + 1];
33
33
  vertices[++iv] = a * x + c * y + tx;
34
34
  vertices[++iv] = b * x + d * y + ty;
35
35
  }
@@ -38,28 +38,26 @@ export var buildPolygonVertex = function (vertices, polygonVertices, voffset, si
38
38
  * Build step buffer for polygons.
39
39
  * Since this is fill-only, step information is minimal.
40
40
  */
41
- export var buildPolygonStep = function (steps, polygonDistances, polygonClippings, voffset, vertexCount, sizeX, sizeY, strokeWidth, strokeSide, strokeStyle) {
41
+ export var buildPolygonStep = function (steps, polygonDistances, polygonClippings, voffset, vertexCount, strokeWidth, strokeSide, strokeStyle) {
42
42
  var scaleInvariant = toScaleInvariant(strokeStyle);
43
43
  var w = (strokeSide & EShapeStrokeSide.ALL) === EShapeStrokeSide.ALL ? 1 : 0;
44
44
  var e = toPackedI4x64(0, scaleInvariant, w, w);
45
45
  var is = voffset * 6 - 1;
46
- for (var i = 0, j = 0; i < vertexCount; i += 1, j += 2) {
47
- var dx = sizeX * polygonDistances[j];
48
- var dy = sizeY * polygonDistances[j + 1];
46
+ for (var i = 0; i < vertexCount; i += 1) {
47
+ var d = polygonDistances[i];
49
48
  var c = polygonClippings[i];
50
49
  steps[++is] = strokeWidth;
51
50
  steps[++is] = e;
52
- steps[++is] = dx;
53
- steps[++is] = dy;
51
+ steps[++is] = d;
52
+ steps[++is] = d;
54
53
  steps[++is] = toPackedF2x1024(c, c);
55
54
  steps[++is] = 0;
56
55
  }
57
56
  };
58
57
  /**
59
58
  * Build UV buffer for polygons.
60
- * Transforms vertices from relative coordinates [-0.5, +0.5] to UV coordinates.
61
59
  */
62
- export var buildPolygonUv = function (uvs, polygonVertices, voffset, textureUvs) {
60
+ export var buildPolygonUv = function (uvs, polygonUvs, voffset, textureUvs) {
63
61
  var x0 = textureUvs.x0;
64
62
  var x1 = textureUvs.x1;
65
63
  var y0 = textureUvs.y0;
@@ -67,9 +65,9 @@ export var buildPolygonUv = function (uvs, polygonVertices, voffset, textureUvs)
67
65
  var dx = x1 - x0;
68
66
  var dy = y3 - y0;
69
67
  var iuv = (voffset << 1) - 1;
70
- for (var i = 0, n = polygonVertices.length; i < n; i += 2) {
71
- uvs[++iuv] = x0 + (0.5 + polygonVertices[i]) * dx;
72
- uvs[++iuv] = y0 + (0.5 + polygonVertices[i + 1]) * dy;
68
+ for (var i = 0, n = polygonUvs.length; i < n; i += 2) {
69
+ uvs[++iuv] = x0 + polygonUvs[i] * dx;
70
+ uvs[++iuv] = y0 + polygonUvs[i + 1] * dy;
73
71
  }
74
72
  };
75
73
  //# sourceMappingURL=build-polygon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-polygon.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-polygon.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, TextureUvs } from \"pixi.js\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toPackedF2x1024, toPackedI4x64 } from \"./to-packed\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\nimport { EShapeStrokeSide } from \"../e-shape-stroke-side\";\n\n/**\n * Build index buffer for polygons.\n * Copies indices directly from the polygon's index array.\n */\nexport const buildPolygonIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tpolygonIndices: number[],\n\tvoffset: number,\n\tioffset: number\n): void => {\n\tlet ii = ioffset * 3 - 1;\n\tfor (let i = 0, n = polygonIndices.length; i < n; ++i) {\n\t\tindices[++ii] = voffset + polygonIndices[i];\n\t}\n};\n\n/**\n * Build vertex buffer for polygons.\n * Transforms vertices from relative coordinates [-0.5, +0.5] to world coordinates.\n */\nexport const buildPolygonVertex = (\n\tvertices: Float32Array,\n\tpolygonVertices: number[],\n\tvoffset: number,\n\tsizeX: number,\n\tsizeY: number,\n\tinternalTransform: Matrix\n): void => {\n\tconst a = internalTransform.a;\n\tconst b = internalTransform.b;\n\tconst c = internalTransform.c;\n\tconst d = internalTransform.d;\n\tconst tx = internalTransform.tx;\n\tconst ty = internalTransform.ty;\n\tlet iv = (voffset << 1) - 1;\n\tfor (let i = 0, n = polygonVertices.length; i < n; i += 2) {\n\t\tconst x = sizeX * polygonVertices[i];\n\t\tconst y = sizeY * polygonVertices[i + 1];\n\t\tvertices[++iv] = a * x + c * y + tx;\n\t\tvertices[++iv] = b * x + d * y + ty;\n\t}\n};\n\n/**\n * Build step buffer for polygons.\n * Since this is fill-only, step information is minimal.\n */\nexport const buildPolygonStep = (\n\tsteps: Float32Array,\n\tpolygonDistances: number[],\n\tpolygonClippings: number[],\n\tvoffset: number,\n\tvertexCount: number,\n\tsizeX: number,\n\tsizeY: number,\n\tstrokeWidth: number,\n\tstrokeSide: EShapeStrokeSide,\n\tstrokeStyle: EShapeStrokeStyle\n): void => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\tconst w = (strokeSide & EShapeStrokeSide.ALL) === EShapeStrokeSide.ALL ? 1 : 0;\n\tconst e = toPackedI4x64(0, scaleInvariant, w, w);\n\tlet is = voffset * 6 - 1;\n\tfor (let i = 0, j = 0; i < vertexCount; i += 1, j += 2) {\n\t\tconst dx = sizeX * polygonDistances[j];\n\t\tconst dy = sizeY * polygonDistances[j + 1];\n\t\tconst c = polygonClippings[i];\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = e;\n\t\tsteps[++is] = dx;\n\t\tsteps[++is] = dy;\n\t\tsteps[++is] = toPackedF2x1024(c, c);\n\t\tsteps[++is] = 0;\n\t}\n};\n\n/**\n * Build UV buffer for polygons.\n * Transforms vertices from relative coordinates [-0.5, +0.5] to UV coordinates.\n */\nexport const buildPolygonUv = (\n\tuvs: Float32Array,\n\tpolygonVertices: number[],\n\tvoffset: number,\n\ttextureUvs: TextureUvs\n): void => {\n\tconst x0 = textureUvs.x0;\n\tconst x1 = textureUvs.x1;\n\tconst y0 = textureUvs.y0;\n\tconst y3 = textureUvs.y3;\n\tconst dx = x1 - x0;\n\tconst dy = y3 - y0;\n\tlet iuv = (voffset << 1) - 1;\n\tfor (let i = 0, n = polygonVertices.length; i < n; i += 2) {\n\t\tuvs[++iuv] = x0 + (0.5 + polygonVertices[i]) * dx;\n\t\tuvs[++iuv] = y0 + (0.5 + polygonVertices[i + 1]) * dy;\n\t}\n};\n"]}
1
+ {"version":3,"file":"build-polygon.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-polygon.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, TextureUvs } from \"pixi.js\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toPackedF2x1024, toPackedI4x64 } from \"./to-packed\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\nimport { EShapeStrokeSide } from \"../e-shape-stroke-side\";\n\n/**\n * Build index buffer for polygons.\n * Copies indices directly from the polygon's index array.\n */\nexport const buildPolygonIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tpolygonIndices: number[],\n\tvoffset: number,\n\tioffset: number\n): void => {\n\tlet ii = ioffset * 3 - 1;\n\tfor (let i = 0, n = polygonIndices.length; i < n; ++i) {\n\t\tindices[++ii] = voffset + polygonIndices[i];\n\t}\n};\n\n/**\n * Build vertex buffer for polygons.\n * Transforms vertices from relative coordinates [-0.5, +0.5] to world coordinates.\n */\nexport const buildPolygonVertex = (\n\tvertices: Float32Array,\n\tpolygonVertices: number[],\n\tvoffset: number,\n\tinternalTransform: Matrix\n): void => {\n\tconst a = internalTransform.a;\n\tconst b = internalTransform.b;\n\tconst c = internalTransform.c;\n\tconst d = internalTransform.d;\n\tconst tx = internalTransform.tx;\n\tconst ty = internalTransform.ty;\n\tlet iv = (voffset << 1) - 1;\n\tfor (let i = 0, n = polygonVertices.length; i < n; i += 2) {\n\t\tconst x = polygonVertices[i];\n\t\tconst y = polygonVertices[i + 1];\n\t\tvertices[++iv] = a * x + c * y + tx;\n\t\tvertices[++iv] = b * x + d * y + ty;\n\t}\n};\n\n/**\n * Build step buffer for polygons.\n * Since this is fill-only, step information is minimal.\n */\nexport const buildPolygonStep = (\n\tsteps: Float32Array,\n\tpolygonDistances: number[],\n\tpolygonClippings: number[],\n\tvoffset: number,\n\tvertexCount: number,\n\tstrokeWidth: number,\n\tstrokeSide: EShapeStrokeSide,\n\tstrokeStyle: EShapeStrokeStyle\n): void => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\tconst w = (strokeSide & EShapeStrokeSide.ALL) === EShapeStrokeSide.ALL ? 1 : 0;\n\tconst e = toPackedI4x64(0, scaleInvariant, w, w);\n\tlet is = voffset * 6 - 1;\n\tfor (let i = 0; i < vertexCount; i += 1) {\n\t\tconst d = polygonDistances[i];\n\t\tconst c = polygonClippings[i];\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = e;\n\t\tsteps[++is] = d;\n\t\tsteps[++is] = d;\n\t\tsteps[++is] = toPackedF2x1024(c, c);\n\t\tsteps[++is] = 0;\n\t}\n};\n\n/**\n * Build UV buffer for polygons.\n */\nexport const buildPolygonUv = (\n\tuvs: Float32Array,\n\tpolygonUvs: number[],\n\tvoffset: number,\n\ttextureUvs: TextureUvs\n): void => {\n\tconst x0 = textureUvs.x0;\n\tconst x1 = textureUvs.x1;\n\tconst y0 = textureUvs.y0;\n\tconst y3 = textureUvs.y3;\n\tconst dx = x1 - x0;\n\tconst dy = y3 - y0;\n\tlet iuv = (voffset << 1) - 1;\n\tfor (let i = 0, n = polygonUvs.length; i < n; i += 2) {\n\t\tuvs[++iuv] = x0 + polygonUvs[i] * dx;\n\t\tuvs[++iuv] = y0 + polygonUvs[i + 1] * dy;\n\t}\n};\n"]}
@@ -67,10 +67,6 @@ var BuilderPolygon = /** @class */ (function (_super) {
67
67
  this.updateColor(buffer, shape);
68
68
  };
69
69
  BuilderPolygon.prototype.updateVertexStepUvAndIndex = function (buffer, shape) {
70
- var size = shape.size;
71
- var sizeX = size.x;
72
- var sizeY = size.y;
73
- var isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;
74
70
  var transformLocalId = toTransformLocalId(shape);
75
71
  var isTransformChanged = this.transformLocalId !== transformLocalId;
76
72
  // Check if vertices/distances/clippings/indices changed
@@ -87,16 +83,13 @@ var BuilderPolygon = /** @class */ (function (_super) {
87
83
  var texture = toTexture(shape);
88
84
  var textureTransformId = toTextureTransformId(texture);
89
85
  var isTextureChanged = texture !== this.texture || textureTransformId !== this.textureTransformId;
90
- var isVertexChanged = isSizeChanged || isTriangulatedIdChanged;
91
86
  var isNotInited = !(this.inited & BuilderFlag.VERTEX_STEP_UV_AND_INDEX);
92
87
  if (isNotInited ||
93
- isVertexChanged ||
88
+ isTriangulatedIdChanged ||
94
89
  isTransformChanged ||
95
90
  isStrokeChanged ||
96
91
  isTextureChanged) {
97
92
  this.inited |= BuilderFlag.VERTEX_STEP_UV_AND_INDEX;
98
- this.sizeX = sizeX;
99
- this.sizeY = sizeY;
100
93
  this.transformLocalId = transformLocalId;
101
94
  this.strokeWidth = strokeWidth;
102
95
  this.strokeSide = strokeSide;
@@ -105,25 +98,25 @@ var BuilderPolygon = /** @class */ (function (_super) {
105
98
  this.textureTransformId = textureTransformId;
106
99
  this.triangulatedId = triangulatedId;
107
100
  // Indices
108
- if (isNotInited || isVertexChanged) {
101
+ if (isNotInited || isTriangulatedIdChanged) {
109
102
  buffer.updateIndices();
110
103
  buildPolygonIndex(buffer.indices, triangulated.indices, this.vertexOffset, this.indexOffset);
111
104
  }
112
105
  // Vertices
113
106
  var voffset = this.vertexOffset;
114
- if (isNotInited || isVertexChanged || isTransformChanged) {
107
+ if (isNotInited || isTriangulatedIdChanged || isTransformChanged) {
115
108
  buffer.updateVertices();
116
- buildPolygonVertex(buffer.vertices, triangulated.vertices, voffset, sizeX, sizeY, shape.transform.internalTransform);
109
+ buildPolygonVertex(buffer.vertices, triangulated.vertices, voffset, shape.transform.internalTransform);
117
110
  }
118
111
  // Steps
119
- if (isNotInited || isVertexChanged || isStrokeChanged) {
112
+ if (isNotInited || isTriangulatedIdChanged || isStrokeChanged) {
120
113
  buffer.updateSteps();
121
- buildPolygonStep(buffer.steps, triangulated.distances, triangulated.clippings, voffset, this.vertexCount, sizeX, sizeY, strokeWidth, strokeSide, strokeStyle);
114
+ buildPolygonStep(buffer.steps, triangulated.distances, triangulated.clippings, voffset, this.vertexCount, strokeWidth, strokeSide, strokeStyle);
122
115
  }
123
116
  // UVs
124
- if (isNotInited || isVertexChanged || isTextureChanged) {
117
+ if (isNotInited || isTriangulatedIdChanged || isTextureChanged) {
125
118
  buffer.updateUvs();
126
- buildPolygonUv(buffer.uvs, triangulated.vertices, voffset, toTextureUvs(texture));
119
+ buildPolygonUv(buffer.uvs, triangulated.uvs, voffset, toTextureUvs(texture));
127
120
  }
128
121
  }
129
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"builder-polygon.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-polygon.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport {\n\tbuildPolygonIndex,\n\tbuildPolygonStep,\n\tbuildPolygonUv,\n\tbuildPolygonVertex\n} from \"./build-polygon\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { EShapePolygon } from \"./e-shape-polygon\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderPolygon extends BuilderBase {\n\tprotected triangulatedId: number;\n\n\tconstructor(\n\t\tbuffer: BuilderBuffer,\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number\n\t) {\n\t\tsuper(buffer, vertexOffset, indexOffset, vertexCount, indexCount);\n\t\tthis.triangulatedId = -1;\n\t}\n\n\toverride init(): void {\n\t\t// DO NOTHING\n\t}\n\n\toverride reinit(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tvertexOffset: number,\n\t\tindexOffset: number\n\t): boolean {\n\t\tif (!(shape instanceof EShapePolygon)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst triangulated = shape.triangulated;\n\t\tconst vertexCount = triangulated.nvertices;\n\t\tconst indexCount = triangulated.nindices;\n\t\tif (\n\t\t\tthis.buffer !== buffer ||\n\t\t\tthis.vertexOffset !== vertexOffset ||\n\t\t\tthis.indexOffset !== indexOffset ||\n\t\t\tthis.vertexCount !== vertexCount ||\n\t\t\tthis.indexCount !== indexCount\n\t\t) {\n\t\t\tif (buffer.check(vertexOffset, indexOffset, vertexCount, indexCount)) {\n\t\t\t\tthis.inited = BuilderFlag.NONE;\n\t\t\t\tthis.buffer = buffer;\n\t\t\t\tthis.vertexOffset = vertexOffset;\n\t\t\t\tthis.indexOffset = indexOffset;\n\t\t\t\tthis.vertexCount = vertexCount;\n\t\t\t\tthis.indexCount = indexCount;\n\t\t\t\tthis.triangulatedId = -1;\n\t\t\t\tthis.init();\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\toverride isCompatible(shape: EShape): boolean {\n\t\tif (!(shape instanceof EShapePolygon)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst triangulated = shape.triangulated;\n\t\tconst vertexCount = triangulated.nvertices;\n\t\tconst indexCount = triangulated.nindices;\n\t\treturn vertexCount === this.vertexCount && indexCount === this.indexCount;\n\t}\n\n\toverride update(shape: EShape): void {\n\t\tif (!(shape instanceof EShapePolygon)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst buffer = this.buffer;\n\t\tthis.updateVertexStepUvAndIndex(buffer, shape);\n\t\tthis.updateColor(buffer, shape);\n\t}\n\n\tprotected updateVertexStepUvAndIndex(buffer: BuilderBuffer, shape: EShapePolygon): void {\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\t// Check if vertices/distances/clippings/indices changed\n\t\tconst triangulated = shape.triangulated;\n\t\tconst triangulatedId = triangulated.id;\n\t\tconst isTriangulatedIdChanged = this.triangulatedId !== triangulatedId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeSide = stroke.side;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeSide !== strokeSide ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged = isSizeChanged || isTriangulatedIdChanged;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_STEP_UV_AND_INDEX);\n\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\tisVertexChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisStrokeChanged ||\n\t\t\tisTextureChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_STEP_UV_AND_INDEX;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\t\t\tthis.triangulatedId = triangulatedId;\n\n\t\t\t// Indices\n\t\t\tif (isNotInited || isVertexChanged) {\n\t\t\t\tbuffer.updateIndices();\n\t\t\t\tbuildPolygonIndex(\n\t\t\t\t\tbuffer.indices,\n\t\t\t\t\ttriangulated.indices,\n\t\t\t\t\tthis.vertexOffset,\n\t\t\t\t\tthis.indexOffset\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateVertices();\n\t\t\t\tbuildPolygonVertex(\n\t\t\t\t\tbuffer.vertices,\n\t\t\t\t\ttriangulated.vertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tsizeX,\n\t\t\t\t\tsizeY,\n\t\t\t\t\tshape.transform.internalTransform\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Steps\n\t\t\tif (isNotInited || isVertexChanged || isStrokeChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildPolygonStep(\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\ttriangulated.distances,\n\t\t\t\t\ttriangulated.clippings,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tthis.vertexCount,\n\t\t\t\t\tsizeX,\n\t\t\t\t\tsizeY,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildPolygonUv(buffer.uvs, triangulated.vertices, voffset, toTextureUvs(texture));\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-polygon.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-polygon.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport {\n\tbuildPolygonIndex,\n\tbuildPolygonStep,\n\tbuildPolygonUv,\n\tbuildPolygonVertex\n} from \"./build-polygon\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { EShapePolygon } from \"./e-shape-polygon\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderPolygon extends BuilderBase {\n\tprotected triangulatedId: number;\n\n\tconstructor(\n\t\tbuffer: BuilderBuffer,\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number\n\t) {\n\t\tsuper(buffer, vertexOffset, indexOffset, vertexCount, indexCount);\n\t\tthis.triangulatedId = -1;\n\t}\n\n\toverride init(): void {\n\t\t// DO NOTHING\n\t}\n\n\toverride reinit(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tvertexOffset: number,\n\t\tindexOffset: number\n\t): boolean {\n\t\tif (!(shape instanceof EShapePolygon)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst triangulated = shape.triangulated;\n\t\tconst vertexCount = triangulated.nvertices;\n\t\tconst indexCount = triangulated.nindices;\n\t\tif (\n\t\t\tthis.buffer !== buffer ||\n\t\t\tthis.vertexOffset !== vertexOffset ||\n\t\t\tthis.indexOffset !== indexOffset ||\n\t\t\tthis.vertexCount !== vertexCount ||\n\t\t\tthis.indexCount !== indexCount\n\t\t) {\n\t\t\tif (buffer.check(vertexOffset, indexOffset, vertexCount, indexCount)) {\n\t\t\t\tthis.inited = BuilderFlag.NONE;\n\t\t\t\tthis.buffer = buffer;\n\t\t\t\tthis.vertexOffset = vertexOffset;\n\t\t\t\tthis.indexOffset = indexOffset;\n\t\t\t\tthis.vertexCount = vertexCount;\n\t\t\t\tthis.indexCount = indexCount;\n\t\t\t\tthis.triangulatedId = -1;\n\t\t\t\tthis.init();\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\toverride isCompatible(shape: EShape): boolean {\n\t\tif (!(shape instanceof EShapePolygon)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst triangulated = shape.triangulated;\n\t\tconst vertexCount = triangulated.nvertices;\n\t\tconst indexCount = triangulated.nindices;\n\t\treturn vertexCount === this.vertexCount && indexCount === this.indexCount;\n\t}\n\n\toverride update(shape: EShape): void {\n\t\tif (!(shape instanceof EShapePolygon)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst buffer = this.buffer;\n\t\tthis.updateVertexStepUvAndIndex(buffer, shape);\n\t\tthis.updateColor(buffer, shape);\n\t}\n\n\tprotected updateVertexStepUvAndIndex(buffer: BuilderBuffer, shape: EShapePolygon): void {\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\t// Check if vertices/distances/clippings/indices changed\n\t\tconst triangulated = shape.triangulated;\n\t\tconst triangulatedId = triangulated.id;\n\t\tconst isTriangulatedIdChanged = this.triangulatedId !== triangulatedId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeSide = stroke.side;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeSide !== strokeSide ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_STEP_UV_AND_INDEX);\n\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\tisTriangulatedIdChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisStrokeChanged ||\n\t\t\tisTextureChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_STEP_UV_AND_INDEX;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\t\t\tthis.triangulatedId = triangulatedId;\n\n\t\t\t// Indices\n\t\t\tif (isNotInited || isTriangulatedIdChanged) {\n\t\t\t\tbuffer.updateIndices();\n\t\t\t\tbuildPolygonIndex(\n\t\t\t\t\tbuffer.indices,\n\t\t\t\t\ttriangulated.indices,\n\t\t\t\t\tthis.vertexOffset,\n\t\t\t\t\tthis.indexOffset\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tif (isNotInited || isTriangulatedIdChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateVertices();\n\t\t\t\tbuildPolygonVertex(\n\t\t\t\t\tbuffer.vertices,\n\t\t\t\t\ttriangulated.vertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tshape.transform.internalTransform\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Steps\n\t\t\tif (isNotInited || isTriangulatedIdChanged || isStrokeChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildPolygonStep(\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\ttriangulated.distances,\n\t\t\t\t\ttriangulated.clippings,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tthis.vertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isNotInited || isTriangulatedIdChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildPolygonUv(buffer.uvs, triangulated.uvs, voffset, toTextureUvs(texture));\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -1,49 +1,39 @@
1
1
  import { EShapeLockPart } from "./e-shape-lock-part";
2
2
  import { EShapePolygon } from "./e-shape-polygon";
3
- export var createPolygon = function (points) {
3
+ export var createPolygon = function (points, result) {
4
+ result !== null && result !== void 0 ? result : (result = new EShapePolygon());
4
5
  var pointsLength = points.length;
5
- if (2 <= pointsLength) {
6
- var xmin = 0;
7
- var xmax = 0;
8
- var ymin = 0;
9
- var ymax = 0;
10
- xmin = xmax = points[0];
11
- ymin = ymax = points[1];
12
- for (var i = 2; i < pointsLength; i += 2) {
13
- var x = points[i];
14
- var y = points[i + 1];
15
- xmin = Math.min(xmin, x);
16
- xmax = Math.max(xmax, x);
17
- ymin = Math.min(ymin, y);
18
- ymax = Math.max(ymax, y);
19
- }
20
- var sx = xmax - xmin;
21
- var sy = ymax - ymin;
22
- var px = xmin + 0.5 * sx;
23
- var py = ymin + 0.5 * sy;
24
- if (0 < Math.abs(sx) && 0 < Math.abs(sy)) {
25
- var fx = 1 / sx;
26
- var fy = 1 / sy;
27
- var vertices = [];
28
- for (var i = 0; i < pointsLength; i += 2) {
29
- vertices.push((points[i] - xmin) * fx - 0.5, (points[i + 1] - ymin) * fy - 0.5);
30
- }
31
- var result = new EShapePolygon();
32
- result.lock(EShapeLockPart.ALL);
33
- result.transform.position.set(px, py);
34
- result.size.set(sx, sy);
35
- result.vertices = vertices;
36
- result.unlock(EShapeLockPart.ALL, true);
37
- return result;
38
- }
39
- else {
40
- var result = new EShapePolygon();
41
- result.transform.position.set(px, py);
42
- return result;
43
- }
6
+ if (pointsLength < 2) {
7
+ result.points.values = [];
8
+ return result;
44
9
  }
45
- else {
46
- return new EShapePolygon();
10
+ var xmin = 0;
11
+ var xmax = 0;
12
+ var ymin = 0;
13
+ var ymax = 0;
14
+ xmin = xmax = points[0];
15
+ ymin = ymax = points[1];
16
+ for (var i = 2; i < pointsLength; i += 2) {
17
+ var x = points[i];
18
+ var y = points[i + 1];
19
+ xmin = Math.min(xmin, x);
20
+ xmax = Math.max(xmax, x);
21
+ ymin = Math.min(ymin, y);
22
+ ymax = Math.max(ymax, y);
47
23
  }
24
+ var sx = xmax - xmin;
25
+ var sy = ymax - ymin;
26
+ var px = xmin + 0.5 * sx;
27
+ var py = ymin + 0.5 * sy;
28
+ var values = [];
29
+ for (var i = 0; i < pointsLength; i += 2) {
30
+ values.push(points[i] - px, points[i + 1] - py);
31
+ }
32
+ result.lock(EShapeLockPart.ALL);
33
+ result.transform.position.set(px, py);
34
+ result.size.set(sx, sy);
35
+ result.points.values = values;
36
+ result.unlock(EShapeLockPart.ALL, true);
37
+ return result;
48
38
  };
49
39
  //# sourceMappingURL=create-polygon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-polygon.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/create-polygon.ts"],"names":[],"mappings":"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","sourcesContent":["import { EShapeLockPart } from \"./e-shape-lock-part\";\nimport { EShapePolygon } from \"./e-shape-polygon\";\n\nexport const createPolygon = (points: number[]): EShapePolygon => {\n\tconst pointsLength = points.length;\n\tif (2 <= pointsLength) {\n\t\tlet xmin = 0;\n\t\tlet xmax = 0;\n\t\tlet ymin = 0;\n\t\tlet ymax = 0;\n\t\txmin = xmax = points[0];\n\t\tymin = ymax = points[1];\n\t\tfor (let i = 2; i < pointsLength; i += 2) {\n\t\t\tconst x = points[i];\n\t\t\tconst y = points[i + 1];\n\t\t\txmin = Math.min(xmin, x);\n\t\t\txmax = Math.max(xmax, x);\n\t\t\tymin = Math.min(ymin, y);\n\t\t\tymax = Math.max(ymax, y);\n\t\t}\n\t\tconst sx = xmax - xmin;\n\t\tconst sy = ymax - ymin;\n\t\tconst px = xmin + 0.5 * sx;\n\t\tconst py = ymin + 0.5 * sy;\n\t\tif (0 < Math.abs(sx) && 0 < Math.abs(sy)) {\n\t\t\tconst fx = 1 / sx;\n\t\t\tconst fy = 1 / sy;\n\t\t\tconst vertices: number[] = [];\n\t\t\tfor (let i = 0; i < pointsLength; i += 2) {\n\t\t\t\tvertices.push((points[i] - xmin) * fx - 0.5, (points[i + 1] - ymin) * fy - 0.5);\n\t\t\t}\n\t\t\tconst result = new EShapePolygon();\n\t\t\tresult.lock(EShapeLockPart.ALL);\n\t\t\tresult.transform.position.set(px, py);\n\t\t\tresult.size.set(sx, sy);\n\t\t\tresult.vertices = vertices;\n\t\t\tresult.unlock(EShapeLockPart.ALL, true);\n\t\t\treturn result;\n\t\t} else {\n\t\t\tconst result = new EShapePolygon();\n\t\t\tresult.transform.position.set(px, py);\n\t\t\treturn result;\n\t\t}\n\t} else {\n\t\treturn new EShapePolygon();\n\t}\n};\n"]}
1
+ {"version":3,"file":"create-polygon.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/create-polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,MAAgB,EAAE,MAAsB;IACrE,MAAM,aAAN,MAAM,cAAN,MAAM,IAAN,MAAM,GAAK,IAAI,aAAa,EAAE,EAAC;IAC/B,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,IAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACvB,IAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACvB,IAAM,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;IAC3B,IAAM,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;IAC3B,IAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC","sourcesContent":["import { EShapeLockPart } from \"./e-shape-lock-part\";\nimport { EShapePolygon } from \"./e-shape-polygon\";\n\nexport const createPolygon = (points: number[], result?: EShapePolygon): EShapePolygon => {\n\tresult ??= new EShapePolygon();\n\tconst pointsLength = points.length;\n\tif (pointsLength < 2) {\n\t\tresult.points.values = [];\n\t\treturn result;\n\t}\n\tlet xmin = 0;\n\tlet xmax = 0;\n\tlet ymin = 0;\n\tlet ymax = 0;\n\txmin = xmax = points[0];\n\tymin = ymax = points[1];\n\tfor (let i = 2; i < pointsLength; i += 2) {\n\t\tconst x = points[i];\n\t\tconst y = points[i + 1];\n\t\txmin = Math.min(xmin, x);\n\t\txmax = Math.max(xmax, x);\n\t\tymin = Math.min(ymin, y);\n\t\tymax = Math.max(ymax, y);\n\t}\n\tconst sx = xmax - xmin;\n\tconst sy = ymax - ymin;\n\tconst px = xmin + 0.5 * sx;\n\tconst py = ymin + 0.5 * sy;\n\tconst values: number[] = [];\n\tfor (let i = 0; i < pointsLength; i += 2) {\n\t\tvalues.push(points[i] - px, points[i + 1] - py);\n\t}\n\tresult.lock(EShapeLockPart.ALL);\n\tresult.transform.position.set(px, py);\n\tresult.size.set(sx, sy);\n\tresult.points.values = values;\n\tresult.unlock(EShapeLockPart.ALL, true);\n\treturn result;\n};\n"]}
@@ -139,12 +139,8 @@ var EShapeLinePoints = /** @class */ (function () {
139
139
  });
140
140
  Object.defineProperty(EShapeLinePoints.prototype, "marker", {
141
141
  get: function () {
142
- var result = this._marker;
143
- if (result == null) {
144
- result = this.newMarker();
145
- this._marker = result;
146
- }
147
- return result;
142
+ var _a;
143
+ return ((_a = this._marker) !== null && _a !== void 0 ? _a : (this._marker = this.newMarker()));
148
144
  },
149
145
  enumerable: false,
150
146
  configurable: true