private void populateSimActiveNegativeCalibrationTab(SimActiveNegativeCalibration calib) { txtSimActiveNegativeXppa.Text = calib.Xppa.ToString(); txtSimActiveNegativeYppa.Text = calib.Yppa.ToString(); txtSimActiveNegativeK0.Text = calib.K0.ToString(); txtSimActiveNegativeK1.Text = calib.K1.ToString(); txtSimActiveNegativeK2.Text = calib.K2.ToString(); txtSimActiveNegativeK3.Text = calib.K3.ToString(); txtSimActiveNegativeK4.Text = calib.K4.ToString(); txtSimActiveNegativeK5.Text = calib.K5.ToString(); txtSimActiveNegativeK6.Text = calib.K6.ToString(); txtSimActiveNegativeK7.Text = calib.K7.ToString(); txtSimActiveNegativeP1.Text = calib.P1.ToString(); txtSimActiveNegativeP2.Text = calib.P2.ToString(); txtSimActiveNegativeP3.Text = calib.P3.ToString(); txtSimActiveNegativeP4.Text = calib.P4.ToString(); txtSimActiveNegativePsx.Text = calib.Psx.ToString(); txtSimActiveNegativePsy.Text = calib.Psy.ToString(); }
private void lookForCalibrationFiles(string calibPath) { calibrations.Clear(); List <string> calibFiles; try { calibFiles = Directory.EnumerateFiles(calibPath, "*.ini", SearchOption.TopDirectoryOnly).ToList(); } catch (Exception) { // Se não encontrou nada, avisar e parar cmbCalibrations.ItemsSource = new[] { "Nenhuma calibração encontrada" }.ToList(); cmbCalibrations.DisplayMemberPath = ""; cmbCalibrations.SelectedIndex = 0; calibToUse = null; return; } // Se encontrou, ler cada arquivo de calibração e criar um objeto correspondente foreach (var calib in calibFiles) { var configIni = IniHelper.ReadIni(calib); if (configIni == null) { continue; } var calibName = Path.GetFileName(calib).Replace(".ini", ""); try { switch (configIni.CalibrationType) { case CalibrationTypeEnum.USGS: var usgsCalib = new UsgsCalibration(calibName, configIni.Parameters["Xppa"], configIni.Parameters["Yppa"], configIni.Parameters["K0"], configIni.Parameters["K1"], configIni.Parameters["K2"], configIni.Parameters["K3"], configIni.Parameters["K4"], configIni.Parameters["P1"], configIni.Parameters["P2"], configIni.Parameters["P3"], configIni.Parameters["P4"], configIni.Parameters["F"], configIni.Parameters["Psx"], configIni.Parameters["Psy"]); calibrations.Add(usgsCalib); break; case CalibrationTypeEnum.AUSTRALIS: var australisCalib = new AustralisCalibration(calibName, configIni.Parameters["Xppa"], configIni.Parameters["Yppa"], configIni.Parameters["K0"], configIni.Parameters["K1"], configIni.Parameters["K2"], configIni.Parameters["K3"], configIni.Parameters["P1"], configIni.Parameters["P2"], configIni.Parameters["F"], configIni.Parameters["Psx"], configIni.Parameters["Psy"], configIni.Parameters["B1"], configIni.Parameters["B2"]); calibrations.Add(australisCalib); break; case CalibrationTypeEnum.SIMACTIVE_POSITIVE: var simActivePositiveCalib = new SimActivePositiveCalibration(calibName, configIni.Parameters["Xppa"], configIni.Parameters["Yppa"], configIni.Parameters["K0"], configIni.Parameters["K1"], configIni.Parameters["K2"], configIni.Parameters["K3"], configIni.Parameters["K4"], configIni.Parameters["K5"], configIni.Parameters["K6"], configIni.Parameters["K7"], configIni.Parameters["P1"], configIni.Parameters["P2"], configIni.Parameters["P3"], configIni.Parameters["P4"], configIni.Parameters["Psx"], configIni.Parameters["Psy"]); calibrations.Add(simActivePositiveCalib); break; case CalibrationTypeEnum.SIMACTIVE_NEGATIVE: var simActiveNegativeCalib = new SimActiveNegativeCalibration(calibName, configIni.Parameters["Xppa"], configIni.Parameters["Yppa"], configIni.Parameters["K0"], configIni.Parameters["K1"], configIni.Parameters["K2"], configIni.Parameters["K3"], configIni.Parameters["K4"], configIni.Parameters["K5"], configIni.Parameters["K6"], configIni.Parameters["K7"], configIni.Parameters["P1"], configIni.Parameters["P2"], configIni.Parameters["P3"], configIni.Parameters["P4"], configIni.Parameters["Psx"], configIni.Parameters["Psy"]); calibrations.Add(simActiveNegativeCalib); break; default: continue; } } catch (Exception) { continue; } } if (calibrations.Count == 0) { // Se não há calibrações, avisar cmbCalibrations.ItemsSource = new[] { "Nenhuma calibração encontrada" }.ToList(); cmbCalibrations.SelectedIndex = 0; cmbCalibrations.DisplayMemberPath = ""; calibToUse = null; return; } else { // Caso contrário, popular combobox com a lista de calibração recém-criada, e mostrar o nome de cada uma delas cmbCalibrations.ItemsSource = calibrations; cmbCalibrations.DisplayMemberPath = "Name"; } }