|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include <StructureScanComplexItem.h>
Inheritance diagram for StructureScanComplexItem:
Collaboration diagram for StructureScanComplexItem:Public Member Functions | |
| StructureScanComplexItem (PlanMasterController *masterController, bool flyView, const QString &kmlOrSHPFile) | |
| CameraCalc * | cameraCalc (void) |
| Fact * | entranceAlt (void) |
| Fact * | scanBottomAlt (void) |
| Fact * | structureHeight (void) |
| Fact * | layers (void) |
| Fact * | gimbalPitch (void) |
| Fact * | startFromTop (void) |
| double | bottomFlightAlt (void) const |
| double | topFlightAlt (void) const |
| int | cameraShots (void) const |
| double | timeBetweenShots (void) |
| QGCMapPolygon * | structurePolygon (void) |
| QGCMapPolygon * | flightPolygon (void) |
| Q_INVOKABLE void | rotateEntryPoint (void) |
| QString | patternName (void) const final |
| double | complexDistance (void) const final |
| int | lastSequenceNumber (void) const final |
| bool | load (const QJsonObject &complexObject, int sequenceNumber, QString &errorString) final |
| double | greatestDistanceTo (const QGeoCoordinate &other) const final |
| QString | mapVisualQML (void) const final |
| bool | dirty (void) const final |
| bool | isSimpleItem (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 | setMissionFlightStatus (MissionFlightStatus_t &missionFlightStatus) 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 |
| void | save (QJsonArray &missionItems) 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 | isLandCommand (void) const |
| virtual bool | isSurveyItem (void) const |
| virtual double | specifiedVehicleYaw (void) |
| virtual QGCGeoBoundingCube * | boundingCube (void) |
| double | missionGimbalYaw (void) const |
| double | missionVehicleYaw (void) const |
| void | setMissionVehicleYaw (double vehicleYaw) |
Static Public Attributes | |
| static constexpr const char * | canonicalName = QT_TR_NOOP("Structure Scan") |
| static constexpr const char * | settingsGroup = "StructureScan" |
| static constexpr const char * | scanBottomAltName = "ScanBottomAlt" |
| static constexpr const char * | structureHeightName = "StructureHeight" |
| static constexpr const char * | layersName = "Layers" |
| static constexpr const char * | gimbalPitchName = "GimbalPitch" |
| static constexpr const char * | startFromTopName = "StartFromTop" |
| static constexpr const char * | jsonComplexItemTypeValue = "StructureScan" |
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 } |
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 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) |
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 ComplexMissionItem | |
| static constexpr const char * | _presetSettingsKey = "_presets" |
Definition at line 11 of file StructureScanComplexItem.h.
| StructureScanComplexItem::StructureScanComplexItem | ( | PlanMasterController * | masterController, |
| bool | flyView, | ||
| const QString & | kmlOrSHPFile | ||
| ) |
| flyView | true: Created for use in the Fly View, false: Created for use in the Plan View |
| kmlOrSHPFile | Polygon comes from this file, empty for default polygon |
Definition at line 16 of file StructureScanComplexItem.cc.
References VisualMissionItem::_amslEntryAltChanged(), _updateFlightPathSegmentsSignal(), VisualMissionItem::amslEntryAltChanged(), VisualMissionItem::amslExitAltChanged(), bottomFlightAltChanged(), VisualMissionItem::coordinateChanged(), QGCMapPolygon::countChanged(), QGCMapPolygon::dirtyChanged(), VisualMissionItem::entryCoordinateChanged(), VisualMissionItem::exitCoordinateChanged(), SettingsManager::instance(), CameraCalc::isManualCameraChanged(), QGCMapPolygon::isValidChanged(), ComplexMissionItem::maxAMSLAltitudeChanged(), ComplexMissionItem::minAMSLAltitudeChanged(), QGCMapPolygon::pathChanged(), MissionController::plannedHomePositionChanged(), qgcApp, VisualMissionItem::readyForSaveStateChanged(), topFlightAltChanged(), QGCMapPolygon::traceModeChanged(), Fact::valueChanged(), and VisualMissionItem::wizardModeChanged().
|
signal |
Referenced by StructureScanComplexItem().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 67 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 78 of file StructureScanComplexItem.h.
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 665 of file StructureScanComplexItem.cc.
References VisualMissionItem::_missionController, MissionController::plannedHomePosition(), and Fact::rawValue().
Referenced by amslExitAlt().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 87 of file StructureScanComplexItem.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 298 of file StructureScanComplexItem.cc.
References CameraCalc::adjustedFootprintFrontal(), CameraCalc::adjustedFootprintSide(), QGCMapPolygon::count(), Fact::rawValue(), startFromTop(), and QGCMapPolygon::vertexCoordinate().
|
finalvirtual |
Adjust the altitude of the item if appropriate to the new altitude.
Implements VisualMissionItem.
Definition at line 464 of file StructureScanComplexItem.cc.
References Fact::setRawValue().
| double StructureScanComplexItem::bottomFlightAlt | ( | void | ) | const |
Definition at line 588 of file StructureScanComplexItem.cc.
References CameraCalc::adjustedFootprintFrontal(), and Fact::rawValue().
Referenced by minAMSLAltitude().
|
signal |
Referenced by StructureScanComplexItem().
|
inline |
Definition at line 34 of file StructureScanComplexItem.h.
| int StructureScanComplexItem::cameraShots | ( | void | ) | const |
Definition at line 445 of file StructureScanComplexItem.cc.
|
signal |
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 65 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 66 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements ComplexMissionItem.
Definition at line 53 of file StructureScanComplexItem.h.
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 501 of file StructureScanComplexItem.cc.
References QGCMapPolygon::count(), and QGCMapPolygon::vertexCoordinate().
Referenced by entryCoordinate(), exitCoordinate(), rotateEntryPoint(), and setCoordinate().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 60 of file StructureScanComplexItem.h.
References VisualMissionItem::_dirty.
Referenced by setDirty().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 660 of file StructureScanComplexItem.cc.
References Fact::rawValue().
|
inline |
Definition at line 35 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 69 of file StructureScanComplexItem.h.
References coordinate().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 70 of file StructureScanComplexItem.h.
References coordinate().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 80 of file StructureScanComplexItem.h.
|
inline |
Definition at line 47 of file StructureScanComplexItem.h.
|
inline |
Definition at line 39 of file StructureScanComplexItem.h.
|
finalvirtual |
Get the point of complex mission item furthest away from a coordinate
| other | QGeoCoordinate to which distance is calculated |
Implements ComplexMissionItem.
Definition at line 282 of file StructureScanComplexItem.cc.
References QGCMapPolygon::coordinateList(), and VisualMissionItem::distance().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 61 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 62 of file StructureScanComplexItem.h.
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 132 of file StructureScanComplexItem.cc.
References QGCMapPolygon::count(), and Fact::rawValue().
Referenced by setSequenceNumber().
|
inline |
Definition at line 38 of file StructureScanComplexItem.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 191 of file StructureScanComplexItem.cc.
References QGCMapPolygon::clear(), errorString, gimbalPitchName, ComplexMissionItem::jsonComplexItemTypeKey, jsonComplexItemTypeValue, QGCMapPolygon::jsonPolygonKey, VisualMissionItem::jsonTypeComplexItemValue, VisualMissionItem::jsonTypeKey, JsonParsing::jsonVersionKey, layersName, CameraCalc::load(), QGCMapPolygon::loadFromJson(), qgcApp, scanBottomAltName, sequenceNumber(), Fact::setRawValue(), setSequenceNumber(), startFromTopName, structureHeightName, and JsonParsing::validateKeys().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 57 of file StructureScanComplexItem.h.
|
finalvirtual |
Implements ComplexMissionItem.
Definition at line 759 of file StructureScanComplexItem.cc.
References VisualMissionItem::_missionController, MissionController::plannedHomePosition(), Fact::rawValue(), and topFlightAlt().
|
finalvirtual |
Implements ComplexMissionItem.
Definition at line 753 of file StructureScanComplexItem.cc.
References VisualMissionItem::_missionController, bottomFlightAlt(), MissionController::plannedHomePosition(), and Fact::rawValue().
|
inlinefinalvirtual |
Implements ComplexMissionItem.
Definition at line 52 of file StructureScanComplexItem.h.
References canonicalName.
|
finalvirtual |
Reimplemented from VisualMissionItem.
Definition at line 648 of file StructureScanComplexItem.cc.
References VisualMissionItem::_wizardMode, QGCMapPolygon::isValid(), VisualMissionItem::NotReadyForSaveData, and VisualMissionItem::ReadyForSave.
| void StructureScanComplexItem::rotateEntryPoint | ( | void | ) |
Definition at line 516 of file StructureScanComplexItem.cc.
References coordinate(), VisualMissionItem::coordinateChanged(), and QGCMapPolygon::count().
|
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 157 of file StructureScanComplexItem.cc.
References gimbalPitchName, ComplexMissionItem::jsonComplexItemTypeKey, jsonComplexItemTypeValue, VisualMissionItem::jsonTypeComplexItemValue, VisualMissionItem::jsonTypeKey, JsonParsing::jsonVersionKey, layersName, Fact::rawValue(), CameraCalc::save(), QGCMapPolygon::saveToJson(), scanBottomAltName, startFromTopName, and structureHeightName.
|
inline |
Definition at line 36 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 71 of file StructureScanComplexItem.h.
Referenced by load(), and setSequenceNumber().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 469 of file StructureScanComplexItem.cc.
References coordinate(), QGCMapPolygon::coordinateList(), QGCMapPolygon::count(), and QGCMapPolygon::setPath().
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 149 of file StructureScanComplexItem.cc.
References VisualMissionItem::_dirty, dirty(), and VisualMissionItem::dirtyChanged().
|
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 450 of file StructureScanComplexItem.cc.
References QGC::fuzzyCompare(), VisualMissionItem::setMissionFlightStatus(), timeBetweenShotsChanged(), and MissionFlightStatus_t::vehicleSpeed.
|
finalvirtual |
Implements VisualMissionItem.
Definition at line 182 of file StructureScanComplexItem.cc.
References lastSequenceNumber(), VisualMissionItem::lastSequenceNumberChanged(), sequenceNumber(), and VisualMissionItem::sequenceNumberChanged().
Referenced by load().
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 72 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 74 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 73 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 64 of file StructureScanComplexItem.h.
|
inlinefinalvirtual |
Implements VisualMissionItem.
Definition at line 63 of file StructureScanComplexItem.h.
|
inline |
Definition at line 40 of file StructureScanComplexItem.h.
Referenced by appendMissionItems().
|
inline |
Definition at line 37 of file StructureScanComplexItem.h.
|
inline |
Definition at line 46 of file StructureScanComplexItem.h.
| double StructureScanComplexItem::timeBetweenShots | ( | void | ) |
Definition at line 496 of file StructureScanComplexItem.cc.
References CameraCalc::adjustedFootprintSide(), and Fact::rawValue().
|
signal |
Referenced by setMissionFlightStatus().
| double StructureScanComplexItem::topFlightAlt | ( | void | ) | const |
Definition at line 601 of file StructureScanComplexItem.cc.
References CameraCalc::adjustedFootprintFrontal(), and Fact::rawValue().
Referenced by maxAMSLAltitude().
|
signal |
Referenced by StructureScanComplexItem().
|
staticconstexpr |
Definition at line 91 of file StructureScanComplexItem.h.
Referenced by QGCCorePlugin::complexMissionItemNames(), QGCCorePlugin::createComplexMissionItem(), StructureScanPlanCreator::createPlan(), and patternName().
|
staticconstexpr |
Definition at line 97 of file StructureScanComplexItem.h.
|
staticconstexpr |
Definition at line 100 of file StructureScanComplexItem.h.
Referenced by QGCCorePlugin::createComplexMissionItem(), load(), and save().
|
staticconstexpr |
Definition at line 96 of file StructureScanComplexItem.h.
|
staticconstexpr |
Definition at line 94 of file StructureScanComplexItem.h.
|
staticconstexpr |
Definition at line 93 of file StructureScanComplexItem.h.
|
staticconstexpr |
Definition at line 98 of file StructureScanComplexItem.h.
|
staticconstexpr |
Definition at line 95 of file StructureScanComplexItem.h.