From 8db58b364cb2a2074d8e360ea7038ff406f3bcd9 Mon Sep 17 00:00:00 2001 From: Valentin Platzgummer Date: Sat, 5 Oct 2019 08:21:40 +0200 Subject: [PATCH] bugs solved, area stat. added --- src/MissionManager/QGCMapPolygon.cc | 2 ++ src/MissionManager/QGCMapPolygon.h | 2 ++ src/Wima/WimaPlaner.cc | 1 + src/WimaView/WimaCorridorEditor.qml | 6 ++++++ src/WimaView/WimaMeasurementAreaEditor.qml | 7 +++++-- src/WimaView/WimaServiceAreaEditor.qml | 6 ++++++ 6 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/MissionManager/QGCMapPolygon.cc b/src/MissionManager/QGCMapPolygon.cc index 848ec6d4e..3ac733b71 100644 --- a/src/MissionManager/QGCMapPolygon.cc +++ b/src/MissionManager/QGCMapPolygon.cc @@ -50,6 +50,8 @@ void QGCMapPolygon::_init(void) connect(&_polygonModel, &QmlObjectListModel::dirtyChanged, this, &QGCMapPolygon::_polygonModelDirtyChanged); connect(&_polygonModel, &QmlObjectListModel::countChanged, this, &QGCMapPolygon::_polygonModelCountChanged); connect(this, &QGCMapPolygon::pathChanged, this, &QGCMapPolygon::_updateCenter); + connect(this, &QGCMapPolygon::pathChanged, this, &QGCMapPolygon::areaChanged); + connect(this, &QGCMapPolygon::countChanged, this, &QGCMapPolygon::areaChanged); } const QGCMapPolygon& QGCMapPolygon::operator=(const QGCMapPolygon& other) diff --git a/src/MissionManager/QGCMapPolygon.h b/src/MissionManager/QGCMapPolygon.h index 1eea84ead..b6651588b 100644 --- a/src/MissionManager/QGCMapPolygon.h +++ b/src/MissionManager/QGCMapPolygon.h @@ -36,6 +36,7 @@ public: Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter NOTIFY centerChanged) Q_PROPERTY(bool centerDrag READ centerDrag WRITE setCenterDrag NOTIFY centerDragChanged) Q_PROPERTY(bool interactive READ interactive WRITE setInteractive NOTIFY interactiveChanged) + Q_PROPERTY(double area READ area NOTIFY areaChanged) Q_INVOKABLE void clear(void); Q_INVOKABLE void appendVertex(const QGeoCoordinate& coordinate); @@ -114,6 +115,7 @@ signals: void centerChanged (QGeoCoordinate center); void centerDragChanged (bool centerDrag); void interactiveChanged (bool interactive); + void areaChanged (void); public slots: void setPath (const QList& path); diff --git a/src/Wima/WimaPlaner.cc b/src/Wima/WimaPlaner.cc index 2db04c0b1..3edce2c7e 100644 --- a/src/Wima/WimaPlaner.cc +++ b/src/Wima/WimaPlaner.cc @@ -93,6 +93,7 @@ void WimaPlaner::removeArea(int index) return; } area->clear(); + area->borderPolygon()->clear(); emit visualItemsChanged(); diff --git a/src/WimaView/WimaCorridorEditor.qml b/src/WimaView/WimaCorridorEditor.qml index a27396438..07b422735 100644 --- a/src/WimaView/WimaCorridorEditor.qml +++ b/src/WimaView/WimaCorridorEditor.qml @@ -168,6 +168,12 @@ Rectangle { /*QGCLabel { text: qsTr("Layers") } QGCLabel { text: areaItem.layers.valueString }*/ + QGCLabel { text: qsTr("Area") } + QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(areaItem.area).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString } + + QGCLabel { text: qsTr("Nodes") } + QGCLabel { text: areaItem.count } + } } // Column } // Rectangle diff --git a/src/WimaView/WimaMeasurementAreaEditor.qml b/src/WimaView/WimaMeasurementAreaEditor.qml index a942b900b..4aa61633e 100644 --- a/src/WimaView/WimaMeasurementAreaEditor.qml +++ b/src/WimaView/WimaMeasurementAreaEditor.qml @@ -143,8 +143,11 @@ Rectangle { columnSpacing: ScreenTools.defaultFontPixelWidth visible: statsHeader.checked - /*QGCLabel { text: qsTr("Layers") } - QGCLabel { text: areaItem.layers.valueString }*/ + QGCLabel { text: qsTr("Area") } + QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(areaItem.area).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString } + + QGCLabel { text: qsTr("Nodes") } + QGCLabel { text: areaItem.count } } } // Column diff --git a/src/WimaView/WimaServiceAreaEditor.qml b/src/WimaView/WimaServiceAreaEditor.qml index 96a3679c9..84b94229f 100644 --- a/src/WimaView/WimaServiceAreaEditor.qml +++ b/src/WimaView/WimaServiceAreaEditor.qml @@ -164,6 +164,12 @@ Rectangle { /*QGCLabel { text: qsTr("Layers") } QGCLabel { text: areaItem.layers.valueString }*/ + QGCLabel { text: qsTr("Area") } + QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(areaItem.area).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString } + + QGCLabel { text: qsTr("Nodes") } + QGCLabel { text: areaItem.count } + } } // Column } // Rectangle -- 2.22.0