コード例 #1
0
        // Calculate button click
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (Validation.GetHasError(longText) || Validation.GetHasError(latText) || Validation.GetHasError(longSatText))
            {
                return;
            }

            double longitude    = double.Parse(longText.Text, CultureInfo.CurrentCulture) * ((longEast.IsChecked == true) ? -1 : 1);
            double latitude     = double.Parse(latText.Text, CultureInfo.CurrentCulture) * ((latSouth.IsChecked == true) ? -1 : 1);
            double longitudeSat = double.Parse(longSatText.Text, CultureInfo.CurrentCulture) * ((longSatEast.IsChecked == true) ? -1 : 1);

            MainViewport.Focus();

            double elevation = SatelliteAntennaCalculator.GetElevationAngle(longitude, latitude, longitudeSat);

            if (elevation > 0)
            {
                azimutText.Text       = SatelliteAntennaCalculator.GetAzimutAngle(longitude, latitude, longitudeSat).ToString("0#.#0°", CultureInfo.CurrentCulture);
                elevationText.Text    = elevation.ToString("0#.#0°", CultureInfo.CurrentCulture);
                declinationText.Text  = SatelliteAntennaCalculator.GetDeclinationAngle(longitude, latitude, longitudeSat).ToString("0#.#0°", CultureInfo.CurrentCulture);
                azimutText.Background = elevationText.Background = declinationText.Background = Brushes.White;
                azimutText.Foreground = declinationText.Foreground = elevationText.Foreground = Brushes.Black;
            }
            else
            {
                SolidColorBrush b = new SolidColorBrush(Color.FromArgb(0x99, 0xFF, 00, 00));
                azimutText.Background = elevationText.Background = declinationText.Background = b;
                azimutText.Foreground = declinationText.Foreground = elevationText.Foreground = Brushes.White;
                azimutText.Text       = declinationText.Text = elevationText.Text = "Nicht empfangbar!";
            }

            DefineModel(longitude, latitude, longitudeSat);
            CameraPhi   = -SatelliteAntennaCalculator.DegToRad(longitudeSat);
            CameraTheta = 0;
            switch (SelectedCamera)
            {
            case 1:
                PositionCamera2(longitude, latitude, longitudeSat);
                break;

            default:
                PositionCamera();
                break;
            }
            if (latitude != 0)
            {
                FillElevationCurveRows(latitude, longitude, longitudeSat);
                angleGrid.ItemsSource       = rows;
                ElevationCurveTab.IsEnabled = true;
            }
            else
            {
                rows.Clear();
                ElevationCurveTab.IsEnabled = false;
                tabControl.SelectedIndex    = 0;
            }

            ExportTab.IsEnabled = true;
        }
コード例 #2
0
 private void currentCamera_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (SelectedCamera == 0)
     {
         PositionCamera();
     }
     else
     {
         PositionCamera2(double.Parse(longText.Text) * ((longEast.IsChecked == true) ? -1 : 1), double.Parse(latText.Text) * ((latSouth.IsChecked == true) ? -1 : 1), double.Parse(longSatText.Text) * ((longSatEast.IsChecked == true) ? -1 : 1));
     }
     MainViewport.Focus();
 }