From a50ee49781f8c81a39331376990c3f1cd08440af Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Fri, 21 Apr 2017 14:52:02 +0900 Subject: [PATCH] Renamed ConvexDecomposer to Triangulator. --- .../spine/utils/SkeletonClipping.java | 4 ++-- .../{ConvexDecomposer.java => Triangulator.java} | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) rename spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/{ConvexDecomposer.java => Triangulator.java} (96%) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java index fe42cc8cb..373d653d1 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java @@ -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]); diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/ConvexDecomposer.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/Triangulator.java similarity index 96% rename from spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/ConvexDecomposer.java rename to spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/Triangulator.java index 949b1968a..3b97dee8c 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/ConvexDecomposer.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/Triangulator.java @@ -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 convexPolygons = new Array(); private final Array convexPolygonsIndices = new Array(); @@ -56,9 +56,9 @@ class ConvexDecomposer { } }; - public Array 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 decompose (FloatArray verticesArray, ShortArray triangles) { + float[] vertices = verticesArray.items; + Array convexPolygons = this.convexPolygons; polygonPool.freeAll(convexPolygons); convexPolygons.clear();