private void Init_Mission_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { WaypointMissionFinishedAction finishedAction = (WaypointMissionFinishedAction)Enum.Parse(typeof(WaypointMissionFinishedAction), finishedCombo.SelectedIndex.ToString()); WaypointMissionHeadingMode headingMode = (WaypointMissionHeadingMode)Enum.Parse(typeof(WaypointMissionHeadingMode), ((ComboBoxItem)headingCombo.SelectedItem).Tag.ToString()); init_mission(Int32.Parse(speedTextBox.Text), finishedAction, headingMode); int heading; bool success = Int32.TryParse(headingTextBox.Text, out heading); if (success && heading > 180) { heading = heading - 360; } WaypointTurnMode turnMode = (WaypointTurnMode)Enum.Parse(typeof(WaypointTurnMode), turnCombo.SelectedIndex.ToString()); Waypoint waypoint = InitDumpWaypoint(telemetry.gps_location.latitude + 0.00003, telemetry.gps_location.longitude, Double.Parse(altitudeTextBox.Text), turnMode, heading, Int32.Parse(speedTextBox.Text)); mission.waypoints.Add(waypoint); RedrawWaypoint(); int a = 0; }
private void Add_Waypoint_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { if (missionCreated) { var lastWaypoint = mission.waypoints[mission.waypoints.Count - 1]; var altitude = Double.Parse(altitudeTextBox.Text); if (currentWaypoint.Latitude != lastWaypoint.location.latitude || currentWaypoint.Longitude != lastWaypoint.location.longitude || altitude != lastWaypoint.altitude) { int heading; bool success = Int32.TryParse(headingTextBox.Text, out heading); if (success && heading > 180) { heading = heading - 360; } WaypointTurnMode turnMode = (WaypointTurnMode)Enum.Parse(typeof(WaypointTurnMode), turnCombo.SelectedIndex.ToString()); Waypoint waypoint = InitDumpWaypoint(currentWaypoint.Latitude, currentWaypoint.Longitude, altitude, turnMode, heading, Int32.Parse(speedTextBox.Text)); mission.waypoints.Add(waypoint); MapLat.Text = ""; MapLon.Text = ""; RedrawWaypoint(); } } }
private Waypoint InitDumpWaypoint(double latitude, double longitude, double altitude, WaypointTurnMode turnMode, int heading, double speed) { Waypoint waypoint = new Waypoint() { location = new LocationCoordinate2D() { latitude = latitude, longitude = longitude }, altitude = altitude, gimbalPitch = -90, turnMode = turnMode, heading = heading, actionRepeatTimes = 1, actionTimeoutInSeconds = 900, cornerRadiusInMeters = 0.2, speed = speed, shootPhotoTimeInterval = -1, shootPhotoDistanceInterval = -1, waypointActions = new List <WaypointAction>() }; return(waypoint); }