public static WOGraph LoadGraph(string filePath) { WOGraph graph; using (System.IO.StreamReader input = new System.IO.StreamReader(filePath)) { int verticesNumber = Convert.ToInt32(input.ReadLine()); graph = new WOGraph(0); for (int i = 0; i < verticesNumber; i++) { string buffer = input.ReadLine(); string[] bufferArray = new string[3]; bufferArray = buffer.Split(' '); WOGraphVertice vertice = new WOGraphVertice(bufferArray[0], Convert.ToInt32(bufferArray[1]), Convert.ToInt32(bufferArray[2])); graph.AddVertice(vertice); } for (int i = 0; i < verticesNumber; i++) { string buffer = input.ReadLine(); string[] bufferArray = new string[verticesNumber]; bufferArray = buffer.Split(' '); for (int j = 0; j < verticesNumber; j++) { graph.SetWeightAt(i, j, Convert.ToDouble(bufferArray[j])); } } input.Close(); } return(graph); }
private void pictureBoxCanvas_MouseClick(object sender, MouseEventArgs e) { for (int i = 0; graph != null && i < graph.VerticesNumber; i++) { WOGraphVertice vertice = graph.GetVerticeAt(i); if ((e.X < vertice.Coordinates.X + 5 && e.X > vertice.Coordinates.X - 5) && (e.Y < vertice.Coordinates.Y + 5 && e.Y > vertice.Coordinates.Y - 5)) { dragVertice = true; verticeToDrag = i; break; } } if (dragVertice != true) { Painter.DrawPoint(new Point(e.X, e.Y), pictureBoxCanvas); if (graph == null) { graph = new WOGraph(0); } graph.AddVertice(e.X, e.Y); textBoxVerticesNumber.Text = graph.VerticesNumber.ToString(); } else { if (e.Button == MouseButtons.Right) { dragVertice = false; } } }