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
12dc8848
Commit
12dc8848
authored
Sep 26, 2019
by
Don Gagne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
parent
399663c2
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
911 additions
and
459 deletions
+911
-459
qgroundcontrol.qrc
qgroundcontrol.qrc
+2
-0
CameraCalcCamera.qml
src/PlanView/CameraCalcCamera.qml
+183
-0
CameraCalcGrid.qml
src/PlanView/CameraCalcGrid.qml
+153
-0
CorridorScanEditor.qml
src/PlanView/CorridorScanEditor.qml
+140
-104
StructureScanEditor.qml
src/PlanView/StructureScanEditor.qml
+133
-99
SurveyItemEditor.qml
src/PlanView/SurveyItemEditor.qml
+298
-256
qmldir
src/QmlControls/QGroundControl/Controls/qmldir
+2
-0
No files found.
qgroundcontrol.qrc
View file @
12dc8848
...
...
@@ -66,6 +66,8 @@
<file alias="QGroundControl/Controls/AppMessages.qml">src/QmlControls/AppMessages.qml</file>
<file alias="QGroundControl/Controls/AxisMonitor.qml">src/QmlControls/AxisMonitor.qml</file>
<file alias="QGroundControl/Controls/CameraCalc.qml">src/PlanView/CameraCalc.qml</file>
<file alias="QGroundControl/Controls/CameraCalcCamera.qml">src/PlanView/CameraCalcCamera.qml</file>
<file alias="QGroundControl/Controls/CameraCalcGrid.qml">src/PlanView/CameraCalcGrid.qml</file>
<file alias="QGroundControl/Controls/CameraSection.qml">src/PlanView/CameraSection.qml</file>
<file alias="QGroundControl/Controls/ClickableColor.qml">src/QmlControls/ClickableColor.qml</file>
<file alias="QGroundControl/Controls/CorridorScanMapVisual.qml">src/PlanView/CorridorScanMapVisual.qml</file>
...
...
src/PlanView/CameraCalcCamera.qml
0 → 100644
View file @
12dc8848
import
QtQuick
2.3
import
QtQuick
.
Controls
1.2
import
QtQuick
.
Layouts
1.2
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
Palette
1.0
// Camera calculator "Camera" section for mission item editors
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
!
usingPreset
||
!
cameraSpecifiedInPreset
property
var
cameraCalc
property
bool
vehicleFlightIsFrontal
:
true
property
string
distanceToSurfaceLabel
property
int
distanceToSurfaceAltitudeMode
:
QGroundControl
.
AltitudeModeNone
property
string
frontalDistanceLabel
property
string
sideDistanceLabel
property
bool
usingPreset
:
false
property
bool
cameraSpecifiedInPreset
:
false
property
real
_margin
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
string
_cameraName
:
cameraCalc
.
cameraName
.
value
property
real
_fieldWidth
:
ScreenTools
.
defaultFontPixelWidth
*
10.5
property
var
_cameraList
:
[
]
property
var
_vehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
?
QGroundControl
.
multiVehicleManager
.
activeVehicle
:
QGroundControl
.
multiVehicleManager
.
offlineEditingVehicle
property
var
_vehicleCameraList
:
_vehicle
?
_vehicle
.
staticCameraList
:
[]
property
bool
_cameraComboFilled
:
false
readonly
property
int
_gridTypeManual
:
0
readonly
property
int
_gridTypeCustomCamera
:
1
readonly
property
int
_gridTypeCamera
:
2
Component.onCompleted
:
_fillCameraCombo
()
on_CameraNameChanged
:
_updateSelectedCamera
()
function
_fillCameraCombo
()
{
_cameraComboFilled
=
true
_cameraList
.
push
(
cameraCalc
.
manualCameraName
)
_cameraList
.
push
(
cameraCalc
.
customCameraName
)
for
(
var
i
=
0
;
i
<
_vehicle
.
staticCameraList
.
length
;
i
++
)
{
_cameraList
.
push
(
_vehicle
.
staticCameraList
[
i
].
name
)
}
gridTypeCombo
.
model
=
_cameraList
_updateSelectedCamera
()
}
function
_updateSelectedCamera
()
{
if
(
_cameraComboFilled
)
{
var
knownCameraIndex
=
gridTypeCombo
.
find
(
_cameraName
)
if
(
knownCameraIndex
!==
-
1
)
{
gridTypeCombo
.
currentIndex
=
knownCameraIndex
}
else
{
console
.
log
(
"
Internal error: Known camera not found
"
,
_cameraName
)
gridTypeCombo
.
currentIndex
=
_gridTypeCustomCamera
}
}
}
QGCPalette
{
id
:
qgcPal
;
colorGroupEnabled
:
true
}
ExclusiveGroup
{
id
:
cameraOrientationGroup
}
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
QGCComboBox
{
id
:
gridTypeCombo
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
model
:
_cameraList
currentIndex
:
-
1
onActivated
:
cameraCalc
.
cameraName
.
value
=
gridTypeCombo
.
textAt
(
index
)
}
// QGCComboxBox
// Camera based grid ui
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
!
cameraCalc
.
isManualCamera
Row
{
spacing
:
_margin
anchors.horizontalCenter
:
parent
.
horizontalCenter
visible
:
!
cameraCalc
.
fixedOrientation
.
value
QGCRadioButton
{
width
:
_editFieldWidth
text
:
"
Landscape
"
checked
:
!!
cameraCalc
.
landscape
.
value
onClicked
:
cameraCalc
.
landscape
.
value
=
1
}
QGCRadioButton
{
id
:
cameraOrientationPortrait
text
:
"
Portrait
"
checked
:
!
cameraCalc
.
landscape
.
value
onClicked
:
cameraCalc
.
landscape
.
value
=
0
}
}
// Custom camera specs
Column
{
id
:
custCameraCol
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
cameraCalc
.
isCustomCamera
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
Item
{
Layout.fillWidth
:
true
}
QGCLabel
{
Layout.preferredWidth
:
_root
.
_fieldWidth
text
:
qsTr
(
"
Width
"
)
}
QGCLabel
{
Layout.preferredWidth
:
_root
.
_fieldWidth
text
:
qsTr
(
"
Height
"
)
}
}
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
QGCLabel
{
text
:
qsTr
(
"
Sensor
"
);
Layout.fillWidth
:
true
}
FactTextField
{
Layout.preferredWidth
:
_root
.
_fieldWidth
fact
:
cameraCalc
.
sensorWidth
}
FactTextField
{
Layout.preferredWidth
:
_root
.
_fieldWidth
fact
:
cameraCalc
.
sensorHeight
}
}
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
QGCLabel
{
text
:
qsTr
(
"
Image
"
);
Layout.fillWidth
:
true
}
FactTextField
{
Layout.preferredWidth
:
_root
.
_fieldWidth
fact
:
cameraCalc
.
imageWidth
}
FactTextField
{
Layout.preferredWidth
:
_root
.
_fieldWidth
fact
:
cameraCalc
.
imageHeight
}
}
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
QGCLabel
{
text
:
qsTr
(
"
Focal length
"
)
Layout.fillWidth
:
true
}
FactTextField
{
Layout.preferredWidth
:
_root
.
_fieldWidth
fact
:
cameraCalc
.
focalLength
}
}
}
// Column - custom camera specs
}
// Column - Camera spec based ui
}
// Column - Camera Section
}
// Column
src/PlanView/CameraCalcGrid.qml
0 → 100644
View file @
12dc8848
import
QtQuick
2.3
import
QtQuick
.
Controls
1.2
import
QtQuick
.
Layouts
1.2
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
Palette
1.0
// Camera calculator "Grid" section for mission item editors
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
!
usingPreset
||
!
cameraSpecifiedInPreset
property
var
cameraCalc
property
bool
vehicleFlightIsFrontal
:
true
property
string
distanceToSurfaceLabel
property
int
distanceToSurfaceAltitudeMode
:
QGroundControl
.
AltitudeModeNone
property
string
frontalDistanceLabel
property
string
sideDistanceLabel
property
bool
usingPreset
:
false
property
bool
cameraSpecifiedInPreset
:
false
property
real
_margin
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
string
_cameraName
:
cameraCalc
.
cameraName
.
value
property
real
_fieldWidth
:
ScreenTools
.
defaultFontPixelWidth
*
10.5
property
var
_cameraList
:
[
]
property
var
_vehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
?
QGroundControl
.
multiVehicleManager
.
activeVehicle
:
QGroundControl
.
multiVehicleManager
.
offlineEditingVehicle
property
var
_vehicleCameraList
:
_vehicle
?
_vehicle
.
staticCameraList
:
[]
property
bool
_cameraComboFilled
:
false
readonly
property
int
_gridTypeManual
:
0
readonly
property
int
_gridTypeCustomCamera
:
1
readonly
property
int
_gridTypeCamera
:
2
QGCPalette
{
id
:
qgcPal
;
colorGroupEnabled
:
true
}
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
!
cameraCalc
.
isManualCamera
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
!
usingPreset
Item
{
Layout.fillWidth
:
true
}
QGCLabel
{
Layout.preferredWidth
:
_root
.
_fieldWidth
text
:
qsTr
(
"
Front Lap
"
)
}
QGCLabel
{
Layout.preferredWidth
:
_root
.
_fieldWidth
text
:
qsTr
(
"
Side Lap
"
)
}
}
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
!
usingPreset
QGCLabel
{
text
:
qsTr
(
"
Overlap
"
);
Layout.fillWidth
:
true
}
FactTextField
{
Layout.preferredWidth
:
_root
.
_fieldWidth
fact
:
cameraCalc
.
frontalOverlap
}
FactTextField
{
Layout.preferredWidth
:
_root
.
_fieldWidth
fact
:
cameraCalc
.
sideOverlap
}
}
QGCLabel
{
wrapMode
:
Text
.
WordWrap
text
:
qsTr
(
"
Select one:
"
)
Layout.preferredWidth
:
parent
.
width
Layout.columnSpan
:
2
visible
:
!
usingPreset
}
GridLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
columnSpacing
:
_margin
rowSpacing
:
_margin
columns
:
2
visible
:
!
usingPreset
QGCRadioButton
{
id
:
fixedDistanceRadio
text
:
distanceToSurfaceLabel
checked
:
!!
cameraCalc
.
valueSetIsDistance
.
value
onClicked
:
cameraCalc
.
valueSetIsDistance
.
value
=
1
}
AltitudeFactTextField
{
fact
:
cameraCalc
.
distanceToSurface
altitudeMode
:
distanceToSurfaceAltitudeMode
enabled
:
fixedDistanceRadio
.
checked
Layout.fillWidth
:
true
}
QGCRadioButton
{
id
:
fixedImageDensityRadio
text
:
qsTr
(
"
Ground Res
"
)
checked
:
!
cameraCalc
.
valueSetIsDistance
.
value
onClicked
:
cameraCalc
.
valueSetIsDistance
.
value
=
0
}
FactTextField
{
fact
:
cameraCalc
.
imageDensity
enabled
:
fixedImageDensityRadio
.
checked
Layout.fillWidth
:
true
}
}
}
// Column - Camera spec based ui
// No camera spec ui
GridLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
columnSpacing
:
_margin
rowSpacing
:
_margin
columns
:
2
visible
:
cameraCalc
.
isManualCamera
QGCLabel
{
text
:
distanceToSurfaceLabel
}
AltitudeFactTextField
{
fact
:
cameraCalc
.
distanceToSurface
altitudeMode
:
distanceToSurfaceAltitudeMode
Layout.fillWidth
:
true
}
QGCLabel
{
text
:
frontalDistanceLabel
}
FactTextField
{
Layout.fillWidth
:
true
fact
:
cameraCalc
.
adjustedFootprintFrontal
}
QGCLabel
{
text
:
sideDistanceLabel
}
FactTextField
{
Layout.fillWidth
:
true
fact
:
cameraCalc
.
adjustedFootprintSide
}
}
// GridLayout
}
// Column
src/PlanView/CorridorScanEditor.qml
View file @
12dc8848
This diff is collapsed.
Click to expand it.
src/PlanView/StructureScanEditor.qml
View file @
12dc8848
This diff is collapsed.
Click to expand it.
src/PlanView/SurveyItemEditor.qml
View file @
12dc8848
This diff is collapsed.
Click to expand it.
src/QmlControls/QGroundControl/Controls/qmldir
View file @
12dc8848
...
...
@@ -4,6 +4,8 @@ AnalyzePage 1.0 AnalyzePage.qml
AppMessages 1.0 AppMessages.qml
AxisMonitor 1.0 AxisMonitor.qml
CameraCalc 1.0 CameraCalc.qml
CameraCalcCamera 1.0 CameraCalcCamera.qml
CameraCalcGrid 1.0 CameraCalcGrid.qml
APMSubMotorDisplay 1.0 APMSubMotorDisplay.qml
CameraSection 1.0 CameraSection.qml
ClickableColor 1.0 ClickableColor.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