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
07ce9312
Unverified
Commit
07ce9312
authored
May 19, 2018
by
Don Gagne
Committed by
GitHub
May 19, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6464 from DonLakeFlyer/SavedComplexSettings
Save fact settings for new Transect code
parents
6a3c99c8
11e2e9a3
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
193 additions
and
186 deletions
+193
-186
CameraCalc.FactMetaData.json
src/MissionManager/CameraCalc.FactMetaData.json
+6
-0
CameraCalc.cc
src/MissionManager/CameraCalc.cc
+98
-97
CameraCalc.h
src/MissionManager/CameraCalc.h
+29
-25
CameraCalcTest.cc
src/MissionManager/CameraCalcTest.cc
+2
-3
CameraCalcTest.h
src/MissionManager/CameraCalcTest.h
+1
-3
StructureScan.SettingsGroup.json
src/MissionManager/StructureScan.SettingsGroup.json
+8
-0
StructureScanComplexItem.cc
src/MissionManager/StructureScanComplexItem.cc
+21
-30
StructureScanComplexItem.h
src/MissionManager/StructureScanComplexItem.h
+10
-8
StructureScanComplexItemTest.cc
src/MissionManager/StructureScanComplexItemTest.cc
+2
-2
SurveyComplexItem.cc
src/MissionManager/SurveyComplexItem.cc
+2
-2
TransectStyleComplexItem.cc
src/MissionManager/TransectStyleComplexItem.cc
+8
-9
TransectStyleComplexItem.h
src/MissionManager/TransectStyleComplexItem.h
+0
-1
CameraCalc.qml
src/PlanView/CameraCalc.qml
+6
-6
No files found.
src/MissionManager/CameraCalc.FactMetaData.json
View file @
07ce9312
[
{
"name"
:
"CameraName"
,
"shortDescription"
:
"Camera name."
,
"type"
:
"string"
,
"defaultValue"
:
"Manual (no camera specs)"
},
{
"name"
:
"ValueSetIsDistance"
,
"shortDescription"
:
"Value specified is distance to surface."
,
...
...
src/MissionManager/CameraCalc.cc
View file @
07ce9312
This diff is collapsed.
Click to expand it.
src/MissionManager/CameraCalc.h
View file @
07ce9312
...
...
@@ -10,6 +10,7 @@
#pragma once
#include "CameraSpec.h"
#include "SettingsFact.h"
class
Vehicle
;
...
...
@@ -18,12 +19,13 @@ class CameraCalc : public CameraSpec
Q_OBJECT
public:
CameraCalc
(
Vehicle
*
vehicle
,
QObject
*
parent
=
NULL
);
CameraCalc
(
Vehicle
*
vehicle
,
Q
String
settingsGroup
,
Q
Object
*
parent
=
NULL
);
Q_PROPERTY
(
QString
cameraName
READ
cameraName
WRITE
setCameraName
NOTIFY
cameraNameChanged
)
Q_PROPERTY
(
QString
customCameraName
READ
customCameraName
CONSTANT
)
///< Camera name for custom camera setting
Q_PROPERTY
(
QString
manualCameraName
READ
manualCameraName
CONSTANT
)
///< Camera name for manual camera setting
Q_PROPERTY
(
bool
isManualCamera
READ
isManualCamera
NOTIFY
cameraNameChanged
)
///< true: using manual camera
Q_PROPERTY
(
bool
isManualCamera
READ
isManualCamera
NOTIFY
isManualCameraChanged
)
Q_PROPERTY
(
bool
isCustomCamera
READ
isCustomCamera
NOTIFY
isCustomCameraChanged
)
Q_PROPERTY
(
Fact
*
cameraName
READ
cameraName
CONSTANT
)
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)
...
...
@@ -39,9 +41,8 @@ public:
static
QString
customCameraName
(
void
);
static
QString
manualCameraName
(
void
);
QString
cameraName
(
void
)
const
{
return
_cameraName
;
}
void
setCameraName
(
QString
cameraName
);
Fact
*
cameraName
(
void
)
{
return
&
_cameraNameFact
;
}
Fact
*
valueSetIsDistance
(
void
)
{
return
&
_valueSetIsDistanceFact
;
}
Fact
*
distanceToSurface
(
void
)
{
return
&
_distanceToSurfaceFact
;
}
Fact
*
imageDensity
(
void
)
{
return
&
_imageDensityFact
;
}
...
...
@@ -59,7 +60,8 @@ public:
const
Fact
*
adjustedFootprintFrontal
(
void
)
const
{
return
&
_adjustedFootprintFrontalFact
;
}
bool
dirty
(
void
)
const
{
return
_dirty
;
}
bool
isManualCamera
(
void
)
{
return
cameraName
()
==
manualCameraName
();
}
bool
isManualCamera
(
void
)
const
{
return
_cameraNameFact
.
rawValue
().
toString
()
==
manualCameraName
();
}
bool
isCustomCamera
(
void
)
const
{
return
_cameraNameFact
.
rawValue
().
toString
()
==
customCameraName
();
}
double
imageFootprintSide
(
void
)
const
{
return
_imageFootprintSide
;
}
double
imageFootprintFrontal
(
void
)
const
{
return
_imageFootprintFrontal
;
}
bool
distanceToSurfaceRelative
(
void
)
const
{
return
_distanceToSurfaceRelative
;
}
...
...
@@ -70,50 +72,52 @@ public:
void
save
(
QJsonObject
&
json
)
const
;
bool
load
(
const
QJsonObject
&
json
,
QString
&
errorString
);
static
const
char
*
cameraNameName
;
static
const
char
*
valueSetIsDistanceName
;
static
const
char
*
distanceToSurfaceName
;
static
const
char
*
distanceToSurfaceRelativeName
;
static
const
char
*
imageDensityName
;
static
const
char
*
frontalOverlapName
;
static
const
char
*
sideOverlapName
;
static
const
char
*
adjustedFootprintSideName
;
static
const
char
*
adjustedFootprintFrontalName
;
signals:
void
cameraNameChanged
(
QString
cameraName
);
void
dirtyChanged
(
bool
dirty
);
void
imageFootprintSideChanged
(
double
imageFootprintSide
);
void
imageFootprintFrontalChanged
(
double
imageFootprintFrontal
);
void
distanceToSurfaceRelativeChanged
(
bool
distanceToSurfaceRelative
);
void
isManualCameraChanged
(
void
);
void
isCustomCameraChanged
(
void
);
private
slots
:
void
_recalcTriggerDistance
(
void
);
void
_adjustDistanceToSurfaceRelative
(
void
);
void
_setDirty
(
void
);
void
_cameraNameChanged
(
void
);
private:
Vehicle
*
_vehicle
;
bool
_dirty
;
QString
_cameraName
;
bool
_disableRecalc
;
bool
_distanceToSurfaceRelative
;
QMap
<
QString
,
FactMetaData
*>
_metaDataMap
;
Fact
_valueSetIsDistanceFact
;
Fact
_distanceToSurfaceFact
;
Fact
_imageDensityFact
;
Fact
_frontalOverlapFact
;
Fact
_sideOverlapFact
;
Fact
_adjustedFootprintSideFact
;
Fact
_adjustedFootprintFrontalFact
;
SettingsFact
_cameraNameFact
;
SettingsFact
_valueSetIsDistanceFact
;
SettingsFact
_distanceToSurfaceFact
;
SettingsFact
_imageDensityFact
;
SettingsFact
_frontalOverlapFact
;
SettingsFact
_sideOverlapFact
;
SettingsFact
_adjustedFootprintSideFact
;
SettingsFact
_adjustedFootprintFrontalFact
;
double
_imageFootprintSide
;
double
_imageFootprintFrontal
;
QVariantList
_knownCameraList
;
static
const
char
*
_valueSetIsDistanceName
;
static
const
char
*
_distanceToSurfaceName
;
static
const
char
*
_distanceToSurfaceRelativeName
;
static
const
char
*
_imageDensityName
;
static
const
char
*
_frontalOverlapName
;
static
const
char
*
_sideOverlapName
;
static
const
char
*
_adjustedFootprintSideName
;
static
const
char
*
_adjustedFootprintFrontalName
;
static
const
char
*
_jsonCameraNameKey
;
// The following are deprecated usage and only included in order to convert older formats
enum
CameraSpecType
{
...
...
src/MissionManager/CameraCalcTest.cc
View file @
07ce9312
...
...
@@ -21,9 +21,8 @@ void CameraCalcTest::init(void)
UnitTest
::
init
();
_offlineVehicle
=
new
Vehicle
(
MAV_AUTOPILOT_PX4
,
MAV_TYPE_QUADROTOR
,
qgcApp
()
->
toolbox
()
->
firmwarePluginManager
(),
this
);
_cameraCalc
=
new
CameraCalc
(
_offlineVehicle
,
this
);
_cameraCalc
=
new
CameraCalc
(
_offlineVehicle
,
"CameraCalcUnitTest"
/* settingsGroup */
,
this
);
_rgSignals
[
cameraNameChangedIndex
]
=
SIGNAL
(
cameraNameChanged
(
QString
));
_rgSignals
[
dirtyChangedIndex
]
=
SIGNAL
(
dirtyChanged
(
bool
));
_rgSignals
[
imageFootprintSideChangedIndex
]
=
SIGNAL
(
imageFootprintSideChanged
(
double
));
_rgSignals
[
imageFootprintFrontalChangedIndex
]
=
SIGNAL
(
imageFootprintFrontalChanged
(
double
));
...
...
@@ -81,7 +80,7 @@ void CameraCalcTest::_testDirty(void)
}
rgFacts
.
clear
();
_cameraCalc
->
setCameraNam
e
(
_cameraCalc
->
customCameraName
());
_cameraCalc
->
cameraName
()
->
setRawValu
e
(
_cameraCalc
->
customCameraName
());
QVERIFY
(
_cameraCalc
->
dirty
());
_multiSpy
->
clearAllSignals
();
...
...
src/MissionManager/CameraCalcTest.h
View file @
07ce9312
...
...
@@ -31,8 +31,7 @@ private slots:
private:
enum
{
cameraNameChangedIndex
=
0
,
dirtyChangedIndex
,
dirtyChangedIndex
=
0
,
imageFootprintSideChangedIndex
,
imageFootprintFrontalChangedIndex
,
distanceToSurfaceRelativeChangedIndex
,
...
...
@@ -40,7 +39,6 @@ private:
};
enum
{
cameraNameChangedMask
=
1
<<
cameraNameChangedIndex
,
dirtyChangedMask
=
1
<<
dirtyChangedIndex
,
imageFootprintSideChangedMask
=
1
<<
imageFootprintSideChangedIndex
,
imageFootprintFrontalChangedMask
=
1
<<
imageFootprintFrontalChangedIndex
,
...
...
src/MissionManager/StructureScan.SettingsGroup.json
View file @
07ce9312
...
...
@@ -34,6 +34,14 @@
"min"
:
1
,
"defaultValue"
:
1
},
{
"name"
:
"StructureHeight"
,
"shortDescription"
:
"Height of structure being scanned."
,
"type"
:
"double"
,
"units"
:
"m"
,
"min"
:
1
,
"defaultValue"
:
100
},
{
"name"
:
"Layer distance"
,
"shortDescription"
:
"Distance between each layer."
,
...
...
src/MissionManager/StructureScanComplexItem.cc
View file @
07ce9312
...
...
@@ -21,18 +21,18 @@
QGC_LOGGING_CATEGORY
(
StructureScanComplexItemLog
,
"StructureScanComplexItemLog"
)
const
char
*
StructureScanComplexItem
::
_altitudeFactName
=
"Altitude"
;
const
char
*
StructureScanComplexItem
::
_structureHeightFactName
=
"StructureHeight"
;
const
char
*
StructureScanComplexItem
::
_layersFactName
=
"Layers"
;
const
char
*
StructureScanComplexItem
::
settingsGroup
=
"StructureScan"
;
const
char
*
StructureScanComplexItem
::
altitudeName
=
"Altitude"
;
const
char
*
StructureScanComplexItem
::
structureHeightName
=
"StructureHeight"
;
const
char
*
StructureScanComplexItem
::
layersName
=
"Layers"
;
const
char
*
StructureScanComplexItem
::
jsonComplexItemTypeValue
=
"StructureScan"
;
const
char
*
StructureScanComplexItem
::
_jsonCameraCalcKey
=
"CameraCalc"
;
const
char
*
StructureScanComplexItem
::
_jsonAltitudeRelativeKey
=
"altitudeRelative"
;
QMap
<
QString
,
FactMetaData
*>
StructureScanComplexItem
::
_metaDataMap
;
const
char
*
StructureScanComplexItem
::
jsonComplexItemTypeValue
=
"StructureScan"
;
const
char
*
StructureScanComplexItem
::
_jsonCameraCalcKey
=
"CameraCalc"
;
const
char
*
StructureScanComplexItem
::
_jsonAltitudeRelativeKey
=
"altitudeRelative"
;
StructureScanComplexItem
::
StructureScanComplexItem
(
Vehicle
*
vehicle
,
bool
flyView
,
QObject
*
parent
)
:
ComplexMissionItem
(
vehicle
,
flyView
,
parent
)
,
_metaDataMap
(
FactMetaData
::
createMapFromJsonFile
(
QStringLiteral
(
":/json/StructureScan.SettingsGroup.json"
),
this
/* QObject parent */
))
,
_sequenceNumber
(
0
)
,
_dirty
(
false
)
,
_altitudeRelative
(
true
)
...
...
@@ -41,22 +41,13 @@ StructureScanComplexItem::StructureScanComplexItem(Vehicle* vehicle, bool flyVie
,
_scanDistance
(
0.0
)
,
_cameraShots
(
0
)
,
_cameraMinTriggerInterval
(
0
)
,
_cameraCalc
(
vehicle
)
,
_altitudeFact
(
0
,
_altitudeFactName
,
FactMetaData
::
valueTypeDouble
)
,
_layersFact
(
0
,
_layersFactName
,
FactMetaData
::
valueTypeUint32
)
,
_cameraCalc
(
vehicle
,
settingsGroup
)
,
_altitudeFact
(
settingsGroup
,
_metaDataMap
[
altitudeName
])
,
_structureHeightFact
(
settingsGroup
,
_metaDataMap
[
structureHeightName
])
,
_layersFact
(
settingsGroup
,
_metaDataMap
[
layersName
])
{
_editorQml
=
"qrc:/qml/StructureScanEditor.qml"
;
if
(
_metaDataMap
.
isEmpty
())
{
_metaDataMap
=
FactMetaData
::
createMapFromJsonFile
(
QStringLiteral
(
":/json/StructureScan.SettingsGroup.json"
),
NULL
/* QObject parent */
);
}
_altitudeFact
.
setMetaData
(
_metaDataMap
[
_altitudeFactName
]);
_layersFact
.
setMetaData
(
_metaDataMap
[
_layersFactName
]);
_altitudeFact
.
setRawValue
(
_altitudeFact
.
rawDefaultValue
());
_layersFact
.
setRawValue
(
_layersFact
.
rawDefaultValue
());
_altitudeFact
.
setRawValue
(
qgcApp
()
->
toolbox
()
->
settingsManager
()
->
appSettings
()
->
defaultMissionItemAltitude
()
->
rawValue
());
connect
(
&
_altitudeFact
,
&
Fact
::
valueChanged
,
this
,
&
StructureScanComplexItem
::
_setDirty
);
...
...
@@ -143,10 +134,10 @@ void StructureScanComplexItem::save(QJsonArray& missionItems)
saveObject
[
VisualMissionItem
::
jsonTypeKey
]
=
VisualMissionItem
::
jsonTypeComplexItemValue
;
saveObject
[
ComplexMissionItem
::
jsonComplexItemTypeKey
]
=
jsonComplexItemTypeValue
;
saveObject
[
_altitudeFactName
]
=
_altitudeFact
.
rawValue
().
toDouble
();
saveObject
[
_structureHeightFac
tName
]
=
_structureHeightFact
.
rawValue
().
toDouble
();
saveObject
[
_jsonAltitudeRelativeKey
]
=
_altitudeRelative
;
saveObject
[
_layersFactName
]
=
_layersFact
.
rawValue
().
toDouble
();
saveObject
[
altitudeName
]
=
_altitudeFact
.
rawValue
().
toDouble
();
saveObject
[
structureHeigh
tName
]
=
_structureHeightFact
.
rawValue
().
toDouble
();
saveObject
[
_jsonAltitudeRelativeKey
]
=
_altitudeRelative
;
saveObject
[
layersName
]
=
_layersFact
.
rawValue
().
toDouble
();
QJsonObject
cameraCalcObject
;
_cameraCalc
.
save
(
cameraCalcObject
);
...
...
@@ -173,10 +164,10 @@ bool StructureScanComplexItem::load(const QJsonObject& complexObject, int sequen
{
VisualMissionItem
::
jsonTypeKey
,
QJsonValue
::
String
,
true
},
{
ComplexMissionItem
::
jsonComplexItemTypeKey
,
QJsonValue
::
String
,
true
},
{
QGCMapPolygon
::
jsonPolygonKey
,
QJsonValue
::
Array
,
true
},
{
_altitudeFactName
,
QJsonValue
::
Double
,
true
},
{
_structureHeightFactName
,
QJsonValue
::
Double
,
true
},
{
altitudeName
,
QJsonValue
::
Double
,
true
},
{
structureHeightName
,
QJsonValue
::
Double
,
true
},
{
_jsonAltitudeRelativeKey
,
QJsonValue
::
Bool
,
true
},
{
_layersFactName
,
QJsonValue
::
Double
,
true
},
{
layersName
,
QJsonValue
::
Double
,
true
},
{
_jsonCameraCalcKey
,
QJsonValue
::
Object
,
true
},
};
if
(
!
JsonHelper
::
validateKeys
(
complexObject
,
keyInfoList
,
errorString
))
{
...
...
@@ -205,8 +196,8 @@ bool StructureScanComplexItem::load(const QJsonObject& complexObject, int sequen
return
false
;
}
_altitudeFact
.
setRawValue
(
complexObject
[
_altitudeFact
Name
].
toDouble
());
_layersFact
.
setRawValue
(
complexObject
[
_layersFact
Name
].
toDouble
());
_altitudeFact
.
setRawValue
(
complexObject
[
altitude
Name
].
toDouble
());
_layersFact
.
setRawValue
(
complexObject
[
layers
Name
].
toDouble
());
_altitudeRelative
=
complexObject
[
_jsonAltitudeRelativeKey
].
toBool
(
true
);
if
(
!
_structurePolygon
.
loadFromJson
(
complexObject
,
true
/* required */
,
errorString
))
{
...
...
src/MissionManager/StructureScanComplexItem.h
View file @
07ce9312
...
...
@@ -92,6 +92,11 @@ public:
static
const
char
*
jsonComplexItemTypeValue
;
static
const
char
*
settingsGroup
;
static
const
char
*
altitudeName
;
static
const
char
*
structureHeightName
;
static
const
char
*
layersName
;
signals:
void
cameraShotsChanged
(
int
cameraShots
);
void
timeBetweenShotsChanged
(
void
);
...
...
@@ -115,6 +120,8 @@ private:
void
_setCameraShots
(
int
cameraShots
);
double
_triggerDistance
(
void
)
const
;
QMap
<
QString
,
FactMetaData
*>
_metaDataMap
;
int
_sequenceNumber
;
bool
_dirty
;
QGCMapPolygon
_structurePolygon
;
...
...
@@ -130,15 +137,10 @@ private:
double
_cruiseSpeed
;
CameraCalc
_cameraCalc
;
static
QMap
<
QString
,
FactMetaData
*>
_metaDataMap
;
Fact
_altitudeFact
;
Fact
_structureHeightFact
;
Fact
_layersFact
;
static
const
char
*
_altitudeFactName
;
static
const
char
*
_structureHeightFactName
;
static
const
char
*
_layersFactName
;
SettingsFact
_altitudeFact
;
SettingsFact
_structureHeightFact
;
SettingsFact
_layersFact
;
static
const
char
*
_jsonCameraCalcKey
;
static
const
char
*
_jsonAltitudeRelativeKey
;
...
...
src/MissionManager/StructureScanComplexItemTest.cc
View file @
07ce9312
...
...
@@ -92,7 +92,7 @@ void StructureScanComplexItemTest::_initItem(void)
mapPolygon
->
appendVertex
(
vertex
);
}
_structureScanItem
->
cameraCalc
()
->
setCameraNam
e
(
CameraCalc
::
manualCameraName
());
_structureScanItem
->
cameraCalc
()
->
cameraName
()
->
setRawValu
e
(
CameraCalc
::
manualCameraName
());
_structureScanItem
->
layers
()
->
setCookedValue
(
2
);
_structureScanItem
->
setDirty
(
false
);
...
...
@@ -109,7 +109,7 @@ void StructureScanComplexItemTest::_validateItem(StructureScanComplexItem* item)
QCOMPARE
(
expectedVertex
,
actualVertex
);
}
Q
COMPARE
(
_structureScanItem
->
cameraCalc
()
->
cameraName
()
,
CameraCalc
::
manualCameraName
());
Q
VERIFY
(
_structureScanItem
->
cameraCalc
()
->
isManualCamera
());
QCOMPARE
(
item
->
layers
()
->
cookedValue
().
toInt
(),
2
);
}
...
...
src/MissionManager/SurveyComplexItem.cc
View file @
07ce9312
...
...
@@ -257,7 +257,7 @@ bool SurveyComplexItem::_loadV3(const QJsonObject& complexObject, int sequenceNu
_cameraCalc
.
adjustedFootprintFrontal
()
->
setRawValue
(
complexObject
[
_jsonV3CameraTriggerDistanceKey
].
toDouble
());
if
(
manualGrid
)
{
_cameraCalc
.
setCameraNam
e
(
_cameraCalc
.
manualCameraName
());
_cameraCalc
.
cameraName
()
->
setRawValu
e
(
_cameraCalc
.
manualCameraName
());
}
else
{
if
(
!
complexObject
.
contains
(
_jsonV3CameraObjectKey
))
{
errorString
=
tr
(
"%1 but %2 object is missing"
).
arg
(
"manualGrid = false"
).
arg
(
"camera"
);
...
...
@@ -292,7 +292,7 @@ bool SurveyComplexItem::_loadV3(const QJsonObject& complexObject, int sequenceNu
return
false
;
}
_cameraCalc
.
setCameraName
(
cameraObject
[
_jsonV3CameraNameKey
].
toString
());
_cameraCalc
.
cameraName
()
->
setRawValue
(
cameraObject
[
_jsonV3CameraNameKey
].
toString
());
_cameraCalc
.
landscape
()
->
setRawValue
(
cameraObject
[
_jsonV3CameraOrientationLandscapeKey
].
toBool
(
true
));
_cameraCalc
.
frontalOverlap
()
->
setRawValue
(
cameraObject
[
_jsonV3FrontalOverlapKey
].
toInt
());
_cameraCalc
.
sideOverlap
()
->
setRawValue
(
cameraObject
[
_jsonV3SideOverlapKey
].
toInt
());
...
...
src/MissionManager/TransectStyleComplexItem.cc
View file @
07ce9312
...
...
@@ -40,7 +40,6 @@ const int TransectStyleComplexItem::_terrainQueryTimeoutMsecs = 1000
TransectStyleComplexItem
::
TransectStyleComplexItem
(
Vehicle
*
vehicle
,
bool
flyView
,
QString
settingsGroup
,
QObject
*
parent
)
:
ComplexMissionItem
(
vehicle
,
flyView
,
parent
)
,
_settingsGroup
(
settingsGroup
)
,
_sequenceNumber
(
0
)
,
_dirty
(
false
)
,
_terrainPolyPathQuery
(
NULL
)
...
...
@@ -48,17 +47,17 @@ TransectStyleComplexItem::TransectStyleComplexItem(Vehicle* vehicle, bool flyVie
,
_complexDistance
(
0
)
,
_cameraShots
(
0
)
,
_cameraMinTriggerInterval
(
0
)
,
_cameraCalc
(
vehicle
)
,
_cameraCalc
(
vehicle
,
settingsGroup
)
,
_followTerrain
(
false
)
,
_loadedMissionItemsParent
(
NULL
)
,
_metaDataMap
(
FactMetaData
::
createMapFromJsonFile
(
QStringLiteral
(
":/json/TransectStyle.SettingsGroup.json"
),
this
))
,
_turnAroundDistanceFact
(
_
settingsGroup
,
_metaDataMap
[
_vehicle
->
multiRotor
()
?
turnAroundDistanceMultiRotorName
:
turnAroundDistanceName
])
,
_cameraTriggerInTurnAroundFact
(
_
settingsGroup
,
_metaDataMap
[
cameraTriggerInTurnAroundName
])
,
_hoverAndCaptureFact
(
_
settingsGroup
,
_metaDataMap
[
hoverAndCaptureName
])
,
_refly90DegreesFact
(
_
settingsGroup
,
_metaDataMap
[
refly90DegreesName
])
,
_terrainAdjustToleranceFact
(
_
settingsGroup
,
_metaDataMap
[
terrainAdjustToleranceName
])
,
_terrainAdjustMaxClimbRateFact
(
_
settingsGroup
,
_metaDataMap
[
terrainAdjustMaxClimbRateName
])
,
_terrainAdjustMaxDescentRateFact
(
_
settingsGroup
,
_metaDataMap
[
terrainAdjustMaxDescentRateName
])
,
_turnAroundDistanceFact
(
settingsGroup
,
_metaDataMap
[
_vehicle
->
multiRotor
()
?
turnAroundDistanceMultiRotorName
:
turnAroundDistanceName
])
,
_cameraTriggerInTurnAroundFact
(
settingsGroup
,
_metaDataMap
[
cameraTriggerInTurnAroundName
])
,
_hoverAndCaptureFact
(
settingsGroup
,
_metaDataMap
[
hoverAndCaptureName
])
,
_refly90DegreesFact
(
settingsGroup
,
_metaDataMap
[
refly90DegreesName
])
,
_terrainAdjustToleranceFact
(
settingsGroup
,
_metaDataMap
[
terrainAdjustToleranceName
])
,
_terrainAdjustMaxClimbRateFact
(
settingsGroup
,
_metaDataMap
[
terrainAdjustMaxClimbRateName
])
,
_terrainAdjustMaxDescentRateFact
(
settingsGroup
,
_metaDataMap
[
terrainAdjustMaxDescentRateName
])
{
_terrainQueryTimer
.
setInterval
(
_terrainQueryTimeoutMsecs
);
_terrainQueryTimer
.
setSingleShot
(
true
);
...
...
src/MissionManager/TransectStyleComplexItem.h
View file @
07ce9312
...
...
@@ -143,7 +143,6 @@ protected:
bool
_hasTurnaround
(
void
)
const
;
double
_turnaroundDistance
(
void
)
const
;
QString
_settingsGroup
;
int
_sequenceNumber
;
bool
_dirty
;
QGeoCoordinate
_coordinate
;
...
...
src/PlanView/CameraCalc.qml
View file @
07ce9312
...
...
@@ -38,11 +38,11 @@ Column {
_cameraList
.
push
(
_vehicle
.
staticCameraList
[
i
].
name
)
}
gridTypeCombo
.
model
=
_cameraList
var
knownCameraIndex
=
gridTypeCombo
.
find
(
cameraCalc
.
cameraName
)
var
knownCameraIndex
=
gridTypeCombo
.
find
(
cameraCalc
.
cameraName
.
value
)
if
(
knownCameraIndex
!==
-
1
)
{
gridTypeCombo
.
currentIndex
=
knownCameraIndex
}
else
{
console
.
log
(
"
Internal error: Known camera not found
"
,
cameraCalc
.
cameraName
)
console
.
log
(
"
Internal error: Known camera not found
"
,
cameraCalc
.
cameraName
.
value
)
gridTypeCombo
.
currentIndex
=
_gridTypeCustomCamera
}
}
...
...
@@ -73,7 +73,7 @@ Column {
anchors.right
:
parent
.
right
model
:
_cameraList
currentIndex
:
-
1
onActivated
:
cameraCalc
.
cameraName
=
gridTypeCombo
.
textAt
(
index
)
onActivated
:
cameraCalc
.
cameraName
.
value
=
gridTypeCombo
.
textAt
(
index
)
}
// QGCComboxBox
// Camera based grid ui
...
...
@@ -81,7 +81,7 @@ Column {
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
cameraCalc
.
cameraName
!==
cameraCalc
.
manualCameraName
visible
:
!
cameraCalc
.
isManualCamera
Row
{
spacing
:
_margin
...
...
@@ -111,7 +111,7 @@ Column {
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
cameraCalc
.
cameraName
===
cameraCalc
.
customCameraName
visible
:
cameraCalc
.
isCustomCamera
RowLayout
{
anchors.left
:
parent
.
left
...
...
@@ -282,7 +282,7 @@ Column {
columnSpacing
:
_margin
rowSpacing
:
_margin
columns
:
2
visible
:
cameraCalc
.
cameraName
===
cameraCalc
.
manualCameraName
visible
:
cameraCalc
.
isManualCamera
QGCLabel
{
text
:
distanceToSurfaceLabel
}
FactTextField
{
...
...
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