|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include <FixedWingLandingComplexItem.h>
Inheritance diagram for FixedWingLandingComplexItem:
Collaboration diagram for FixedWingLandingComplexItem:Public Member Functions | |
| FixedWingLandingComplexItem (PlanMasterController *masterController, bool flyView) | |
| Fact * | glideSlope (void) |
| Fact * | valueSetIsDistance (void) |
| QString | patternName (void) const final |
| bool | load (const QJsonObject &complexObject, int sequenceNumber, QString &errorString) final |
| QString | mapVisualQML (void) const final |
| void | save (QJsonArray &missionItems) final |
Public Member Functions inherited from LandingComplexItem | |
| LandingComplexItem (PlanMasterController *masterController, bool flyView) | |
| Q_INVOKABLE void | setLandingHeadingToTakeoffHeading () |
| const Fact * | finalApproachAltitude (void) const |
| const Fact * | useDoChangeSpeed (void) const |
| const Fact * | finalApproachSpeed (void) const |
| const Fact * | loiterRadius (void) const |
| const Fact * | loiterClockwise (void) const |
| const Fact * | landingAltitude (void) const |
| const Fact * | landingDistance (void) const |
| const Fact * | landingHeading (void) const |
| const Fact * | useLoiterToAlt (void) const |
| const Fact * | stopTakingPhotos (void) const |
| const Fact * | stopTakingVideo (void) const |
| Fact * | finalApproachAltitude (void) |
| Fact * | useDoChangeSpeed (void) |
| Fact * | finalApproachSpeed (void) |
| Fact * | loiterRadius (void) |
| Fact * | loiterClockwise (void) |
| Fact * | landingAltitude (void) |
| Fact * | landingDistance (void) |
| Fact * | landingHeading (void) |
| Fact * | useLoiterToAlt (void) |
| Fact * | stopTakingPhotos (void) |
| Fact * | stopTakingVideo (void) |
| bool | altitudesAreRelative (void) const |
| bool | landingCoordSet (void) const |
| QGeoCoordinate | landingCoordinate (void) const |
| QGeoCoordinate | finalApproachCoordinate (void) const |
| QGeoCoordinate | slopeStartCoordinate (void) const |
| void | setLandingCoordinate (const QGeoCoordinate &coordinate) |
| void | setFinalApproachCoordinate (const QGeoCoordinate &coordinate) |
| void | setAltitudesAreRelative (bool altitudesAreRelative) |
| double | complexDistance (void) const final |
| double | greatestDistanceTo (const QGeoCoordinate &other) const final |
| int | lastSequenceNumber (void) const final |
| bool | dirty (void) const final |
| bool | isSimpleItem (void) const final |
| bool | isLandCommand (void) const final |
| bool | isStandaloneCoordinate (void) const final |
| bool | specifiesCoordinate (void) const final |
| bool | specifiesAltitudeOnly (void) const final |
| QString | commandDescription (void) const final |
| QString | commandName (void) const final |
| QString | abbreviation (void) const final |
| QGeoCoordinate | coordinate (void) const final |
| QGeoCoordinate | entryCoordinate (void) const final |
| QGeoCoordinate | exitCoordinate (void) const final |
| int | sequenceNumber (void) const final |
| double | specifiedFlightSpeed (void) final |
| double | specifiedGimbalYaw (void) final |
| double | specifiedGimbalPitch (void) final |
| void | appendMissionItems (QList< MissionItem * > &items, QObject *missionItemParent) final |
| void | applyNewAltitude (double newAltitude) final |
| Adjust the altitude of the item if appropriate to the new altitude. | |
| double | additionalTimeDelay (void) const final |
| ReadyForSaveState | readyForSaveState (void) const final |
| bool | exitCoordinateSameAsEntry (void) const final |
| void | setDirty (bool dirty) final |
| void | setCoordinate (const QGeoCoordinate &coordinate) final |
| void | setSequenceNumber (int sequenceNumber) final |
| double | editableAlt (void) const final |
| double | amslEntryAlt (void) const final |
| double | amslExitAlt (void) const final |
| double | minAMSLAltitude (void) const final |
| double | maxAMSLAltitude (void) const final |
Public Member Functions inherited from ComplexMissionItem | |
| ComplexMissionItem (PlanMasterController *masterController, bool flyView) | |
| const ComplexMissionItem & | operator= (const ComplexMissionItem &other) |
| QmlObjectListModel * | flightPathSegments (void) |
| virtual bool | terrainCollision (void) const |
| 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 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 | isTakeoffItem (void) const |
| virtual bool | isSurveyItem (void) const |
| virtual double | specifiedVehicleYaw (void) |
| virtual QGCGeoBoundingCube * | boundingCube (void) |
| virtual void | setMissionFlightStatus (MissionFlightStatus_t &missionFlightStatus) |
| double | missionGimbalYaw (void) const |
| double | missionVehicleYaw (void) const |
| void | setMissionVehicleYaw (double vehicleYaw) |
Static Public Member Functions | |
| static bool | scanForItems (QmlObjectListModel *visualItems, bool flyView, PlanMasterController *masterController) |
| Scans the loaded items for a landing pattern complex item. | |
Static Public Attributes | |
| static constexpr const char * | canonicalName = QT_TR_NOOP("Fixed Wing Landing") |
| static constexpr const char * | settingsGroup = "FixedWingLanding" |
| static constexpr const char * | jsonComplexItemTypeValue = "fwLandingPattern" |
| static constexpr const char * | glideSlopeName = "GlideSlope" |
| static constexpr const char * | valueSetIsDistanceName = "ValueSetIsDistance" |
Static Public Attributes inherited from LandingComplexItem | |
| static constexpr const char * | finalApproachToLandDistanceName = "LandingDistance" |
| static constexpr const char * | landingHeadingName = "LandingHeading" |
| static constexpr const char * | finalApproachAltitudeName = "FinalApproachAltitude" |
| static constexpr const char * | useDoChangeSpeedName = "UseDoChangeSpeed" |
| static constexpr const char * | finalApproachSpeedName = "FinalApproachSpeed" |
| static constexpr const char * | loiterRadiusName = "LoiterRadius" |
| static constexpr const char * | loiterClockwiseName = "LoiterClockwise" |
| static constexpr const char * | landingAltitudeName = "LandingAltitude" |
| static constexpr const char * | useLoiterToAltName = "UseLoiterToAlt" |
| static constexpr const char * | stopTakingPhotosName = "StopTakingPhotos" |
| static constexpr const char * | stopTakingVideoName = "StopTakingVideo" |
Static Public Attributes inherited from ComplexMissionItem | |
| 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. | |
Additional Inherited Members | |
Public Types inherited from VisualMissionItem | |
| enum | ReadyForSaveState { ReadyForSave , NotReadyForSaveTerrain , NotReadyForSaveData } |
Signals inherited from LandingComplexItem | |
| void | finalApproachCoordinateChanged (QGeoCoordinate coordinate) |
| void | slopeStartCoordinateChanged (QGeoCoordinate coordinate) |
| void | landingCoordinateChanged (QGeoCoordinate coordinate) |
| void | landingCoordSetChanged (bool landingCoordSet) |
| void | altitudesAreRelativeChanged (bool altitudesAreRelative) |
| void | _updateFlightPathSegmentsSignal (void) |
Signals inherited from ComplexMissionItem | |
| void | patternNameChanged (void) |
| void | complexDistanceChanged (void) |
| void | boundingCubeChanged (void) |
| void | greatestDistanceToChanged (void) |
| void | presetNamesChanged (void) |
| void | isIncompleteChanged (void) |
| void | minAMSLAltitudeChanged (void) |
| void | maxAMSLAltitudeChanged (void) |
| void | terrainCollisionChanged (bool terrainCollision) |
Signals inherited from VisualMissionItem | |
| void | altDifferenceChanged (double altDifference) |
| void | altPercentChanged (double altPercent) |
| void | terrainPercentChanged (double terrainPercent) |
| void | terrainCollisionChanged (bool terrainCollision) |
| void | azimuthChanged (double azimuth) |
| void | commandDescriptionChanged (void) |
| void | commandNameChanged (void) |
| void | abbreviationChanged (void) |
| void | coordinateChanged (const QGeoCoordinate &coordinate) |
| void | entryCoordinateChanged (const QGeoCoordinate &entryCoordinate) |
| void | exitCoordinateChanged (const QGeoCoordinate &exitCoordinate) |
| void | dirtyChanged (bool dirty) |
| void | distanceChanged (double distance) |
| void | distanceFromStartChanged (double distanceFromStart) |
| void | isCurrentItemChanged (bool isCurrentItem) |
| void | hasCurrentChildItemChanged (bool hasCurrentChildItem) |
| void | sequenceNumberChanged (int sequenceNumber) |
| void | isSimpleItemChanged (bool isSimpleItem) |
| void | isTakeoffItemChanged (bool isTakeoffItem) |
| void | isLandCommandChanged (void) |
| void | specifiesCoordinateChanged (void) |
| void | isStandaloneCoordinateChanged (void) |
| void | specifiesAltitudeOnlyChanged (void) |
| void | specifiedFlightSpeedChanged (void) |
| void | specifiedGimbalYawChanged (void) |
| void | specifiedGimbalPitchChanged (void) |
| void | specifiedVehicleYawChanged (void) |
| void | lastSequenceNumberChanged (int sequenceNumber) |
| void | missionGimbalYawChanged (double missionGimbalYaw) |
| void | missionVehicleYawChanged (double missionVehicleYaw) |
| void | terrainAltitudeChanged (double terrainAltitude) |
| void | terrainQueryFailedChanged (bool terrainQueryFailed) |
| void | additionalTimeDelayChanged (void) |
| void | boundingCubeChanged (void) |
| void | readyForSaveStateChanged (void) |
| void | wizardModeChanged (bool wizardMode) |
| void | parentItemChanged (VisualMissionItem *parentItem) |
| void | amslEntryAltChanged (double alt) |
| void | amslExitAltChanged (double alt) |
| void | previousVTOLModeChanged (void) |
| void | currentVTOLModeChanged (void) |
| Signals that this item has changed the VTOL mode (MAV_CMD_DO_VTOL_TRANSITION) | |
| void | exitCoordinateSameAsEntryChanged (bool exitCoordinateSameAsEntry) |
Protected Types inherited from LandingComplexItem | |
| typedef bool(* | IsLandItemFunc) (const MissionItem &missionItem) |
| typedef LandingComplexItem *(* | CreateItemFunc) (PlanMasterController *masterController, bool flyView) |
Protected Slots inherited from LandingComplexItem | |
| virtual void | _updateFlightPathSegmentsDontCallDirectly (void)=0 |
| void | _recalcFromHeadingAndDistanceChange (void) |
| void | _recalcFromCoordinateChange (void) |
| void | _setDirty (void) |
Protected Slots inherited from ComplexMissionItem | |
| virtual void | _segmentTerrainCollisionChanged (bool terrainCollision) |
Protected Slots inherited from VisualMissionItem | |
| void | _amslEntryAltChanged (void) |
| void | _amslExitAltChanged (void) |
Protected Member Functions inherited from LandingComplexItem | |
| void | _init (void) |
| QPointF | _rotatePoint (const QPointF &point, const QPointF &origin, double angle) |
| MissionItem * | _createDoLandStartItem (int seqNum, QObject *parent) |
| MissionItem * | _createDoChangeSpeedItem (int speedType, int speedValue, int throttlePercentage, int seqNum, QObject *parent) |
| MissionItem * | _createFinalApproachItem (int seqNum, QObject *parent) |
| QJsonObject | _save (void) |
| bool | _load (const QJsonObject &complexObject, int sequenceNumber, const QString &jsonComplexItemTypeValue, bool useDeprecatedRelAltKeys, QString &errorString) |
Protected Member Functions inherited from ComplexMissionItem | |
| 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) |
Static Protected Member Functions inherited from LandingComplexItem | |
| static bool | _scanForItems (QmlObjectListModel *visualItems, bool flyView, PlanMasterController *masterController, IsLandItemFunc isLandItemFunc, CreateItemFunc createItemFunc) |
| static bool | _scanForItem (QmlObjectListModel *visualItems, int &startIndex, bool flyView, PlanMasterController *masterController, IsLandItemFunc isLandItemFunc, CreateItemFunc createItemFunc) |
Protected Attributes inherited from LandingComplexItem | |
| int | _sequenceNumber = 0 |
| bool | _dirty = false |
| QGeoCoordinate | _finalApproachCoordinate |
| QGeoCoordinate | _slopeStartCoordinate |
| QGeoCoordinate | _landingCoordinate |
| bool | _landingCoordSet = false |
| bool | _ignoreRecalcSignals = false |
| bool | _altitudesAreRelative = true |
Protected Attributes inherited from ComplexMissionItem | |
| 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 inherited from LandingComplexItem | |
| static constexpr const char * | _jsonDeprecatedLandingAltitudeRelativeKey = "landAltitudeRelative" |
| static constexpr const char * | _jsonDeprecatedLoiterAltitudeRelativeKey = "loiterAltitudeRelative" |
| static constexpr const char * | _jsonDeprecatedLoiterCoordinateKey = "loiterCoordinate" |
| static constexpr const char * | _jsonFinalApproachCoordinateKey = "landingApproachCoordinate" |
| static constexpr const char * | _jsonUseDoChangeSpeedKey = "useDoChangeSpeed" |
| static constexpr const char * | _jsonFinalApproachSpeedKey = "finalApproachSpeed" |
| static constexpr const char * | _jsonLoiterRadiusKey = "loiterRadius" |
| static constexpr const char * | _jsonLoiterClockwiseKey = "loiterClockwise" |
| static constexpr const char * | _jsonLandingCoordinateKey = "landCoordinate" |
| static constexpr const char * | _jsonAltitudesAreRelativeKey = "altitudesAreRelative" |
| static constexpr const char * | _jsonUseLoiterToAltKey = "useLoiterToAlt" |
| static constexpr const char * | _jsonStopTakingPhotosKey = "stopTakingPhotos" |
| static constexpr const char * | _jsonStopTakingVideoKey = "stopVideoPhotos" |
Static Protected Attributes inherited from ComplexMissionItem | |
| static constexpr const char * | _presetSettingsKey = "_presets" |
Definition at line 10 of file FixedWingLandingComplexItem.h.
| FixedWingLandingComplexItem::FixedWingLandingComplexItem | ( | PlanMasterController * | masterController, |
| bool | flyView | ||
| ) |
Definition at line 13 of file FixedWingLandingComplexItem.cc.
References LandingComplexItem::_setDirty(), and Fact::valueChanged().
|
inline |
Definition at line 21 of file FixedWingLandingComplexItem.h.
|
finalvirtual |
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 |
Implements ComplexMissionItem.
Definition at line 66 of file FixedWingLandingComplexItem.cc.
References LandingComplexItem::_ignoreRecalcSignals, LandingComplexItem::_load(), errorString, jsonComplexItemTypeValue, JsonParsing::jsonVersionKey, LandingComplexItem::sequenceNumber(), Fact::setRawValue(), and JsonParsing::validateKeys().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 30 of file FixedWingLandingComplexItem.h.
|
finalvirtual |
Implements ComplexMissionItem.
Definition at line 46 of file FixedWingLandingComplexItem.cc.
References VisualMissionItem::_masterController, canonicalName, MissionController::isFirstLandingComplexItem(), and PlanMasterController::missionController().
|
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 54 of file FixedWingLandingComplexItem.cc.
References LandingComplexItem::_save(), ComplexMissionItem::jsonComplexItemTypeKey, jsonComplexItemTypeValue, VisualMissionItem::jsonTypeComplexItemValue, VisualMissionItem::jsonTypeKey, JsonParsing::jsonVersionKey, and Fact::rawValue().
|
static |
Scans the loaded items for a landing pattern complex item.
Definition at line 139 of file FixedWingLandingComplexItem.cc.
References LandingComplexItem::_scanForItems(), VisualMissionItem::flyView(), and VisualMissionItem::masterController().
|
inline |
Definition at line 22 of file FixedWingLandingComplexItem.h.
|
staticconstexpr |
Definition at line 35 of file FixedWingLandingComplexItem.h.
Referenced by QGCCorePlugin::createComplexMissionItem(), MissionController::insertLandItem(), and patternName().
|
staticconstexpr |
Definition at line 40 of file FixedWingLandingComplexItem.h.
|
staticconstexpr |
Definition at line 38 of file FixedWingLandingComplexItem.h.
Referenced by QGCCorePlugin::createComplexMissionItem(), load(), and save().
|
staticconstexpr |
Definition at line 37 of file FixedWingLandingComplexItem.h.
|
staticconstexpr |
Definition at line 41 of file FixedWingLandingComplexItem.h.