Example #1
0
        private void deleteVertex()
        {
            SoulsFormats.FLVER.Mesh m = Program.targetFlver.Meshes[targetVinfo.meshIndex];
            uint index = targetVinfo.vertexIndex;

            deleteMeshVertexFaceset(m, index);

            targetV.Positions[0] = new System.Numerics.Vector3(0, 0, 0);

            Program.updateVertices();
        }
Example #2
0
 private void deleteMeshVertexFaceset(SoulsFormats.FLVER.Mesh m, uint index)
 {
     foreach (var fs in m.FaceSets)
     {
         for (uint i = 0; i + 2 < fs.Vertices.Length; i += 3)
         {
             if (fs.Vertices[i] == index || fs.Vertices[i + 1] == index || fs.Vertices[i + 2] == index)
             {
                 fs.Vertices[i]     = index;
                 fs.Vertices[i + 1] = index;
                 fs.Vertices[i + 2] = index;
             }
         }
     }
 }
Example #3
0
        private void deleteVertexAbove()
        {
            SoulsFormats.FLVER.Mesh m = Program.targetFlver.Meshes[targetVinfo.meshIndex];
            uint  index  = targetVinfo.vertexIndex;
            float yValue = targetV.Positions[0].Y;

            for (int i = 0; i < m.Vertices.Count; i++)
            {
                if (m.Vertices[i].Positions[0].Y > yValue)
                {
                    deleteMeshVertexFaceset(m, (uint)i);
                    m.Vertices[i].Positions[0] = new System.Numerics.Vector3(0, 0, 0);
                }
            }

            Program.updateVertices();
        }