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
18{
19public:
21 void reset(Vehicle* controllerVehicle, Vehicle* managerVehicle, bool missionContainsVTOLTakeoff);
22
25 void recalc(QmlObjectListModel* visualItems,
26 MissionSettingsItem* settingsItem,
27 Vehicle* controllerVehicle,
28 Vehicle* managerVehicle,
29 AppSettings* appSettings,
30 PlanViewSettings* planViewSettings,
31 bool missionContainsVTOLTakeoff);
32
33 const MissionFlightStatus_t& status() const { return _status; }
34 double minAMSLAltitude() const { return _minAMSLAltitude; }
35 double maxAMSLAltitude() const { return _maxAMSLAltitude; }
36
37 static void calcPrevWaypointValues(VisualMissionItem* currentItem, VisualMissionItem* prevItem,
38 double* azimuth, double* distance, double* altDifference);
39 static double calcDistanceToHome(VisualMissionItem* currentItem, VisualMissionItem* homeItem);
40
41private:
42 void _updateBatteryInfo(int waypointIndex);
43 void _addHoverTime(double hoverTime, double hoverDistance, int waypointIndex);
44 void _addCruiseTime(double cruiseTime, double cruiseDistance, int waypointIndex);
45 void _addTimeDistance(Vehicle* controllerVehicle, bool vtolInHover,
46 double hoverTime, double cruiseTime, double extraTime,
47 double distance, int seqNum);
48
49 MissionFlightStatus_t _status {};
50 double _minAMSLAltitude = 0;
51 double _maxAMSLAltitude = 0;
52};
Application Settings.
Definition AppSettings.h:9
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.