public SerializedFlightPlan(Mission.FlightPlan flightPlan) { this.waypoints = flightPlan.waypoints.Select(waypoint => new SerializedWaypoints(waypoint)).ToList(); this.missionType = flightPlan.missionType; double distanceCovered = 0; Vector3[] positions = flightPlan.waypoints.Select(waypoint => waypoint.dronePosition).ToArray(); for (int i = 1; i < positions.Length; i++) { distanceCovered += Vector3.Distance(positions[i - 1], positions[i]); } this.distanceCovered = Math.Round(distanceCovered, 2) + "m"; }
public static void WriteToXml(CameraDefinition cameraDefinition, SurveyArea surveyArea, Mission.FlightPlan flightPlan, Georeferencing georeferencing, string folderPath) { SerializedDroneFlight droneFlight = new SerializedDroneFlight(cameraDefinition, surveyArea, flightPlan, georeferencing); XmlSerializer serializer = new XmlSerializer(typeof(SerializedDroneFlight)); TextWriter writer = new StreamWriter(Path.Combine(folderPath, "droneFlight.xml")); serializer.Serialize(writer, droneFlight); writer.Close(); }
public SerializedDroneFlight(CameraDefinition cameraDefinition, SurveyArea surveyArea, Mission.FlightPlan flightPlan, Georeferencing georeferencing) { this.cameraDefinition = new SerializedCameraDefinition(cameraDefinition); this.surveyArea = new SerializedSurveyArea(surveyArea); this.flightPlan = new SerializedFlightPlan(flightPlan); this.georeferencing = new SerializedGeoreferencing(georeferencing); }