示例#1
0
 public void setEdge(Node edge)
 {
     bool exist = false;
     int i = 0;
     //On vérifie qu'il n'y a pas déjà un arc existant entre le sommet d'origine et d'extrêmité.
     while (!exist && i < edge.getIngressArc().Count())
     {
         if (this.origin == edge.getIngressArc().ElementAt(i).getOrigin())
             exist = true;
         i++;
     }
     if (!exist)
         this.edge = edge;
        else
         Console.WriteLine("This arc already exist");
 }
示例#2
0
        public void deleteNode(Node node)
        {
            Console.WriteLine("Suppresion du noeud: " + node.getName());

            //Suppression des arcs liés au sommet supprimé
            List<Arc> arcToDelete = new List<Arc>(); //Liste des arcs qui seront supprimés.

            foreach(Arc val in node.getIngressArc())
                arcToDelete.Add(val);
            foreach (Arc val in node.getEgressArc())
                arcToDelete.Add(val);
            foreach (Arc val in arcToDelete)
                deleteArc(val);

            _nodes.Remove(node);
            //updateMatrix();
            costMatrix.removeNode(node.getIndex());
            refreshIndex();
        }