private void importerReseauEmme2ToolStripMenuItem_Click(object sender, EventArgs e) { projet.reseaux.Add(new network()); int num_res; string i; int ii; bool ci = false; float timau = 0, xi, yi; string chaine, carte = ""; string[] ch; //System.IO.StreamWriter resultat = new System.IO.StreamWriter("c:\\temp\\result.txt"); //network reseau = new network(); //network reseau = new network(); projet.reseau_actif = projet.reseaux.Count - 1; num_res = projet.reseaux.Count - 1; openFileDialog1.ShowDialog(); string nom_reseau = openFileDialog1.FileName; if (System.IO.File.Exists(nom_reseau)) { System.IO.StreamReader fichier_reseau = new System.IO.StreamReader(nom_reseau); projet.reseaux[num_res].matrices.Add(new matrix()); do { projet.reseaux[num_res].nom = System.IO.Path.GetFileNameWithoutExtension(nom_reseau); chaine = fichier_reseau.ReadLine(); if (chaine == null) { goto lecture; } if (chaine == "" || chaine.Substring(0, 1) == " ") { goto lecture; } if (chaine.Substring(0, 1) == "c") { goto lecture; } string[] param ={ " " }; if (chaine.Substring(0, 7) == "t nodes" || chaine.Substring(0, 7) == "t links") { carte = chaine.Substring(0, 7); goto lecture; } //inserer noeuds// if (carte == "t nodes") { ch = chaine.Split(param, System.StringSplitOptions.RemoveEmptyEntries); i = ch[1]; xi = System.Convert.ToSingle(ch[2]); yi = System.Convert.ToSingle(ch[3]); //emcombrement du reseau if (xi > projet.reseaux[num_res].xu) { projet.reseaux[num_res].xu = xi; } if (xi < projet.reseaux[num_res].xl) { projet.reseaux[num_res].xl = xi; } if (yi > projet.reseaux[num_res].yu) { projet.reseaux[num_res].yu = yi; } if (yi < projet.reseaux[num_res].yl) { projet.reseaux[num_res].yl = yi; } if (ch[0] == "a*") { ci = true; } else { ci = false; } node ni = new node(); node nul = new node(); int value; ni.i = i; ni.x = xi; ni.y = yi; ni.ci = ci; ni.is_visible = true; if (projet.reseaux[num_res].numnoeud.TryGetValue(i, out value) == false) { projet.reseaux[num_res].numnoeud.Add(i, projet.reseaux[projet.reseau_actif].nodes.Count); projet.reseaux[num_res].nodes.Add(ni); } } //inserer liens else if (carte == "t links") { ch = chaine.Split(param, System.StringSplitOptions.RemoveEmptyEntries); link lien = new link(); lien.no = projet.reseaux[num_res].numnoeud[ch[1]]; lien.nd = projet.reseaux[num_res].numnoeud[ch[2]]; lien.longueur = System.Convert.ToSingle(ch[3]); ; lien.modes = ch[4].ToString(); lien.type = ch[5].ToString(); ; lien.lanes = System.Convert.ToSingle(ch[6]); ; lien.vdf = (int)System.Convert.ToSingle(ch[7]); ; lien.temps = timau; switch (lien.vdf) { case 1: lien.v0 = 130f; lien.a = 1.03f; lien.b = 0.94f; lien.n = 8f; break; case 2: lien.v0 = 110f; lien.a = 1.03f; lien.b = 0.94f; lien.n = 8f; break; case 4: lien.v0 = 120f; lien.a = 1.03f; lien.b = 0.94f; lien.n = 8f; break; case 3: lien.v0 = 90f; lien.a = 1.03f; lien.b = 0.94f; lien.n = 8f; break; case 24: lien.v0 = 90f; lien.a = 1.1f; lien.b = 0.5f; lien.n = 8f; break; case 5: lien.v0 = 90f; lien.a = 1.08f; lien.b = 0.64f; lien.n = 8f; break; case 16: lien.v0 = 80f; lien.a = 1.21f; lien.b = 0.56f; lien.n = 8f; break; case 6: lien.v0 = 70f; lien.a = 1.08f; lien.b = 0.64f; lien.n = 8f; break; case 9: lien.v0 = 70f; lien.a = 1.03f; lien.b = 0.94f; lien.n = 8f; break; case 18: lien.v0 = 70f; lien.a = 1.08f; lien.b = 0.64f; lien.n = 8f; break; case 19: lien.a = 60f; lien.b = 1.08f; lien.n = 0.64f; break; case 14: lien.v0 = 60f; lien.a = 1.08f; lien.b = 0.64f; lien.n = 8f; break; case 13: lien.v0 = 60f; lien.a = 1.08f; lien.b = 0.64f; lien.n = 8f; break; case 10: lien.v0 = 50f; lien.a = 1.08f; lien.b = 0.64f; lien.n = 8f; break; case 12: lien.v0 = 50f; lien.a = 1.08f; lien.b = 0.64f; lien.n = 8f; break; case 32: lien.v0 = 50f; lien.a = 1.21f; lien.b = 0.56f; lien.n = 8f; break; case 7: lien.v0 = 40f; lien.a = 1.21f; lien.b = 0.56f; lien.n = 8f; break; case 28: lien.v0 = 40f; lien.a = 1.1f; lien.b = 0.5f; lien.n = 8f; break; case 31: lien.v0 = 30f; lien.a = 1.21f; lien.b = 0.56f; lien.n = 8f; break; default: lien.v0 = 1f; lien.a = 0f; lien.b = 0f; lien.n = 0f; break; } lien.touche = 0; lien.cout = -1; projet.reseaux[num_res].links.Add(lien); // MessageBox.Show(lien.no.ToString()+" "+lien.nd.ToString()); } lecture: ; } while (fichier_reseau.EndOfStream == false); fichier_reseau.Close(); //construction du graphe // table des prédécesseurs et successeurs de noeuds for (ii = 0; ii < projet.reseaux[projet.reseau_actif].links.Count; ii++) { turn virage = new turn(); virage.numero = ii; virage.temps = 0; //virage.cout = 0; //virage.distance=0; projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[ii].nd].pred.Add(virage.numero); projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[ii].no].succ.Add(virage.numero); // Console.SetCursorPosition(1, Console.CursorTop-1); } // table des prédécesseurs et successeurs de tronçons // Console.WriteLine("création de la topologie des noeuds terminée"); /* for (ii = 0; ii < projet.reseaux[projet.reseau_actif].links.Count; ii++) { for (j = 0; j < projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[ii].no].pred.Count; j++) { turn virage = new turn(); projet.reseaux[projet.reseau_actif].links[ii].arci.Add(virage); projet.reseaux[projet.reseau_actif].links[ii].arci[j].numero = projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[ii].no].pred[j]; } for (j = 0; j < projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[ii].nd].succ.Count; j++) { turn virage = new turn(); projet.reseaux[projet.reseau_actif].links[ii].arcj.Add(virage); projet.reseaux[projet.reseau_actif].links[ii].arcj[j].numero = projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[ii].nd].succ[j]; } }*/ } }
private void importerReseauAccessibiliteToolStripMenuItem_Click(object sender, EventArgs e) { int i; //j; string[] param ={ " " }; projet.reseaux.Add(new network()); int num_res; string chaine; string[] ch; projet.reseau_actif = projet.reseaux.Count - 1; num_res = projet.reseaux.Count - 1; openFileDialog1.ShowDialog(); string nom_reseau = openFileDialog1.FileName; if (System.IO.File.Exists(nom_reseau)) { System.IO.StreamReader fichier_reseau = new System.IO.StreamReader(nom_reseau); projet.reseaux[num_res].matrices.Add(new matrix()); projet.reseaux[projet.reseau_actif].nom = System.IO.Path.GetFileNameWithoutExtension(nom_reseau); while (fichier_reseau.EndOfStream == false) { chaine = fichier_reseau.ReadLine(); ch = chaine.Split(param, System.StringSplitOptions.RemoveEmptyEntries); { node nul = new node(); node nodei = new node(); node nodej = new node(); string ni = ch[0]; nodei.i = ni; int value; if (projet.reseaux[projet.reseau_actif].numnoeud.TryGetValue(ni, out value) == false) { projet.reseaux[projet.reseau_actif].numnoeud.Add(ni, projet.reseaux[projet.reseau_actif].nodes.Count); projet.reseaux[projet.reseau_actif].nodes.Add(nodei); } string nj = ch[1]; nodej.i = nj; if (projet.reseaux[projet.reseau_actif].numnoeud.TryGetValue(nj, out value) == false) { projet.reseaux[projet.reseau_actif].numnoeud.Add(nj, projet.reseaux[projet.reseau_actif].nodes.Count); projet.reseaux[projet.reseau_actif].nodes.Add(nodej); } link lien = new link(); lien.no = projet.reseaux[projet.reseau_actif].numnoeud[ni]; lien.nd = projet.reseaux[projet.reseau_actif].numnoeud[nj]; lien.temps = Convert.ToSingle(ch[2]); lien.longueur = Convert.ToSingle(ch[3]); projet.reseaux[projet.reseau_actif].links.Add(lien); } } fichier_reseau.Close(); //construction du graphe // table des prédécesseurs et successeurs de noeuds for (i = 0; i < projet.reseaux[projet.reseau_actif].links.Count; i++) { turn virage = new turn(); virage.numero = i; virage.temps = 0; //virage.distance = 0; //virage.cout = 0; projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[i].nd].pred.Add(virage.numero); projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[i].no].succ.Add(virage.numero); // Console.SetCursorPosition(1, Console.CursorTop-1); } // table des prédécesseurs et successeurs de tronçons //Console.WriteLine("création de la topologie des noeuds terminée"); /* for (i = 0; i < projet.reseaux[projet.reseau_actif].links.Count; i++) { for (j = 0; j < projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[i].no].pred.Count; j++) { turn virage = new turn(); int predecesseur = projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[i].no].pred[j]; { virage.numero = predecesseur; projet.reseaux[projet.reseau_actif].links[i].arci.Add(virage); } } for (j = 0; j < projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[i].nd].succ.Count; j++) { turn virage = new turn(); int successeur = projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[i].nd].succ[j]; { virage.numero = successeur; projet.reseaux[projet.reseau_actif].links[i].arcj.Add(virage); } } avancement.textBox1.Text = i.ToString() + " " + projet.reseaux[projet.reseau_actif].nodes[projet.reseaux[projet.reseau_actif].links[i].nd].succ.Count.ToString(); avancement.progressBar1.Value = (100 * i / projet.reseaux[projet.reseau_actif].links.Count); avancement.Refresh(); }*/ } }