private void BuildCurrentStateSystem(int i) { CanvasGraph.Children.Clear(); var ListConstantCoordinatesCountConnectClients = ConvertListForCanvas(ComboBoxSelectionChanged(item_param1, List_CountConnectClients[i], data_grid1), true); var ListConstantCoordinatesCountSameAdrress = ConvertListForCanvas(ComboBoxSelectionChanged(item_param2, List_CountSameAddress[i], data_grid2), false); var shapes = new Main_figures(CanvasGraph); var coordinate_axes = new Coordinate_axes(CanvasGraph); coordinate_axes.Main_coordinate_axes(); Graph_Build(ListConstantCoordinatesCountConnectClients, true); Graph_Build(ListConstantCoordinatesCountSameAdrress, false); var Сrossing = new Сrossing(); var list_pointCountConnectClients = Сrossing.IntersectionPoint(ListConstantCoordinatesCountConnectClients, IntervalForCountConnectClients, true); var list_pointCountSameAdrress = Сrossing.IntersectionPoint(ListConstantCoordinatesCountSameAdrress, IntervalForCountSameAdrress, false); var ListNameConnectClients = ListConstantCoordinatesCountConnectClients.Select(s => s.Name).ToList(); var ListNameSameAdrress = ListConstantCoordinatesCountSameAdrress.Select(s => s.Name).ToList(); var DrawAreaStateSystem = new DrawAreaConstantStateSystem(CanvasGraph, ListNameConnectClients, ListNameSameAdrress, list_pointCountConnectClients, list_pointCountSameAdrress); DrawAreaStateSystem.Rect_Area(); var DrawAreaCurrentStateSystem = new DrawAreaCurrentStateSystem(CanvasGraph, ListNameConnectClients, ListNameSameAdrress, list_pointCountConnectClients, list_pointCountSameAdrress); DrawAreaCurrentStateSystem.DrawLineArea(); danger_level.Text = DrawAreaCurrentStateSystem.DrawCurrentStateSystem(); }
public DrawAreaCurrentStateSystem(Canvas CanvasGraph, List <string> ListNameConnectClients, List <string> ListNameSameAdrress, List <NetworkParameter> list_point1, List <NetworkParameter> list_point2) { this.CanvasGraph = CanvasGraph; this.ListNameConnectClients = ListNameConnectClients; this.ListNameSameAdrress = ListNameSameAdrress; this.list_point1 = list_point1; this.list_point2 = list_point2; shapes = new Main_figures(CanvasGraph); GetIntersectionPoints(); }
public DrawAreaConstantStateSystem(Canvas CanvasGraph, List <string> ListNameConnectClients, List <string> ListNameSameAdrress, List <NetworkParameter> list_point_ConnectClients, List <NetworkParameter> list_point_SameAdrress) { this.CanvasGraph = CanvasGraph; this.ListNameConnectClients = ListNameConnectClients; this.ListNameSameAdrress = ListNameSameAdrress; PointsConstantCoordinatesCC = DrawAreaCurrentStateSystem.GetListIntersectionPoints(list_point_ConnectClients, "ConstantState"); PointsConstantCoordinatesSA = DrawAreaCurrentStateSystem.GetListIntersectionPoints(list_point_SameAdrress, "ConstantState"); height = 0.55 * CanvasGraph.Height; width = 0.5 * CanvasGraph.Width; shapes = new Main_figures(CanvasGraph); }
private void Graph_Build(List <NetworkParameter> list, bool flag) { var x_graph_map = 0.0; var y_graph_map = 0.0; var interval = 0.0; List <double> arr_leg; var shapes = new Main_figures(CanvasGraph); if (flag) { x_graph_map = 0.7 * CanvasGraph.Width / 2; y_graph_map = 20; } else { x_graph_map = 10; y_graph_map = 1.1 * CanvasGraph.Height / 2; } foreach (var item in list) { Color color; interval = interval + 20; //Вибір кольорів для графіків switch (item.Name) { case "ОМ": color = Colors.Blue; break; case "М": color = Colors.Green; break; case "С": color = Colors.Yellow; break; case "Б": color = Colors.Orange; break; case "ОБ": color = Colors.Red; break; default: color = Colors.Navy; break; } arr_leg = new List <double>() { x_graph_map, y_graph_map + interval, x_graph_map + koef * 60, y_graph_map + interval }; //Відмальвуємо графік shapes.Draw_polyline(item.Array_coordinates, 2, color, false); //Підписуємо легенду графіка shapes.Text(x_graph_map + koef * 60 + 10, y_graph_map + interval - 10, item.Name, Convert.ToInt32(0.25 * (koef * CanvasGraph.Height) / 10.5)); //Легенда графіка shapes.Draw_polyline(arr_leg, 3, color, false); } }