@esotericsoftware/spine-core 4.2.44 → 4.2.46
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.
- package/dist/AnimationState.d.ts +3 -0
- package/dist/AnimationState.js +6 -1
- package/dist/Skeleton.js +2 -2
- package/dist/SkeletonClipping.d.ts +2 -2
- package/dist/SkeletonClipping.js +43 -49
- package/dist/iife/spine-core.js +189 -192
- package/dist/iife/spine-core.js.map +2 -2
- package/dist/iife/spine-core.min.js +2 -2
- package/package.json +1 -1
package/dist/iife/spine-core.js
CHANGED
|
@@ -4462,6 +4462,11 @@ var spine = (() => {
|
|
|
4462
4462
|
wasApplied() {
|
|
4463
4463
|
return this.nextTrackLast != -1;
|
|
4464
4464
|
}
|
|
4465
|
+
/** Returns true if there is a {@link #getNext()} track entry and it will become the current track entry during the next
|
|
4466
|
+
* {@link AnimationState#update(float)}. */
|
|
4467
|
+
isNextReady() {
|
|
4468
|
+
return this.next != null && this.nextTrackLast - this.next.delay >= 0;
|
|
4469
|
+
}
|
|
4465
4470
|
};
|
|
4466
4471
|
var EventQueue = class {
|
|
4467
4472
|
objects = [];
|
|
@@ -8098,7 +8103,7 @@ var spine = (() => {
|
|
|
8098
8103
|
}
|
|
8099
8104
|
if (vertices && triangles) {
|
|
8100
8105
|
if (clipper != null && clipper.isClipping()) {
|
|
8101
|
-
clipper.clipTriangles(vertices,
|
|
8106
|
+
clipper.clipTriangles(vertices, triangles, triangles.length);
|
|
8102
8107
|
vertices = clipper.clippedVertices;
|
|
8103
8108
|
verticesLength = clipper.clippedVertices.length;
|
|
8104
8109
|
}
|
|
@@ -10303,74 +10308,70 @@ var spine = (() => {
|
|
|
10303
10308
|
isClipping() {
|
|
10304
10309
|
return this.clipAttachment != null;
|
|
10305
10310
|
}
|
|
10306
|
-
clipTriangles(vertices,
|
|
10311
|
+
clipTriangles(vertices, triangles, trianglesLength, uvs, light, dark, twoColor) {
|
|
10307
10312
|
if (uvs && light && dark && typeof twoColor === "boolean")
|
|
10308
|
-
this.clipTrianglesRender(vertices,
|
|
10313
|
+
this.clipTrianglesRender(vertices, triangles, trianglesLength, uvs, light, dark, twoColor);
|
|
10309
10314
|
else
|
|
10310
|
-
this.clipTrianglesNoRender(vertices,
|
|
10315
|
+
this.clipTrianglesNoRender(vertices, triangles, trianglesLength);
|
|
10311
10316
|
}
|
|
10312
|
-
clipTrianglesNoRender(vertices,
|
|
10317
|
+
clipTrianglesNoRender(vertices, triangles, trianglesLength) {
|
|
10313
10318
|
let clipOutput = this.clipOutput, clippedVertices = this.clippedVertices;
|
|
10314
10319
|
let clippedTriangles = this.clippedTriangles;
|
|
10315
10320
|
let polygons = this.clippingPolygons;
|
|
10316
10321
|
let polygonsCount = polygons.length;
|
|
10317
|
-
let vertexSize = 2;
|
|
10318
10322
|
let index = 0;
|
|
10319
10323
|
clippedVertices.length = 0;
|
|
10320
10324
|
clippedTriangles.length = 0;
|
|
10321
|
-
|
|
10322
|
-
|
|
10323
|
-
|
|
10324
|
-
|
|
10325
|
-
|
|
10326
|
-
|
|
10327
|
-
|
|
10328
|
-
|
|
10329
|
-
|
|
10330
|
-
|
|
10331
|
-
|
|
10332
|
-
|
|
10333
|
-
|
|
10334
|
-
|
|
10335
|
-
|
|
10336
|
-
|
|
10337
|
-
|
|
10338
|
-
|
|
10339
|
-
|
|
10340
|
-
|
|
10341
|
-
|
|
10342
|
-
|
|
10343
|
-
|
|
10344
|
-
|
|
10345
|
-
|
|
10346
|
-
clipOutputCount--;
|
|
10347
|
-
for (let ii = 1; ii < clipOutputCount; ii++) {
|
|
10348
|
-
clippedTrianglesItems[s] = index;
|
|
10349
|
-
clippedTrianglesItems[s + 1] = index + ii;
|
|
10350
|
-
clippedTrianglesItems[s + 2] = index + ii + 1;
|
|
10351
|
-
s += 3;
|
|
10352
|
-
}
|
|
10353
|
-
index += clipOutputCount + 1;
|
|
10354
|
-
} else {
|
|
10355
|
-
let clippedVerticesItems = Utils.setArraySize(clippedVertices, s + 3 * vertexSize);
|
|
10356
|
-
clippedVerticesItems[s] = x1;
|
|
10357
|
-
clippedVerticesItems[s + 1] = y1;
|
|
10358
|
-
clippedVerticesItems[s + 2] = x2;
|
|
10359
|
-
clippedVerticesItems[s + 3] = y2;
|
|
10360
|
-
clippedVerticesItems[s + 4] = x3;
|
|
10361
|
-
clippedVerticesItems[s + 5] = y3;
|
|
10362
|
-
s = clippedTriangles.length;
|
|
10363
|
-
let clippedTrianglesItems = Utils.setArraySize(clippedTriangles, s + 3);
|
|
10325
|
+
for (let i = 0; i < trianglesLength; i += 3) {
|
|
10326
|
+
let vertexOffset = triangles[i] << 1;
|
|
10327
|
+
let x1 = vertices[vertexOffset], y1 = vertices[vertexOffset + 1];
|
|
10328
|
+
vertexOffset = triangles[i + 1] << 1;
|
|
10329
|
+
let x2 = vertices[vertexOffset], y2 = vertices[vertexOffset + 1];
|
|
10330
|
+
vertexOffset = triangles[i + 2] << 1;
|
|
10331
|
+
let x3 = vertices[vertexOffset], y3 = vertices[vertexOffset + 1];
|
|
10332
|
+
for (let p = 0; p < polygonsCount; p++) {
|
|
10333
|
+
let s = clippedVertices.length;
|
|
10334
|
+
if (this.clip(x1, y1, x2, y2, x3, y3, polygons[p], clipOutput)) {
|
|
10335
|
+
let clipOutputLength = clipOutput.length;
|
|
10336
|
+
if (clipOutputLength == 0)
|
|
10337
|
+
continue;
|
|
10338
|
+
let clipOutputCount = clipOutputLength >> 1;
|
|
10339
|
+
let clipOutputItems = this.clipOutput;
|
|
10340
|
+
let clippedVerticesItems = Utils.setArraySize(clippedVertices, s + clipOutputCount * 2);
|
|
10341
|
+
for (let ii = 0; ii < clipOutputLength; ii += 2, s += 2) {
|
|
10342
|
+
let x = clipOutputItems[ii], y = clipOutputItems[ii + 1];
|
|
10343
|
+
clippedVerticesItems[s] = x;
|
|
10344
|
+
clippedVerticesItems[s + 1] = y;
|
|
10345
|
+
}
|
|
10346
|
+
s = clippedTriangles.length;
|
|
10347
|
+
let clippedTrianglesItems = Utils.setArraySize(clippedTriangles, s + 3 * (clipOutputCount - 2));
|
|
10348
|
+
clipOutputCount--;
|
|
10349
|
+
for (let ii = 1; ii < clipOutputCount; ii++, s += 3) {
|
|
10364
10350
|
clippedTrianglesItems[s] = index;
|
|
10365
|
-
clippedTrianglesItems[s + 1] = index +
|
|
10366
|
-
clippedTrianglesItems[s + 2] = index +
|
|
10367
|
-
index += 3;
|
|
10368
|
-
continue outer;
|
|
10351
|
+
clippedTrianglesItems[s + 1] = index + ii;
|
|
10352
|
+
clippedTrianglesItems[s + 2] = index + ii + 1;
|
|
10369
10353
|
}
|
|
10354
|
+
index += clipOutputCount + 1;
|
|
10355
|
+
} else {
|
|
10356
|
+
let clippedVerticesItems = Utils.setArraySize(clippedVertices, s + 3 * 2);
|
|
10357
|
+
clippedVerticesItems[s] = x1;
|
|
10358
|
+
clippedVerticesItems[s + 1] = y1;
|
|
10359
|
+
clippedVerticesItems[s + 2] = x2;
|
|
10360
|
+
clippedVerticesItems[s + 3] = y2;
|
|
10361
|
+
clippedVerticesItems[s + 4] = x3;
|
|
10362
|
+
clippedVerticesItems[s + 5] = y3;
|
|
10363
|
+
s = clippedTriangles.length;
|
|
10364
|
+
let clippedTrianglesItems = Utils.setArraySize(clippedTriangles, s + 3);
|
|
10365
|
+
clippedTrianglesItems[s] = index;
|
|
10366
|
+
clippedTrianglesItems[s + 1] = index + 1;
|
|
10367
|
+
clippedTrianglesItems[s + 2] = index + 2;
|
|
10368
|
+
index += 3;
|
|
10369
|
+
break;
|
|
10370
10370
|
}
|
|
10371
10371
|
}
|
|
10372
|
+
}
|
|
10372
10373
|
}
|
|
10373
|
-
clipTrianglesRender(vertices,
|
|
10374
|
+
clipTrianglesRender(vertices, triangles, trianglesLength, uvs, light, dark, twoColor) {
|
|
10374
10375
|
let clipOutput = this.clipOutput, clippedVertices = this.clippedVertices;
|
|
10375
10376
|
let clippedTriangles = this.clippedTriangles;
|
|
10376
10377
|
let polygons = this.clippingPolygons;
|
|
@@ -10379,129 +10380,126 @@ var spine = (() => {
|
|
|
10379
10380
|
let index = 0;
|
|
10380
10381
|
clippedVertices.length = 0;
|
|
10381
10382
|
clippedTriangles.length = 0;
|
|
10382
|
-
|
|
10383
|
-
|
|
10384
|
-
|
|
10385
|
-
|
|
10386
|
-
|
|
10387
|
-
|
|
10388
|
-
|
|
10389
|
-
|
|
10390
|
-
|
|
10391
|
-
|
|
10392
|
-
|
|
10393
|
-
|
|
10394
|
-
|
|
10395
|
-
|
|
10396
|
-
|
|
10397
|
-
|
|
10398
|
-
|
|
10399
|
-
|
|
10400
|
-
|
|
10401
|
-
|
|
10402
|
-
|
|
10403
|
-
|
|
10404
|
-
|
|
10405
|
-
|
|
10406
|
-
|
|
10407
|
-
clippedVerticesItems[s + 1] = y;
|
|
10408
|
-
clippedVerticesItems[s + 2] = light.r;
|
|
10409
|
-
clippedVerticesItems[s + 3] = light.g;
|
|
10410
|
-
clippedVerticesItems[s + 4] = light.b;
|
|
10411
|
-
clippedVerticesItems[s + 5] = light.a;
|
|
10412
|
-
let c0 = x - x3, c1 = y - y3;
|
|
10413
|
-
let a = (d0 * c0 + d1 * c1) * d;
|
|
10414
|
-
let b = (d4 * c0 + d2 * c1) * d;
|
|
10415
|
-
let c = 1 - a - b;
|
|
10416
|
-
clippedVerticesItems[s + 6] = u1 * a + u2 * b + u3 * c;
|
|
10417
|
-
clippedVerticesItems[s + 7] = v1 * a + v2 * b + v3 * c;
|
|
10418
|
-
if (twoColor) {
|
|
10419
|
-
clippedVerticesItems[s + 8] = dark.r;
|
|
10420
|
-
clippedVerticesItems[s + 9] = dark.g;
|
|
10421
|
-
clippedVerticesItems[s + 10] = dark.b;
|
|
10422
|
-
clippedVerticesItems[s + 11] = dark.a;
|
|
10423
|
-
}
|
|
10424
|
-
s += vertexSize;
|
|
10425
|
-
}
|
|
10426
|
-
s = clippedTriangles.length;
|
|
10427
|
-
let clippedTrianglesItems = Utils.setArraySize(clippedTriangles, s + 3 * (clipOutputCount - 2));
|
|
10428
|
-
clipOutputCount--;
|
|
10429
|
-
for (let ii = 1; ii < clipOutputCount; ii++) {
|
|
10430
|
-
clippedTrianglesItems[s] = index;
|
|
10431
|
-
clippedTrianglesItems[s + 1] = index + ii;
|
|
10432
|
-
clippedTrianglesItems[s + 2] = index + ii + 1;
|
|
10433
|
-
s += 3;
|
|
10434
|
-
}
|
|
10435
|
-
index += clipOutputCount + 1;
|
|
10436
|
-
} else {
|
|
10437
|
-
let clippedVerticesItems = Utils.setArraySize(clippedVertices, s + 3 * vertexSize);
|
|
10438
|
-
clippedVerticesItems[s] = x1;
|
|
10439
|
-
clippedVerticesItems[s + 1] = y1;
|
|
10383
|
+
for (let i = 0; i < trianglesLength; i += 3) {
|
|
10384
|
+
let vertexOffset = triangles[i] << 1;
|
|
10385
|
+
let x1 = vertices[vertexOffset], y1 = vertices[vertexOffset + 1];
|
|
10386
|
+
let u1 = uvs[vertexOffset], v1 = uvs[vertexOffset + 1];
|
|
10387
|
+
vertexOffset = triangles[i + 1] << 1;
|
|
10388
|
+
let x2 = vertices[vertexOffset], y2 = vertices[vertexOffset + 1];
|
|
10389
|
+
let u2 = uvs[vertexOffset], v2 = uvs[vertexOffset + 1];
|
|
10390
|
+
vertexOffset = triangles[i + 2] << 1;
|
|
10391
|
+
let x3 = vertices[vertexOffset], y3 = vertices[vertexOffset + 1];
|
|
10392
|
+
let u3 = uvs[vertexOffset], v3 = uvs[vertexOffset + 1];
|
|
10393
|
+
for (let p = 0; p < polygonsCount; p++) {
|
|
10394
|
+
let s = clippedVertices.length;
|
|
10395
|
+
if (this.clip(x1, y1, x2, y2, x3, y3, polygons[p], clipOutput)) {
|
|
10396
|
+
let clipOutputLength = clipOutput.length;
|
|
10397
|
+
if (clipOutputLength == 0)
|
|
10398
|
+
continue;
|
|
10399
|
+
let d0 = y2 - y3, d1 = x3 - x2, d2 = x1 - x3, d4 = y3 - y1;
|
|
10400
|
+
let d = 1 / (d0 * d2 + d1 * (y1 - y3));
|
|
10401
|
+
let clipOutputCount = clipOutputLength >> 1;
|
|
10402
|
+
let clipOutputItems = this.clipOutput;
|
|
10403
|
+
let clippedVerticesItems = Utils.setArraySize(clippedVertices, s + clipOutputCount * vertexSize);
|
|
10404
|
+
for (let ii = 0; ii < clipOutputLength; ii += 2, s += vertexSize) {
|
|
10405
|
+
let x = clipOutputItems[ii], y = clipOutputItems[ii + 1];
|
|
10406
|
+
clippedVerticesItems[s] = x;
|
|
10407
|
+
clippedVerticesItems[s + 1] = y;
|
|
10440
10408
|
clippedVerticesItems[s + 2] = light.r;
|
|
10441
10409
|
clippedVerticesItems[s + 3] = light.g;
|
|
10442
10410
|
clippedVerticesItems[s + 4] = light.b;
|
|
10443
10411
|
clippedVerticesItems[s + 5] = light.a;
|
|
10444
|
-
|
|
10445
|
-
|
|
10446
|
-
|
|
10447
|
-
|
|
10448
|
-
|
|
10449
|
-
|
|
10450
|
-
|
|
10451
|
-
clippedVerticesItems[s + 12] = light.b;
|
|
10452
|
-
clippedVerticesItems[s + 13] = light.a;
|
|
10453
|
-
clippedVerticesItems[s + 14] = u2;
|
|
10454
|
-
clippedVerticesItems[s + 15] = v2;
|
|
10455
|
-
clippedVerticesItems[s + 16] = x3;
|
|
10456
|
-
clippedVerticesItems[s + 17] = y3;
|
|
10457
|
-
clippedVerticesItems[s + 18] = light.r;
|
|
10458
|
-
clippedVerticesItems[s + 19] = light.g;
|
|
10459
|
-
clippedVerticesItems[s + 20] = light.b;
|
|
10460
|
-
clippedVerticesItems[s + 21] = light.a;
|
|
10461
|
-
clippedVerticesItems[s + 22] = u3;
|
|
10462
|
-
clippedVerticesItems[s + 23] = v3;
|
|
10463
|
-
} else {
|
|
10464
|
-
clippedVerticesItems[s + 6] = u1;
|
|
10465
|
-
clippedVerticesItems[s + 7] = v1;
|
|
10412
|
+
let c0 = x - x3, c1 = y - y3;
|
|
10413
|
+
let a = (d0 * c0 + d1 * c1) * d;
|
|
10414
|
+
let b = (d4 * c0 + d2 * c1) * d;
|
|
10415
|
+
let c = 1 - a - b;
|
|
10416
|
+
clippedVerticesItems[s + 6] = u1 * a + u2 * b + u3 * c;
|
|
10417
|
+
clippedVerticesItems[s + 7] = v1 * a + v2 * b + v3 * c;
|
|
10418
|
+
if (twoColor) {
|
|
10466
10419
|
clippedVerticesItems[s + 8] = dark.r;
|
|
10467
10420
|
clippedVerticesItems[s + 9] = dark.g;
|
|
10468
10421
|
clippedVerticesItems[s + 10] = dark.b;
|
|
10469
10422
|
clippedVerticesItems[s + 11] = dark.a;
|
|
10470
|
-
clippedVerticesItems[s + 12] = x2;
|
|
10471
|
-
clippedVerticesItems[s + 13] = y2;
|
|
10472
|
-
clippedVerticesItems[s + 14] = light.r;
|
|
10473
|
-
clippedVerticesItems[s + 15] = light.g;
|
|
10474
|
-
clippedVerticesItems[s + 16] = light.b;
|
|
10475
|
-
clippedVerticesItems[s + 17] = light.a;
|
|
10476
|
-
clippedVerticesItems[s + 18] = u2;
|
|
10477
|
-
clippedVerticesItems[s + 19] = v2;
|
|
10478
|
-
clippedVerticesItems[s + 20] = dark.r;
|
|
10479
|
-
clippedVerticesItems[s + 21] = dark.g;
|
|
10480
|
-
clippedVerticesItems[s + 22] = dark.b;
|
|
10481
|
-
clippedVerticesItems[s + 23] = dark.a;
|
|
10482
|
-
clippedVerticesItems[s + 24] = x3;
|
|
10483
|
-
clippedVerticesItems[s + 25] = y3;
|
|
10484
|
-
clippedVerticesItems[s + 26] = light.r;
|
|
10485
|
-
clippedVerticesItems[s + 27] = light.g;
|
|
10486
|
-
clippedVerticesItems[s + 28] = light.b;
|
|
10487
|
-
clippedVerticesItems[s + 29] = light.a;
|
|
10488
|
-
clippedVerticesItems[s + 30] = u3;
|
|
10489
|
-
clippedVerticesItems[s + 31] = v3;
|
|
10490
|
-
clippedVerticesItems[s + 32] = dark.r;
|
|
10491
|
-
clippedVerticesItems[s + 33] = dark.g;
|
|
10492
|
-
clippedVerticesItems[s + 34] = dark.b;
|
|
10493
|
-
clippedVerticesItems[s + 35] = dark.a;
|
|
10494
10423
|
}
|
|
10495
|
-
|
|
10496
|
-
|
|
10424
|
+
}
|
|
10425
|
+
s = clippedTriangles.length;
|
|
10426
|
+
let clippedTrianglesItems = Utils.setArraySize(clippedTriangles, s + 3 * (clipOutputCount - 2));
|
|
10427
|
+
clipOutputCount--;
|
|
10428
|
+
for (let ii = 1; ii < clipOutputCount; ii++, s += 3) {
|
|
10497
10429
|
clippedTrianglesItems[s] = index;
|
|
10498
|
-
clippedTrianglesItems[s + 1] = index +
|
|
10499
|
-
clippedTrianglesItems[s + 2] = index +
|
|
10500
|
-
index += 3;
|
|
10501
|
-
continue outer;
|
|
10430
|
+
clippedTrianglesItems[s + 1] = index + ii;
|
|
10431
|
+
clippedTrianglesItems[s + 2] = index + ii + 1;
|
|
10502
10432
|
}
|
|
10433
|
+
index += clipOutputCount + 1;
|
|
10434
|
+
} else {
|
|
10435
|
+
let clippedVerticesItems = Utils.setArraySize(clippedVertices, s + 3 * vertexSize);
|
|
10436
|
+
clippedVerticesItems[s] = x1;
|
|
10437
|
+
clippedVerticesItems[s + 1] = y1;
|
|
10438
|
+
clippedVerticesItems[s + 2] = light.r;
|
|
10439
|
+
clippedVerticesItems[s + 3] = light.g;
|
|
10440
|
+
clippedVerticesItems[s + 4] = light.b;
|
|
10441
|
+
clippedVerticesItems[s + 5] = light.a;
|
|
10442
|
+
if (!twoColor) {
|
|
10443
|
+
clippedVerticesItems[s + 6] = u1;
|
|
10444
|
+
clippedVerticesItems[s + 7] = v1;
|
|
10445
|
+
clippedVerticesItems[s + 8] = x2;
|
|
10446
|
+
clippedVerticesItems[s + 9] = y2;
|
|
10447
|
+
clippedVerticesItems[s + 10] = light.r;
|
|
10448
|
+
clippedVerticesItems[s + 11] = light.g;
|
|
10449
|
+
clippedVerticesItems[s + 12] = light.b;
|
|
10450
|
+
clippedVerticesItems[s + 13] = light.a;
|
|
10451
|
+
clippedVerticesItems[s + 14] = u2;
|
|
10452
|
+
clippedVerticesItems[s + 15] = v2;
|
|
10453
|
+
clippedVerticesItems[s + 16] = x3;
|
|
10454
|
+
clippedVerticesItems[s + 17] = y3;
|
|
10455
|
+
clippedVerticesItems[s + 18] = light.r;
|
|
10456
|
+
clippedVerticesItems[s + 19] = light.g;
|
|
10457
|
+
clippedVerticesItems[s + 20] = light.b;
|
|
10458
|
+
clippedVerticesItems[s + 21] = light.a;
|
|
10459
|
+
clippedVerticesItems[s + 22] = u3;
|
|
10460
|
+
clippedVerticesItems[s + 23] = v3;
|
|
10461
|
+
} else {
|
|
10462
|
+
clippedVerticesItems[s + 6] = u1;
|
|
10463
|
+
clippedVerticesItems[s + 7] = v1;
|
|
10464
|
+
clippedVerticesItems[s + 8] = dark.r;
|
|
10465
|
+
clippedVerticesItems[s + 9] = dark.g;
|
|
10466
|
+
clippedVerticesItems[s + 10] = dark.b;
|
|
10467
|
+
clippedVerticesItems[s + 11] = dark.a;
|
|
10468
|
+
clippedVerticesItems[s + 12] = x2;
|
|
10469
|
+
clippedVerticesItems[s + 13] = y2;
|
|
10470
|
+
clippedVerticesItems[s + 14] = light.r;
|
|
10471
|
+
clippedVerticesItems[s + 15] = light.g;
|
|
10472
|
+
clippedVerticesItems[s + 16] = light.b;
|
|
10473
|
+
clippedVerticesItems[s + 17] = light.a;
|
|
10474
|
+
clippedVerticesItems[s + 18] = u2;
|
|
10475
|
+
clippedVerticesItems[s + 19] = v2;
|
|
10476
|
+
clippedVerticesItems[s + 20] = dark.r;
|
|
10477
|
+
clippedVerticesItems[s + 21] = dark.g;
|
|
10478
|
+
clippedVerticesItems[s + 22] = dark.b;
|
|
10479
|
+
clippedVerticesItems[s + 23] = dark.a;
|
|
10480
|
+
clippedVerticesItems[s + 24] = x3;
|
|
10481
|
+
clippedVerticesItems[s + 25] = y3;
|
|
10482
|
+
clippedVerticesItems[s + 26] = light.r;
|
|
10483
|
+
clippedVerticesItems[s + 27] = light.g;
|
|
10484
|
+
clippedVerticesItems[s + 28] = light.b;
|
|
10485
|
+
clippedVerticesItems[s + 29] = light.a;
|
|
10486
|
+
clippedVerticesItems[s + 30] = u3;
|
|
10487
|
+
clippedVerticesItems[s + 31] = v3;
|
|
10488
|
+
clippedVerticesItems[s + 32] = dark.r;
|
|
10489
|
+
clippedVerticesItems[s + 33] = dark.g;
|
|
10490
|
+
clippedVerticesItems[s + 34] = dark.b;
|
|
10491
|
+
clippedVerticesItems[s + 35] = dark.a;
|
|
10492
|
+
}
|
|
10493
|
+
s = clippedTriangles.length;
|
|
10494
|
+
let clippedTrianglesItems = Utils.setArraySize(clippedTriangles, s + 3);
|
|
10495
|
+
clippedTrianglesItems[s] = index;
|
|
10496
|
+
clippedTrianglesItems[s + 1] = index + 1;
|
|
10497
|
+
clippedTrianglesItems[s + 2] = index + 2;
|
|
10498
|
+
index += 3;
|
|
10499
|
+
break;
|
|
10503
10500
|
}
|
|
10504
10501
|
}
|
|
10502
|
+
}
|
|
10505
10503
|
}
|
|
10506
10504
|
/** Clips the input triangle against the convex, clockwise clipping area. If the triangle lies entirely within the clipping
|
|
10507
10505
|
* area, false is returned. The clipping area must duplicate the first vertex at the end of the vertices list. */
|
|
@@ -10524,47 +10522,46 @@ var spine = (() => {
|
|
|
10524
10522
|
input.push(x1);
|
|
10525
10523
|
input.push(y1);
|
|
10526
10524
|
output.length = 0;
|
|
10527
|
-
let clippingVertices = clippingArea;
|
|
10528
10525
|
let clippingVerticesLast = clippingArea.length - 4;
|
|
10526
|
+
let clippingVertices = clippingArea;
|
|
10529
10527
|
for (let i = 0; ; i += 2) {
|
|
10530
10528
|
let edgeX = clippingVertices[i], edgeY = clippingVertices[i + 1];
|
|
10531
|
-
let
|
|
10532
|
-
let
|
|
10529
|
+
let ex = edgeX - clippingVertices[i + 2], ey = edgeY - clippingVertices[i + 3];
|
|
10530
|
+
let outputStart = output.length;
|
|
10533
10531
|
let inputVertices = input;
|
|
10534
|
-
let
|
|
10535
|
-
for (let ii = 0; ii < inputVerticesLength; ii += 2) {
|
|
10532
|
+
for (let ii = 0, nn = input.length - 2; ii < nn; ) {
|
|
10536
10533
|
let inputX = inputVertices[ii], inputY = inputVertices[ii + 1];
|
|
10537
|
-
|
|
10538
|
-
let
|
|
10539
|
-
|
|
10540
|
-
|
|
10534
|
+
ii += 2;
|
|
10535
|
+
let inputX2 = inputVertices[ii], inputY2 = inputVertices[ii + 1];
|
|
10536
|
+
let s2 = ey * (edgeX - inputX2) > ex * (edgeY - inputY2);
|
|
10537
|
+
let s1 = ey * (edgeX - inputX) - ex * (edgeY - inputY);
|
|
10538
|
+
if (s1 > 0) {
|
|
10539
|
+
if (s2) {
|
|
10541
10540
|
output.push(inputX2);
|
|
10542
10541
|
output.push(inputY2);
|
|
10543
10542
|
continue;
|
|
10544
10543
|
}
|
|
10545
|
-
let
|
|
10546
|
-
|
|
10547
|
-
|
|
10548
|
-
|
|
10549
|
-
output.push(edgeX + (edgeX2 - edgeX) * ua);
|
|
10550
|
-
output.push(edgeY + (edgeY2 - edgeY) * ua);
|
|
10544
|
+
let ix = inputX2 - inputX, iy = inputY2 - inputY, t = s1 / (ix * ey - iy * ex);
|
|
10545
|
+
if (t >= 0 && t <= 1) {
|
|
10546
|
+
output.push(inputX + ix * t);
|
|
10547
|
+
output.push(inputY + iy * t);
|
|
10551
10548
|
} else {
|
|
10552
|
-
output.push(
|
|
10553
|
-
output.push(
|
|
10549
|
+
output.push(inputX2);
|
|
10550
|
+
output.push(inputY2);
|
|
10551
|
+
continue;
|
|
10554
10552
|
}
|
|
10555
|
-
} else if (
|
|
10556
|
-
let
|
|
10557
|
-
|
|
10558
|
-
|
|
10559
|
-
|
|
10560
|
-
output.push(
|
|
10561
|
-
output.push(
|
|
10553
|
+
} else if (s2) {
|
|
10554
|
+
let ix = inputX2 - inputX, iy = inputY2 - inputY, t = s1 / (ix * ey - iy * ex);
|
|
10555
|
+
if (t >= 0 && t <= 1) {
|
|
10556
|
+
output.push(inputX + ix * t);
|
|
10557
|
+
output.push(inputY + iy * t);
|
|
10558
|
+
output.push(inputX2);
|
|
10559
|
+
output.push(inputY2);
|
|
10562
10560
|
} else {
|
|
10563
|
-
output.push(
|
|
10564
|
-
output.push(
|
|
10561
|
+
output.push(inputX2);
|
|
10562
|
+
output.push(inputY2);
|
|
10563
|
+
continue;
|
|
10565
10564
|
}
|
|
10566
|
-
output.push(inputX2);
|
|
10567
|
-
output.push(inputY2);
|
|
10568
10565
|
}
|
|
10569
10566
|
clipped = true;
|
|
10570
10567
|
}
|