public SirtAgorythmWorker(AlgorythmSettings settings) { this.signals = settings.Signals; this.times = settings.Times; this.iterations = settings.Iterations; this.randomStart = settings.RandomStartPoint; }
private void startToolStripMenuItem_Click(object sender, EventArgs e) { try { AlgorythmSettings settings = new AlgorythmSettings { IsModel = IsModel, InputFileName = InputFile, AntNumber = (int)antsNumeric.Value, Iterations = (int)iterationsNumeric.Value, Sirt = SirtRadioBtn.Checked, AntColony = AntsRadioBtn.Checked, RandomStartPoint = randomStartCheckBox.Checked }; statisticsTree.Nodes.Clear(); resultTree.Nodes.Clear(); if (worker == null) { return; } worker.resetProgressBar += ResetProgressBar; worker.updateProgressBar += UpdateProgressBar; ThreadWorker threadWorker = new ThreadWorker(() => worker.CalculateIversion(settings)); threadWorker.ThreadDone += CalculationThreadDone; SetWorkingStatus("Trwa obliczanie..."); przetwarzanieToolStripMenuItem.Enabled = false; Thread thread = new Thread(threadWorker.Run); thread.Start(); } catch (Exception fileException) { MessageBox.Show(fileException.Message, fileException.GetType().Name, MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public Colony(AlgorythmSettings settings) { iterations = settings.Iterations; signals = settings.Signals; times = settings.Times; rand = new Random(); Ants = new List <Ant>(); AllNodes = new Dictionary <string, Node>(); GenerateFirstNode(settings.RandomStartPoint); AddAnts(settings.AntNumber); }
private void ReadFile(AlgorythmSettings settings) { if (settings.IsModel) { ModelReader reader = new ModelReader(settings.InputFileName); SignalRoutes signals = new SignalRoutes(reader.ReadData()); matrix = new ProjectionsData(reader.CellSize, signals, 0, reader.MaxX1, 0, reader.MaxY1); } else { RealDataReader reader = new RealDataReader(settings.InputFileName); SignalRoutes signals = new SignalRoutes(reader.ReadData()); matrix = new ProjectionsData(10, signals, 0, 150, 0, 100); } }
public void CalculateIversion(AlgorythmSettings settingsFromWindow) { settings = settingsFromWindow; //try //{ ReadFile(settings); //} //catch (Exception e) //{ // throw e; //} matrix.MakeRayDensity(); if (settings.Sirt) { Sirt(); } if (settings.AntColony) { AntColony(); } }
public AntColonyWorker(AlgorythmSettings settings) { colony = new Colony(settings); }