mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-11 09:38:44 +08:00
Renamed ConvexDecomposer to Triangulator.
This commit is contained in:
parent
6454d76700
commit
a50ee49781
@ -37,7 +37,7 @@ import com.esotericsoftware.spine.Slot;
|
||||
import com.esotericsoftware.spine.attachments.ClippingAttachment;
|
||||
|
||||
public class SkeletonClipping {
|
||||
private final ConvexDecomposer decomposer = new ConvexDecomposer();
|
||||
private final Triangulator triangulator = new Triangulator();
|
||||
private final FloatArray clippingPolygon = new FloatArray();
|
||||
private final FloatArray clipOutput = new FloatArray(128);
|
||||
private final FloatArray clippedVertices = new FloatArray(128);
|
||||
@ -55,7 +55,7 @@ public class SkeletonClipping {
|
||||
float[] vertices = clippingPolygon.setSize(n);
|
||||
clip.computeWorldVertices(slot, 0, n, vertices, 0, 2);
|
||||
makeClockwise(clippingPolygon);
|
||||
clippingPolygons = decomposer.decompose(clippingPolygon);
|
||||
clippingPolygons = triangulator.decompose(clippingPolygon, triangulator.triangulate(clippingPolygon));
|
||||
for (FloatArray polygon : clippingPolygons) {
|
||||
makeClockwise(polygon);
|
||||
polygon.add(polygon.items[0]);
|
||||
|
||||
@ -36,7 +36,7 @@ import com.badlogic.gdx.utils.FloatArray;
|
||||
import com.badlogic.gdx.utils.Pool;
|
||||
import com.badlogic.gdx.utils.ShortArray;
|
||||
|
||||
class ConvexDecomposer {
|
||||
class Triangulator {
|
||||
private final Array<FloatArray> convexPolygons = new Array();
|
||||
private final Array<ShortArray> convexPolygonsIndices = new Array();
|
||||
|
||||
@ -56,9 +56,9 @@ class ConvexDecomposer {
|
||||
}
|
||||
};
|
||||
|
||||
public Array<FloatArray> decompose (FloatArray input) {
|
||||
float[] vertices = input.items;
|
||||
int vertexCount = input.size >> 1;
|
||||
public ShortArray triangulate (FloatArray verticesArray) {
|
||||
float[] vertices = verticesArray.items;
|
||||
int vertexCount = verticesArray.size >> 1;
|
||||
|
||||
ShortArray indicesArray = this.indicesArray;
|
||||
indicesArray.clear();
|
||||
@ -131,6 +131,12 @@ class ConvexDecomposer {
|
||||
triangles.add(indices[1]);
|
||||
}
|
||||
|
||||
return triangles;
|
||||
}
|
||||
|
||||
public Array<FloatArray> decompose (FloatArray verticesArray, ShortArray triangles) {
|
||||
float[] vertices = verticesArray.items;
|
||||
|
||||
Array<FloatArray> convexPolygons = this.convexPolygons;
|
||||
polygonPool.freeAll(convexPolygons);
|
||||
convexPolygons.clear();
|
||||
Loading…
x
Reference in New Issue
Block a user