QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
TakeoffMissionItem.h
Go to the documentation of this file.
1#pragma once
2
3#include "SimpleMissionItem.h"
4
7
10
12{
13 Q_OBJECT
14
15public:
16 // Note: forLoad = true indicates that TakeoffMissionItem::load will be called onthe item
18 TakeoffMissionItem(MAV_CMD takeoffCmd, PlanMasterController* masterController, bool flyView, MissionSettingsItem* settingsItem, bool forLoad);
20
21 Q_PROPERTY(QGeoCoordinate launchCoordinate READ launchCoordinate WRITE _setLaunchCoordinate NOTIFY launchCoordinateChanged)
22 Q_PROPERTY(bool launchTakeoffAtSameLocation READ launchTakeoffAtSameLocation WRITE _setLaunchTakeoffAtSameLocation NOTIFY launchTakeoffAtSameLocationChanged)
23
24 QGeoCoordinate launchCoordinate(void) const;
25 bool launchTakeoffAtSameLocation(void) const { return _launchTakeoffAtSameLocation; }
26
27 static bool isTakeoffCommand(MAV_CMD command);
28
30
31 // Overrides from VisualMissionItem
32 void setCoordinate(const QGeoCoordinate& coordinate) override;
33 bool isTakeoffItem(void) const final { return true; }
34 double specifiedFlightSpeed(void) final { return std::numeric_limits<double>::quiet_NaN(); }
35 double specifiedGimbalYaw(void) final { return std::numeric_limits<double>::quiet_NaN(); }
36 double specifiedGimbalPitch(void) final { return std::numeric_limits<double>::quiet_NaN(); }
37 QString mapVisualQML(void) const override { return QStringLiteral("TakeoffItemMapVisual.qml"); }
38
39 // Overrides from SimpleMissionItem
40 bool load(QTextStream &loadStream) final;
41 bool load(const QJsonObject& json, int sequenceNumber, QString& errorString) final;
42
43 //void setDirty(bool dirty) final;
44
45signals:
46 void launchCoordinateChanged(const QGeoCoordinate& launchCoordinate);
48
49private:
50 void _init(bool forLoad);
51 void _initLaunchTakeoffAtSameLocation(void);
52 void _setLaunchCoordinate(const QGeoCoordinate& launchCoordinate);
53 void _setLaunchTakeoffAtSameLocation(bool launchTakeoffAtSameLocation);
54
55
56 MissionSettingsItem* _settingsItem;
57 bool _launchTakeoffAtSameLocation = true;
58};
QString errorString
Master controller for mission, fence, rally.
A SimpleMissionItem is used to represent a single MissionItem to the ui.
int sequenceNumber(void) const final
QGeoCoordinate coordinate(void) const final
int command(void) const
MissionItem & missionItem(void)
Takeoff mission item is a special case of a SimpleMissionItem which supports Launch Location display/...
static bool isTakeoffCommand(MAV_CMD command)
double specifiedGimbalYaw(void) final
double specifiedGimbalPitch(void) final
QGeoCoordinate launchCoordinate(void) const
void launchCoordinateChanged(const QGeoCoordinate &launchCoordinate)
bool launchTakeoffAtSameLocation(void) const
bool isTakeoffItem(void) const final
void setCoordinate(const QGeoCoordinate &coordinate) override
bool load(QTextStream &loadStream) final
double specifiedFlightSpeed(void) final
QString mapVisualQML(void) const override
void launchTakeoffAtSameLocationChanged(bool launchTakeoffAtSameLocation)
bool flyView(void) const
PlanMasterController * masterController(void)