3#include <QtCore/QObject>
4#include <QtCore/QString>
5#include <QtCore/QTextStream>
6#include <QtCore/QJsonObject>
7#include <QtPositioning/QGeoCoordinate>
8#include <QtQmlIntegration/QtQmlIntegration>
16#ifdef QGC_UNITTEST_BUILD
17 class MissionItemTest;
41 QObject* parent =
nullptr);
49 MAV_CMD
command (
void)
const {
return (MAV_CMD)_commandFact.rawValue().toInt(); }
52 MAV_FRAME
frame (
void)
const {
return (MAV_FRAME)_frameFact.rawValue().toInt(); }
53 bool autoContinue (
void)
const {
return _autoContinueFact.rawValue().toBool(); }
54 double param1 (
void)
const {
return _param1Fact.rawValue().toDouble(); }
55 double param2 (
void)
const {
return _param2Fact.rawValue().toDouble(); }
56 double param3 (
void)
const {
return _param3Fact.rawValue().toDouble(); }
57 double param4 (
void)
const {
return _param4Fact.rawValue().toDouble(); }
58 double param5 (
void)
const {
return _param5Fact.rawValue().toDouble(); }
59 double param6 (
void)
const {
return _param6Fact.rawValue().toDouble(); }
60 double param7 (
void)
const {
return _param7Fact.rawValue().toDouble(); }
62 int doJumpId (
void)
const {
return _doJumpId; }
86 void save(QJsonObject& json)
const;
87 bool load(QTextStream &loadStream);
100 void _param1Changed(QVariant value);
101 void _param2Changed(QVariant value);
102 void _param3Changed(QVariant value);
105 bool _convertJsonV1ToV2(
const QJsonObject& json, QJsonObject& v2Json, QString&
errorString);
106 bool _convertJsonV2ToV3(QJsonObject& json, QString&
errorString);
112 Fact _autoContinueFact;
124 static constexpr const char* _jsonFrameKey =
"frame";
125 static constexpr const char* _jsonCommandKey =
"command";
126 static constexpr const char* _jsonAutoContinueKey =
"autoContinue";
127 static constexpr const char* _jsonParamsKey =
"params";
128 static constexpr const char* _jsonDoJumpIdKey =
"doJumpId";
131 static constexpr const char* _jsonParam1Key =
"param1";
132 static constexpr const char* _jsonParam2Key =
"param2";
133 static constexpr const char* _jsonParam3Key =
"param3";
134 static constexpr const char* _jsonParam4Key =
"param4";
137 static constexpr const char* _jsonCoordinateKey =
"coordinate";
142#ifdef QGC_UNITTEST_BUILD
143 friend class MissionItemTest;
A Fact is used to hold a single value within the system.
double specifiedGimbalPitch(void) const
MAV_CMD command(void) const
double specifiedFlightSpeed(void) const
void isCurrentItemChanged(bool isCurrentItem)
void specifiedGimbalYawChanged(double gimbalYaw)
void specifiedFlightSpeedChanged(double flightSpeed)
void setFrame(MAV_FRAME frame)
double param5(void) const
void setParam7(double param7)
void setParam4(double param4)
double specifiedGimbalYaw(void) const
void setAutoContinue(bool autoContinue)
bool relativeAltitude(void) const
void setParam6(double param6)
double param7(void) const
void setParam1(double param1)
MAV_FRAME frame(void) const
void save(QJsonObject &json) const
const MissionItem & operator=(const MissionItem &other)
void setParam3(double param3)
void setIsCurrentItem(bool isCurrentItem)
bool autoContinue(void) const
bool isCurrentItem(void) const
double param3(void) const
double param6(void) const
double param1(void) const
QGeoCoordinate coordinate(void) const
void setParam2(double param2)
int sequenceNumber(void) const
double param4(void) const
void specifiedGimbalPitchChanged(double gimbalPitch)
void setSequenceNumber(int sequenceNumber)
double param2(void) const
void sequenceNumberChanged(int sequenceNumber)
bool load(QTextStream &loadStream)
void setParam5(double param5)
void setCommand(MAV_CMD command)
A SimpleMissionItem is used to represent a single MissionItem to the ui.