Example #1
0
    //this face is one of the srrounding faces attahed to vold
    public void ReplaceVertex(Vertex vold, Vertex vnew)
    {
        for (int i = 0; i < 3; i++)
        {
            if (vertex[i].position == vold.position)
            {
                vertex[i] = vnew;
                vold.RemoveFace(this);

                if (vnew != null)
                {
                    vnew.AddFace(this);
                }
                break;
            }
        }

        //remove reff of vold from Neighborhood
        vold.RemoveIfNonNeighbor(vertex[0]);
        vertex[0].RemoveIfNonNeighbor(vold);
        vold.RemoveIfNonNeighbor(vertex[1]);
        vertex[1].RemoveIfNonNeighbor(vold);
        vold.RemoveIfNonNeighbor(vertex[2]);
        vertex[2].RemoveIfNonNeighbor(vold);


        vertex[0].AddNeighbor(vertex[1]);
        vertex[0].AddNeighbor(vertex[2]);

        vertex[1].AddNeighbor(vertex[0]);
        vertex[1].AddNeighbor(vertex[2]);

        vertex[2].AddNeighbor(vertex[0]);
        vertex[2].AddNeighbor(vertex[1]);
        ComputeNormal();
    }
Example #2
0
    public void ReplaceVertex(Vertex vold, Vertex vnew)
    {
        if (vold == Vertexes[0])
        {
            Vertexes[0] = vnew;
        }
        else if (vold == Vertexes[1])
        {
            Vertexes[1] = vnew;
        }
        else
        {
            Vertexes[2] = vnew;
        }
        int i;

        vold.Faces.Remove(this);

        vnew.Faces.Add(this);


        for (i = 0; i < 3; i++)
        {
            vold.RemoveIfNonNeighbor(Vertexes[i]);
            Vertexes[i].RemoveIfNonNeighbor(vold);
        }
        for (i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                if (i != j)
                {
                    Vertex tempVertexJ = Vertexes[j];

                    if (!Vertexes[i].Neighbours.Contains(tempVertexJ))
                    {
                        Vertexes[i].Neighbours.Add(tempVertexJ);
                    }
                }
            }
        }
        ComputeNormal();
    }
Example #3
0
    //this face is one of the srrounding faces attahed to vold
    public void ReplaceVertex(Vertex vold,Vertex vnew)
    {
        for(int i = 0; i < 3; i++)
        {

            if(vertex[i].position == vold.position  )
            {
                vertex[i]  = vnew;
                vold.RemoveFace( this );

                if(vnew!=null)
                vnew.AddFace( this );
                break;
            }
        }

        //remove reff of vold from Neighborhood
                vold.RemoveIfNonNeighbor( vertex[0] );
                vertex[0].RemoveIfNonNeighbor( vold );
           				vold.RemoveIfNonNeighbor( vertex[1] );
           				vertex[1].RemoveIfNonNeighbor( vold );
                vold.RemoveIfNonNeighbor( 	vertex[2] );
                vertex[2].RemoveIfNonNeighbor( vold );

                vertex[0]. AddNeighbor(vertex[1]);
                vertex[0]. AddNeighbor(vertex[2]);

                vertex[1]. AddNeighbor(vertex[0]);
                vertex[1]. AddNeighbor(vertex[2]);

                vertex[2]. AddNeighbor(vertex[0]);
                vertex[2]. AddNeighbor(vertex[1]);
                ComputeNormal();
    }