public GraphCity CreateGraph(
            CitiesLocations citiesLocations, CitiesConnections citiesConnections)
        {
            var graph = new GraphCity();
            Coordinates tempStartCityCoordinates, tempEndCityCoordinates;

            foreach (City city in citiesLocations.locations.Keys)
            {
                citiesLocations.locations.TryGetValue(city, out tempStartCityCoordinates);
                graph.AddVertex(new VertexCity(new City(city),
                    new Coordinates(tempStartCityCoordinates)));
            }

            List<City> tempCityConnections = new List<City>();
            foreach (City startCity in citiesConnections.connections.Keys)
            {
                citiesLocations.locations.TryGetValue(startCity, out tempStartCityCoordinates);
                citiesConnections.connections.TryGetValue(startCity, out tempCityConnections);

                foreach (City endCity in tempCityConnections)
                {
                    citiesLocations.locations.TryGetValue(endCity, out tempEndCityCoordinates);
                    graph.AddEdge(new EdgeCity(
                        new VertexCity(new City(startCity), new Coordinates(tempStartCityCoordinates)),
                        new VertexCity(new City(endCity), new Coordinates(tempEndCityCoordinates))));
                }
            }

            return (graph);
        }
        public GraphCity CreateGraph(
            CitiesLocations citiesLocations, CitiesConnections citiesConnections)
        {
            var         graph = new GraphCity();
            Coordinates tempStartCityCoordinates, tempEndCityCoordinates;

            foreach (City city in citiesLocations.locations.Keys)
            {
                citiesLocations.locations.TryGetValue(city, out tempStartCityCoordinates);
                graph.AddVertex(new VertexCity(new City(city),
                                               new Coordinates(tempStartCityCoordinates)));
            }

            List <City> tempCityConnections = new List <City>();

            foreach (City startCity in citiesConnections.connections.Keys)
            {
                citiesLocations.locations.TryGetValue(startCity, out tempStartCityCoordinates);
                citiesConnections.connections.TryGetValue(startCity, out tempCityConnections);

                foreach (City endCity in tempCityConnections)
                {
                    citiesLocations.locations.TryGetValue(endCity, out tempEndCityCoordinates);
                    graph.AddEdge(new EdgeCity(
                                      new VertexCity(new City(startCity), new Coordinates(tempStartCityCoordinates)),
                                      new VertexCity(new City(endCity), new Coordinates(tempEndCityCoordinates))));
                }
            }

            return(graph);
        }
        public LogicManager(MainWindow _window)
        {
            graphToVisualize = null;

            citiesLocations = null;
            citiesConnections = null;

            defaultCitiesLocations = new CitiesLocations();
            defaultCitiesConnections = new CitiesConnections();

            algCitiesLocations = new CitiesLocations();

            startCity = null;
            finalCity = null;

            algSpeed = Alg_Speed.Fast;
            algHeuristic = Heuristic.Distance;

            resources = _window.Resources;
            window = _window;

            graphManager = new GraphManager(window);

            algorithm = null;
            algThread = null;
            IsRunningAlg = false;
        }
        public LogicManager(MainWindow _window)
        {
            graphToVisualize = null;

            citiesLocations   = null;
            citiesConnections = null;

            defaultCitiesLocations   = new CitiesLocations();
            defaultCitiesConnections = new CitiesConnections();

            algCitiesLocations = new CitiesLocations();

            startCity = null;
            finalCity = null;

            algSpeed     = Alg_Speed.Fast;
            algHeuristic = Heuristic.Distance;

            resources = _window.Resources;
            window    = _window;

            graphManager = new GraphManager(window);

            algorithm    = null;
            algThread    = null;
            IsRunningAlg = false;
        }
Beispiel #5
0
 /// <summary>
 /// Создает объект с информацией о захвате населенного пункта.
 /// </summary>
 /// <param name="ent">Объект населенного пункта, который захвачен</param>
 /// <param name="coal">Номер захватывающей коалиция</param>
 public Victory(GraphCity ent, int coal)
 {
     Coalition = coal;
     NameCity  = ent.Name_en;
 }
 /// <summary>
 /// Create a new graph based on locations and connections data
 /// </summary>
 public void CreateGraph()
 {
     graphToVisualize = graphManager.CreateGraph(citiesLocations, citiesConnections);
 }
 /// <summary>
 /// Create a new graph based on locations and connections data
 /// </summary>
 public void CreateGraph()
 {
     graphToVisualize = graphManager.CreateGraph(citiesLocations, citiesConnections);
 }