static async Task Main(string[] args) { //Порядок действия гуя //1. Инициализировать класс //2. Получить набор вариантов //3. Выбрать вариант //4. Получить расчет по выбранному варианту //5. Отобразить результаты на форме string path = Directory.GetCurrentDirectory() + "/JsonData"; await MatrixDataInitializer.GenerateAsync(); Engine engine = new Engine(path); IEnumerable <Items> combinations = engine.GetFilteredCombinations(); //выбор необходимой // RawDataMatrix result = engine.PerformCombination(combinations.Skip(50).First().Name); RawDataMatrix result = engine.PerformCombination("16666"); Console.WriteLine(new string('-', 50)); Console.WriteLine(result); }
/// <summary> /// Действие на изменение комбинации матриц /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataGridCombinations_SelectionChanged(object sender, SelectionChangedEventArgs e) { var val = (DataGridCombinations.SelectedItem as Items).Name; if (engine != null & val != null) { Task <List <MismatchesCoordList> > task = new Task <List <MismatchesCoordList> >(() => { List <MismatchesCoordList> allCoords = new List <MismatchesCoordList>(); RawDataMatrix result = engine.PerformCombination(val.ToString()); allCoords = engine.GetMatrixDifference(); MismatchesCoordList mainCoords = result.GetMismatches(engine.Etalon); mainCoords.Gamma = engine.Gamma; allCoords.Add(mainCoords); return(allCoords); }); task.Start(); UnitedFramesComponent comp = new UnitedFramesComponent(myCanvas, 10, 38, 38); comp.DrawData(task.Result); } }