@ -54,174 +54,193 @@ Rectangle {
@@ -54,174 +54,193 @@ Rectangle {
anchors.top: parent . top
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
QGCTabBar {
id: tabBar
ColumnLayout {
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
visible: ! missionItem . corridorPolyline . isValid
Component.onCompleted: currentIndex = 0
QGCTabButton { text: qsTr ( "Grid" ) }
QGCTabButton { text: qsTr ( "Camera" ) }
QGCLabel {
Layout.fillWidth: true
wrapMode: Text . WordWrap
text: qsTr ( "Use the Corridor Tools to create the polyline which defines the corridor." )
}
}
Column {
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
visible: tabBar . currentIndex == 0
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
visible: missionItem . surveyAreaPolygon . isValid
QGCLabel {
QGCTabBar {
id: tabBar
anchors.left: parent . left
anchors.right: parent . right
text: qsTr ( "WARNING: Photo interval is below minimum interval (%1 secs) supported by camera." ) . arg ( _cameraMinTriggerInterval . toFixed ( 1 ) )
wrapMode: Text . WordWrap
color: qgcPal . warningText
visible: missionItem . cameraShots > 0 && _cameraMinTriggerInterval !== 0 && _cameraMinTriggerInterval > missionItem . timeBetweenShots
}
Component.onCompleted: currentIndex = 0
CameraCalcGrid {
cameraCalc: missionItem . cameraCalc
vehicleFlightIsFrontal: true
distanceToSurfaceLabel: qsTr ( "Altitude" )
distanceToSurfaceAltitudeMode: missionItem . followTerrain ?
QGroundControl.AltitudeModeAboveTerrain :
missionItem . cameraCalc . distanceToSurfaceRelative
frontalDistanceLabel: qsTr ( "Trigger Dist" )
sideDistanceLabel: qsTr ( "Spacing" )
QGCTabButton { text: qsTr ( "Grid" ) }
QGCTabButton { text: qsTr ( "Camera" ) }
}
SectionHeader {
id: corridorHeader
text: qsTr ( "Corridor" )
}
Column {
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
visible: tabBar . currentIndex == 0
QGCLabel {
anchors.left: parent . left
anchors.right: parent . right
text: qsTr ( "WARNING: Photo interval is below minimum interval (%1 secs) supported by camera." ) . arg ( _cameraMinTriggerInterval . toFixed ( 1 ) )
wrapMode: Text . WordWrap
color: qgcPal . warningText
visible: missionItem . cameraShots > 0 && _cameraMinTriggerInterval !== 0 && _cameraMinTriggerInterval > missionItem . timeBetweenShots
}
GridLayout {
anchors.left: parent . left
anchors.right: parent . right
columnSpacing: _margin
rowSpacing: _margin
columns: 2
visible: corridorHeader . checked
QGCLabel { text: qsTr ( "Width" ) }
FactTextField {
fact: missionItem . corridorWidth
Layout.fillWidth: true
CameraCalcGrid {
cameraCalc: missionItem . cameraCalc
vehicleFlightIsFrontal: true
distanceToSurfaceLabel: qsTr ( "Altitude" )
distanceToSurfaceAltitudeMode: missionItem . followTerrain ?
QGroundControl.AltitudeModeAboveTerrain :
missionItem . cameraCalc . distanceToSurfaceRelative
frontalDistanceLabel: qsTr ( "Trigger Dist" )
sideDistanceLabel: qsTr ( "Spacing" )
}
QGCLabel { text: qsTr ( "Turnaround dist" ) }
FactTextField {
fact: missionItem . turnAroundDistance
Layout.fillWidth: true
SectionHeader {
id: corridorHeader
text: qsTr ( "Corridor" )
}
QGCOptionsComboBox {
Layout.columnSpan: 2
Layout.fillWidth: true
model: [
{
text: qsTr ( "Images in turnarounds" ) ,
fact: missionItem . cameraTriggerInTurnAround ,
enabled: missionItem . hoverAndCaptureAllowed ? ! missionItem.hoverAndCapture.rawValue : true ,
visible: true
} ,
{
text: qsTr ( "Relative altitude" ) ,
enabled: missionItem . cameraCalc . isManualCamera && ! missionItem . followTerrain ,
visible: QGroundControl . corePlugin . options . showMissionAbsoluteAltitude || ( ! missionItem . cameraCalc . distanceToSurfaceRelative && ! missionItem . followTerrain ) ,
checked: missionItem . cameraCalc . distanceToSurfaceRelative
}
]
GridLayout {
anchors.left: parent . left
anchors.right: parent . right
columnSpacing: _margin
rowSpacing: _margin
columns: 2
visible: corridorHeader . checked
QGCLabel { text: qsTr ( "Width" ) }
FactTextField {
fact: missionItem . corridorWidth
Layout.fillWidth: true
}
onItemClicked: {
if ( index == 1 ) {
missionItem . cameraCalc . distanceToSurfaceRelative = ! missionItem . cameraCalc . distanceToSurfaceRelative
console . log ( missionItem . cameraCalc . distanceToSurfaceRelative )
}
QGCLabel { text: qsTr ( "Turnaround dist" ) }
FactTextField {
fact: missionItem . turnAroundDistance
Layout.fillWidth: true
}
}
}
QGCButton {
text: qsTr ( "Rotate Entry Point" )
onClicked: missionItem . rotateEntryPoint ( )
}
QGCOptionsComboBox {
Layout.columnSpan: 2
Layout.fillWidth: true
SectionHeader {
id: terrainHeader
text: qsTr ( "Terrain" )
checked: missionItem . followTerrain
}
model: [
{
text: qsTr ( "Images in turnarounds" ) ,
fact: missionItem . cameraTriggerInTurnAround ,
enabled: missionItem . hoverAndCaptureAllowed ? ! missionItem.hoverAndCapture.rawValue : true ,
visible: true
} ,
{
text: qsTr ( "Relative altitude" ) ,
enabled: missionItem . cameraCalc . isManualCamera && ! missionItem . followTerrain ,
visible: QGroundControl . corePlugin . options . showMissionAbsoluteAltitude || ( ! missionItem . cameraCalc . distanceToSurfaceRelative && ! missionItem . followTerrain ) ,
checked: missionItem . cameraCalc . distanceToSurfaceRelative
}
]
onItemClicked: {
if ( index == 1 ) {
missionItem . cameraCalc . distanceToSurfaceRelative = ! missionItem . cameraCalc . distanceToSurfaceRelative
console . log ( missionItem . cameraCalc . distanceToSurfaceRelative )
}
}
}
}
ColumnLayout {
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
visible: terrainHeader . checked
QGCButton {
text: qsTr ( "Rotate Entry Point" )
onClicked: missionItem . rotateEntryPoint ( )
}
QGCCheckBox {
id: followsTerrainCheckBox
text: qsTr ( "Vehicle follows terrain" )
SectionHeader {
id: terrainHeader
text: qsTr ( "T errain" )
checked: missionItem . followTerrain
onClicked: missionItem . followTerrain = checked
}
GridLayout {
Layout.fillWidth: true
columnSpacing: _margin
rowSpacing: _margin
columns: 2
visible: followsTerrainCheckBox . checked
QGCLabel { text: qsTr ( "Tolerance" ) }
FactTextField {
fact: missionItem . terrainAdjustTolerance
Layout.fillWidth: true
Column Layout {
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
visible: terrainHeader . checked
QGCCheckBox {
id: followsTerrainCheckBox
text: qsTr ( "Vehicle follows terrain" )
checked: missionItem . followTerrain
onClicked: missionItem . followTerrain = checked
}
QGCLabel { text: qsTr ( "Max Climb Rate" ) }
FactTextField {
fact: missionItem . terrainAdjustMaxClimbRate
GridLayout {
Layout.fillWidth: true
}
columnSpacing: _margin
rowSpacing: _margin
columns: 2
visible: followsTerrainCheckBox . checked
QGCLabel { text: qsTr ( "Tolerance" ) }
FactTextField {
fact: missionItem . terrainAdjustTolerance
Layout.fillWidth: true
}
QGCLabel { text: qsTr ( "Max Descent Rate" ) }
FactTextField {
fact: missionItem . terrainAdjustMaxDescentRate
Layout.fillWidth: true
QGCLabel { text: qsTr ( "Max Climb Rate" ) }
FactTextField {
fact: missionItem . terrainAdjustMaxClimbRate
Layout.fillWidth: true
}
QGCLabel { text: qsTr ( "Max Descent Rate" ) }
FactTextField {
fact: missionItem . terrainAdjustMaxDescentRate
Layout.fillWidth: true
}
}
}
}
SectionHeader {
id: statsHeader
text: qsTr ( "Statistics" )
}
TransectStyleComplexItemStats { }
} / / G r i d C o l u m n
SectionHeader {
id: statsHeader
text: qsTr ( "Statistics" )
}
Column {
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
visible: tabBar . currentIndex == 1
CameraCalcCamera {
cameraCalc: missionItem . cameraCalc
vehicleFlightIsFrontal: true
distanceToSurfaceLabel: qsTr ( "Altitude" )
distanceToSurfaceAltitudeMode: missionItem . followTerrain ?
QGroundControl.AltitudeModeAboveTerrain :
missionItem . cameraCalc . distanceToSurfaceRelative
frontalDistanceLabel: qsTr ( "Trigger Dist" )
sideDistanceLabel: qsTr ( "Spacing" )
TransectStyleComplexItemStats { }
} / / G r i d C o l u m n
Column {
anchors.left: parent . left
anchors.right: parent . right
spacing: _margin
visible: tabBar . currentIndex == 1
CameraCalcCamera {
cameraCalc: missionItem . cameraCalc
vehicleFlightIsFrontal: true
distanceToSurfaceLabel: qsTr ( "Altitude" )
distanceToSurfaceAltitudeMode: missionItem . followTerrain ?
QGroundControl.AltitudeModeAboveTerrain :
missionItem . cameraCalc . distanceToSurfaceRelative
frontalDistanceLabel: qsTr ( "Trigger Dist" )
sideDistanceLabel: qsTr ( "Spacing" )
}
}
} / / C a m e r a C o l u m n
}
}
} / / R e c t a n g l e
}