@wcardinal/wcardinal-ui 0.459.0-beta.2 → 0.459.0-beta.4

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.
@@ -9,7 +9,8 @@ export type EShapePolygonTriangulatedExtensionSerialized = [
9
9
  number,
10
10
  number,
11
11
  number,
12
- number
12
+ number,
13
+ number?
13
14
  ];
14
15
  export declare class EShapePolygonTriangulatedImpl implements EShapePolygonTriangulated {
15
16
  protected _id: number;
@@ -35,7 +36,7 @@ export declare class EShapePolygonTriangulatedImpl implements EShapePolygonTrian
35
36
  get indices(): number[];
36
37
  get nindices(): number;
37
38
  get boundary(): EShapeBoundary;
38
- set(parentPointsId?: number, vertices?: number[], distances?: number[], lengths?: number[], clippings?: number[], uvs?: number[], indices?: number[]): this;
39
+ set(parentPointsId?: number, vertices?: number[], distances?: number[], lengths?: number[], clippings?: number[], uvs?: number[], indices?: number[], boundary?: EShapeBoundary): this;
39
40
  protected triangulate(): void;
40
41
  protected toUvs(vertices: number[], boundary: EShapeBoundary): number[];
41
42
  copy(source: EShapePolygonTriangulated): this;
@@ -96,7 +96,7 @@ var EShapePolygonTriangulatedImpl = /** @class */ (function () {
96
96
  enumerable: false,
97
97
  configurable: true
98
98
  });
99
- EShapePolygonTriangulatedImpl.prototype.set = function (parentPointsId, vertices, distances, lengths, clippings, uvs, indices) {
99
+ EShapePolygonTriangulatedImpl.prototype.set = function (parentPointsId, vertices, distances, lengths, clippings, uvs, indices, boundary) {
100
100
  var isChanged = false;
101
101
  // Parent Vertex ID
102
102
  if (parentPointsId != null) {
@@ -171,6 +171,14 @@ var EShapePolygonTriangulatedImpl = /** @class */ (function () {
171
171
  this._nindices = indicesLength / 3;
172
172
  isChanged = true;
173
173
  }
174
+ // Boundary
175
+ if (boundary != null) {
176
+ this._boundary[0] = boundary[0];
177
+ this._boundary[1] = boundary[1];
178
+ this._boundary[2] = boundary[2];
179
+ this._boundary[3] = boundary[3];
180
+ isChanged = true;
181
+ }
174
182
  // Done
175
183
  if (isChanged) {
176
184
  this._id += 1;
@@ -216,7 +224,7 @@ var EShapePolygonTriangulatedImpl = /** @class */ (function () {
216
224
  return result;
217
225
  };
218
226
  EShapePolygonTriangulatedImpl.prototype.copy = function (source) {
219
- this.set(this._parent.points.id, source.vertices, source.distances, source.lengths, source.clippings, source.uvs, source.indices);
227
+ this.set(this._parent.points.id, source.vertices, source.distances, source.lengths, source.clippings, source.uvs, source.indices, source.boundary);
220
228
  return this;
221
229
  };
222
230
  EShapePolygonTriangulatedImpl.prototype.serialize = function (manager) {
@@ -227,7 +235,8 @@ var EShapePolygonTriangulatedImpl = /** @class */ (function () {
227
235
  manager.addResource(JSON.stringify(this._lengths)),
228
236
  manager.addResource(JSON.stringify(this._clippings)),
229
237
  manager.addResource(JSON.stringify(this._uvs)),
230
- manager.addResource(JSON.stringify(this._indices))
238
+ manager.addResource(JSON.stringify(this._indices)),
239
+ manager.addResource(JSON.stringify(this._boundary))
231
240
  ];
232
241
  return manager.addResource(JSON.stringify(serialized));
233
242
  };
@@ -243,66 +252,95 @@ var EShapePolygonTriangulatedImpl = /** @class */ (function () {
243
252
  // Parent Points Id
244
253
  this._parentPointsId = this._parent.points.id;
245
254
  // Vertices
246
- var vertexId = parsed[0];
247
- if (0 <= vertexId && vertexId < resourcesLength) {
248
- var vertices = manager.getExtension(vertexId);
249
- if (vertices == null) {
250
- vertices = JSON.parse(resources[vertexId]);
251
- manager.setExtension(vertexId, vertices);
255
+ {
256
+ var vertexId = parsed[0];
257
+ if (0 <= vertexId && vertexId < resourcesLength) {
258
+ var vertices = manager.getExtension(vertexId);
259
+ if (vertices == null) {
260
+ vertices = JSON.parse(resources[vertexId]);
261
+ manager.setExtension(vertexId, vertices);
262
+ }
263
+ this._vertices = vertices;
264
+ this._nvertices = vertices.length >> 1;
252
265
  }
253
- this._vertices = vertices;
254
- this._nvertices = vertices.length >> 1;
255
266
  }
256
267
  // Distances
257
- var distanceId = parsed[1];
258
- if (0 <= distanceId && distanceId < resourcesLength) {
259
- var distances = manager.getExtension(distanceId);
260
- if (distances == null) {
261
- distances = JSON.parse(resources[distanceId]);
262
- manager.setExtension(distanceId, distances);
268
+ {
269
+ var distanceId = parsed[1];
270
+ if (0 <= distanceId && distanceId < resourcesLength) {
271
+ var distances = manager.getExtension(distanceId);
272
+ if (distances == null) {
273
+ distances = JSON.parse(resources[distanceId]);
274
+ manager.setExtension(distanceId, distances);
275
+ }
276
+ this._distances = distances;
263
277
  }
264
- this._distances = distances;
265
278
  }
266
279
  // Lengths
267
- var lengthId = parsed[2];
268
- if (0 <= lengthId && lengthId < resourcesLength) {
269
- var lengths = manager.getExtension(lengthId);
270
- if (lengths == null) {
271
- lengths = JSON.parse(resources[lengthId]);
272
- manager.setExtension(lengthId, lengths);
280
+ {
281
+ var lengthId = parsed[2];
282
+ if (0 <= lengthId && lengthId < resourcesLength) {
283
+ var lengths = manager.getExtension(lengthId);
284
+ if (lengths == null) {
285
+ lengths = JSON.parse(resources[lengthId]);
286
+ manager.setExtension(lengthId, lengths);
287
+ }
288
+ this._lengths = lengths;
273
289
  }
274
- this._lengths = lengths;
275
290
  }
276
291
  // Clippings
277
- var clippingId = parsed[3];
278
- if (0 <= clippingId && clippingId < resourcesLength) {
279
- var clippings = manager.getExtension(clippingId);
280
- if (clippings == null) {
281
- clippings = JSON.parse(resources[clippingId]);
282
- manager.setExtension(clippingId, clippings);
292
+ {
293
+ var clippingId = parsed[3];
294
+ if (0 <= clippingId && clippingId < resourcesLength) {
295
+ var clippings = manager.getExtension(clippingId);
296
+ if (clippings == null) {
297
+ clippings = JSON.parse(resources[clippingId]);
298
+ manager.setExtension(clippingId, clippings);
299
+ }
300
+ this._clippings = clippings;
283
301
  }
284
- this._clippings = clippings;
285
302
  }
286
303
  // UVs
287
- var uvId = parsed[4];
288
- if (0 <= uvId && uvId < resourcesLength) {
289
- var uvs = manager.getExtension(uvId);
290
- if (uvs == null) {
291
- uvs = JSON.parse(resources[uvId]);
292
- manager.setExtension(uvId, uvs);
304
+ {
305
+ var uvId = parsed[4];
306
+ if (0 <= uvId && uvId < resourcesLength) {
307
+ var uvs = manager.getExtension(uvId);
308
+ if (uvs == null) {
309
+ uvs = JSON.parse(resources[uvId]);
310
+ manager.setExtension(uvId, uvs);
311
+ }
312
+ this._uvs = uvs;
293
313
  }
294
- this._uvs = uvs;
295
314
  }
296
315
  // Indices
297
- var indexId = parsed[5];
298
- if (0 <= indexId && indexId < resourcesLength) {
299
- var indices = manager.getExtension(indexId);
300
- if (indices == null) {
301
- indices = JSON.parse(resources[indexId]);
302
- manager.setExtension(indexId, indices);
316
+ {
317
+ var indexId = parsed[5];
318
+ if (0 <= indexId && indexId < resourcesLength) {
319
+ var indices = manager.getExtension(indexId);
320
+ if (indices == null) {
321
+ indices = JSON.parse(resources[indexId]);
322
+ manager.setExtension(indexId, indices);
323
+ }
324
+ this._indices = indices;
325
+ this._nindices = indices.length / 3;
326
+ }
327
+ }
328
+ // Boundary
329
+ {
330
+ var boundaryId = parsed[6];
331
+ if (boundaryId != null) {
332
+ if (0 <= boundaryId && boundaryId < resourcesLength) {
333
+ var boundary = manager.getExtension(boundaryId);
334
+ if (boundary == null) {
335
+ boundary = JSON.parse(resources[boundaryId]);
336
+ manager.setExtension(boundaryId, boundary);
337
+ }
338
+ this._boundary = boundary;
339
+ }
340
+ }
341
+ else {
342
+ toPointsBoundary(this._vertices, this._boundary);
303
343
  }
304
- this._indices = indices;
305
- this._nindices = indices.length / 3;
306
344
  }
307
345
  this._id += 1;
308
346
  }
@@ -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];\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): 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// 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);\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];\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\tconst vertexId = parsed[0];\n\t\t\tif (0 <= vertexId && vertexId < resourcesLength) {\n\t\t\t\tlet vertices = manager.getExtension<number[]>(vertexId);\n\t\t\t\tif (vertices == null) {\n\t\t\t\t\tvertices = JSON.parse(resources[vertexId]) as number[];\n\t\t\t\t\tmanager.setExtension(vertexId, vertices);\n\t\t\t\t}\n\t\t\t\tthis._vertices = vertices;\n\t\t\t\tthis._nvertices = vertices.length >> 1;\n\t\t\t}\n\n\t\t\t// Distances\n\t\t\tconst distanceId = parsed[1];\n\t\t\tif (0 <= distanceId && distanceId < resourcesLength) {\n\t\t\t\tlet distances = manager.getExtension<number[]>(distanceId);\n\t\t\t\tif (distances == null) {\n\t\t\t\t\tdistances = JSON.parse(resources[distanceId]) as number[];\n\t\t\t\t\tmanager.setExtension(distanceId, distances);\n\t\t\t\t}\n\t\t\t\tthis._distances = distances;\n\t\t\t}\n\n\t\t\t// Lengths\n\t\t\tconst lengthId = parsed[2];\n\t\t\tif (0 <= lengthId && lengthId < resourcesLength) {\n\t\t\t\tlet lengths = manager.getExtension<number[]>(lengthId);\n\t\t\t\tif (lengths == null) {\n\t\t\t\t\tlengths = JSON.parse(resources[lengthId]) as number[];\n\t\t\t\t\tmanager.setExtension(lengthId, lengths);\n\t\t\t\t}\n\t\t\t\tthis._lengths = lengths;\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tconst clippingId = parsed[3];\n\t\t\tif (0 <= clippingId && clippingId < resourcesLength) {\n\t\t\t\tlet clippings = manager.getExtension<number[]>(clippingId);\n\t\t\t\tif (clippings == null) {\n\t\t\t\t\tclippings = JSON.parse(resources[clippingId]) as number[];\n\t\t\t\t\tmanager.setExtension(clippingId, clippings);\n\t\t\t\t}\n\t\t\t\tthis._clippings = clippings;\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tconst uvId = parsed[4];\n\t\t\tif (0 <= uvId && uvId < resourcesLength) {\n\t\t\t\tlet uvs = manager.getExtension<number[]>(uvId);\n\t\t\t\tif (uvs == null) {\n\t\t\t\t\tuvs = JSON.parse(resources[uvId]) as number[];\n\t\t\t\t\tmanager.setExtension(uvId, uvs);\n\t\t\t\t}\n\t\t\t\tthis._uvs = uvs;\n\t\t\t}\n\n\t\t\t// Indices\n\t\t\tconst indexId = parsed[5];\n\t\t\tif (0 <= indexId && indexId < resourcesLength) {\n\t\t\t\tlet indices = manager.getExtension<number[]>(indexId);\n\t\t\t\tif (indices == null) {\n\t\t\t\t\tindices = JSON.parse(resources[indexId]) as number[];\n\t\t\t\t\tmanager.setExtension(indexId, indices);\n\t\t\t\t}\n\t\t\t\tthis._indices = indices;\n\t\t\t\tthis._nindices = indices.length / 3;\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":"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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"]}
@@ -53,7 +53,7 @@ export var hitTestPolygon = function (shape, x, y, ax, ay, sw, ss) {
53
53
  if (!filled && sw <= 0) {
54
54
  return false;
55
55
  }
56
- var values = shape.points.values;
56
+ var values = shape.points.formatted.values;
57
57
  var valuesLength = values.length;
58
58
  if (6 <= valuesLength) {
59
59
  var count = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"hit-test-polygon.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/hit-test-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 { EShapeFillDirection } from \"../e-shape-fill-direction\";\nimport { EShapePolygon } from \"./e-shape-polygon\";\n\n/**\n * Returns the minimum squared distance between the given point (x, y) and the polygon edges.\n *\n * @param shape a polygon\n * @param x a X-coordinate position\n * @param y a Y-coordinate position\n * @param ax a polygon width\n * @param ay a polygon height\n * @returns the minimum squared distance between the given point (x, y) and the polygon edges\n */\nexport const calcPolygonSquaredDistance = (\n\tvalues: number[],\n\tvaluesLength: number,\n\tx: number,\n\ty: number\n): number => {\n\tif (valuesLength < 4) {\n\t\treturn Infinity;\n\t}\n\tlet result = Infinity;\n\tlet pvx = values[valuesLength - 2];\n\tlet pvy = values[valuesLength - 1];\n\tfor (let i = 0; i < valuesLength; i += 2) {\n\t\tconst vx = values[i];\n\t\tconst vy = values[i + 1];\n\t\tconst dvx = vx - pvx;\n\t\tconst dvy = vy - pvy;\n\t\tconst dv = dvx * dvx + dvy * dvy;\n\t\tlet t = 0;\n\t\tif (0 < dv) {\n\t\t\tt = ((x - pvx) * dvx + (y - pvy) * dvy) / dv;\n\t\t\tif (t < 0) {\n\t\t\t\tt = 0;\n\t\t\t} else if (1 < t) {\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t}\n\t\tconst dx = x - (pvx + t * dvx);\n\t\tconst dy = y - (pvy + t * dvy);\n\t\tconst d = dx * dx + dy * dy;\n\t\tif (d < result) {\n\t\t\tresult = d;\n\t\t}\n\t\tpvx = vx;\n\t\tpvy = vy;\n\t}\n\treturn result;\n};\n\nexport const hitTestPolygon = (\n\tshape: EShapePolygon,\n\tx: number,\n\ty: number,\n\tax: number,\n\tay: number,\n\tsw: number,\n\tss: number\n): boolean => {\n\tconst fill = shape.fill;\n\tconst filled = fill.enable;\n\tif (!filled && sw <= 0) {\n\t\treturn false;\n\t}\n\tconst values = shape.points.values;\n\tconst valuesLength = values.length;\n\tif (6 <= valuesLength) {\n\t\tlet count = 0;\n\t\tlet ppvy = values[valuesLength - 3];\n\t\tlet pvx = values[valuesLength - 2];\n\t\tlet pvy = values[valuesLength - 1];\n\t\tfor (let i = 0; i < valuesLength; i += 2) {\n\t\t\tconst vx = values[i];\n\t\t\tconst vy = values[i + 1];\n\t\t\tif ((pvy <= y && y < vy) || (y <= pvy && vy < y)) {\n\t\t\t\tconst dy = vy - pvy;\n\t\t\t\tlet t = 0;\n\t\t\t\tif (0 < Math.abs(dy)) {\n\t\t\t\t\tt = (y - pvy) / dy;\n\t\t\t\t}\n\t\t\t\tconst cx = pvx + t * (vx - pvx);\n\t\t\t\tif (x <= cx) {\n\t\t\t\t\tif (t <= 0) {\n\t\t\t\t\t\t// Since we could be just grazing vertices,\n\t\t\t\t\t\t// we need to check if the second-previous vertex is on the opposite side.\n\t\t\t\t\t\tif ((ppvy <= y && y < vy) || (y <= ppvy && vy < y)) {\n\t\t\t\t\t\t\tcount += 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcount += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tppvy = pvy;\n\t\t\tpvx = vx;\n\t\t\tpvy = vy;\n\t\t}\n\t\tif (count % 2 === 1) {\n\t\t\tif (filled) {\n\t\t\t\tconst percent = fill.percent;\n\t\t\t\tif (1 <= percent) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tconst boundary = shape.triangulated.boundary;\n\t\t\t\tswitch (fill.direction) {\n\t\t\t\t\tcase EShapeFillDirection.TOP:\n\t\t\t\t\t\tif (y - boundary[1] <= percent * (boundary[3] - boundary[1])) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase EShapeFillDirection.RIGHT:\n\t\t\t\t\t\tif ((1 - percent) * (boundary[2] - boundary[0]) <= x - boundary[0]) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase EShapeFillDirection.BOTTOM:\n\t\t\t\t\t\tif ((1 - percent) * (boundary[3] - boundary[1]) <= y - boundary[1]) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase EShapeFillDirection.LEFT:\n\t\t\t\t\t\tif (x - boundary[0] <= percent * (boundary[2] - boundary[0])) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst sd = calcPolygonSquaredDistance(values, valuesLength, x, y);\n\t\t\tconst s = sw * ss;\n\t\t\treturn sd <= s * s;\n\t\t}\n\t}\n\treturn false;\n};\n"]}
1
+ {"version":3,"file":"hit-test-polygon.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/hit-test-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 { EShapeFillDirection } from \"../e-shape-fill-direction\";\nimport { EShapePolygon } from \"./e-shape-polygon\";\n\n/**\n * Returns the minimum squared distance between the given point (x, y) and the polygon edges.\n *\n * @param shape a polygon\n * @param x a X-coordinate position\n * @param y a Y-coordinate position\n * @param ax a polygon width\n * @param ay a polygon height\n * @returns the minimum squared distance between the given point (x, y) and the polygon edges\n */\nexport const calcPolygonSquaredDistance = (\n\tvalues: number[],\n\tvaluesLength: number,\n\tx: number,\n\ty: number\n): number => {\n\tif (valuesLength < 4) {\n\t\treturn Infinity;\n\t}\n\tlet result = Infinity;\n\tlet pvx = values[valuesLength - 2];\n\tlet pvy = values[valuesLength - 1];\n\tfor (let i = 0; i < valuesLength; i += 2) {\n\t\tconst vx = values[i];\n\t\tconst vy = values[i + 1];\n\t\tconst dvx = vx - pvx;\n\t\tconst dvy = vy - pvy;\n\t\tconst dv = dvx * dvx + dvy * dvy;\n\t\tlet t = 0;\n\t\tif (0 < dv) {\n\t\t\tt = ((x - pvx) * dvx + (y - pvy) * dvy) / dv;\n\t\t\tif (t < 0) {\n\t\t\t\tt = 0;\n\t\t\t} else if (1 < t) {\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t}\n\t\tconst dx = x - (pvx + t * dvx);\n\t\tconst dy = y - (pvy + t * dvy);\n\t\tconst d = dx * dx + dy * dy;\n\t\tif (d < result) {\n\t\t\tresult = d;\n\t\t}\n\t\tpvx = vx;\n\t\tpvy = vy;\n\t}\n\treturn result;\n};\n\nexport const hitTestPolygon = (\n\tshape: EShapePolygon,\n\tx: number,\n\ty: number,\n\tax: number,\n\tay: number,\n\tsw: number,\n\tss: number\n): boolean => {\n\tconst fill = shape.fill;\n\tconst filled = fill.enable;\n\tif (!filled && sw <= 0) {\n\t\treturn false;\n\t}\n\tconst values = shape.points.formatted.values;\n\tconst valuesLength = values.length;\n\tif (6 <= valuesLength) {\n\t\tlet count = 0;\n\t\tlet ppvy = values[valuesLength - 3];\n\t\tlet pvx = values[valuesLength - 2];\n\t\tlet pvy = values[valuesLength - 1];\n\t\tfor (let i = 0; i < valuesLength; i += 2) {\n\t\t\tconst vx = values[i];\n\t\t\tconst vy = values[i + 1];\n\t\t\tif ((pvy <= y && y < vy) || (y <= pvy && vy < y)) {\n\t\t\t\tconst dy = vy - pvy;\n\t\t\t\tlet t = 0;\n\t\t\t\tif (0 < Math.abs(dy)) {\n\t\t\t\t\tt = (y - pvy) / dy;\n\t\t\t\t}\n\t\t\t\tconst cx = pvx + t * (vx - pvx);\n\t\t\t\tif (x <= cx) {\n\t\t\t\t\tif (t <= 0) {\n\t\t\t\t\t\t// Since we could be just grazing vertices,\n\t\t\t\t\t\t// we need to check if the second-previous vertex is on the opposite side.\n\t\t\t\t\t\tif ((ppvy <= y && y < vy) || (y <= ppvy && vy < y)) {\n\t\t\t\t\t\t\tcount += 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcount += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tppvy = pvy;\n\t\t\tpvx = vx;\n\t\t\tpvy = vy;\n\t\t}\n\t\tif (count % 2 === 1) {\n\t\t\tif (filled) {\n\t\t\t\tconst percent = fill.percent;\n\t\t\t\tif (1 <= percent) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tconst boundary = shape.triangulated.boundary;\n\t\t\t\tswitch (fill.direction) {\n\t\t\t\t\tcase EShapeFillDirection.TOP:\n\t\t\t\t\t\tif (y - boundary[1] <= percent * (boundary[3] - boundary[1])) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase EShapeFillDirection.RIGHT:\n\t\t\t\t\t\tif ((1 - percent) * (boundary[2] - boundary[0]) <= x - boundary[0]) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase EShapeFillDirection.BOTTOM:\n\t\t\t\t\t\tif ((1 - percent) * (boundary[3] - boundary[1]) <= y - boundary[1]) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase EShapeFillDirection.LEFT:\n\t\t\t\t\t\tif (x - boundary[0] <= percent * (boundary[2] - boundary[0])) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst sd = calcPolygonSquaredDistance(values, valuesLength, x, y);\n\t\t\tconst s = sw * ss;\n\t\t\treturn sd <= s * s;\n\t\t}\n\t}\n\treturn false;\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0-beta.2
2
+ Winter Cardinal UI v0.459.0-beta.4
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5