public void Triangulate(ITriangulator triangulator)
        {
            Debug.Assert(spriteMeshData != null);
            Debug.Assert(triangulator != null);

            m_VerticesTemp.Clear();

            for (int i = 0; i < spriteMeshData.vertexCount; ++i)
            {
                m_VerticesTemp.Add(spriteMeshData.GetPosition(i));
            }

            triangulator.Triangulate(m_VerticesTemp, spriteMeshData.edges, spriteMeshData.indices);
        }
Example #2
0
        void FillMeshDataContainers(ref List <Vector2> vertices, ref List <Edge> edges, out List <EditableBoneWeight> weightData, out bool hasWeightData)
        {
            edges.Clear();
            vertices.Clear();

            edges.AddRange(spriteMeshData.edges);

            weightData    = new List <EditableBoneWeight>(spriteMeshData.vertexCount);
            hasWeightData = false;
            for (var i = 0; i < spriteMeshData.vertexCount; ++i)
            {
                vertices.Add(spriteMeshData.GetPosition(i));
                var boneWeight = spriteMeshData.GetWeight(i);
                weightData.Add(boneWeight);
                if (boneWeight != default)
                {
                    hasWeightData = true;
                }
            }
        }
Example #3
0
 private void LayoutVertices()
 {
     for (int i = 0; i < m_SpriteMeshData.vertexCount; i++)
     {
         Vector2 position = m_SpriteMeshData.GetPosition(i);
         spriteMeshView.LayoutVertex(position, i);
     }
 }