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