QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
SurveyComplexItem Class Reference

#include <SurveyComplexItem.h>

+ Inheritance diagram for SurveyComplexItem:
+ Collaboration diagram for SurveyComplexItem:

Public Types

enum  EntryLocation {
  EntryLocationFirst , EntryLocationTopLeft = EntryLocationFirst , EntryLocationTopRight , EntryLocationBottomLeft ,
  EntryLocationBottomRight , EntryLocationLast = EntryLocationBottomRight
}
 
- Public Types inherited from VisualMissionItem
enum  ReadyForSaveState { ReadyForSave , NotReadyForSaveTerrain , NotReadyForSaveData }
 

Signals

void refly90DegreesChanged (bool refly90Degrees)
 
- Signals inherited from TransectStyleComplexItem
void cameraShotsChanged (void)
 
void timeBetweenShotsChanged (void)
 
void visualTransectPointsChanged (void)
 
void coveredAreaChanged (void)
 
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 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)
 

Public Member Functions

 SurveyComplexItem (PlanMasterController *masterController, bool flyView, const QString &kmlOrShpFile)
 
Fact *gridAngle READ gridAngle CONSTANT (Fact *flyAlternateTransects READ flyAlternateTransects CONSTANT) 1(Fact *splitConcavePolygons READ splitConcavePolygons CONSTANT) 1(QGeoCoordinate centerCoordinate READ centerCoordinate WRITE setCenterCoordinate) Fact *gridAngle(void)
 
FactflyAlternateTransects (void)
 
FactsplitConcavePolygons (void)
 
void rotateEntryPoint (void)
 
QString patternName (void) const final
 
bool load (const QJsonObject &complexObject, int sequenceNumber, QString &errorString) final
 
QString mapVisualQML (void) const final
 
QString presetsSettingsGroup (void)
 
void savePreset (const QString &name)
 
void loadPreset (const QString &name)
 
bool isSurveyItem (void) const final
 
QGeoCoordinate centerCoordinate (void) const
 
void setCenterCoordinate (const QGeoCoordinate &coordinate)
 
void save (QJsonArray &planItems) final
 
bool specifiesCoordinate (void) const final
 
double timeBetweenShots (void) final
 
QString commandDescription (void) const final
 
QString commandName (void) const final
 
QString abbreviation (void) const final
 
ReadyForSaveState readyForSaveState (void) const final
 
double additionalTimeDelay (void) const final
 
- Public Member Functions inherited from TransectStyleComplexItem
 TransectStyleComplexItem (PlanMasterController *masterController, bool flyView, QString settignsGroup)
 
QGCMapPolygon *surveyAreaPolygon READ surveyAreaPolygon CONSTANT (CameraCalc *cameraCalc READ cameraCalc CONSTANT) 1(Fact *turnAroundDistance READ turnAroundDistance CONSTANT) 1(Fact *cameraTriggerInTurnAround READ cameraTriggerInTurnAround CONSTANT) 1(Fact *hoverAndCapture READ hoverAndCapture CONSTANT) 1(Fact *refly90Degrees READ refly90Degrees CONSTANT) 1(int cameraShots READ cameraShots NOTIFY cameraShotsChanged) 1(double timeBetweenShots READ timeBetweenShots NOTIFY timeBetweenShotsChanged) 1(double coveredArea READ coveredArea NOTIFY coveredAreaChanged) 1(bool hoverAndCaptureAllowed READ hoverAndCaptureAllowed CONSTANT) 1(QVariantList visualTransectPoints READ visualTransectPoints NOTIFY visualTransectPointsChanged) 1(Fact *terrainAdjustTolerance READ terrainAdjustTolerance CONSTANT) 1(Fact *terrainAdjustMaxDescentRate READ terrainAdjustMaxDescentRate CONSTANT) 1(Fact *terrainAdjustMaxClimbRate READ terrainAdjustMaxClimbRate CONSTANT) QGCMapPolygon *surveyAreaPolygon(void)
 
CameraCalccameraCalc (void)
 
QVariantList visualTransectPoints (void)
 
FactturnAroundDistance (void)
 
FactcameraTriggerInTurnAround (void)
 
FacthoverAndCapture (void)
 
Factrefly90Degrees (void)
 
FactterrainAdjustTolerance (void)
 
FactterrainAdjustMaxDescentRate (void)
 
FactterrainAdjustMaxClimbRate (void)
 
const FacthoverAndCapture (void) const
 
int cameraShots (void) const
 
double coveredArea (void) const
 
bool hoverAndCaptureAllowed (void) const
 
double triggerDistance (void) const
 
bool hoverAndCaptureEnabled (void) const
 
bool triggerCamera (void) const
 
int _transectCount (void) const
 
int lastSequenceNumber (void) const final
 
void addKMLVisuals (KMLPlanDomDocument &domDocument) final
 
double complexDistance (void) const final
 
double greatestDistanceTo (const QGeoCoordinate &other) const 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.
 
bool dirty (void) const final
 
bool isSimpleItem (void) const final
 
bool isStandaloneCoordinate (void) const final
 
bool specifiesAltitudeOnly (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 setMissionFlightStatus (MissionController::MissionFlightStatus_t &missionFlightStatus) final
 
ReadyForSaveState readyForSaveState (void) const override
 
QString commandDescription (void) const override
 
QString commandName (void) const override
 
QString abbreviation (void) const override
 
bool exitCoordinateSameAsEntry (void) const final
 
void setDirty (bool dirty) final
 
void setCoordinate (const QGeoCoordinate &coordinate) override
 
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 ComplexMissionItemoperator= (const ComplexMissionItem &other)
 
QString patternName READ patternName NOTIFY patternNameChanged (double complexDistance READ complexDistance NOTIFY complexDistanceChanged) 1(bool presetsSupported READ presetsSupported CONSTANT) 1(QStringList presetNames READ presetNames NOTIFY presetNamesChanged) 1(bool isIncomplete READ isIncomplete NOTIFY isIncompleteChanged) 1(double minAMSLAltitude READ minAMSLAltitude NOTIFY minAMSLAltitudeChanged) 1(double maxAMSLAltitude READ maxAMSLAltitude NOTIFY maxAMSLAltitudeChanged) 1(bool isSingleItem READ isSingleItem CONSTANT) 1(QmlObjectListModel *flightPathSegments READ flightPathSegments CONSTANT) 1(bool terrainCollision READ terrainCollision NOTIFY terrainCollisionChanged) QmlObjectListModel *flightPathSegments(void)
 < Minimum altitude of all coordinates in item
 
virtual bool terrainCollision (void) const
 
virtual bool isSingleItem (void) const
 
void deletePreset (const QString &name)
 
virtual QStringList presetNames (void)
 
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 VisualMissionItemoperator= (const VisualMissionItem &other)
 
bool homePosition READ homePosition CONSTANT (QGeoCoordinate coordinate READ coordinate WRITE setCoordinate NOTIFY coordinateChanged) 1(double amslEntryAlt READ amslEntryAlt NOTIFY amslEntryAltChanged) 1(double terrainAltitude READ terrainAltitude NOTIFY terrainAltitudeChanged) 1(QGeoCoordinate entryCoordinate READ entryCoordinate NOTIFY entryCoordinateChanged) 1(QGeoCoordinate exitCoordinate READ exitCoordinate NOTIFY exitCoordinateChanged) 1(double amslExitAlt READ amslExitAlt NOTIFY amslExitAltChanged) 1(bool exitCoordinateSameAsEntry READ exitCoordinateSameAsEntry NOTIFY exitCoordinateSameAsEntryChanged) 1(QString commandDescription READ commandDescription NOTIFY commandDescriptionChanged) 1(QString commandName READ commandName NOTIFY commandNameChanged) 1(QString abbreviation READ abbreviation NOTIFY abbreviationChanged) 1(bool dirty READ dirty WRITE setDirty NOTIFY dirtyChanged) 1(bool isCurrentItem READ isCurrentItem WRITE setIsCurrentItem NOTIFY isCurrentItemChanged) 1(bool hasCurrentChildItem READ hasCurrentChildItem WRITE setHasCurrentChildItem NOTIFY hasCurrentChildItemChanged) 1(int sequenceNumber READ sequenceNumber WRITE setSequenceNumber NOTIFY sequenceNumberChanged) 1(int lastSequenceNumber READ lastSequenceNumber NOTIFY lastSequenceNumberChanged) 1(bool specifiesCoordinate READ specifiesCoordinate NOTIFY specifiesCoordinateChanged) 1(bool isStandaloneCoordinate READ isStandaloneCoordinate NOTIFY isStandaloneCoordinateChanged) 1(bool specifiesAltitudeOnly READ specifiesAltitudeOnly NOTIFY specifiesAltitudeOnlyChanged) 1(bool isSimpleItem READ isSimpleItem NOTIFY isSimpleItemChanged) 1(bool isTakeoffItem READ isTakeoffItem NOTIFY isTakeoffItemChanged) 1(bool isLandCommand READ isLandCommand NOTIFY isLandCommandChanged) 1(bool isSurveyItem READ isSurveyItem) 1(QString editorQml MEMBER _editorQml CONSTANT) 1(QString mapVisualQML READ mapVisualQML CONSTANT) 1(double specifiedFlightSpeed READ specifiedFlightSpeed NOTIFY specifiedFlightSpeedChanged) 1(double specifiedGimbalYaw READ specifiedGimbalYaw NOTIFY specifiedGimbalYawChanged) 1(double specifiedGimbalPitch READ specifiedGimbalPitch NOTIFY specifiedGimbalPitchChanged) 1(double specifiedVehicleYaw READ specifiedVehicleYaw NOTIFY specifiedVehicleYawChanged) 1(double missionGimbalYaw READ missionGimbalYaw NOTIFY missionGimbalYawChanged) 1(double missionVehicleYaw READ missionVehicleYaw NOTIFY missionVehicleYawChanged) 1(bool flyView READ flyView CONSTANT) 1(bool wizardMode READ wizardMode WRITE setWizardMode NOTIFY wizardModeChanged) 1(int previousVTOLMode MEMBER _previousVTOLMode NOTIFY previousVTOLModeChanged) 1(PlanMasterController *masterController READ masterController CONSTANT) 1(ReadyForSaveState readyForSaveState READ readyForSaveState NOTIFY readyForSaveStateChanged) 1(VisualMissionItem *parentItem READ parentItem WRITE setParentItem NOTIFY parentItemChanged) 1(QmlObjectListModel *childItems READ childItems CONSTANT) 1(QGCGeoBoundingCube *boundingCube READ boundingCube NOTIFY boundingCubeChanged) 1(double altDifference READ altDifference WRITE setAltDifference NOTIFY altDifferenceChanged) 1(double altPercent READ altPercent WRITE setAltPercent NOTIFY altPercentChanged) 1(double terrainPercent READ terrainPercent WRITE setTerrainPercent NOTIFY terrainPercentChanged) 1(bool terrainCollision READ terrainCollision WRITE setTerrainCollision NOTIFY terrainCollisionChanged) 1(double azimuth READ azimuth WRITE setAzimuth NOTIFY azimuthChanged) 1(double distance READ distance WRITE setDistance NOTIFY distanceChanged) 1(double distanceFromStart READ distanceFromStart WRITE setDistanceFromStart NOTIFY distanceFromStartChanged) bool homePosition(void) const
 < true: This item is being used as a home position indicator
 
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 flyView (void) const
 
bool wizardMode (void) const
 
VisualMissionItemparentItem (void)
 
QmlObjectListModelchildItems (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)
 
FlightPathSegmentsimpleFlightPathSegment (void)
 
void setSimpleFlighPathSegment (FlightPathSegment *segment)
 
void clearSimpleFlighPathSegment (void)
 
PlanMasterControllermasterController (void)
 
virtual bool isTakeoffItem (void) const
 
virtual bool isLandCommand (void) const
 
virtual double specifiedVehicleYaw (void)
 
virtual QGCGeoBoundingCubeboundingCube (void)
 
double missionGimbalYaw (void) const
 
double missionVehicleYaw (void) const
 
void setMissionVehicleYaw (double vehicleYaw)
 

Static Public Attributes

static const QString name
 
static constexpr const char * jsonComplexItemTypeValue = "survey"
 
static constexpr const char * jsonV3ComplexItemTypeValue = "survey"
 
static constexpr const char * settingsGroup = "Survey"
 
static constexpr const char * gridAngleName = "GridAngle"
 
static constexpr const char * gridEntryLocationName = "GridEntryLocation"
 
static constexpr const char * flyAlternateTransectsName = "FlyAlternateTransects"
 
static constexpr const char * splitConcavePolygonsName = "SplitConcavePolygons"
 
- Static Public Attributes inherited from TransectStyleComplexItem
static constexpr const char * turnAroundDistanceName = "TurnAroundDistance"
 
static constexpr const char * turnAroundDistanceMultiRotorName = "TurnAroundDistanceMultiRotor"
 
static constexpr const char * cameraTriggerInTurnAroundName = "CameraTriggerInTurnAround"
 
static constexpr const char * hoverAndCaptureName = "HoverAndCapture"
 
static constexpr const char * refly90DegreesName = "Refly90Degrees"
 
static constexpr const char * terrainAdjustToleranceName = "TerrainAdjustTolerance"
 
static constexpr const char * terrainAdjustMaxClimbRateName = "TerrainAdjustMaxClimbRate"
 
static constexpr const char * terrainAdjustMaxDescentRateName = "TerrainAdjustMaxDescentRate"
 
- 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

- Protected Types inherited from TransectStyleComplexItem
enum  CoordType {
  CoordTypeInterior , CoordTypeInteriorHoverTrigger , CoordTypeInteriorTerrainAdded , CoordTypeSurveyEntry ,
  CoordTypeSurveyExit , CoordTypeTurnaround
}
 
- Protected Slots inherited from TransectStyleComplexItem
void _setDirty (void)
 
void _setIfDirty (bool dirty)
 
void _updateCoordinateAltitudes (void)
 
void _polyPathTerrainData (bool success, const QList< TerrainPathQuery::PathHeightInfo_t > &rgPathHeightInfo)
 
void _missionItemCoordTerrainData (bool success, QList< double > heights)
 
void _rebuildTransects (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 TransectStyleComplexItem
virtual void _rebuildTransectsPhase1 (void)=0
 Rebuilds the _transects array.
 
virtual void _recalcCameraShots (void)=0
 
void _save (QJsonObject &saveObject)
 
bool _load (const QJsonObject &complexObject, bool forPresets, QString &errorString)
 
void _setExitCoordinate (const QGeoCoordinate &coordinate)
 
void _setCameraShots (int cameraShots)
 
double _triggerDistance (void) const
 
bool _hasTurnaround (void) const
 
double _turnAroundDistance (void) const
 
void _appendWaypoint (QList< MissionItem * > &items, QObject *missionItemParent, int &seqNum, MAV_FRAME mavFrame, float holdTime, const QGeoCoordinate &coordinate)
 
void _appendSinglePhotoCapture (QList< MissionItem * > &items, QObject *missionItemParent, int &seqNum)
 
void _appendConditionGate (QList< MissionItem * > &items, QObject *missionItemParent, int &seqNum, MAV_FRAME mavFrame, const QGeoCoordinate &coordinate)
 
void _appendCameraTriggerDistance (QList< MissionItem * > &items, QObject *missionItemParent, int &seqNum, float triggerDistance)
 
void _appendCameraTriggerDistanceUpdatePoint (QList< MissionItem * > &items, QObject *missionItemParent, int &seqNum, MAV_FRAME mavFrame, const QGeoCoordinate &coordinate, bool useConditionGate, float triggerDistance)
 
void _buildAndAppendMissionItems (QList< MissionItem * > &items, QObject *missionItemParent)
 
void _appendLoadedMissionItems (QList< MissionItem * > &items, QObject *missionItemParent)
 
void _recalcComplexDistance (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 TransectStyleComplexItem
int _sequenceNumber = 0
 
QGeoCoordinate _entryCoordinate
 
QGeoCoordinate _exitCoordinate
 
QGCMapPolygon _surveyAreaPolygon
 
QVariantList _visualTransectPoints
 Used to draw the flight path visuals on the screen.
 
QList< QList< CoordInfo_t > > _transects
 
QList< TerrainPathQuery::PathHeightInfo_t_rgPathHeightInfo
 Path height for each segment includes turn segments.
 
QList< QGeoCoordinate > _rgFlyThroughMissionItemCoords
 
QList< double > _rgFlyThroughMissionItemCoordsTerrainHeights
 
QList< CoordInfo_t_rgFlightPathCoordInfo
 Fully calculated flight path (including terrain if needed)
 
bool _ignoreRecalc = false
 
double _complexDistance = qQNaN()
 
int _cameraShots = 0
 
double _timeBetweenShots = 0
 
double _vehicleSpeed = 5
 
CameraCalc _cameraCalc
 
double _minAMSLAltitude = qQNaN()
 
double _maxAMSLAltitude = qQNaN()
 
QObject * _loadedMissionItemsParent = nullptr
 Parent for all items in _loadedMissionItems for simpler delete.
 
QList< MissionItem * > _loadedMissionItems
 Mission items loaded from plan file.
 
QMap< QString, FactMetaData * > _metaDataMap
 
SettingsFact _turnAroundDistanceFact
 
SettingsFact _cameraTriggerInTurnAroundFact
 
SettingsFact _hoverAndCaptureFact
 
SettingsFact _refly90DegreesFact
 
SettingsFact _terrainAdjustToleranceFact
 
SettingsFact _terrainAdjustMaxClimbRateFact
 
SettingsFact _terrainAdjustMaxDescentRateFact
 
- 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.
 
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.
 
- Static Protected Attributes inherited from TransectStyleComplexItem
static constexpr const char * _jsonTransectStyleComplexItemKey = "TransectStyleComplexItem"
 
static constexpr const char * _jsonCameraCalcKey = "CameraCalc"
 
static constexpr const char * _jsonVisualTransectPointsKey = "VisualTransectPoints"
 
static constexpr const char * _jsonItemsKey = "Items"
 
static constexpr const char * _jsonTerrainFlightSpeed = "TerrainFlightSpeed"
 
static constexpr const char * _jsonCameraShotsKey = "CameraShots"
 
static constexpr int _terrainQueryTimeoutMsecs = 1000
 
static constexpr int _hoverAndCaptureDelaySeconds = 4
 
static constexpr double _minimumTransectSpacingMeters = 0.3
 
static constexpr double _forceLargeTransectSpacingMeters = 100000
 
- Static Protected Attributes inherited from ComplexMissionItem
static constexpr const char * _presetSettingsKey = "_presets"
 

Detailed Description

Definition at line 13 of file SurveyComplexItem.h.

Member Enumeration Documentation

◆ EntryLocation

Enumerator
EntryLocationFirst 
EntryLocationTopLeft 
EntryLocationTopRight 
EntryLocationBottomLeft 
EntryLocationBottomRight 
EntryLocationLast 

Definition at line 57 of file SurveyComplexItem.h.

Constructor & Destructor Documentation

◆ SurveyComplexItem()

SurveyComplexItem::SurveyComplexItem ( PlanMasterController masterController,
bool  flyView,
const QString &  kmlOrShpFile 
)
Parameters
flyViewtrue: Created for use in the Fly View, false: Created for use in the Plan View
kmlOrShpFilePolygon comes from this file, empty for default polygon

Definition at line 21 of file SurveyComplexItem.cc.

References TransectStyleComplexItem::_rebuildTransects(), TransectStyleComplexItem::_setDirty(), QGCMapPolygon::isValidChanged(), refly90DegreesChanged(), QGCMapPolygon::traceModeChanged(), and Fact::valueChanged().

Member Function Documentation

◆ abbreviation()

QString SurveyComplexItem::abbreviation ( void  ) const
inlinefinalvirtual

Implements VisualMissionItem.

Definition at line 52 of file SurveyComplexItem.h.

◆ additionalTimeDelay()

double SurveyComplexItem::additionalTimeDelay ( void  ) const
finalvirtual
Returns
Amount of additional time delay in seconds needed to fly this item

Implements VisualMissionItem.

Definition at line 1339 of file SurveyComplexItem.cc.

References TransectStyleComplexItem::_hoverAndCaptureDelaySeconds, TransectStyleComplexItem::_transects, and TransectStyleComplexItem::hoverAndCaptureEnabled().

◆ centerCoordinate()

QGeoCoordinate SurveyComplexItem::centerCoordinate ( void  ) const
inline

◆ commandDescription()

QString SurveyComplexItem::commandDescription ( void  ) const
inlinefinalvirtual

Implements VisualMissionItem.

Definition at line 50 of file SurveyComplexItem.h.

◆ commandName()

QString SurveyComplexItem::commandName ( void  ) const
inlinefinalvirtual

Implements VisualMissionItem.

Definition at line 51 of file SurveyComplexItem.h.

◆ CONSTANT()

Fact *gridAngle READ gridAngle SurveyComplexItem::CONSTANT ( Fact *flyAlternateTransects READ flyAlternateTransects  CONSTANT)
inline

Definition at line 22 of file SurveyComplexItem.h.

◆ flyAlternateTransects()

Fact * SurveyComplexItem::flyAlternateTransects ( void  )
inline

Definition at line 28 of file SurveyComplexItem.h.

◆ isSurveyItem()

bool SurveyComplexItem::isSurveyItem ( void  ) const
inlinefinalvirtual

Reimplemented from VisualMissionItem.

Definition at line 40 of file SurveyComplexItem.h.

◆ load()

bool SurveyComplexItem::load ( const QJsonObject &  complexObject,
int  sequenceNumber,
QString &  errorString 
)
finalvirtual

Load the complex mission item from Json

Parameters
complexObjectComplex mission item json object
sequenceNumberSequence number for first MISSION_ITEM in survey
[out]errorStringError if load fails
Returns
true: load success, false: load failed, errorString set

Implements TransectStyleComplexItem.

Definition at line 104 of file SurveyComplexItem.cc.

References TransectStyleComplexItem::_cameraShots, TransectStyleComplexItem::_rebuildTransects(), TransectStyleComplexItem::_recalcComplexDistance(), errorString, ComplexMissionItem::jsonComplexItemTypeKey, jsonComplexItemTypeValue, VisualMissionItem::jsonTypeComplexItemValue, VisualMissionItem::jsonTypeKey, JsonHelper::jsonVersionKey, TransectStyleComplexItem::sequenceNumber(), and JsonHelper::validateKeys().

◆ loadPreset()

void SurveyComplexItem::loadPreset ( const QString &  name)
virtual

Loads the specified preset into the complex item.

Parameters
namePreset name.

Reimplemented from ComplexMissionItem.

Definition at line 93 of file SurveyComplexItem.cc.

References ComplexMissionItem::_loadPresetJson(), TransectStyleComplexItem::_rebuildTransects(), errorString, and qgcApp.

◆ mapVisualQML()

QString SurveyComplexItem::mapVisualQML ( void  ) const
inlinefinalvirtual
Returns
The QML resource file which contains the control which visualizes the item on the map.

Implements TransectStyleComplexItem.

Definition at line 36 of file SurveyComplexItem.h.

◆ patternName()

QString SurveyComplexItem::patternName ( void  ) const
inlinefinalvirtual

Implements ComplexMissionItem.

Definition at line 34 of file SurveyComplexItem.h.

References name.

◆ presetsSettingsGroup()

QString SurveyComplexItem::presetsSettingsGroup ( void  )
inlinevirtual

Returns the name of the settings group for presets. Empty string signals no support for presets.

Reimplemented from ComplexMissionItem.

Definition at line 37 of file SurveyComplexItem.h.

References settingsGroup.

◆ readyForSaveState()

SurveyComplexItem::ReadyForSaveState SurveyComplexItem::readyForSaveState ( void  ) const
finalvirtual
Returns
Returns whether the item is ready for save and if not, why

Reimplemented from VisualMissionItem.

Definition at line 1316 of file SurveyComplexItem.cc.

References TransectStyleComplexItem::readyForSaveState().

◆ refly90DegreesChanged

void SurveyComplexItem::refly90DegreesChanged ( bool  refly90Degrees)
signal

Referenced by SurveyComplexItem().

◆ rotateEntryPoint()

void SurveyComplexItem::rotateEntryPoint ( void  )

◆ save()

void SurveyComplexItem::save ( QJsonArray &  missionItems)
finalvirtual

Save the item(s) in Json format

Parameters
missionItemsCurrent set of mission items, new items should be appended to the end

Implements TransectStyleComplexItem.

Definition at line 61 of file SurveyComplexItem.cc.

◆ savePreset()

void SurveyComplexItem::savePreset ( const QString &  name)
virtual

Saves the current state of the complex item as the named preset.

Parameters
nameUser visible name for preset. Will replace existing preset if already exists.

Reimplemented from ComplexMissionItem.

Definition at line 69 of file SurveyComplexItem.cc.

References ComplexMissionItem::_savePresetJson().

◆ setCenterCoordinate()

void SurveyComplexItem::setCenterCoordinate ( const QGeoCoordinate &  coordinate)
inline

◆ specifiesCoordinate()

bool SurveyComplexItem::specifiesCoordinate ( void  ) const
inlinefinalvirtual

Implements TransectStyleComplexItem.

Definition at line 46 of file SurveyComplexItem.h.

◆ splitConcavePolygons()

Fact * SurveyComplexItem::splitConcavePolygons ( void  )
inline

Definition at line 29 of file SurveyComplexItem.h.

◆ timeBetweenShots()

double SurveyComplexItem::timeBetweenShots ( void  )
finalvirtual

Member Data Documentation

◆ flyAlternateTransectsName

constexpr const char* SurveyComplexItem::flyAlternateTransectsName = "FlyAlternateTransects"
staticconstexpr

Definition at line 74 of file SurveyComplexItem.h.

◆ gridAngleName

constexpr const char* SurveyComplexItem::gridAngleName = "GridAngle"
staticconstexpr

Definition at line 72 of file SurveyComplexItem.h.

◆ gridEntryLocationName

constexpr const char* SurveyComplexItem::gridEntryLocationName = "GridEntryLocation"
staticconstexpr

Definition at line 73 of file SurveyComplexItem.h.

◆ jsonComplexItemTypeValue

constexpr const char* SurveyComplexItem::jsonComplexItemTypeValue = "survey"
staticconstexpr

Definition at line 68 of file SurveyComplexItem.h.

Referenced by load().

◆ jsonV3ComplexItemTypeValue

constexpr const char* SurveyComplexItem::jsonV3ComplexItemTypeValue = "survey"
staticconstexpr

Definition at line 69 of file SurveyComplexItem.h.

◆ name

◆ settingsGroup

constexpr const char* SurveyComplexItem::settingsGroup = "Survey"
staticconstexpr

Definition at line 71 of file SurveyComplexItem.h.

Referenced by presetsSettingsGroup().

◆ splitConcavePolygonsName

constexpr const char* SurveyComplexItem::splitConcavePolygonsName = "SplitConcavePolygons"
staticconstexpr

Definition at line 75 of file SurveyComplexItem.h.


The documentation for this class was generated from the following files: