|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include <ComplexMissionItem.h>
Inheritance diagram for ComplexMissionItem:
Collaboration diagram for ComplexMissionItem:Public Member Functions | |
| ComplexMissionItem (PlanMasterController *masterController, bool flyView) | |
| const ComplexMissionItem & | operator= (const ComplexMissionItem &other) |
| QmlObjectListModel * | flightPathSegments (void) |
| virtual QString | patternName (void) const =0 |
| virtual bool | terrainCollision (void) const |
| virtual double | minAMSLAltitude (void) const =0 |
| virtual double | maxAMSLAltitude (void) const =0 |
| virtual double | complexDistance (void) const =0 |
| virtual bool | load (const QJsonObject &complexObject, int sequenceNumber, QString &errorString)=0 |
| virtual bool | isSingleItem (void) const |
| virtual Q_INVOKABLE void | loadPreset (const QString &name) |
| virtual Q_INVOKABLE void | savePreset (const QString &name) |
| Q_INVOKABLE void | deletePreset (const QString &name) |
| virtual double | greatestDistanceTo (const QGeoCoordinate &other) const =0 |
| virtual QStringList | presetNames (void) |
| virtual QString | presetsSettingsGroup (void) |
| virtual void | addKMLVisuals (KMLPlanDomDocument &domDocument) |
| virtual void | applyPreviousAltitudeFrame (QGroundControlQmlGlobal::AltitudeFrame prevAltFrame, double prevAltitude) |
| bool | presetsSupported (void) |
| bool | isIncomplete (void) const |
Public Member Functions inherited from VisualMissionItem | |
| VisualMissionItem (PlanMasterController *masterController, bool flyView) | |
| VisualMissionItem (const VisualMissionItem &other, bool flyView) | |
| ~VisualMissionItem () | |
| const VisualMissionItem & | operator= (const VisualMissionItem &other) |
| bool | homePosition (void) const |
| < Flight path cumalative horizontal distance from home point to this item | |
| double | altDifference (void) const |
| double | altPercent (void) const |
| double | terrainPercent (void) const |
| bool | terrainCollision (void) const |
| double | azimuth (void) const |
| double | distance (void) const |
| double | distanceFromStart (void) const |
| bool | isCurrentItem (void) const |
| bool | hasCurrentChildItem (void) const |
| double | terrainAltitude (void) const |
| bool | terrainQueryFailed (void) const |
| bool | flyView (void) const |
| bool | wizardMode (void) const |
| VisualMissionItem * | parentItem (void) |
| QmlObjectListModel * | childItems (void) |
| void | setIsCurrentItem (bool isCurrentItem) |
| void | setHasCurrentChildItem (bool hasCurrentChildItem) |
| void | setAltDifference (double altDifference) |
| void | setAltPercent (double altPercent) |
| void | setTerrainPercent (double terrainPercent) |
| void | setTerrainCollision (bool terrainCollision) |
| void | setAzimuth (double azimuth) |
| void | setDistance (double distance) |
| void | setDistanceFromStart (double distanceFromStart) |
| void | setWizardMode (bool wizardMode) |
| void | setParentItem (VisualMissionItem *parentItem) |
| void | setHomePositionSpecialCase (bool homePositionSpecialCase) |
| FlightPathSegment * | simpleFlightPathSegment (void) |
| void | setSimpleFlighPathSegment (FlightPathSegment *segment) |
| void | clearSimpleFlighPathSegment (void) |
| PlanMasterController * | masterController (void) |
| virtual bool | dirty (void) const =0 |
| virtual bool | isSimpleItem (void) const =0 |
| virtual bool | isTakeoffItem (void) const |
| virtual bool | isLandCommand (void) const |
| virtual bool | isSurveyItem (void) const |
| virtual bool | isStandaloneCoordinate (void) const =0 |
| virtual bool | specifiesCoordinate (void) const =0 |
| virtual bool | specifiesAltitudeOnly (void) const =0 |
| virtual QString | commandDescription (void) const =0 |
| virtual QString | commandName (void) const =0 |
| virtual QString | abbreviation (void) const =0 |
| virtual QGeoCoordinate | coordinate (void) const =0 |
| virtual QGeoCoordinate | entryCoordinate (void) const =0 |
| virtual QGeoCoordinate | exitCoordinate (void) const =0 |
| virtual double | editableAlt (void) const =0 |
| virtual double | amslEntryAlt (void) const =0 |
| virtual double | amslExitAlt (void) const =0 |
| virtual int | sequenceNumber (void) const =0 |
| virtual double | specifiedFlightSpeed (void)=0 |
| virtual double | specifiedGimbalYaw (void)=0 |
| virtual double | specifiedGimbalPitch (void)=0 |
| virtual double | specifiedVehicleYaw (void) |
| virtual QGCGeoBoundingCube * | boundingCube (void) |
| virtual void | setMissionFlightStatus (MissionFlightStatus_t &missionFlightStatus) |
| virtual bool | exitCoordinateSameAsEntry (void) const =0 |
| virtual void | setDirty (bool dirty)=0 |
| virtual void | setCoordinate (const QGeoCoordinate &coordinate)=0 |
| virtual void | setSequenceNumber (int sequenceNumber)=0 |
| virtual int | lastSequenceNumber (void) const =0 |
| virtual ReadyForSaveState | readyForSaveState (void) const |
| virtual void | save (QJsonArray &missionItems)=0 |
| virtual QString | mapVisualQML (void) const =0 |
| virtual void | appendMissionItems (QList< MissionItem * > &items, QObject *missionItemParent)=0 |
| virtual void | applyNewAltitude (double newAltitude)=0 |
| Adjust the altitude of the item if appropriate to the new altitude. | |
| virtual double | additionalTimeDelay (void) const =0 |
| double | missionGimbalYaw (void) const |
| double | missionVehicleYaw (void) const |
| void | setMissionVehicleYaw (double vehicleYaw) |
Static Public Attributes | |
| static constexpr const char * | jsonComplexItemTypeKey = "complexItemType" |
| This mission item attribute specifies the type of the complex item. | |
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 | |
| virtual void | _segmentTerrainCollisionChanged (bool terrainCollision) |
Protected Slots inherited from VisualMissionItem | |
| void | _amslEntryAltChanged (void) |
| void | _amslExitAltChanged (void) |
Protected Member Functions | |
| void | _savePresetJson (const QString &name, QJsonObject &presetObject) |
| QJsonObject | _loadPresetJson (const QString &name) |
| void | _appendFlightPathSegment (FlightPathSegment::SegmentType segmentType, const QGeoCoordinate &coord1, double coord1AMSLAlt, const QGeoCoordinate &coord2, double coord2AMSLAlt) |
Protected Member Functions inherited from VisualMissionItem | |
| void | _setBoundingCube (QGCGeoBoundingCube bc) |
Protected Attributes | |
| bool | _isIncomplete = true |
| int | _cTerrainCollisionSegments = 0 |
| QmlObjectListModel | _flightPathSegments |
| QMap< QString, FactMetaData * > | _metaDataMap |
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. | |
| bool | _terrainQueryFailed = false |
| true: Last terrain query failed | |
| 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() |
| QGCMAVLinkTypes::VehicleClass_t | _previousVTOLMode = QGCMAVLinkTypes::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. | |
Static Protected Attributes | |
| static constexpr const char * | _presetSettingsKey = "_presets" |
Additional Inherited Members | |
Public Types inherited from VisualMissionItem | |
| enum | ReadyForSaveState { ReadyForSave , NotReadyForSaveTerrain , NotReadyForSaveData } |
Definition at line 15 of file ComplexMissionItem.h.
| ComplexMissionItem::ComplexMissionItem | ( | PlanMasterController * | masterController, |
| bool | flyView | ||
| ) |
|
protected |
Definition at line 109 of file ComplexMissionItem.cc.
References _flightPathSegments, VisualMissionItem::_missionController, _segmentTerrainCollisionChanged(), FlightPathSegment::amslTerrainHeights(), FlightPathSegment::amslTerrainHeightsChanged(), QmlObjectListModel::append(), MissionController::recalcTerrainProfile(), FlightPathSegment::terrainCollision(), and FlightPathSegment::terrainCollisionChanged().
|
protected |
Definition at line 96 of file ComplexMissionItem.cc.
References _presetSettingsKey, and presetsSettingsGroup().
Referenced by CorridorScanComplexItem::loadPreset(), and SurveyComplexItem::loadPreset().
|
protected |
Definition at line 67 of file ComplexMissionItem.cc.
References _presetSettingsKey, SettingsManager::appSettings(), SettingsManager::instance(), AppSettings::missionSavePath(), presetNamesChanged(), and presetsSettingsGroup().
Referenced by CorridorScanComplexItem::savePreset(), and SurveyComplexItem::savePreset().
|
protectedvirtualslot |
Definition at line 129 of file ComplexMissionItem.cc.
References _cTerrainCollisionSegments, terrainCollision(), and terrainCollisionChanged().
Referenced by _appendFlightPathSegment().
|
virtual |
Reimplemented in TransectStyleComplexItem.
Definition at line 104 of file ComplexMissionItem.cc.
|
inlinevirtual |
Called by MissionController after inserting a new item when a previous altitude is available and the global altitude frame is AltitudeFrameMixed. Override to apply altitude frame context to the item. The default implementation is a no-op.
| prevAltFrame | Altitude frame of the previous mission item |
| prevAltitude | Altitude of the previous mission item |
Reimplemented in SurveyComplexItem.
Definition at line 94 of file ComplexMissionItem.h.
Referenced by MissionController::insertComplexMissionItem().
|
signal |
|
pure virtual |
Implemented in LandingComplexItem, MissionSettingsItem, StructureScanComplexItem, and TransectStyleComplexItem.
Referenced by MissionFlightStatusCalculator::recalc(), and TerrainProfile::updateSeries().
|
signal |
| void ComplexMissionItem::deletePreset | ( | const QString & | name | ) |
Definition at line 53 of file ComplexMissionItem.cc.
References _presetSettingsKey, QGCCorePlugin::instance(), presetNamesChanged(), presetsSettingsGroup(), and QGC::showAppMessage().
|
inline |
Definition at line 35 of file ComplexMissionItem.h.
References _flightPathSegments.
|
pure virtual |
Get the point of complex mission item furthest away from a coordinate
| other | QGeoCoordinate to which distance is calculated |
Implemented in LandingComplexItem, MissionSettingsItem, StructureScanComplexItem, and TransectStyleComplexItem.
Referenced by MissionFlightStatusCalculator::recalc().
|
signal |
Referenced by TransectStyleComplexItem::TransectStyleComplexItem().
|
inline |
Definition at line 98 of file ComplexMissionItem.h.
References _isIncomplete.
|
signal |
Referenced by TransectStyleComplexItem::_rebuildTransects().
|
inlinevirtual |
Reimplemented in MissionSettingsItem.
Definition at line 60 of file ComplexMissionItem.h.
|
pure virtual |
Load the complex mission item from Json
| complexObject | Complex mission item json object | |
| sequenceNumber | Sequence number for first MISSION_ITEM in survey | |
| [out] | errorString | Error if load fails |
Implemented in CorridorScanComplexItem, FixedWingLandingComplexItem, MissionSettingsItem, StructureScanComplexItem, SurveyComplexItem, VTOLLandingComplexItem, and TransectStyleComplexItem.
|
virtual |
Loads the specified preset into the complex item.
| name | Preset name. |
Reimplemented in CorridorScanComplexItem, and SurveyComplexItem.
Definition at line 41 of file ComplexMissionItem.cc.
References QGC::showAppMessage().
|
pure virtual |
Implemented in LandingComplexItem, MissionSettingsItem, StructureScanComplexItem, and TransectStyleComplexItem.
Referenced by MissionFlightStatusCalculator::recalc().
|
signal |
Referenced by LandingComplexItem::_init(), TransectStyleComplexItem::_load(), TransectStyleComplexItem::_rebuildTransects(), ComplexMissionItem(), MissionSettingsItem::MissionSettingsItem(), StructureScanComplexItem::StructureScanComplexItem(), and TransectStyleComplexItem::TransectStyleComplexItem().
|
pure virtual |
Implemented in LandingComplexItem, MissionSettingsItem, StructureScanComplexItem, and TransectStyleComplexItem.
Referenced by MissionFlightStatusCalculator::recalc().
|
signal |
Referenced by LandingComplexItem::_init(), TransectStyleComplexItem::_load(), TransectStyleComplexItem::_rebuildTransects(), ComplexMissionItem(), MissionSettingsItem::MissionSettingsItem(), StructureScanComplexItem::StructureScanComplexItem(), and TransectStyleComplexItem::TransectStyleComplexItem().
| const ComplexMissionItem & ComplexMissionItem::operator= | ( | const ComplexMissionItem & | other | ) |
Minimum altitude of all coordinates in item Maximum altitude of all coordinates in item
Definition at line 23 of file ComplexMissionItem.cc.
References VisualMissionItem::operator=().
|
pure virtual |
|
signal |
Referenced by LandingComplexItem::_init().
|
virtual |
Returns the list of currently saved presets for this complex item type.
| name | User visible name for preset. Will replace existing preset if already exists. |
Definition at line 30 of file ComplexMissionItem.cc.
References _presetSettingsKey, and presetsSettingsGroup().
|
signal |
Referenced by _savePresetJson(), and deletePreset().
|
inlinevirtual |
Returns the name of the settings group for presets. Empty string signals no support for presets.
Reimplemented in CorridorScanComplexItem, and SurveyComplexItem.
Definition at line 85 of file ComplexMissionItem.h.
Referenced by _loadPresetJson(), _savePresetJson(), deletePreset(), presetNames(), and presetsSupported().
|
inline |
Definition at line 97 of file ComplexMissionItem.h.
References presetsSettingsGroup().
|
virtual |
Saves the current state of the complex item as the named preset.
| name | User visible name for preset. Will replace existing preset if already exists. |
Reimplemented in CorridorScanComplexItem, and SurveyComplexItem.
Definition at line 47 of file ComplexMissionItem.cc.
References QGC::showAppMessage().
|
inlinevirtual |
Reimplemented in MissionSettingsItem.
Definition at line 40 of file ComplexMissionItem.h.
References _cTerrainCollisionSegments.
Referenced by _segmentTerrainCollisionChanged().
|
signal |
Referenced by _segmentTerrainCollisionChanged().
|
protected |
Definition at line 123 of file ComplexMissionItem.h.
Referenced by _segmentTerrainCollisionChanged(), and terrainCollision().
|
protected |
Definition at line 124 of file ComplexMissionItem.h.
Referenced by _appendFlightPathSegment(), and flightPathSegments().
|
protected |
Definition at line 122 of file ComplexMissionItem.h.
Referenced by TransectStyleComplexItem::_load(), TransectStyleComplexItem::_rebuildTransects(), and isIncomplete().
|
protected |
Definition at line 126 of file ComplexMissionItem.h.
|
staticconstexprprotected |
Definition at line 128 of file ComplexMissionItem.h.
Referenced by _loadPresetJson(), _savePresetJson(), deletePreset(), and presetNames().
|
staticconstexpr |
This mission item attribute specifies the type of the complex item.
Definition at line 101 of file ComplexMissionItem.h.
Referenced by LandingComplexItem::_load(), StructureScanComplexItem::load(), SurveyComplexItem::load(), FixedWingLandingComplexItem::save(), StructureScanComplexItem::save(), and VTOLLandingComplexItem::save().