|
QGroundControl
Ground Control Station for MAVLink Drones
|
A SimpleMissionItem is used to represent a single MissionItem to the ui. More...
#include <SimpleMissionItem.h>
Inheritance diagram for SimpleMissionItem:
Collaboration diagram for SimpleMissionItem:Additional Inherited Members | |
Public Types inherited from VisualMissionItem | |
| enum | ReadyForSaveState { ReadyForSave , NotReadyForSaveTerrain , NotReadyForSaveData } |
Static Public Attributes inherited from VisualMissionItem | |
| static constexpr const char * | jsonTypeKey = "type" |
| Json file attribute which specifies the item type. | |
| static constexpr const char * | jsonTypeSimpleItemValue = "SimpleItem" |
| Item type is MISSION_ITEM. | |
| static constexpr const char * | jsonTypeComplexItemValue = "ComplexItem" |
| Item type is Complex Item. | |
Protected Slots inherited from VisualMissionItem | |
| void | _amslEntryAltChanged (void) |
| void | _amslExitAltChanged (void) |
Protected Member Functions inherited from VisualMissionItem | |
| void | _setBoundingCube (QGCGeoBoundingCube bc) |
Protected Attributes inherited from VisualMissionItem | |
| bool | _flyView = false |
| bool | _isCurrentItem = false |
| bool | _hasCurrentChildItem = false |
| bool | _dirty = false |
| bool | _homePositionSpecialCase = false |
| true: This item is being used as a ui home position indicator | |
| bool | _wizardMode = false |
| true: Item editor is showing wizard completion panel | |
| double | _terrainAltitude = qQNaN() |
| Altitude of terrain at coordinate position, NaN for not known. | |
| double | _altDifference = 0 |
| Difference in altitude from previous waypoint. | |
| double | _altPercent = 0 |
| Percent of total altitude change in mission. | |
| double | _terrainPercent = qQNaN() |
| Percent of terrain altitude for coordinate. | |
| bool | _terrainCollision = false |
| true: item collides with terrain | |
| double | _azimuth = 0 |
| Azimuth to previous waypoint. | |
| double | _distance = 0 |
| Distance to previous waypoint. | |
| double | _distanceFromStart = 0 |
| Flight path cumalative horizontal distance from home point to this item. | |
| QString | _editorQml |
| Qml resource for editing item. | |
| double | _missionGimbalYaw = qQNaN() |
| double | _missionVehicleYaw = qQNaN() |
| QGCMAVLink::VehicleClass_t | _previousVTOLMode = QGCMAVLink::VehicleClassGeneric |
| Generic == unknown. | |
| PlanMasterController * | _masterController = nullptr |
| MissionController * | _missionController = nullptr |
| Vehicle * | _controllerVehicle = nullptr |
| FlightPathSegment * | _simpleFlightPathSegment = nullptr |
| The simple item flight segment (if any) which starts with this visual item. | |
| VisualMissionItem * | _parentItem = nullptr |
| QGCGeoBoundingCube | _boundingCube |
| The bounding "cube" of this element. | |
| QmlObjectListModel | _childItems |
| This is used to reference any subsequent mission items which do not specify a coordinate. | |
A SimpleMissionItem is used to represent a single MissionItem to the ui.
Definition at line 11 of file SimpleMissionItem.h.
| SimpleMissionItem::SimpleMissionItem | ( | PlanMasterController * | masterController, |
| bool | flyView, | ||
| bool | forLoad | ||
| ) |
Definition at line 26 of file SimpleMissionItem.cc.
References VisualMissionItem::_editorQml, and setDirty().
| SimpleMissionItem::SimpleMissionItem | ( | PlanMasterController * | masterController, |
| bool | flyView, | ||
| const MissionItem & | missionItem | ||
| ) |
Definition at line 53 of file SimpleMissionItem.cc.
References VisualMissionItem::_editorQml, VisualMissionItem::_flyView, VisualMissionItem::_isCurrentItem, QGroundControlQmlGlobal::AltitudeModeAbsolute, QGroundControlQmlGlobal::AltitudeModeRelative, QGroundControlQmlGlobal::AltitudeModeTerrainFrame, coordinate(), VisualMissionItem::coordinateChanged(), MissionItem::frame(), MissionItem::isCurrentItem(), missionItem(), setDirty(), and specifiesAltitude().
| SimpleMissionItem::~SimpleMissionItem | ( | ) |
Definition at line 242 of file SimpleMissionItem.cc.
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 374 of file SimpleMissionItem.cc.
References command().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 1069 of file SimpleMissionItem.cc.
References command(), missionItem(), and MissionItem::param1().
|
inline |
Definition at line 68 of file SimpleMissionItem.h.
Referenced by MissionController::insertTakeoffItem().
|
inline |
Definition at line 67 of file SimpleMissionItem.h.
Referenced by setAltitudeMode().
|
signal |
Referenced by setAltitudeMode().
|
inline |
Definition at line 69 of file SimpleMissionItem.h.
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 1113 of file SimpleMissionItem.cc.
References VisualMissionItem::_masterController, VisualMissionItem::_terrainAltitude, QGroundControlQmlGlobal::AltitudeModeAbsolute, QGroundControlQmlGlobal::AltitudeModeCalcAboveTerrain, QGroundControlQmlGlobal::AltitudeModeMixed, QGroundControlQmlGlobal::AltitudeModeNone, QGroundControlQmlGlobal::AltitudeModeRelative, QGroundControlQmlGlobal::AltitudeModeTerrainFrame, PlanMasterController::missionController(), MissionItem::param7(), and MissionController::plannedHomePosition().
Referenced by amslExitAlt().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 118 of file SimpleMissionItem.h.
References amslEntryAlt().
|
finalvirtual |
Returns the mission items associated with the complex item. Caller is responsible for freeing.
| items | List to append to |
| missionItemParent | Parent object for newly created MissionItems |
Implements VisualMissionItem.
Definition at line 1014 of file SimpleMissionItem.cc.
References CameraSection::appendSectionItems(), SpeedSection::appendSectionItems(), missionItem(), and sequenceNumber().
Referenced by save().
|
finalvirtual |
Adjust the altitude of the item if appropriate to the new altitude.
Implements VisualMissionItem.
Definition at line 1025 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, command(), MissionCommandTree::getUIInfo(), MissionCommandTree::instance(), MissionCommandUIInfo::specifiesAltitudeOnly(), and MissionCommandUIInfo::specifiesCoordinate().
|
inline |
Definition at line 74 of file SimpleMissionItem.h.
|
signal |
| QString SimpleMissionItem::category | ( | void | ) | const |
Definition at line 871 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, MissionCommandUIInfo::category(), command(), MissionCommandTree::getUIInfo(), and MissionCommandTree::instance().
|
inline |
Definition at line 81 of file SimpleMissionItem.h.
|
inline |
Definition at line 82 of file SimpleMissionItem.h.
|
inline |
Definition at line 62 of file SimpleMissionItem.h.
Referenced by abbreviation(), additionalTimeDelay(), applyNewAltitude(), category(), commandDescription(), commandName(), friendlyEditAllowed(), isLandCommand(), isLoiterItem(), isStandaloneCoordinate(), TakeoffMissionItem::isTakeoffCommand(), loiterRadius(), mavCommand(), CameraSection::scanStopTakingPhotos(), CameraSection::scanStopTakingVideo(), setCommand(), setRadius(), showLoiterRadius(), specifiedVehicleYaw(), specifiesAltitudeOnly(), and specifiesCoordinate().
|
inline |
< true: raw item editing with all params
< Altitude as specified by altitudeMode. Not necessarily true mission item altitude This should be called before changing the command. It is needed if the command changes from an item which does not include a coordinate to an item which requires a coordinate. It uses this value to set that new coordinate.
Definition at line 23 of file SimpleMissionItem.h.
|
signal |
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 352 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, command(), commandName(), MissionCommandUIInfo::description(), MissionCommandTree::getUIInfo(), and MissionCommandTree::instance().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 363 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, command(), MissionCommandUIInfo::friendlyName(), MissionCommandTree::getUIInfo(), and MissionCommandTree::instance().
Referenced by commandDescription().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 1099 of file SimpleMissionItem.cc.
References MissionItem::param5(), and MissionItem::param6().
Referenced by entryCoordinate(), exitCoordinate(), setCoordinate(), TakeoffMissionItem::setCoordinate(), MissionController::setCurrentPlanViewSeqNum(), and SimpleMissionItem().
|
inlineoverridevirtual |
Implements VisualMissionItem.
Definition at line 104 of file SimpleMissionItem.h.
Referenced by setDirty().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 1108 of file SimpleMissionItem.cc.
References MissionItem::param7().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 114 of file SimpleMissionItem.h.
References coordinate().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 115 of file SimpleMissionItem.h.
References coordinate().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 130 of file SimpleMissionItem.h.
| bool SimpleMissionItem::friendlyEditAllowed | ( | void | ) | const |
Definition at line 652 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, MissionItem::autoContinue(), command(), MissionItem::frame(), MissionCommandUIInfo::friendlyEdit(), MissionCommandTree::getUIInfo(), MissionCommandTree::instance(), and specifiesAltitude().
Referenced by rawEdit().
|
signal |
|
signal |
|
finalvirtual |
Reimplemented from VisualMissionItem.
Definition at line 1094 of file SimpleMissionItem.cc.
References command(), MissionCommandTree::instance(), and MissionCommandTree::isLandCommand().
| bool SimpleMissionItem::isLoiterItem | ( | void | ) | const |
Definition at line 551 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, command(), MissionCommandTree::getUIInfo(), MissionCommandTree::instance(), and MissionCommandUIInfo::isLoiterCommand().
Referenced by loiterRadius(), setRadius(), and showLoiterRadius().
|
signal |
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 105 of file SimpleMissionItem.h.
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 322 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, command(), MissionCommandTree::getUIInfo(), MissionCommandTree::instance(), and MissionCommandUIInfo::isStandaloneCoordinate().
Referenced by MissionController::setCurrentPlanViewSeqNum().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 997 of file SimpleMissionItem.cc.
References CameraSection::itemCount(), SpeedSection::itemCount(), and sequenceNumber().
|
virtual |
Reimplemented in TakeoffMissionItem.
Definition at line 287 of file SimpleMissionItem.cc.
References QGroundControlQmlGlobal::AltitudeModeAbsolute, QGroundControlQmlGlobal::AltitudeModeRelative, errorString, MissionItem::load(), JsonParsing::possibleNaNJsonValue(), MissionItem::relativeAltitude(), sequenceNumber(), setDirty(), specifiesAltitude(), and JsonHelper::validateKeys().
|
virtual |
Reimplemented in TakeoffMissionItem.
Definition at line 269 of file SimpleMissionItem.cc.
References QGroundControlQmlGlobal::AltitudeModeAbsolute, QGroundControlQmlGlobal::AltitudeModeRelative, MissionItem::load(), MissionItem::relativeAltitude(), setDirty(), and specifiesAltitude().
Referenced by TakeoffMissionItem::load(), and TakeoffMissionItem::load().
| double SimpleMissionItem::loiterRadius | ( | void | ) | const |
Definition at line 578 of file SimpleMissionItem.cc.
References command(), isLoiterItem(), missionItem(), MissionItem::param2(), and MissionItem::param3().
|
signal |
|
inlineoverridevirtual |
Implements VisualMissionItem.
Reimplemented in TakeoffMissionItem.
Definition at line 124 of file SimpleMissionItem.h.
|
inline |
Definition at line 63 of file SimpleMissionItem.h.
References command().
Referenced by MissionController::setCurrentPlanViewSeqNum().
|
inline |
Definition at line 100 of file SimpleMissionItem.h.
Referenced by LandingComplexItem::_scanForItem(), additionalTimeDelay(), appendMissionItems(), MissionController::insertCancelROIMissionItem(), MissionController::insertROIMissionItem(), loiterRadius(), SpeedSection::scanForSection(), CameraSection::scanStopTakingPhotos(), CameraSection::scanStopTakingVideo(), SimpleMissionItem(), specifiedFlightSpeed(), specifiedGimbalPitch(), specifiedGimbalYaw(), and specifiedVehicleYaw().
|
inline |
Definition at line 101 of file SimpleMissionItem.h.
|
inline |
Definition at line 79 of file SimpleMissionItem.h.
|
inline |
Definition at line 80 of file SimpleMissionItem.h.
| bool SimpleMissionItem::rawEdit | ( | void | ) | const |
Definition at line 678 of file SimpleMissionItem.cc.
References friendlyEditAllowed().
Referenced by setRawEdit().
|
signal |
Referenced by setRawEdit().
|
finalvirtual |
Reimplemented from VisualMissionItem.
Definition at line 790 of file SimpleMissionItem.cc.
References VisualMissionItem::_wizardMode, VisualMissionItem::NotReadyForSaveData, VisualMissionItem::NotReadyForSaveTerrain, VisualMissionItem::ReadyForSave, and specifiesAltitude().
|
finalvirtual |
Save the item(s) in Json format
| missionItems | Current set of mission items, new items should be appended to the end |
Implements VisualMissionItem.
Definition at line 246 of file SimpleMissionItem.cc.
References appendMissionItems(), MissionItem::save(), and specifiesAltitude().
| bool SimpleMissionItem::scanForSections | ( | QmlObjectListModel * | visualItems, |
| int | scanIndex, | ||
| PlanMasterController * | masterController | ||
| ) |
Scans the loaded items for additional section settings
| visualItems | List of all visual items |
| scanIndex | Index to start scanning from |
| vehicle | Vehicle associated with this mission |
Definition at line 946 of file SimpleMissionItem.cc.
References CameraSection::available(), SpeedSection::available(), CameraSection::scanForSection(), and SpeedSection::scanForSection().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 119 of file SimpleMissionItem.h.
References MissionItem::sequenceNumber().
Referenced by appendMissionItems(), MissionController::insertTakeoffItem(), lastSequenceNumber(), load(), TakeoffMissionItem::load(), and setSequenceNumber().
| void SimpleMissionItem::setAltDifference | ( | double | altDifference | ) |
| void SimpleMissionItem::setAltitudeMode | ( | QGroundControlQmlGlobal::AltMode | altitudeMode | ) |
Definition at line 1061 of file SimpleMissionItem.cc.
References altitudeMode(), and altitudeModeChanged().
Referenced by MissionController::insertTakeoffItem().
| void SimpleMissionItem::setAltPercent | ( | double | altPercent | ) |
| void SimpleMissionItem::setAzimuth | ( | double | azimuth | ) |
| void SimpleMissionItem::setCommand | ( | int | command | ) |
Definition at line 877 of file SimpleMissionItem.cc.
References MissionItem::command(), command(), and MissionItem::setCommand().
Referenced by MissionController::insertCancelROIMissionItem(), MissionController::insertROIMissionItem(), and TakeoffMissionItem::TakeoffMissionItem().
| void SimpleMissionItem::setCommandByIndex | ( | int | index | ) |
|
overridevirtual |
Implements VisualMissionItem.
Reimplemented in TakeoffMissionItem.
Definition at line 896 of file SimpleMissionItem.cc.
References coordinate(), MissionItem::param5(), MissionItem::param6(), MissionItem::setParam5(), and MissionItem::setParam6().
Referenced by TakeoffMissionItem::setCoordinate().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 691 of file SimpleMissionItem.cc.
References VisualMissionItem::_homePositionSpecialCase, dirty(), VisualMissionItem::dirtyChanged(), CameraSection::setDirty(), and SpeedSection::setDirty().
Referenced by load(), load(), SimpleMissionItem(), and SimpleMissionItem().
| void SimpleMissionItem::setDistance | ( | double | distance | ) |
|
finalvirtual |
Update item to mission flight status at point where this item appears in mission. IMPORTANT: Overrides must call base class implementation
Reimplemented from VisualMissionItem.
Definition at line 1043 of file SimpleMissionItem.cc.
References CameraSection::available(), SpeedSection::available(), SpeedSection::flightSpeed(), QGC::fuzzyCompare(), CameraSection::gimbalPitch(), MissionController::MissionFlightStatus_t::gimbalPitch, CameraSection::gimbalYaw(), MissionController::MissionFlightStatus_t::gimbalYaw, VisualMissionItem::setMissionFlightStatus(), and MissionController::MissionFlightStatus_t::vehicleSpeed.
| void SimpleMissionItem::setRadius | ( | double | loiterRadius | ) |
Definition at line 885 of file SimpleMissionItem.cc.
References command(), isLoiterItem(), MissionItem::setParam2(), and MissionItem::setParam3().
| void SimpleMissionItem::setRawEdit | ( | bool | rawEdit | ) |
Definition at line 683 of file SimpleMissionItem.cc.
References rawEdit(), and rawEditChanged().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 905 of file SimpleMissionItem.cc.
References VisualMissionItem::abbreviationChanged(), MissionItem::sequenceNumber(), sequenceNumber(), VisualMissionItem::sequenceNumberChanged(), and MissionItem::setSequenceNumber().
Referenced by MissionController::insertTakeoffItem().
| bool SimpleMissionItem::showLoiterRadius | ( | void | ) | const |
Definition at line 561 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, command(), Vehicle::fixedWing(), MissionCommandUIInfo::getParamInfo(), MissionCommandTree::getUIInfo(), MissionCommandTree::instance(), isLoiterItem(), specifiesCoordinate(), and Vehicle::vtol().
|
signal |
|
overridevirtual |
Implements VisualMissionItem.
Reimplemented in TakeoffMissionItem.
Definition at line 915 of file SimpleMissionItem.cc.
References SpeedSection::flightSpeed(), missionItem(), and MissionItem::specifiedFlightSpeed().
|
overridevirtual |
Implements VisualMissionItem.
Reimplemented in TakeoffMissionItem.
Definition at line 929 of file SimpleMissionItem.cc.
References CameraSection::available(), missionItem(), CameraSection::specifiedGimbalPitch(), and MissionItem::specifiedGimbalPitch().
|
overridevirtual |
Implements VisualMissionItem.
Reimplemented in TakeoffMissionItem.
Definition at line 924 of file SimpleMissionItem.cc.
References CameraSection::available(), missionItem(), CameraSection::specifiedGimbalYaw(), and MissionItem::specifiedGimbalYaw().
|
overridevirtual |
Reimplemented from VisualMissionItem.
Definition at line 934 of file SimpleMissionItem.cc.
References command(), missionItem(), and MissionItem::param4().
| bool SimpleMissionItem::specifiesAltitude | ( | void | ) | const |
Definition at line 546 of file SimpleMissionItem.cc.
References specifiesAltitudeOnly(), and specifiesCoordinate().
Referenced by friendlyEditAllowed(), MissionController::insertTakeoffItem(), load(), load(), readyForSaveState(), save(), and SimpleMissionItem().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 342 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, command(), MissionCommandTree::getUIInfo(), MissionCommandTree::instance(), and MissionCommandUIInfo::specifiesAltitudeOnly().
Referenced by specifiesAltitude().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 332 of file SimpleMissionItem.cc.
References VisualMissionItem::_controllerVehicle, VisualMissionItem::_previousVTOLMode, command(), MissionCommandTree::getUIInfo(), MissionCommandTree::instance(), and MissionCommandUIInfo::specifiesCoordinate().
Referenced by MissionController::setCurrentPlanViewSeqNum(), showLoiterRadius(), and specifiesAltitude().
|
inline |
Definition at line 75 of file SimpleMissionItem.h.
|
signal |
|
inline |
Definition at line 77 of file SimpleMissionItem.h.
|
inline |
Definition at line 78 of file SimpleMissionItem.h.