Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
9d216588
Commit
9d216588
authored
Nov 13, 2019
by
Daniel Agar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmake: MissionManager add new source and delete obsolete
parent
b8316907
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
60 additions
and
500 deletions
+60
-500
CMakeLists.txt
src/MissionManager/CMakeLists.txt
+60
-1
MissionLoader.h
src/MissionManager/MissionLoader.h
+0
-193
SurveyMissionItem.h
src/MissionManager/SurveyMissionItem.h
+0
-305
CMakeLists.txt
src/PlanView/CMakeLists.txt
+0
-1
No files found.
src/MissionManager/CMakeLists.txt
View file @
9d216588
...
...
@@ -3,67 +3,126 @@ set(EXTRA_SRC)
if
(
BUILD_TESTING
)
list
(
APPEND EXTRA_SRC
CameraCalcTest.cc
CameraCalcTest.h
CameraSectionTest.cc
CameraSectionTest.h
CorridorScanComplexItemTest.cc
CorridorScanComplexItemTest.h
FWLandingPatternTest.cc
FWLandingPatternTest.h
MissionCommandTreeTest.cc
MissionCommandTreeTest.h
MissionControllerManagerTest.cc
MissionControllerManagerTest.h
MissionControllerTest.cc
MissionControllerTest.h
MissionItemTest.cc
MissionItemTest.h
MissionManagerTest.cc
MissionManagerTest.h
MissionSettingsTest.cc
MissionSettingsTest.h
PlanMasterControllerTest.cc
PlanMasterControllerTest.h
QGCMapPolygonTest.cc
QGCMapPolygonTest.h
QGCMapPolylineTest.cc
QGCMapPolylineTest.h
SectionTest.cc
SectionTest.h
SimpleMissionItemTest.cc
SimpleMissionItemTest.h
SpeedSectionTest.cc
SpeedSectionTest.h
StructureScanComplexItemTest.cc
StructureScanComplexItemTest.h
SurveyComplexItemTest.cc
SurveyComplexItemTest.h
TransectStyleComplexItemTest.cc
TransectStyleComplexItemTest.h
VisualMissionItemTest.cc
VisualMissionItemTest.h
)
endif
()
add_library
(
MissionManager
BlankPlanCreator.cc
BlankPlanCreator.h
CameraCalc.cc
CameraCalc.h
CameraSection.cc
CameraSection.h
CameraSpec.cc
CameraSpec.h
ComplexMissionItem.cc
ComplexMissionItem.h
CorridorScanComplexItem.cc
CorridorScanComplexItem.h
CorridorScanPlanCreator.cc
C
ustomPlanCreator.cc
C
orridorScanPlanCreator.h
FixedWingLandingComplexItem.cc
FixedWingLandingComplexItem.h
GeoFenceController.cc
GeoFenceController.h
GeoFenceManager.cc
GeoFenceManager.h
KML.cc
KML.h
MissionCommandList.cc
MissionCommandList.h
MissionCommandTree.cc
MissionCommandTree.h
MissionCommandUIInfo.cc
MissionCommandUIInfo.h
MissionController.cc
MissionController.h
MissionItem.cc
MissionItem.h
MissionManager.cc
MissionManager.h
MissionSettingsItem.cc
MissionSettingsItem.h
PlanCreator.cc
PlanCreator.h
PlanElementController.cc
PlanElementController.h
PlanManager.cc
PlanManager.h
PlanMasterController.cc
PlanMasterController.h
QGCFenceCircle.cc
QGCFenceCircle.h
QGCFencePolygon.cc
QGCFencePolygon.h
QGCMapCircle.cc
QGCMapCircle.h
QGCMapPolygon.cc
QGCMapPolygon.h
QGCMapPolyline.cc
QGCMapPolyline.h
RallyPoint.cc
RallyPointController.cc
RallyPointController.h
RallyPoint.h
RallyPointManager.cc
RallyPointManager.h
Section.h
SimpleMissionItem.cc
SimpleMissionItem.h
SpeedSection.cc
SpeedSection.h
StructureScanComplexItem.cc
StructureScanComplexItem.h
StructureScanPlanCreator.cc
StructureScanPlanCreator.h
SurveyComplexItem.cc
SurveyComplexItem.h
SurveyPlanCreator.cc
SurveyPlanCreator.h
TransectStyleComplexItem.cc
TransectStyleComplexItem.h
VisualMissionItem.cc
VisualMissionItem.h
Section.h
# shouldn't be listed here, but isn't named properly for AUTOMOC
...
...
src/MissionManager/MissionLoader.h
deleted
100644 → 0
View file @
b8316907
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#ifndef MissionController_H
#define MissionController_H
#include "PlanElementController.h"
#include "QmlObjectListModel.h"
#include "Vehicle.h"
#include "QGCLoggingCategory.h"
#include "MavlinkQmlSingleton.h"
#include "VisualMissionItem.h"
#include <QHash>
class
CoordinateVector
;
Q_DECLARE_LOGGING_CATEGORY
(
MissionControllerLog
)
typedef
QPair
<
VisualMissionItem
*
,
VisualMissionItem
*>
VisualItemPair
;
typedef
QHash
<
VisualItemPair
,
CoordinateVector
*>
CoordVectHashTable
;
class
MissionController
:
public
PlanElementController
{
Q_OBJECT
public:
MissionController
(
QObject
*
parent
=
NULL
);
~
MissionController
();
Q_PROPERTY
(
QGeoCoordinate
plannedHomePosition
READ
plannedHomePosition
NOTIFY
plannedHomePositionChanged
)
Q_PROPERTY
(
QmlObjectListModel
*
visualItems
READ
visualItems
NOTIFY
visualItemsChanged
)
Q_PROPERTY
(
QmlObjectListModel
*
complexVisualItems
READ
complexVisualItems
NOTIFY
complexVisualItemsChanged
)
Q_PROPERTY
(
QmlObjectListModel
*
waypointLines
READ
waypointLines
NOTIFY
waypointLinesChanged
)
Q_PROPERTY
(
double
missionDistance
READ
missionDistance
NOTIFY
missionDistanceChanged
)
Q_PROPERTY
(
double
missionTime
READ
missionTime
NOTIFY
missionTimeChanged
)
Q_PROPERTY
(
double
missionHoverDistance
READ
missionHoverDistance
NOTIFY
missionHoverDistanceChanged
)
Q_PROPERTY
(
double
missionCruiseDistance
READ
missionCruiseDistance
NOTIFY
missionCruiseDistanceChanged
)
Q_PROPERTY
(
double
missionHoverTime
READ
missionHoverTime
NOTIFY
missionHoverTimeChanged
)
Q_PROPERTY
(
double
missionCruiseTime
READ
missionCruiseTime
NOTIFY
missionCruiseTimeChanged
)
Q_PROPERTY
(
double
missionMaxTelemetry
READ
missionMaxTelemetry
NOTIFY
missionMaxTelemetryChanged
)
Q_INVOKABLE
void
removeMissionItem
(
int
index
);
/// Add a new simple mission item to the list
/// @param i: index to insert at
/// @return Sequence number for new item
Q_INVOKABLE
int
insertSimpleMissionItem
(
QGeoCoordinate
coordinate
,
int
i
);
/// Add a new complex mission item to the list
/// @param i: index to insert at
/// @return Sequence number for new item
Q_INVOKABLE
int
insertComplexMissionItem
(
QGeoCoordinate
coordinate
,
int
i
);
// Overrides from PlanElementController
void
start
(
bool
editMode
)
final
;
void
startStaticActiveVehicle
(
Vehicle
*
vehicle
)
final
;
void
loadFromVehicle
(
void
)
final
;
void
sendToVehicle
(
void
)
final
;
void
loadFromFilePicker
(
void
)
final
;
void
loadFromFile
(
const
QString
&
filename
)
final
;
void
saveToFilePicker
(
void
)
final
;
void
saveToFile
(
const
QString
&
filename
)
final
;
void
removeAll
(
void
)
final
;
bool
syncInProgress
(
void
)
const
final
;
bool
dirty
(
void
)
const
final
;
void
setDirty
(
bool
dirty
)
final
;
QString
fileExtension
(
void
)
const
final
;
// Property accessors
QGeoCoordinate
plannedHomePosition
(
void
);
QmlObjectListModel
*
visualItems
(
void
)
{
return
_visualItems
;
}
QmlObjectListModel
*
complexVisualItems
(
void
)
{
return
_complexItems
;
}
QmlObjectListModel
*
waypointLines
(
void
)
{
return
&
_waypointLines
;
}
double
missionDistance
(
void
)
const
{
return
_missionDistance
;
}
double
missionTime
(
void
)
const
{
return
_missionTime
;
}
double
missionHoverDistance
(
void
)
const
{
return
_missionHoverDistance
;
}
double
missionHoverTime
(
void
)
const
{
return
_missionHoverTime
;
}
double
missionCruiseDistance
(
void
)
const
{
return
_missionCruiseDistance
;
}
double
missionCruiseTime
(
void
)
const
{
return
_missionCruiseTime
;
}
double
missionMaxTelemetry
(
void
)
const
{
return
_missionMaxTelemetry
;
}
double
cruiseSpeed
(
void
)
const
;
double
hoverSpeed
(
void
)
const
;
static
void
createVisualItemsFromFile
(
const
QString
&
filename
);
signals:
void
plannedHomePositionChanged
(
QGeoCoordinate
plannedHomePosition
);
void
visualItemsChanged
(
void
);
void
complexVisualItemsChanged
(
void
);
void
waypointLinesChanged
(
void
);
void
newItemsFromVehicle
(
void
);
void
missionDistanceChanged
(
double
missionDistance
);
void
missionTimeChanged
(
void
);
void
missionHoverDistanceChanged
(
double
missionHoverDistance
);
void
missionHoverTimeChanged
(
void
);
void
missionCruiseDistanceChanged
(
double
missionCruiseDistance
);
void
missionCruiseTimeChanged
(
void
);
void
missionMaxTelemetryChanged
(
double
missionMaxTelemetry
);
void
cruiseDistanceChanged
(
double
cruiseDistance
);
void
hoverDistanceChanged
(
double
hoverDistance
);
void
cruiseSpeedChanged
(
double
cruiseSpeed
);
void
hoverSpeedChanged
(
double
hoverSpeed
);
private
slots
:
void
_newMissionItemsAvailableFromVehicle
();
void
_itemCommandChanged
(
void
);
void
_activeVehicleHomePositionAvailableChanged
(
bool
homePositionAvailable
);
void
_activeVehicleHomePositionChanged
(
const
QGeoCoordinate
&
homePosition
);
void
_inProgressChanged
(
bool
inProgress
);
void
_currentMissionItemChanged
(
int
sequenceNumber
);
void
_recalcWaypointLines
(
void
);
void
_recalcAltitudeRangeBearing
(
void
);
void
_homeCoordinateChanged
(
void
);
private:
void
_init
(
void
);
void
_recalcSequence
(
void
);
void
_recalcChildItems
(
void
);
void
_recalcAll
(
void
);
void
_initAllVisualItems
(
void
);
void
_deinitAllVisualItems
(
void
);
void
_initVisualItem
(
VisualMissionItem
*
item
);
void
_deinitVisualItem
(
VisualMissionItem
*
item
);
void
_setupActiveVehicle
(
Vehicle
*
activeVehicle
,
bool
forceLoadFromVehicle
);
static
void
_calcPrevWaypointValues
(
double
homeAlt
,
VisualMissionItem
*
currentItem
,
VisualMissionItem
*
prevItem
,
double
*
azimuth
,
double
*
distance
,
double
*
altDifference
);
static
double
_calcDistanceToHome
(
VisualMissionItem
*
currentItem
,
VisualMissionItem
*
homeItem
);
bool
_findLastAltitude
(
double
*
lastAltitude
,
MAV_FRAME
*
frame
);
bool
_findLastAcceptanceRadius
(
double
*
lastAcceptanceRadius
);
void
_addPlannedHomePosition
(
QmlObjectListModel
*
visualItems
,
bool
addToCenter
);
double
_normalizeLat
(
double
lat
);
double
_normalizeLon
(
double
lon
);
bool
_loadJsonMissionFile
(
const
QByteArray
&
bytes
,
QmlObjectListModel
*
visualItems
,
QmlObjectListModel
*
complexItems
,
QString
&
errorString
);
bool
_loadJsonMissionFileV1
(
const
QJsonObject
&
json
,
QmlObjectListModel
*
visualItems
,
QmlObjectListModel
*
complexItems
,
QString
&
errorString
);
bool
_loadJsonMissionFileV2
(
const
QJsonObject
&
json
,
QmlObjectListModel
*
visualItems
,
QmlObjectListModel
*
complexItems
,
QString
&
errorString
);
bool
_loadTextMissionFile
(
QTextStream
&
stream
,
QmlObjectListModel
*
visualItems
,
QString
&
errorString
);
int
_nextSequenceNumber
(
void
);
void
_setMissionDistance
(
double
missionDistance
);
void
_setMissionTime
(
double
missionTime
);
void
_setMissionHoverDistance
(
double
missionHoverDistance
);
void
_setMissionHoverTime
(
double
missionHoverTime
);
void
_setMissionCruiseDistance
(
double
missionCruiseDistance
);
void
_setMissionCruiseTime
(
double
missionCruiseTime
);
void
_setMissionMaxTelemetry
(
double
missionMaxTelemetry
);
// Overrides from PlanElementController
void
_activeVehicleBeingRemoved
(
void
)
final
;
void
_activeVehicleSet
(
void
)
final
;
private:
QmlObjectListModel
*
_visualItems
;
QmlObjectListModel
*
_complexItems
;
QmlObjectListModel
_waypointLines
;
CoordVectHashTable
_linesTable
;
bool
_firstItemsFromVehicle
;
bool
_missionItemsRequested
;
bool
_queuedSend
;
double
_missionDistance
;
double
_missionTime
;
double
_missionHoverDistance
;
double
_missionHoverTime
;
double
_missionCruiseDistance
;
double
_missionCruiseTime
;
double
_missionMaxTelemetry
;
static
const
char
*
_settingsGroup
;
static
const
char
*
_jsonFileTypeValue
;
static
const
char
*
_jsonFirmwareTypeKey
;
static
const
char
*
_jsonVehicleTypeKey
;
static
const
char
*
_jsonCruiseSpeedKey
;
static
const
char
*
_jsonHoverSpeedKey
;
static
const
char
*
_jsonItemsKey
;
static
const
char
*
_jsonPlannedHomePositionKey
;
static
const
char
*
_jsonParamsKey
;
// Deprecated V1 format keys
static
const
char
*
_jsonMavAutopilotKey
;
static
const
char
*
_jsonComplexItemsKey
;
static
const
int
_missionFileVersion
;
};
#endif
src/MissionManager/SurveyMissionItem.h
deleted
100644 → 0
View file @
b8316907
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#ifndef SurveyMissionItem_H
#define SurveyMissionItem_H
#include "ComplexMissionItem.h"
#include "MissionItem.h"
#include "SettingsFact.h"
#include "QGCLoggingCategory.h"
#include "QGCMapPolygon.h"
Q_DECLARE_LOGGING_CATEGORY
(
SurveyMissionItemLog
)
class
SurveyMissionItem
:
public
ComplexMissionItem
{
Q_OBJECT
public:
SurveyMissionItem
(
Vehicle
*
vehicle
,
QObject
*
parent
=
NULL
);
Q_PROPERTY
(
Fact
*
gridAltitude
READ
gridAltitude
CONSTANT
)
Q_PROPERTY
(
Fact
*
gridAltitudeRelative
READ
gridAltitudeRelative
CONSTANT
)
Q_PROPERTY
(
Fact
*
gridAngle
READ
gridAngle
CONSTANT
)
Q_PROPERTY
(
Fact
*
gridSpacing
READ
gridSpacing
CONSTANT
)
Q_PROPERTY
(
Fact
*
gridEntryLocation
READ
gridEntryLocation
CONSTANT
)
Q_PROPERTY
(
Fact
*
turnaroundDist
READ
turnaroundDist
CONSTANT
)
Q_PROPERTY
(
Fact
*
cameraTriggerDistance
READ
cameraTriggerDistance
CONSTANT
)
Q_PROPERTY
(
Fact
*
cameraTriggerInTurnaround
READ
cameraTriggerInTurnaround
CONSTANT
)
Q_PROPERTY
(
Fact
*
hoverAndCapture
READ
hoverAndCapture
CONSTANT
)
Q_PROPERTY
(
Fact
*
groundResolution
READ
groundResolution
CONSTANT
)
Q_PROPERTY
(
Fact
*
frontalOverlap
READ
frontalOverlap
CONSTANT
)
Q_PROPERTY
(
Fact
*
sideOverlap
READ
sideOverlap
CONSTANT
)
Q_PROPERTY
(
Fact
*
cameraSensorWidth
READ
cameraSensorWidth
CONSTANT
)
Q_PROPERTY
(
Fact
*
cameraSensorHeight
READ
cameraSensorHeight
CONSTANT
)
Q_PROPERTY
(
Fact
*
cameraResolutionWidth
READ
cameraResolutionWidth
CONSTANT
)
Q_PROPERTY
(
Fact
*
cameraResolutionHeight
READ
cameraResolutionHeight
CONSTANT
)
Q_PROPERTY
(
Fact
*
cameraFocalLength
READ
cameraFocalLength
CONSTANT
)
Q_PROPERTY
(
Fact
*
cameraOrientationLandscape
READ
cameraOrientationLandscape
CONSTANT
)
Q_PROPERTY
(
Fact
*
fixedValueIsAltitude
READ
fixedValueIsAltitude
CONSTANT
)
Q_PROPERTY
(
Fact
*
manualGrid
READ
manualGrid
CONSTANT
)
Q_PROPERTY
(
Fact
*
camera
READ
camera
CONSTANT
)
Q_PROPERTY
(
bool
cameraOrientationFixed
MEMBER
_cameraOrientationFixed
NOTIFY
cameraOrientationFixedChanged
)
Q_PROPERTY
(
bool
hoverAndCaptureAllowed
READ
hoverAndCaptureAllowed
CONSTANT
)
Q_PROPERTY
(
bool
refly90Degrees
READ
refly90Degrees
WRITE
setRefly90Degrees
NOTIFY
refly90DegreesChanged
)
Q_PROPERTY
(
double
cameraMinTriggerInterval
MEMBER
_cameraMinTriggerInterval
NOTIFY
cameraMinTriggerIntervalChanged
)
Q_PROPERTY
(
double
timeBetweenShots
READ
timeBetweenShots
NOTIFY
timeBetweenShotsChanged
)
Q_PROPERTY
(
QVariantList
gridPoints
READ
gridPoints
NOTIFY
gridPointsChanged
)
Q_PROPERTY
(
int
cameraShots
READ
cameraShots
NOTIFY
cameraShotsChanged
)
Q_PROPERTY
(
double
coveredArea
READ
coveredArea
NOTIFY
coveredAreaChanged
)
Q_PROPERTY
(
QGCMapPolygon
*
mapPolygon
READ
mapPolygon
CONSTANT
)
QVariantList
gridPoints
(
void
)
{
return
_simpleGridPoints
;
}
Fact
*
manualGrid
(
void
)
{
return
&
_manualGridFact
;
}
Fact
*
gridAltitude
(
void
)
{
return
&
_gridAltitudeFact
;
}
Fact
*
gridAltitudeRelative
(
void
)
{
return
&
_gridAltitudeRelativeFact
;
}
Fact
*
gridAngle
(
void
)
{
return
&
_gridAngleFact
;
}
Fact
*
gridSpacing
(
void
)
{
return
&
_gridSpacingFact
;
}
Fact
*
gridEntryLocation
(
void
)
{
return
&
_gridEntryLocationFact
;
}
Fact
*
turnaroundDist
(
void
)
{
return
&
_turnaroundDistFact
;
}
Fact
*
cameraTriggerDistance
(
void
)
{
return
&
_cameraTriggerDistanceFact
;
}
Fact
*
cameraTriggerInTurnaround
(
void
)
{
return
&
_cameraTriggerInTurnaroundFact
;
}
Fact
*
hoverAndCapture
(
void
)
{
return
&
_hoverAndCaptureFact
;
}
Fact
*
groundResolution
(
void
)
{
return
&
_groundResolutionFact
;
}
Fact
*
frontalOverlap
(
void
)
{
return
&
_frontalOverlapFact
;
}
Fact
*
sideOverlap
(
void
)
{
return
&
_sideOverlapFact
;
}
Fact
*
cameraSensorWidth
(
void
)
{
return
&
_cameraSensorWidthFact
;
}
Fact
*
cameraSensorHeight
(
void
)
{
return
&
_cameraSensorHeightFact
;
}
Fact
*
cameraResolutionWidth
(
void
)
{
return
&
_cameraResolutionWidthFact
;
}
Fact
*
cameraResolutionHeight
(
void
)
{
return
&
_cameraResolutionHeightFact
;
}
Fact
*
cameraFocalLength
(
void
)
{
return
&
_cameraFocalLengthFact
;
}
Fact
*
cameraOrientationLandscape
(
void
)
{
return
&
_cameraOrientationLandscapeFact
;
}
Fact
*
fixedValueIsAltitude
(
void
)
{
return
&
_fixedValueIsAltitudeFact
;
}
Fact
*
camera
(
void
)
{
return
&
_cameraFact
;
}
int
cameraShots
(
void
)
const
;
double
coveredArea
(
void
)
const
{
return
_coveredArea
;
}
double
timeBetweenShots
(
void
)
const
;
bool
hoverAndCaptureAllowed
(
void
)
const
;
bool
refly90Degrees
(
void
)
const
{
return
_refly90Degrees
;
}
QGCMapPolygon
*
mapPolygon
(
void
)
{
return
&
_mapPolygon
;
}
void
setRefly90Degrees
(
bool
refly90Degrees
);
// Overrides from ComplexMissionItem
double
complexDistance
(
void
)
const
final
{
return
_surveyDistance
;
}
QGCGeoBoundingCube
boundingCube
(
void
)
const
final
{
return
_boundingCube
;
}
double
additionalTimeDelay
(
void
)
const
final
{
return
_additionalFlightDelaySeconds
;
}
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
{
return
QStringLiteral
(
"SurveyMapVisual.qml"
);
}
// Overrides from VisualMissionItem
bool
dirty
(
void
)
const
final
{
return
_dirty
;
}
bool
isSimpleItem
(
void
)
const
final
{
return
false
;
}
bool
isStandaloneCoordinate
(
void
)
const
final
{
return
false
;
}
bool
specifiesCoordinate
(
void
)
const
final
;
bool
specifiesAltitudeOnly
(
void
)
const
final
{
return
false
;
}
QString
commandDescription
(
void
)
const
final
{
return
"Survey"
;
}
QString
commandName
(
void
)
const
final
{
return
"Survey"
;
}
QString
abbreviation
(
void
)
const
final
{
return
"S"
;
}
QGeoCoordinate
coordinate
(
void
)
const
final
{
return
_coordinate
;
}
QGeoCoordinate
exitCoordinate
(
void
)
const
final
{
return
_exitCoordinate
;
}
int
sequenceNumber
(
void
)
const
final
{
return
_sequenceNumber
;
}
double
specifiedFlightSpeed
(
void
)
final
{
return
std
::
numeric_limits
<
double
>::
quiet_NaN
();
}
double
specifiedGimbalYaw
(
void
)
final
{
return
std
::
numeric_limits
<
double
>::
quiet_NaN
();
}
double
specifiedGimbalPitch
(
void
)
final
{
return
std
::
numeric_limits
<
double
>::
quiet_NaN
();
}
void
appendMissionItems
(
QList
<
MissionItem
*>&
items
,
QObject
*
missionItemParent
)
final
;
void
setMissionFlightStatus
(
MissionController
::
MissionFlightStatus_t
&
missionFlightStatus
)
final
;
void
applyNewAltitude
(
double
newAltitude
)
final
;
bool
coordinateHasRelativeAltitude
(
void
)
const
final
{
return
_gridAltitudeRelativeFact
.
rawValue
().
toBool
();
}
bool
exitCoordinateHasRelativeAltitude
(
void
)
const
final
{
return
_gridAltitudeRelativeFact
.
rawValue
().
toBool
();
}
bool
exitCoordinateSameAsEntry
(
void
)
const
final
{
return
false
;
}
void
setDirty
(
bool
dirty
)
final
;
void
setCoordinate
(
const
QGeoCoordinate
&
coordinate
)
final
;
void
setSequenceNumber
(
int
sequenceNumber
)
final
;
void
setTurnaroundDist
(
double
dist
)
{
_turnaroundDistFact
.
setRawValue
(
dist
);
}
void
save
(
QJsonArray
&
missionItems
)
final
;
// Must match json spec for GridEntryLocation
enum
EntryLocation
{
EntryLocationTopLeft
,
EntryLocationTopRight
,
EntryLocationBottomLeft
,
EntryLocationBottomRight
,
};
static
const
char
*
jsonComplexItemTypeValue
;
static
const
char
*
settingsGroup
;
static
const
char
*
manualGridName
;
static
const
char
*
gridAltitudeName
;
static
const
char
*
gridAltitudeRelativeName
;
static
const
char
*
gridAngleName
;
static
const
char
*
gridSpacingName
;
static
const
char
*
gridEntryLocationName
;
static
const
char
*
turnaroundDistName
;
static
const
char
*
cameraTriggerDistanceName
;
static
const
char
*
cameraTriggerInTurnaroundName
;
static
const
char
*
hoverAndCaptureName
;
static
const
char
*
groundResolutionName
;
static
const
char
*
frontalOverlapName
;
static
const
char
*
sideOverlapName
;
static
const
char
*
cameraSensorWidthName
;
static
const
char
*
cameraSensorHeightName
;
static
const
char
*
cameraResolutionWidthName
;
static
const
char
*
cameraResolutionHeightName
;
static
const
char
*
cameraFocalLengthName
;
static
const
char
*
cameraTriggerName
;
static
const
char
*
cameraOrientationLandscapeName
;
static
const
char
*
fixedValueIsAltitudeName
;
static
const
char
*
cameraName
;
signals:
void
gridPointsChanged
(
void
);
void
cameraShotsChanged
(
int
cameraShots
);
void
coveredAreaChanged
(
double
coveredArea
);
void
cameraValueChanged
(
void
);
void
gridTypeChanged
(
QString
gridType
);
void
timeBetweenShotsChanged
(
void
);
void
cameraOrientationFixedChanged
(
bool
cameraOrientationFixed
);
void
refly90DegreesChanged
(
bool
refly90Degrees
);
void
cameraMinTriggerIntervalChanged
(
double
cameraMinTriggerInterval
);
private
slots
:
void
_setDirty
(
void
);
void
_polygonDirtyChanged
(
bool
dirty
);
void
_clearInternal
(
void
);
private:
enum
CameraTriggerCode
{
CameraTriggerNone
,
CameraTriggerOn
,
CameraTriggerOff
,
CameraTriggerHoverAndCapture
};
void
_setExitCoordinate
(
const
QGeoCoordinate
&
coordinate
);
void
_generateGrid
(
void
);
void
_updateCoordinateAltitude
(
void
);
int
_gridGenerator
(
const
QList
<
QPointF
>&
polygonPoints
,
QList
<
QList
<
QPointF
>>&
transectSegments
,
bool
refly
);
QPointF
_rotatePoint
(
const
QPointF
&
point
,
const
QPointF
&
origin
,
double
angle
);
void
_intersectLinesWithRect
(
const
QList
<
QLineF
>&
lineList
,
const
QRectF
&
boundRect
,
QList
<
QLineF
>&
resultLines
);
void
_intersectLinesWithPolygon
(
const
QList
<
QLineF
>&
lineList
,
const
QPolygonF
&
polygon
,
QList
<
QLineF
>&
resultLines
);
void
_adjustLineDirection
(
const
QList
<
QLineF
>&
lineList
,
QList
<
QLineF
>&
resultLines
);
void
_setSurveyDistance
(
double
surveyDistance
);
void
_setBoundingCube
(
QGCGeoBoundingCube
bc
);
void
_setCameraShots
(
int
cameraShots
);
void
_setCoveredArea
(
double
coveredArea
);
void
_cameraValueChanged
(
void
);
int
_appendWaypointToMission
(
QList
<
MissionItem
*>&
items
,
int
seqNum
,
QGeoCoordinate
&
coord
,
CameraTriggerCode
cameraTrigger
,
QObject
*
missionItemParent
);
bool
_nextTransectCoord
(
const
QList
<
QGeoCoordinate
>&
transectPoints
,
int
pointIndex
,
QGeoCoordinate
&
coord
);
double
_triggerDistance
(
void
)
const
;
bool
_triggerCamera
(
void
)
const
;
bool
_imagesEverywhere
(
void
)
const
;
bool
_hoverAndCaptureEnabled
(
void
)
const
;
bool
_hasTurnaround
(
void
)
const
;
double
_turnaroundDistance
(
void
)
const
;
void
_convertTransectToGeo
(
const
QList
<
QList
<
QPointF
>>&
transectSegmentsNED
,
const
QGeoCoordinate
&
tangentOrigin
,
QList
<
QList
<
QGeoCoordinate
>>&
transectSegmentsGeo
);
bool
_appendMissionItemsWorker
(
QList
<
MissionItem
*>&
items
,
QObject
*
missionItemParent
,
int
&
seqNum
,
bool
hasRefly
,
bool
buildRefly
);
void
_optimizeTransectsForShortestDistance
(
const
QGeoCoordinate
&
distanceCoord
,
QList
<
QList
<
QGeoCoordinate
>>&
transects
);
void
_appendGridPointsFromTransects
(
QList
<
QList
<
QGeoCoordinate
>>&
rgTransectSegments
);
qreal
_ccw
(
QPointF
pt1
,
QPointF
pt2
,
QPointF
pt3
);
qreal
_dp
(
QPointF
pt1
,
QPointF
pt2
);
void
_swapPoints
(
QList
<
QPointF
>&
points
,
int
index1
,
int
index2
);
void
_reverseTransectOrder
(
QList
<
QList
<
QGeoCoordinate
>>&
transects
);
void
_reverseInternalTransectPoints
(
QList
<
QList
<
QGeoCoordinate
>>&
transects
);
void
_adjustTransectsToEntryPointLocation
(
QList
<
QList
<
QGeoCoordinate
>>&
transects
);
bool
_gridAngleIsNorthSouthTransects
();
double
_clampGridAngle90
(
double
gridAngle
);
int
_calcMissionCommandCount
(
QList
<
QList
<
QGeoCoordinate
>>&
transectSegments
);
void
_calcBoundingCube
();
int
_sequenceNumber
;
bool
_dirty
;
QGCMapPolygon
_mapPolygon
;
QVariantList
_simpleGridPoints
;
///< Grid points for drawing simple grid visuals
QList
<
QList
<
QGeoCoordinate
>>
_transectSegments
;
///< Internal transect segments including grid exit, turnaround and internal camera points
QList
<
QList
<
QGeoCoordinate
>>
_reflyTransectSegments
;
///< Refly segments
QGeoCoordinate
_coordinate
;
QGeoCoordinate
_exitCoordinate
;
bool
_cameraOrientationFixed
;
int
_missionCommandCount
;
bool
_refly90Degrees
;
double
_additionalFlightDelaySeconds
;
double
_cameraMinTriggerInterval
;
bool
_ignoreRecalc
;
double
_surveyDistance
;
int
_cameraShots
;
double
_coveredArea
;
double
_timeBetweenShots
;
double
_cruiseSpeed
;
QGCGeoBoundingCube
_boundingCube
;
QMap
<
QString
,
FactMetaData
*>
_metaDataMap
;
SettingsFact
_manualGridFact
;
SettingsFact
_gridAltitudeFact
;
SettingsFact
_gridAltitudeRelativeFact
;
SettingsFact
_gridAngleFact
;
SettingsFact
_gridSpacingFact
;
SettingsFact
_gridEntryLocationFact
;
SettingsFact
_turnaroundDistFact
;
SettingsFact
_cameraTriggerDistanceFact
;
SettingsFact
_cameraTriggerInTurnaroundFact
;
SettingsFact
_hoverAndCaptureFact
;
SettingsFact
_groundResolutionFact
;
SettingsFact
_frontalOverlapFact
;
SettingsFact
_sideOverlapFact
;
SettingsFact
_cameraSensorWidthFact
;
SettingsFact
_cameraSensorHeightFact
;
SettingsFact
_cameraResolutionWidthFact
;
SettingsFact
_cameraResolutionHeightFact
;
SettingsFact
_cameraFocalLengthFact
;
SettingsFact
_cameraOrientationLandscapeFact
;
SettingsFact
_fixedValueIsAltitudeFact
;
SettingsFact
_cameraFact
;
static
const
char
*
_jsonGridObjectKey
;
static
const
char
*
_jsonGridAltitudeKey
;
static
const
char
*
_jsonGridAltitudeRelativeKey
;
static
const
char
*
_jsonGridAngleKey
;
static
const
char
*
_jsonGridSpacingKey
;
static
const
char
*
_jsonGridEntryLocationKey
;
static
const
char
*
_jsonTurnaroundDistKey
;
static
const
char
*
_jsonCameraTriggerDistanceKey
;
static
const
char
*
_jsonCameraTriggerInTurnaroundKey
;
static
const
char
*
_jsonHoverAndCaptureKey
;
static
const
char
*
_jsonGroundResolutionKey
;
static
const
char
*
_jsonFrontalOverlapKey
;
static
const
char
*
_jsonSideOverlapKey
;
static
const
char
*
_jsonCameraSensorWidthKey
;
static
const
char
*
_jsonCameraSensorHeightKey
;
static
const
char
*
_jsonCameraResolutionWidthKey
;
static
const
char
*
_jsonCameraResolutionHeightKey
;
static
const
char
*
_jsonCameraFocalLengthKey
;
static
const
char
*
_jsonCameraMinTriggerIntervalKey
;
static
const
char
*
_jsonManualGridKey
;
static
const
char
*
_jsonCameraObjectKey
;
static
const
char
*
_jsonCameraNameKey
;
static
const
char
*
_jsonCameraOrientationLandscapeKey
;
static
const
char
*
_jsonFixedValueIsAltitudeKey
;
static
const
char
*
_jsonRefly90DegreesKey
;
static
const
int
_hoverAndCaptureDelaySeconds
=
4
;
};
#endif
src/PlanView/CMakeLists.txt
View file @
9d216588
...
...
@@ -14,7 +14,6 @@ add_custom_target(PlanViewQml
MissionItemStatus.qml
MissionSettingsEditor.qml
PlanEditToolbar.qml
PlanStartOverlay.qml
PlanToolBarIndicators.qml
PlanToolBar.qml
PlanView.qml
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment