Unverified Commit 10fc35fb authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #7876 from DonLakeFlyer/StructureScan

Structure Scan: Start with no polygon
parents d6685452 f3ddd277
...@@ -525,14 +525,14 @@ Item { ...@@ -525,14 +525,14 @@ Item {
QGCButton { QGCButton {
_horizontalPadding: 0 _horizontalPadding: 0
text: qsTr("Basic Polygon") text: qsTr("Basic")
visible: !_traceMode visible: !_traceMode
onClicked: _resetPolygon() onClicked: _resetPolygon()
} }
QGCButton { QGCButton {
_horizontalPadding: 0 _horizontalPadding: 0
text: qsTr("Circular Polygon") text: qsTr("Circular")
visible: !_traceMode visible: !_traceMode
onClicked: _resetCircle() onClicked: _resetCircle()
} }
......
...@@ -323,14 +323,14 @@ Item { ...@@ -323,14 +323,14 @@ Item {
QGCButton { QGCButton {
_horizontalPadding: 0 _horizontalPadding: 0
text: qsTr("Basic Corridor") text: qsTr("Basic")
visible: !_traceMode visible: !_traceMode
onClicked: _resetPolyline() onClicked: _resetPolyline()
} }
QGCButton { QGCButton {
_horizontalPadding: 0 _horizontalPadding: 0
text: _traceMode ? qsTr("Done Tracing") : qsTr("Trace Corridor") text: _traceMode ? qsTr("Done Tracing") : qsTr("Trace")
onClicked: { onClicked: {
if (_traceMode) { if (_traceMode) {
if (mapPolyline.count < 2) { if (mapPolyline.count < 2) {
......
...@@ -72,7 +72,7 @@ Rectangle { ...@@ -72,7 +72,7 @@ Rectangle {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
spacing: _margin spacing: _margin
visible: missionItem.surveyAreaPolygon.isValid visible: missionItem.corridorPolyline.isValid
QGCTabBar { QGCTabBar {
id: tabBar id: tabBar
......
This diff is collapsed.
...@@ -18,7 +18,7 @@ import QGroundControl.Palette 1.0 ...@@ -18,7 +18,7 @@ import QGroundControl.Palette 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.FlightMap 1.0 import QGroundControl.FlightMap 1.0
/// Survey Complex Mission Item visuals /// Structure Scan Complex Mission Item visuals
Item { Item {
id: _root id: _root
...@@ -34,54 +34,11 @@ Item { ...@@ -34,54 +34,11 @@ Item {
objMgr.createObjects([entryPointComponent, exitPointComponent], map, true /* parentObjectIsMap */) objMgr.createObjects([entryPointComponent, exitPointComponent], map, true /* parentObjectIsMap */)
} }
function _destroyVisualElements() {
objMgr.destroyObjects()
}
/// Add an initial 4 sided polygon if there is none
function _addInitialPolygon() {
if (_structurePolygon.count < 3) {
// Initial polygon is inset to take 2/3rds space
var rect = Qt.rect(map.centerViewport.x, map.centerViewport.y, map.centerViewport.width, map.centerViewport.height)
rect.x += (rect.width * 0.25) / 2
rect.y += (rect.height * 0.25) / 2
rect.width *= 0.75
rect.height *= 0.75
var centerCoord = map.toCoordinate(Qt.point(rect.x + (rect.width / 2), rect.y + (rect.height / 2)), false /* clipToViewPort */)
var topLeftCoord = map.toCoordinate(Qt.point(rect.x, rect.y), false /* clipToViewPort */)
var topRightCoord = map.toCoordinate(Qt.point(rect.x + rect.width, rect.y), false /* clipToViewPort */)
var bottomLeftCoord = map.toCoordinate(Qt.point(rect.x, rect.y + rect.height), false /* clipToViewPort */)
var bottomRightCoord = map.toCoordinate(Qt.point(rect.x + rect.width, rect.y + rect.height), false /* clipToViewPort */)
// Adjust polygon to max size
var maxSize = 100
var halfWidthMeters = Math.min(topLeftCoord.distanceTo(topRightCoord), maxSize) / 2
var halfHeightMeters = Math.min(topLeftCoord.distanceTo(bottomLeftCoord), maxSize) / 2
topLeftCoord = centerCoord.atDistanceAndAzimuth(halfWidthMeters, -90).atDistanceAndAzimuth(halfHeightMeters, 0)
topRightCoord = centerCoord.atDistanceAndAzimuth(halfWidthMeters, 90).atDistanceAndAzimuth(halfHeightMeters, 0)
bottomLeftCoord = centerCoord.atDistanceAndAzimuth(halfWidthMeters, -90).atDistanceAndAzimuth(halfHeightMeters, 180)
bottomRightCoord = centerCoord.atDistanceAndAzimuth(halfWidthMeters, 90).atDistanceAndAzimuth(halfHeightMeters, 180)
_structurePolygon.appendVertex(topLeftCoord)
_structurePolygon.appendVertex(topRightCoord)
_structurePolygon.appendVertex(bottomRightCoord)
_structurePolygon.appendVertex(bottomLeftCoord)
}
}
Component.onCompleted: { Component.onCompleted: {
_addInitialPolygon()
_addVisualElements() _addVisualElements()
} }
Component.onDestruction: { QGCDynamicObjectManager { id: objMgr }
_destroyVisualElements()
}
QGCDynamicObjectManager {
id: objMgr
}
QGCMapPolygonVisuals { QGCMapPolygonVisuals {
mapControl: map mapControl: map
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment