@wcardinal/wcardinal-ui 0.459.0-beta.3 → 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.
@@ -252,81 +252,95 @@ var EShapePolygonTriangulatedImpl = /** @class */ (function () {
252
252
  // Parent Points Id
253
253
  this._parentPointsId = this._parent.points.id;
254
254
  // Vertices
255
- var vertexId = parsed[0];
256
- if (0 <= vertexId && vertexId < resourcesLength) {
257
- var vertices = manager.getExtension(vertexId);
258
- if (vertices == null) {
259
- vertices = JSON.parse(resources[vertexId]);
260
- 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;
261
265
  }
262
- this._vertices = vertices;
263
- this._nvertices = vertices.length >> 1;
264
266
  }
265
267
  // Distances
266
- var distanceId = parsed[1];
267
- if (0 <= distanceId && distanceId < resourcesLength) {
268
- var distances = manager.getExtension(distanceId);
269
- if (distances == null) {
270
- distances = JSON.parse(resources[distanceId]);
271
- 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;
272
277
  }
273
- this._distances = distances;
274
278
  }
275
279
  // Lengths
276
- var lengthId = parsed[2];
277
- if (0 <= lengthId && lengthId < resourcesLength) {
278
- var lengths = manager.getExtension(lengthId);
279
- if (lengths == null) {
280
- lengths = JSON.parse(resources[lengthId]);
281
- 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;
282
289
  }
283
- this._lengths = lengths;
284
290
  }
285
291
  // Clippings
286
- var clippingId = parsed[3];
287
- if (0 <= clippingId && clippingId < resourcesLength) {
288
- var clippings = manager.getExtension(clippingId);
289
- if (clippings == null) {
290
- clippings = JSON.parse(resources[clippingId]);
291
- 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;
292
301
  }
293
- this._clippings = clippings;
294
302
  }
295
303
  // UVs
296
- var uvId = parsed[4];
297
- if (0 <= uvId && uvId < resourcesLength) {
298
- var uvs = manager.getExtension(uvId);
299
- if (uvs == null) {
300
- uvs = JSON.parse(resources[uvId]);
301
- 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;
302
313
  }
303
- this._uvs = uvs;
304
314
  }
305
315
  // Indices
306
- var indexId = parsed[5];
307
- if (0 <= indexId && indexId < resourcesLength) {
308
- var indices = manager.getExtension(indexId);
309
- if (indices == null) {
310
- indices = JSON.parse(resources[indexId]);
311
- 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;
312
326
  }
313
- this._indices = indices;
314
- this._nindices = indices.length / 3;
315
327
  }
316
328
  // Boundary
317
- var boundaryId = parsed[6];
318
- if (boundaryId != null) {
319
- if (0 <= boundaryId && boundaryId < resourcesLength) {
320
- var boundary = manager.getExtension(boundaryId);
321
- if (boundary == null) {
322
- boundary = JSON.parse(resources[indexId]);
323
- manager.setExtension(indexId, 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;
324
339
  }
325
- this._boundary = boundary;
326
340
  }
327
- }
328
- else {
329
- toPointsBoundary(this._vertices, this._boundary);
341
+ else {
342
+ toPointsBoundary(this._vertices, this._boundary);
343
+ }
330
344
  }
331
345
  this._id += 1;
332
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":"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,IAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,GAAG,eAAe,EAAE,CAAC;gBACjD,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAW,QAAQ,CAAC,CAAC;gBACxD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACtB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAa,CAAC;oBACvD,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YACxC,CAAC;YAED,YAAY;YACZ,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;gBACrD,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAW,UAAU,CAAC,CAAC;gBAC3D,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACvB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAa,CAAC;oBAC1D,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC7B,CAAC;YAED,UAAU;YACV,IAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,GAAG,eAAe,EAAE,CAAC;gBACjD,IAAI,OAAO,GAAG,OAAO,CAAC,YAAY,CAAW,QAAQ,CAAC,CAAC;gBACvD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAa,CAAC;oBACtD,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACzB,CAAC;YAED,YAAY;YACZ,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;gBACrD,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAW,UAAU,CAAC,CAAC;gBAC3D,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACvB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAa,CAAC;oBAC1D,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC7B,CAAC;YAED,MAAM;YACN,IAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,eAAe,EAAE,CAAC;gBACzC,IAAI,GAAG,GAAG,OAAO,CAAC,YAAY,CAAW,IAAI,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAa,CAAC;oBAC9C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YACjB,CAAC;YAED,UAAU;YACV,IAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,OAAO,IAAI,OAAO,GAAG,eAAe,EAAE,CAAC;gBAC/C,IAAI,OAAO,GAAG,OAAO,CAAC,YAAY,CAAW,OAAO,CAAC,CAAC;gBACtD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAa,CAAC;oBACrD,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,CAAC;YAED,WAAW;YACX,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;oBACrD,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAiB,UAAU,CAAC,CAAC;oBAChE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;wBACtB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAmB,CAAC;wBAC5D,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACzC,CAAC;oBACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC3B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACf,CAAC;IACF,CAAC;IACF,oCAAC;AAAD,CAAC,AAvWD,IAuWC","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\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\t// Boundary\n\t\t\tconst boundaryId = parsed[6];\n\t\t\tif (boundaryId != null) {\n\t\t\t\tif (0 <= boundaryId && boundaryId < resourcesLength) {\n\t\t\t\t\tlet boundary = manager.getExtension<EShapeBoundary>(boundaryId);\n\t\t\t\t\tif (boundary == null) {\n\t\t\t\t\t\tboundary = JSON.parse(resources[indexId]) as EShapeBoundary;\n\t\t\t\t\t\tmanager.setExtension(indexId, boundary);\n\t\t\t\t\t}\n\t\t\t\t\tthis._boundary = boundary;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttoPointsBoundary(this._vertices, this._boundary);\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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE;;;;;;;;;GASG;AACH,MAAM,CAAC,IAAM,0BAA0B,GAAG,UACzC,MAAgB,EAChB,YAAoB,EACpB,CAAS,EACT,CAAS;IAET,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACnC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAM,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;QACrB,IAAM,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;QACrB,IAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACZ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACX,CAAC,GAAG,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,CAAC,GAAG,CAAC,CAAC;YACP,CAAC;QACF,CAAC;QACD,IAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAC/B,IAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAC/B,IAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,GAAG,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,EAAE,CAAC;IACV,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAG,UAC7B,KAAoB,EACpB,CAAS,EACT,CAAS,EACT,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU;IAEV,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClD,IAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtB,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC;gBACD,IAAM,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACZ,2CAA2C;wBAC3C,0EAA0E;wBAC1E,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;4BACpD,KAAK,IAAI,CAAC,CAAC;wBACZ,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,KAAK,IAAI,CAAC,CAAC;oBACZ,CAAC;gBACF,CAAC;YACF,CAAC;YACD,IAAI,GAAG,GAAG,CAAC;YACX,GAAG,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,EAAE,CAAC;QACV,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,MAAM,EAAE,CAAC;gBACZ,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,IAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC7C,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxB,KAAK,mBAAmB,CAAC,GAAG;wBAC3B,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC9D,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,MAAM;oBACP,KAAK,mBAAmB,CAAC,KAAK;wBAC7B,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpE,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,MAAM;oBACP,KAAK,mBAAmB,CAAC,MAAM;wBAC9B,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpE,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,MAAM;oBACP,KAAK,mBAAmB,CAAC,IAAI;wBAC5B,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC9D,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,MAAM;gBACR,CAAC;YACF,CAAC;YACD,IAAM,EAAE,GAAG,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClE,IAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC","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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE;;;;;;;;;GASG;AACH,MAAM,CAAC,IAAM,0BAA0B,GAAG,UACzC,MAAgB,EAChB,YAAoB,EACpB,CAAS,EACT,CAAS;IAET,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACnC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAM,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;QACrB,IAAM,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;QACrB,IAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACZ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACX,CAAC,GAAG,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,CAAC,GAAG,CAAC,CAAC;YACP,CAAC;QACF,CAAC;QACD,IAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAC/B,IAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAC/B,IAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,GAAG,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,EAAE,CAAC;IACV,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAG,UAC7B,KAAoB,EACpB,CAAS,EACT,CAAS,EACT,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU;IAEV,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;IAC7C,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClD,IAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtB,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC;gBACD,IAAM,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACZ,2CAA2C;wBAC3C,0EAA0E;wBAC1E,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;4BACpD,KAAK,IAAI,CAAC,CAAC;wBACZ,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,KAAK,IAAI,CAAC,CAAC;oBACZ,CAAC;gBACF,CAAC;YACF,CAAC;YACD,IAAI,GAAG,GAAG,CAAC;YACX,GAAG,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,EAAE,CAAC;QACV,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,MAAM,EAAE,CAAC;gBACZ,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,IAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC7C,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxB,KAAK,mBAAmB,CAAC,GAAG;wBAC3B,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC9D,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,MAAM;oBACP,KAAK,mBAAmB,CAAC,KAAK;wBAC7B,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpE,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,MAAM;oBACP,KAAK,mBAAmB,CAAC,MAAM;wBAC9B,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpE,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,MAAM;oBACP,KAAK,mBAAmB,CAAC,IAAI;wBAC5B,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC9D,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,MAAM;gBACR,CAAC;YACF,CAAC;YACD,IAAM,EAAE,GAAG,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClE,IAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC","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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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
 
@@ -50273,81 +50273,95 @@ var EShapePolygonTriangulatedImpl = /** @class */ (function () {
50273
50273
  // Parent Points Id
50274
50274
  this._parentPointsId = this._parent.points.id;
50275
50275
  // Vertices
50276
- var vertexId = parsed[0];
50277
- if (0 <= vertexId && vertexId < resourcesLength) {
50278
- var vertices = manager.getExtension(vertexId);
50279
- if (vertices == null) {
50280
- vertices = JSON.parse(resources[vertexId]);
50281
- manager.setExtension(vertexId, vertices);
50276
+ {
50277
+ var vertexId = parsed[0];
50278
+ if (0 <= vertexId && vertexId < resourcesLength) {
50279
+ var vertices = manager.getExtension(vertexId);
50280
+ if (vertices == null) {
50281
+ vertices = JSON.parse(resources[vertexId]);
50282
+ manager.setExtension(vertexId, vertices);
50283
+ }
50284
+ this._vertices = vertices;
50285
+ this._nvertices = vertices.length >> 1;
50282
50286
  }
50283
- this._vertices = vertices;
50284
- this._nvertices = vertices.length >> 1;
50285
50287
  }
50286
50288
  // Distances
50287
- var distanceId = parsed[1];
50288
- if (0 <= distanceId && distanceId < resourcesLength) {
50289
- var distances = manager.getExtension(distanceId);
50290
- if (distances == null) {
50291
- distances = JSON.parse(resources[distanceId]);
50292
- manager.setExtension(distanceId, distances);
50289
+ {
50290
+ var distanceId = parsed[1];
50291
+ if (0 <= distanceId && distanceId < resourcesLength) {
50292
+ var distances = manager.getExtension(distanceId);
50293
+ if (distances == null) {
50294
+ distances = JSON.parse(resources[distanceId]);
50295
+ manager.setExtension(distanceId, distances);
50296
+ }
50297
+ this._distances = distances;
50293
50298
  }
50294
- this._distances = distances;
50295
50299
  }
50296
50300
  // Lengths
50297
- var lengthId = parsed[2];
50298
- if (0 <= lengthId && lengthId < resourcesLength) {
50299
- var lengths = manager.getExtension(lengthId);
50300
- if (lengths == null) {
50301
- lengths = JSON.parse(resources[lengthId]);
50302
- manager.setExtension(lengthId, lengths);
50301
+ {
50302
+ var lengthId = parsed[2];
50303
+ if (0 <= lengthId && lengthId < resourcesLength) {
50304
+ var lengths = manager.getExtension(lengthId);
50305
+ if (lengths == null) {
50306
+ lengths = JSON.parse(resources[lengthId]);
50307
+ manager.setExtension(lengthId, lengths);
50308
+ }
50309
+ this._lengths = lengths;
50303
50310
  }
50304
- this._lengths = lengths;
50305
50311
  }
50306
50312
  // Clippings
50307
- var clippingId = parsed[3];
50308
- if (0 <= clippingId && clippingId < resourcesLength) {
50309
- var clippings = manager.getExtension(clippingId);
50310
- if (clippings == null) {
50311
- clippings = JSON.parse(resources[clippingId]);
50312
- manager.setExtension(clippingId, clippings);
50313
+ {
50314
+ var clippingId = parsed[3];
50315
+ if (0 <= clippingId && clippingId < resourcesLength) {
50316
+ var clippings = manager.getExtension(clippingId);
50317
+ if (clippings == null) {
50318
+ clippings = JSON.parse(resources[clippingId]);
50319
+ manager.setExtension(clippingId, clippings);
50320
+ }
50321
+ this._clippings = clippings;
50313
50322
  }
50314
- this._clippings = clippings;
50315
50323
  }
50316
50324
  // UVs
50317
- var uvId = parsed[4];
50318
- if (0 <= uvId && uvId < resourcesLength) {
50319
- var uvs = manager.getExtension(uvId);
50320
- if (uvs == null) {
50321
- uvs = JSON.parse(resources[uvId]);
50322
- manager.setExtension(uvId, uvs);
50325
+ {
50326
+ var uvId = parsed[4];
50327
+ if (0 <= uvId && uvId < resourcesLength) {
50328
+ var uvs = manager.getExtension(uvId);
50329
+ if (uvs == null) {
50330
+ uvs = JSON.parse(resources[uvId]);
50331
+ manager.setExtension(uvId, uvs);
50332
+ }
50333
+ this._uvs = uvs;
50323
50334
  }
50324
- this._uvs = uvs;
50325
50335
  }
50326
50336
  // Indices
50327
- var indexId = parsed[5];
50328
- if (0 <= indexId && indexId < resourcesLength) {
50329
- var indices = manager.getExtension(indexId);
50330
- if (indices == null) {
50331
- indices = JSON.parse(resources[indexId]);
50332
- manager.setExtension(indexId, indices);
50337
+ {
50338
+ var indexId = parsed[5];
50339
+ if (0 <= indexId && indexId < resourcesLength) {
50340
+ var indices = manager.getExtension(indexId);
50341
+ if (indices == null) {
50342
+ indices = JSON.parse(resources[indexId]);
50343
+ manager.setExtension(indexId, indices);
50344
+ }
50345
+ this._indices = indices;
50346
+ this._nindices = indices.length / 3;
50333
50347
  }
50334
- this._indices = indices;
50335
- this._nindices = indices.length / 3;
50336
50348
  }
50337
50349
  // Boundary
50338
- var boundaryId = parsed[6];
50339
- if (boundaryId != null) {
50340
- if (0 <= boundaryId && boundaryId < resourcesLength) {
50341
- var boundary = manager.getExtension(boundaryId);
50342
- if (boundary == null) {
50343
- boundary = JSON.parse(resources[indexId]);
50344
- manager.setExtension(indexId, boundary);
50350
+ {
50351
+ var boundaryId = parsed[6];
50352
+ if (boundaryId != null) {
50353
+ if (0 <= boundaryId && boundaryId < resourcesLength) {
50354
+ var boundary = manager.getExtension(boundaryId);
50355
+ if (boundary == null) {
50356
+ boundary = JSON.parse(resources[boundaryId]);
50357
+ manager.setExtension(boundaryId, boundary);
50358
+ }
50359
+ this._boundary = boundary;
50345
50360
  }
50346
- this._boundary = boundary;
50347
50361
  }
50348
- }
50349
- else {
50350
- toPointsBoundary(this._vertices, this._boundary);
50362
+ else {
50363
+ toPointsBoundary(this._vertices, this._boundary);
50364
+ }
50351
50365
  }
50352
50366
  this._id += 1;
50353
50367
  }
@@ -50409,7 +50423,7 @@ var hitTestPolygon = function (shape, x, y, ax, ay, sw, ss) {
50409
50423
  if (!filled && sw <= 0) {
50410
50424
  return false;
50411
50425
  }
50412
- var values = shape.points.values;
50426
+ var values = shape.points.formatted.values;
50413
50427
  var valuesLength = values.length;
50414
50428
  if (6 <= valuesLength) {
50415
50429
  var count = 0;