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
196165c5
Commit
196165c5
authored
Oct 31, 2017
by
Don Gagne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Structure Scan persistence and mission creation
parent
1ea97d2f
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
192 additions
and
675 deletions
+192
-675
CameraCalc.cc
src/MissionManager/CameraCalc.cc
+71
-183
CameraCalc.h
src/MissionManager/CameraCalc.h
+9
-2
CameraSpec.cc
src/MissionManager/CameraSpec.cc
+27
-292
CameraSpec.h
src/MissionManager/CameraSpec.h
+0
-24
MissionController.cc
src/MissionManager/MissionController.cc
+17
-3
StructureScanComplexItem.cc
src/MissionManager/StructureScanComplexItem.cc
+63
-169
StructureScanComplexItem.h
src/MissionManager/StructureScanComplexItem.h
+3
-0
StructureScanEditor.qml
src/PlanView/StructureScanEditor.qml
+1
-1
StructureScanMapVisual.qml
src/PlanView/StructureScanMapVisual.qml
+1
-1
No files found.
src/MissionManager/CameraCalc.cc
View file @
196165c5
This diff is collapsed.
Click to expand it.
src/MissionManager/CameraCalc.h
View file @
196165c5
...
...
@@ -22,8 +22,8 @@ public:
Q_ENUMS
(
CameraSpecType
)
Q_PROPERTY
(
CameraSpecType
cameraSpecType
MEMBER
_cameraSpecType
NOTIFY
cameraSpecTypeChanged
)
Q_PROPERTY
(
QString
knownCameraName
MEMBER
_knownCameraName
NOTIFY
knownCameraNameChanged
)
Q_PROPERTY
(
CameraSpecType
cameraSpecType
READ
cameraSpecType
WRITE
setCameraSpecType
NOTIFY
cameraSpecTypeChanged
)
Q_PROPERTY
(
QString
knownCameraName
READ
knownCameraName
WRITE
setKnownCameraName
NOTIFY
knownCameraNameChanged
)
Q_PROPERTY
(
Fact
*
valueSetIsDistance
READ
valueSetIsDistance
CONSTANT
)
///< true: distance specified, resolution calculated
Q_PROPERTY
(
Fact
*
distanceToSurface
READ
distanceToSurface
CONSTANT
)
///< Distance to surface for image foot print calculation
Q_PROPERTY
(
Fact
*
imageDensity
READ
imageDensity
CONSTANT
)
///< Image density on surface (cm/px)
...
...
@@ -42,6 +42,11 @@ public:
CameraSpecKnown
};
CameraSpecType
cameraSpecType
(
void
)
const
{
return
_cameraSpecType
;
}
QString
knownCameraName
(
void
)
const
{
return
_knownCameraName
;
}
void
setCameraSpecType
(
CameraSpecType
cameraSpecType
);
void
setKnownCameraName
(
QString
knownCameraName
);
Fact
*
valueSetIsDistance
(
void
)
{
return
&
_valueSetIsDistanceFact
;
}
Fact
*
distanceToSurface
(
void
)
{
return
&
_distanceToSurfaceFact
;
}
Fact
*
imageDensity
(
void
)
{
return
&
_imageDensityFact
;
}
...
...
@@ -99,4 +104,6 @@ private:
static
const
char
*
_sideOverlapName
;
static
const
char
*
_adjustedFootprintSideName
;
static
const
char
*
_adjustedFootprintFrontalName
;
static
const
char
*
_jsonCameraSpecTypeKey
;
static
const
char
*
_jsonKnownCameraNameKey
;
};
src/MissionManager/CameraSpec.cc
View file @
196165c5
This diff is collapsed.
Click to expand it.
src/MissionManager/CameraSpec.h
View file @
196165c5
...
...
@@ -17,22 +17,11 @@ class CameraSpec : public QObject
public:
CameraSpec
(
QObject
*
parent
=
NULL
);
CameraSpec
(
const
QString
&
name
,
double
sensorWidth
,
double
sensorHeight
,
double
imageWidth
,
double
imageHeight
,
double
focalLength
,
bool
landscape
,
bool
fixedOrientation
,
double
minTriggerInterval
,
QObject
*
parent
=
NULL
);
CameraSpec
(
const
CameraSpec
&
other
,
QObject
*
parent
);
const
CameraSpec
&
operator
=
(
const
CameraSpec
&
other
);
// These properties are persisted to Json
Q_PROPERTY
(
Fact
*
name
READ
name
CONSTANT
)
///< Camera name
Q_PROPERTY
(
Fact
*
sensorWidth
READ
sensorWidth
CONSTANT
)
///< Sensor size in millimeters
Q_PROPERTY
(
Fact
*
sensorHeight
READ
sensorHeight
CONSTANT
)
///< Sensor size in millimeters
Q_PROPERTY
(
Fact
*
imageWidth
READ
imageWidth
CONSTANT
)
///< Image size in pixels
...
...
@@ -42,7 +31,6 @@ public:
Q_PROPERTY
(
Fact
*
fixedOrientation
READ
fixedOrientation
CONSTANT
)
///< true: camera is in fixed orientation
Q_PROPERTY
(
Fact
*
minTriggerInterval
READ
minTriggerInterval
CONSTANT
)
///< Minimum time in seconds between each photo taken, 0 for not specified
Fact
*
name
(
void
)
{
return
&
_nameFact
;
}
Fact
*
sensorWidth
(
void
)
{
return
&
_sensorWidthFact
;
}
Fact
*
sensorHeight
(
void
)
{
return
&
_sensorHeightFact
;
}
Fact
*
imageWidth
(
void
)
{
return
&
_imageWidthFact
;
}
...
...
@@ -68,7 +56,6 @@ private:
QMap
<
QString
,
FactMetaData
*>
_metaDataMap
;
Fact
_nameFact
;
Fact
_sensorWidthFact
;
Fact
_sensorHeightFact
;
Fact
_imageWidthFact
;
...
...
@@ -78,7 +65,6 @@ private:
Fact
_fixedOrientationFact
;
Fact
_minTriggerIntervalFact
;
static
const
char
*
_nameName
;
static
const
char
*
_sensorWidthName
;
static
const
char
*
_sensorHeightName
;
static
const
char
*
_imageWidthName
;
...
...
@@ -87,14 +73,4 @@ private:
static
const
char
*
_landscapeName
;
static
const
char
*
_fixedOrientationName
;
static
const
char
*
_minTriggerIntervalName
;
static
const
char
*
_jsonNameKey
;
static
const
char
*
_jsonSensorWidthKey
;
static
const
char
*
_jsonSensorHeightKey
;
static
const
char
*
_jsonImageWidthKey
;
static
const
char
*
_jsonImageHeightKey
;
static
const
char
*
_jsonFocalLengthKey
;
static
const
char
*
_jsonLandscapeKey
;
static
const
char
*
_jsonFixedOrientationKey
;
static
const
char
*
_jsonMinTriggerIntervalKey
;
};
src/MissionManager/MissionController.cc
View file @
196165c5
...
...
@@ -19,6 +19,7 @@
#include "SurveyMissionItem.h"
#include "FixedWingLandingComplexItem.h"
#include "StructureScanComplexItem.h"
#include "StructureScanComplexItem.h"
#include "JsonHelper.h"
#include "ParameterManager.h"
#include "QGroundControlQmlGlobal.h"
...
...
@@ -264,11 +265,15 @@ void MissionController::convertToKMLDocument(QDomDocument& document)
{
QJsonObject
missionJson
;
QmlObjectListModel
*
visualItems
=
new
QmlObjectListModel
();
QList
<
MissionItem
*>
missionIte
n
s
;
QList
<
MissionItem
*>
missionIte
m
s
;
QString
error
;
save
(
missionJson
);
_loadItemsFromJson
(
missionJson
,
visualItems
,
error
);
_convertToMissionItems
(
visualItems
,
missionItens
,
this
);
_convertToMissionItems
(
visualItems
,
missionItems
,
this
);
if
(
missionItems
.
count
()
==
0
)
{
return
;
}
float
altitude
=
missionJson
[
_jsonPlannedHomePositionKey
].
toArray
()[
2
].
toDouble
();
...
...
@@ -276,7 +281,7 @@ void MissionController::convertToKMLDocument(QDomDocument& document)
QStringList
coords
;
// Drop home position
bool
dropPoint
=
true
;
for
(
const
auto
&
item
:
missionIte
n
s
)
{
for
(
const
auto
&
item
:
missionIte
m
s
)
{
if
(
dropPoint
)
{
dropPoint
=
false
;
continue
;
...
...
@@ -655,6 +660,15 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject& json, QmlObjec
nextSequenceNumber
=
landingItem
->
lastSequenceNumber
()
+
1
;
qCDebug
(
MissionControllerLog
)
<<
"FW Landing Pattern load complete: nextSequenceNumber"
<<
nextSequenceNumber
;
visualItems
->
append
(
landingItem
);
}
else
if
(
complexItemType
==
StructureScanComplexItem
::
jsonComplexItemTypeValue
)
{
qCDebug
(
MissionControllerLog
)
<<
"Loading Structure Scan: nextSequenceNumber"
<<
nextSequenceNumber
;
StructureScanComplexItem
*
structureItem
=
new
StructureScanComplexItem
(
_controllerVehicle
,
visualItems
);
if
(
!
structureItem
->
load
(
itemObject
,
nextSequenceNumber
++
,
errorString
))
{
return
false
;
}
nextSequenceNumber
=
structureItem
->
lastSequenceNumber
()
+
1
;
qCDebug
(
MissionControllerLog
)
<<
"Structure Scan load complete: nextSequenceNumber"
<<
nextSequenceNumber
;
visualItems
->
append
(
structureItem
);
}
else
if
(
complexItemType
==
MissionSettingsItem
::
jsonComplexItemTypeValue
)
{
qCDebug
(
MissionControllerLog
)
<<
"Loading Mission Settings: nextSequenceNumber"
<<
nextSequenceNumber
;
MissionSettingsItem
*
settingsItem
=
new
MissionSettingsItem
(
_controllerVehicle
,
visualItems
);
...
...
src/MissionManager/StructureScanComplexItem.cc
View file @
196165c5
This diff is collapsed.
Click to expand it.
src/MissionManager/StructureScanComplexItem.h
View file @
196165c5
...
...
@@ -129,6 +129,9 @@ private:
static
const
char
*
_altitudeFactName
;
static
const
char
*
_layersFactName
;
static
const
char
*
_jsonCameraCalcKey
;
static
const
char
*
_jsonAltitudeRelativeKey
;
};
#endif
src/PlanView/StructureScanEditor.qml
View file @
196165c5
...
...
@@ -60,7 +60,7 @@ Rectangle {
QGCLabel
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
text
:
qsTr
(
"
W
ARNING: WORK IN PROGRESS. DO NOT FLY. NO BUG REPORTS.
"
)
text
:
qsTr
(
"
W
ORK IN PROGRESS. CAREFUL!
"
)
wrapMode
:
Text
.
WordWrap
color
:
qgcPal
.
warningText
}
...
...
src/PlanView/StructureScanMapVisual.qml
View file @
196165c5
...
...
@@ -91,7 +91,7 @@ Item {
borderWidth
:
1
borderColor
:
"
black
"
interiorColor
:
"
green
"
interiorOpacity
:
0.5
interiorOpacity
:
0.
2
5
}
QGCMapPolygonVisuals
{
...
...
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