13 , _settingsItem(settingsItem)
20 , _settingsItem(settingsItem)
28 , _settingsItem(settingsItem)
38void TakeoffMissionItem::_init(
bool forLoad)
40 _editorQml = QStringLiteral(
"qrc:/qml/QGroundControl/Controls/SimpleItemEditor.qml");
45 _initLaunchTakeoffAtSameLocation();
49 QGeoCoordinate homePosition = _settingsItem->
coordinate();
50 if (!homePosition.isValid()) {
51 Vehicle* activeVehicle = MultiVehicleManager::instance()->activeVehicle();
54 if (homePosition.isValid()) {
65 _initLaunchTakeoffAtSameLocation();
66 if (_launchTakeoffAtSameLocation && homePosition.isValid()) {
80void TakeoffMissionItem::_setLaunchTakeoffAtSameLocation(
bool launchTakeoffAtSameLocation)
84 if (_launchTakeoffAtSameLocation) {
92QGeoCoordinate TakeoffMissionItem::launchCoordinate(
void)
const
101 if (_launchTakeoffAtSameLocation) {
112void TakeoffMissionItem::_initLaunchTakeoffAtSameLocation(
void)
116 _setLaunchTakeoffAtSameLocation(
false);
124 _setLaunchTakeoffAtSameLocation(
true);
129 _setLaunchTakeoffAtSameLocation(
true);
137 _initLaunchTakeoffAtSameLocation();
147 _initLaunchTakeoffAtSameLocation();
153void TakeoffMissionItem::_setLaunchCoordinate(
const QGeoCoordinate& launchCoordinate)
155 if (!launchCoordinate.isValid()) {
162 QGeoCoordinate takeoffCoordinate;
163 if (_launchTakeoffAtSameLocation) {
164 takeoffCoordinate = launchCoordinate;
172 if (altitude != 0.0) {
179 takeoffCoordinate = launchCoordinate.atDistanceAndAzimuth(
distance, 0);
bool isTakeoffCommand(MAV_CMD command) const
static MissionCommandTree * instance()
QGeoCoordinate coordinate(void) const final
void setCoordinate(const QGeoCoordinate &coordinate) final
Master controller for mission, fence, rally.
Fact *vtolTransitionDistance READ vtolTransitionDistance CONSTANT Fact * vtolTransitionDistance()
A SimpleMissionItem is used to represent a single MissionItem to the ui.
bool specifiesCoordinate(void) const final
int sequenceNumber(void) const final
QGroundControlQmlGlobal::AltMode altitudeMode(void) const
QGeoCoordinate coordinate(void) const final
virtual bool load(QTextStream &loadStream)
void setCoordinate(const QGeoCoordinate &coordinate) override
void setCommand(int command)
void setDirty(bool dirty) final
static bool isTakeoffCommand(MAV_CMD command)
QGeoCoordinate launchCoordinate READ launchCoordinate WRITE _setLaunchCoordinate NOTIFY launchCoordinateChanged(bool launchTakeoffAtSameLocation READ launchTakeoffAtSameLocation WRITE _setLaunchTakeoffAtSameLocation NOTIFY launchTakeoffAtSameLocationChanged) QGeoCoordinate launchCoordinate(void) const
bool launchTakeoffAtSameLocation(void) const
void setCoordinate(const QGeoCoordinate &coordinate) override
bool load(QTextStream &loadStream) final
TakeoffMissionItem(PlanMasterController *masterController, bool flyView, MissionSettingsItem *settingsItem, bool forLoad)
void launchTakeoffAtSameLocationChanged(bool launchTakeoffAtSameLocation)
QGeoCoordinate homePosition()
QString _editorQml
Qml resource for editing item.
void coordinateChanged(const QGeoCoordinate &coordinate)
Vehicle * _controllerVehicle
double distance(void) const
bool _wizardMode
true: Item editor is showing wizard completion panel