示例#1
0
 public void Dispose(ProgMesh pm)
 {
     Debug.Assert(Face.Count == 0, "[ProgMeshVertex.destroy] face.size() == 0");
     while (Neighbor.Count > 0)
     {
         ProgMeshUtil.RemoveFillWithBack(Neighbor[0].Neighbor, this);
         ProgMeshUtil.RemoveFillWithBack(Neighbor, Neighbor[0]);
     }
     ProgMeshUtil.RemoveFillWithBack(pm.Vertices, this);
 }
        public void Dispose(ProgMesh pm)
        {
            ProgMeshUtil.RemoveFillWithBack(pm.Triangles, this);
            for (var i = 0; i < 3; i++)
            {
                if (_vertex[i] != null)
                {
                    ProgMeshUtil.RemoveFillWithBack(_vertex[i].Face, this);
                }
            }

            for (var i = 0; i < 3; i++)
            {
                var i2 = (i + 1) % 3;
                if (_vertex[i] != null && _vertex[i2] != null)
                {
                    _vertex[i].RemoveIfNonNeighbor(_vertex[i2]);
                    _vertex[i2].RemoveIfNonNeighbor(_vertex[i]);
                }
            }
        }