QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
MissionFlightStatusCalculator.h
Go to the documentation of this file.
1#pragma once
2
4
5class AppSettings;
11class Vehicle;
13
20{
21public:
23 void reset(Vehicle* controllerVehicle, Vehicle* managerVehicle, bool missionContainsVTOLTakeoff);
24
27 void recalc(QmlObjectListModel* visualItems,
28 MissionSettingsItem* settingsItem,
29 Vehicle* controllerVehicle,
30 Vehicle* managerVehicle,
31 AppSettings* appSettings,
32 PlanViewSettings* planViewSettings,
33 bool missionContainsVTOLTakeoff);
34
35 const MissionFlightStatus_t& status() const { return _status; }
36 double minAMSLAltitude() const { return _minAMSLAltitude; }
37 double maxAMSLAltitude() const { return _maxAMSLAltitude; }
38
39 static void calcPrevWaypointValues(VisualMissionItem* currentItem, VisualMissionItem* prevItem,
40 double* azimuth, double* distance, double* altDifference);
41 static double calcDistanceToHome(VisualMissionItem* currentItem, VisualMissionItem* homeItem);
42
43private:
44 void _updateBatteryInfo(int waypointIndex);
45 void _addHoverTime(double hoverTime, double hoverDistance, int waypointIndex);
46 void _addCruiseTime(double cruiseTime, double cruiseDistance, int waypointIndex);
47 void _addTimeDistance(Vehicle* controllerVehicle, bool vtolInHover,
48 double hoverTime, double cruiseTime, double extraTime,
49 double distance, int seqNum);
50
51 MissionFlightStatus_t _status {};
52 double _minAMSLAltitude = 0;
53 double _maxAMSLAltitude = 0;
54};
Application Settings.
Definition AppSettings.h:10
Computes mission flight status (distances, times, battery, altitude range)
void reset(Vehicle *controllerVehicle, Vehicle *managerVehicle, bool missionContainsVTOLTakeoff)
Resets the flight status fields to defaults based on vehicle properties.
const MissionFlightStatus_t & status() const
static void calcPrevWaypointValues(VisualMissionItem *currentItem, VisualMissionItem *prevItem, double *azimuth, double *distance, double *altDifference)
void recalc(QmlObjectListModel *visualItems, MissionSettingsItem *settingsItem, Vehicle *controllerVehicle, Vehicle *managerVehicle, AppSettings *appSettings, PlanViewSettings *planViewSettings, bool missionContainsVTOLTakeoff)
static double calcDistanceToHome(VisualMissionItem *currentItem, VisualMissionItem *homeItem)
A SimpleMissionItem is used to represent a single MissionItem to the ui.