示例#1
0
 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();
 }
示例#2
0
        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";
            }
        }