From 3dc41359f45be34e48b5fc382fba01c354b29b15 Mon Sep 17 00:00:00 2001 From: Valentin Platzgummer Date: Wed, 11 Nov 2020 10:28:29 +0100 Subject: [PATCH] src mod --- src/FactSystem/Fact.cc | 12 +-- src/MissionManager/MissionController.cc | 23 +++++- src/MissionManager/StructureScanComplexItem.h | 2 +- src/MissionManager/VisualMissionItem.cc | 2 +- src/Wima/CircularSurvey.cc | 76 +++++++++++++------ src/Wima/CircularSurvey.h | 47 ++++++------ src/Wima/Geometry/WimaServiceArea.cc | 9 ++- src/Wima/{WaypointManager => }/Utils.cpp | 0 src/Wima/{WaypointManager => }/Utils.h | 0 src/Wima/WimaPlaner.cc | 33 ++++---- src/Wima/WimaPlaner.h | 3 +- 11 files changed, 122 insertions(+), 85 deletions(-) rename src/Wima/{WaypointManager => }/Utils.cpp (100%) rename src/Wima/{WaypointManager => }/Utils.h (100%) diff --git a/src/FactSystem/Fact.cc b/src/FactSystem/Fact.cc index 08de95abc..cb1a67308 100644 --- a/src/FactSystem/Fact.cc +++ b/src/FactSystem/Fact.cc @@ -20,13 +20,13 @@ static const char* kMissingMetadata = "Meta data pointer missing"; Fact::Fact(QObject* parent) : QObject (parent) - , _componentId (-1) , _rawValue (0) , _type (FactMetaData::valueTypeInt32) , _metaData (nullptr) + , _valueSliderModel (nullptr) + , _componentId (-1) , _sendValueChangedSignals (true) , _deferredValueChangeSignal(false) - , _valueSliderModel (nullptr) , _ignoreQGCRebootRequired (false) { FactMetaData* metaData = new FactMetaData(_type, this); @@ -38,13 +38,13 @@ Fact::Fact(QObject* parent) Fact::Fact(int componentId, QString name, FactMetaData::ValueType_t type, QObject* parent) : QObject (parent) , _name (name) - , _componentId (componentId) , _rawValue (0) , _type (type) , _metaData (nullptr) + , _valueSliderModel (nullptr) + , _componentId (componentId) , _sendValueChangedSignals (true) , _deferredValueChangeSignal(false) - , _valueSliderModel (nullptr) , _ignoreQGCRebootRequired (false) { FactMetaData* metaData = new FactMetaData(_type, this); @@ -56,13 +56,13 @@ Fact::Fact(int componentId, QString name, FactMetaData::ValueType_t type, QObjec Fact::Fact(const QString& settingsGroup, FactMetaData* metaData, QObject* parent) : QObject(parent) , _name (metaData->name()) - , _componentId (0) , _rawValue (0) , _type (metaData->type()) , _metaData (nullptr) + , _valueSliderModel (nullptr) + , _componentId (0) , _sendValueChangedSignals (true) , _deferredValueChangeSignal(false) - , _valueSliderModel (nullptr) , _ignoreQGCRebootRequired (false) { qgcApp()->toolbox()->corePlugin()->adjustSettingMetaData(settingsGroup, *metaData); diff --git a/src/MissionManager/MissionController.cc b/src/MissionManager/MissionController.cc index ebcd726dc..7af1586c6 100644 --- a/src/MissionManager/MissionController.cc +++ b/src/MissionManager/MissionController.cc @@ -19,6 +19,7 @@ #include "FixedWingLandingComplexItem.h" #include "VTOLLandingComplexItem.h" #include "StructureScanComplexItem.h" +#include "Wima/CircularSurvey.h" #include "CorridorScanComplexItem.h" #include "JsonHelper.h" #include "ParameterManager.h" @@ -443,6 +444,8 @@ VisualMissionItem* MissionController::insertComplexMissionItem(QString itemName, newItem = new StructureScanComplexItem(_masterController, _flyView, QString() /* kmlFile */, _visualItems /* parent */); } else if (itemName == CorridorScanComplexItem::name) { newItem = new CorridorScanComplexItem(_masterController, _flyView, QString() /* kmlFile */, _visualItems /* parent */); + } else if (itemName == CircularSurvey::name) { + newItem = new CircularSurvey(_masterController, _flyView, QString() /* kmlFile */, _visualItems /* parent */); } else { qWarning() << "Internal error: Unknown complex item:" << itemName; return nullptr; @@ -478,7 +481,8 @@ void MissionController::_insertComplexMissionItemWorker(const QGeoCoordinate& ma int sequenceNumber = _nextSequenceNumber(); bool surveyStyleItem = qobject_cast(complexItem) || qobject_cast(complexItem) || - qobject_cast(complexItem); + qobject_cast(complexItem) || + qobject_cast(complexItem) ; if (surveyStyleItem) { bool rollSupported = false; @@ -535,7 +539,9 @@ void MissionController::removeVisualItem(int viIndex) return; } - bool removeSurveyStyle = _visualItems->value(viIndex) || _visualItems->value(viIndex); + bool removeSurveyStyle = _visualItems->value(viIndex) || + _visualItems->value(viIndex) || + _visualItems->value(viIndex); VisualMissionItem* item = qobject_cast(_visualItems->removeAt(viIndex)); if (item == _takeoffMissionItem) { @@ -549,7 +555,9 @@ void MissionController::removeVisualItem(int viIndex) // Determine if the mission still has another survey style item in it bool foundSurvey = false; for (int i=1; i<_visualItems->count(); i++) { - if (_visualItems->value(i) || _visualItems->value(i)) { + if (_visualItems->value(i) + || _visualItems->value(i) + || _visualItems->value(i) ) { foundSurvey = true; break; } @@ -863,6 +871,15 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject& json, QmlObjec nextSequenceNumber = corridorItem->lastSequenceNumber() + 1; qCDebug(MissionControllerLog) << "Corridor Scan load complete: nextSequenceNumber" << nextSequenceNumber; visualItems->append(corridorItem); + } else if (complexItemType == CircularSurvey::jsonComplexItemTypeValue) { + qCDebug(MissionControllerLog) << "Loading Circular Survey: nextSequenceNumber" << nextSequenceNumber; + CircularSurvey* survey = new CircularSurvey(_masterController, _flyView, QString() /* kmlFile */, visualItems); + if (!survey->load(itemObject, nextSequenceNumber++, errorString)) { + return false; + } + nextSequenceNumber = survey->lastSequenceNumber() + 1; + qCDebug(MissionControllerLog) << "Ciruclar Survey load complete: nextSequenceNumber" << nextSequenceNumber; + visualItems->append(survey); } else { errorString = tr("Unsupported complex item type: %1").arg(complexItemType); } diff --git a/src/MissionManager/StructureScanComplexItem.h b/src/MissionManager/StructureScanComplexItem.h index 0e83616c4..d99f4d9f7 100644 --- a/src/MissionManager/StructureScanComplexItem.h +++ b/src/MissionManager/StructureScanComplexItem.h @@ -86,7 +86,7 @@ public: double specifiedGimbalYaw (void) final { return std::numeric_limits::quiet_NaN(); } double specifiedGimbalPitch (void) final { return std::numeric_limits::quiet_NaN(); } void appendMissionItems (QList& items, QObject* missionItemParent) final; - void setMissionFlightStatus (MissionController::MissionFlightStatus_t& missionFlightStatus) final; + void setMissionFlightStatus (const MissionController::MissionFlightStatus_t& missionFlightStatus) final; void applyNewAltitude (double newAltitude) final; double additionalTimeDelay (void) const final { return 0; } ReadyForSaveState readyForSaveState (void) const final; diff --git a/src/MissionManager/VisualMissionItem.cc b/src/MissionManager/VisualMissionItem.cc index 4800e6b3b..dd008da62 100644 --- a/src/MissionManager/VisualMissionItem.cc +++ b/src/MissionManager/VisualMissionItem.cc @@ -150,7 +150,7 @@ void VisualMissionItem::setAzimuth(double azimuth) } } -void VisualMissionItem::setMissionFlightStatus(MissionController::MissionFlightStatus_t& missionFlightStatus) +void VisualMissionItem::setMissionFlightStatus(const MissionController::MissionFlightStatus_t& missionFlightStatus) { if (!QGC::fuzzyCompare(missionFlightStatus.gimbalYaw, _missionGimbalYaw)) { _missionGimbalYaw = missionFlightStatus.gimbalYaw; diff --git a/src/Wima/CircularSurvey.cc b/src/Wima/CircularSurvey.cc index 4626e5c56..e5cce2f36 100644 --- a/src/Wima/CircularSurvey.cc +++ b/src/Wima/CircularSurvey.cc @@ -29,12 +29,15 @@ constexpr typename std::underlying_type::type integral(T value) { } const char *CircularSurvey::settingsGroup = "CircularSurvey"; -const char *CircularSurvey::CircularSurveyName = "CircularSurvey"; +const char *CircularSurvey::jsonComplexItemTypeValue = "CircularSurvey"; const char *CircularSurvey::variantName = "Variant"; +const QString CircularSurvey::name(tr("Circular Survey")); -CircularSurvey::CircularSurvey(PlanMasterController *masterController, bool flyView, - const QString &kmlOrShpFile, QObject *parent) - : TransectStyleComplexItem(masterController, flyView, settingsGroup, parent), +CircularSurvey::CircularSurvey(PlanMasterController *masterController, + bool flyView, const QString &kmlOrShpFile, + QObject *parent) + : TransectStyleComplexItem(masterController, flyView, settingsGroup, + parent), _state(STATE::IDLE), _metaDataMap(FactMetaData::createMapFromJsonFile( QStringLiteral(":/json/CircularSurvey.SettingsGroup.json"), this)), @@ -65,7 +68,7 @@ CircularSurvey::CircularSurvey(PlanMasterController *masterController, bool flyV CircularSurvey::~CircularSurvey() {} void CircularSurvey::reverse() { - this->_state = STATE::REVERSE; + this->_setState(STATE::REVERSE); this->_rebuildTransects(); } @@ -113,7 +116,7 @@ bool CircularSurvey::load(const QJsonObject &complexObject, int sequenceNumber, QString complexType = complexObject[ComplexMissionItem::jsonComplexItemTypeKey].toString(); if (itemType != VisualMissionItem::jsonTypeComplexItemValue || - complexType != CircularSurveyName) { + complexType != jsonComplexItemTypeValue) { errorString = tr("%1 does not support loading this complex mission item " "type: %2:%3") .arg(qgcApp()->applicationName()) @@ -161,7 +164,8 @@ void CircularSurvey::save(QJsonArray &planItems) { saveObject[JsonHelper::jsonVersionKey] = 1; saveObject[VisualMissionItem::jsonTypeKey] = VisualMissionItem::jsonTypeComplexItemValue; - saveObject[ComplexMissionItem::jsonComplexItemTypeKey] = CircularSurveyName; + saveObject[ComplexMissionItem::jsonComplexItemTypeKey] = + jsonComplexItemTypeValue; saveObject[variantName] = double(_variant.rawValue().toUInt()); @@ -171,7 +175,9 @@ void CircularSurvey::save(QJsonArray &planItems) { planItems.append(saveObject); } -bool CircularSurvey::specifiesCoordinate() const { return true; } +bool CircularSurvey::specifiesCoordinate() const { + return _transects.count() > 0 ? _transects.first().count() > 0 : false; +} bool CircularSurvey::_switchToGenerator( const CircularSurvey::PtrGenerator &newG) { @@ -187,7 +193,7 @@ bool CircularSurvey::_switchToGenerator( this, &CircularSurvey::_rebuildTransects); emit generatorChanged(); - this->_state = STATE::IDLE; + this->_setState(STATE::IDLE); _rebuildTransects(); return true; @@ -196,12 +202,26 @@ bool CircularSurvey::_switchToGenerator( } } +void CircularSurvey::_setState(CircularSurvey::STATE state) { + if (this->_state != state) { + auto oldState = this->_state; + this->_state = state; + if (_calculating(oldState) != _calculating(state)) { + emit calculatingChanged(); + } + } +} + +bool CircularSurvey::_calculating(CircularSurvey::STATE state) const { + return state == STATE::ROUTING; +} + void CircularSurvey::_changeVariant() { - this->_state = STATE::VARIANT_CHANGE; + this->_setState(STATE::VARIANT_CHANGE); this->_rebuildTransects(); } -void CircularSurvey::_updateWorker() { +bool CircularSurvey::_updateWorker() { // Reset data. this->_transects.clear(); this->_variantVector.clear(); @@ -216,7 +236,7 @@ void CircularSurvey::_updateWorker() { if (!origin.isValid()) { qCDebug(CircularSurveyLog) << "_updateWorker(): origin invalid." << origin; - return; + return false; } // Convert safe area. @@ -224,7 +244,7 @@ void CircularSurvey::_updateWorker() { if (!(geoSafeArea.size() >= 3)) { qCDebug(CircularSurveyLog) << "_updateWorker(): safe area invalid." << geoSafeArea; - return; + return false; } for (auto &v : geoSafeArea) { if (v.isValid()) { @@ -233,7 +253,7 @@ void CircularSurvey::_updateWorker() { qCDebug(CircularSurveyLog) << "_updateWorker(): safe area contains invalid coordinate." << geoSafeArea; - return; + return false; } } @@ -249,18 +269,22 @@ void CircularSurvey::_updateWorker() { if (this->_pGenerator->get(g)) { // Start/Restart routing worker. this->_pWorker->route(par, g); + return true; } else { qCDebug(CircularSurveyLog) << "_updateWorker(): generator creation failed."; + return false; } } else { qCDebug(CircularSurveyLog) << "_updateWorker(): pGenerator == nullptr, number of registered " "generators: " << this->_generatorList.size(); + return false; } } else { qCDebug(CircularSurveyLog) << "_updateWorker(): plan data invalid."; + return false; } } @@ -315,7 +339,7 @@ void CircularSurvey::_reverseWorker() { } } -double CircularSurvey::timeBetweenShots() { return 1; } +double CircularSurvey::timeBetweenShots() { return 0; } QString CircularSurvey::commandDescription() const { return tr("Circular Survey"); @@ -341,6 +365,8 @@ CircularSurvey::readyForSaveState() const { double CircularSurvey::additionalTimeDelay() const { return 0; } +QString CircularSurvey::patternName() const { return name; } + bool CircularSurvey::registerGenerator( const QString &name, std::shared_ptr g) { if (name.isEmpty()) { @@ -451,25 +477,27 @@ void CircularSurvey::_rebuildTransectsPhase1(void) { switch (this->_state) { case STATE::SKIPP: qCDebug(CircularSurveyLog) << "rebuildTransectsPhase1: skipp."; + this->_setState(STATE::IDLE); break; case STATE::VARIANT_CHANGE: qCDebug(CircularSurveyLog) << "rebuildTransectsPhase1: variant change."; this->_changeVariantWorker(); - break; - case STATE::RUN_CHANGE: - qCDebug(CircularSurveyLog) << "rebuildTransectsPhase1: run change."; - this->_changeVariantWorker(); + this->_setState(STATE::IDLE); break; case STATE::REVERSE: qCDebug(CircularSurveyLog) << "rebuildTransectsPhase1: reverse."; this->_reverseWorker(); + this->_setState(STATE::IDLE); break; case STATE::IDLE: + case STATE::ROUTING: + this->_setState(STATE::ROUTING); qCDebug(CircularSurveyLog) << "rebuildTransectsPhase1: update."; - this->_updateWorker(); + if (!this->_updateWorker()) { + this->_setState(STATE::IDLE); + } break; } - this->_state = STATE::IDLE; qCDebug(CircularSurveyLog) << "rebuildTransectsPhase1(): " @@ -587,19 +615,19 @@ void CircularSurvey::_setTransects(CircularSurvey::PtrRoutingData pRoute) { &CircularSurvey::_changeVariant); this->_changeVariantWorker(); - this->_state = STATE::SKIPP; + this->_setState(STATE::SKIPP); this->_rebuildTransects(); } else { qCDebug(CircularSurveyLog) << "_setTransects(): failed, variantVector empty."; - this->_state = STATE::IDLE; + this->_setState(STATE::IDLE); } } Fact *CircularSurvey::variant() { return &_variant; } bool CircularSurvey::calculating() const { - return this->_pWorker->calculating(); + return this->_calculating(this->_state); } /*! diff --git a/src/Wima/CircularSurvey.h b/src/Wima/CircularSurvey.h index fb2cb0872..50ab8edee 100644 --- a/src/Wima/CircularSurvey.h +++ b/src/Wima/CircularSurvey.h @@ -27,9 +27,11 @@ class CircularSurvey : public TransectStyleComplexItem { using Transects = QList>; using Variant = Transects; + enum class STATE { IDLE, ROUTING, SKIPP, REVERSE, VARIANT_CHANGE }; + public: - CircularSurvey(PlanMasterController *masterController, bool flyView, const QString &kmlOrShpFile, - QObject *parent); + CircularSurvey(PlanMasterController *masterController, bool flyView, + const QString &kmlOrShpFile, QObject *parent); ~CircularSurvey(); Q_PROPERTY(Fact *variant READ variant CONSTANT) @@ -55,17 +57,18 @@ public: bool calculating() const; // Overrides - bool load(const QJsonObject &complexObject, int sequenceNumber, - QString &errorString) override final; - QString mapVisualQML(void) const override final; - void save(QJsonArray &planItems) override final; - bool specifiesCoordinate(void) const override final; - double timeBetweenShots(void) override final; - QString commandDescription(void) const override final; - QString commandName(void) const override final; - QString abbreviation(void) const override final; - ReadyForSaveState readyForSaveState(void) const override final; - double additionalTimeDelay(void) const override final; + virtual bool load(const QJsonObject &complexObject, int sequenceNumber, + QString &errorString) override final; + virtual QString mapVisualQML(void) const override final; + virtual void save(QJsonArray &planItems) override final; + virtual bool specifiesCoordinate(void) const override final; + virtual double timeBetweenShots(void) override final; + virtual QString commandDescription(void) const override final; + virtual QString commandName(void) const override final; + virtual QString abbreviation(void) const override final; + virtual ReadyForSaveState readyForSaveState(void) const override final; + virtual double additionalTimeDelay(void) const override final; + virtual QString patternName(void) const override; // Generator bool registerGenerator(const QString &name, @@ -80,7 +83,8 @@ public: static const char *settingsGroup; static const char *variantName; - static const char *CircularSurveyName; + static const char *jsonComplexItemTypeValue; + static const QString name; signals: void calculatingChanged(); @@ -90,27 +94,22 @@ signals: private slots: // Overrides from TransectStyleComplexItem - void _rebuildTransectsPhase1(void) final; - void _recalcCameraShots(void) final; + virtual void _rebuildTransectsPhase1(void) override final; + virtual void _recalcCameraShots(void) override final; // Worker functions. void _setTransects(PtrRoutingData pRoute); void _changeVariant(); - void _updateWorker(); + bool _updateWorker(); void _changeVariantWorker(); void _reverseWorker(); private: bool _switchToGenerator(const PtrGenerator &newG); + void _setState(STATE state); + bool _calculating(STATE state) const; // State. - enum class STATE { - IDLE, - SKIPP, - REVERSE, - VARIANT_CHANGE, - RUN_CHANGE, - }; STATE _state; // center of the circular lanes, e.g. base station diff --git a/src/Wima/Geometry/WimaServiceArea.cc b/src/Wima/Geometry/WimaServiceArea.cc index d73163e12..c8fb2071d 100644 --- a/src/Wima/Geometry/WimaServiceArea.cc +++ b/src/Wima/Geometry/WimaServiceArea.cc @@ -1,6 +1,7 @@ #include "WimaServiceArea.h" #include "QGCLoggingCategory.h" +#include "QGCQGeoCoordinate.h" QGC_LOGGING_CATEGORY(WimaServiceAreaLog, "WimaServiceAreaLog") @@ -109,9 +110,9 @@ void WimaServiceArea::init() { int minIndex = 0; for (int idx = 0; idx < this->pathModel().count(); ++idx) { const QObject *obj = this->pathModel()[idx]; - const auto *vertex = qobject_cast(obj); + const auto *vertex = qobject_cast(obj); if (vertex != nullptr) { - auto d = vertex->distanceTo(this->_depot); + auto d = vertex->coordinate().distanceTo(this->_depot); if (d < minDist) { minDist = d; minIndex = idx; @@ -120,10 +121,10 @@ void WimaServiceArea::init() { qCCritical(WimaServiceAreaLog) << "init(): nullptr catched!"; } } - this->setDepot(*this->pathModel().value(minIndex)); + this->setDepot(this->pathModel().value(minIndex)->coordinate()); } else if (this->pathModel().count() > 0) { // Use first coordinate. - this->setDepot(*this->pathModel().value(0)); + this->setDepot(this->pathModel().value(0)->coordinate()); } } }); diff --git a/src/Wima/WaypointManager/Utils.cpp b/src/Wima/Utils.cpp similarity index 100% rename from src/Wima/WaypointManager/Utils.cpp rename to src/Wima/Utils.cpp diff --git a/src/Wima/WaypointManager/Utils.h b/src/Wima/Utils.h similarity index 100% rename from src/Wima/WaypointManager/Utils.h rename to src/Wima/Utils.h diff --git a/src/Wima/WimaPlaner.cc b/src/Wima/WimaPlaner.cc index 7e276747d..6de56f90a 100644 --- a/src/Wima/WimaPlaner.cc +++ b/src/Wima/WimaPlaner.cc @@ -350,7 +350,7 @@ void WimaPlaner::_update() { // Create survey item if not yet present. if (surveyIndex < 0) { _missionController->insertComplexMissionItem( - _missionController->circularSurveyComplexItemName(), + CircularSurvey::name, _measurementArea.center(), missionItems->count()); _survey = qobject_cast( missionItems->get(missionItems->count() - 1)); @@ -361,10 +361,8 @@ void WimaPlaner::_update() { } // establish connections - connect(_survey, &CircularSurvey::calculatingChanged, this, - &WimaPlaner::CSCalculatingChangedHandler); - connect(_survey, &CircularSurvey::missionItemReady, this, - &WimaPlaner::CSMissionItemReadyHandler); + connect(_survey, &CircularSurvey::visualTransectPointsChanged, this, + &WimaPlaner::CSVisualTransectPointsChangedHandler); connect(_survey, &CircularSurvey::destroyed, this, &WimaPlaner::CSDestroyedHandler); } @@ -470,15 +468,14 @@ void WimaPlaner::CSDestroyedHandler() { this->_stateMachine->updateState(EVENT::SURVEY_DESTROYED); } -void WimaPlaner::CSMissionItemReadyHandler() { +void WimaPlaner::CSVisualTransectPointsChangedHandler() { + if (this->_survey && this->_survey->calculating()){ + this->_stateMachine->updateState(EVENT::SURVEY_UPDATE_TRIGGERED); + + } else { this->_stateMachine->updateState(EVENT::SURVEY_UPDATED); this->_update(); -} - -void WimaPlaner::CSCalculatingChangedHandler() { - if (this->_survey->calculating()) { - this->_stateMachine->updateState(EVENT::SURVEY_UPDATE_TRIGGERED); - } + } } void WimaPlaner::mAreaPathChangedHandler() { @@ -608,10 +605,8 @@ bool WimaPlaner::loadFromFile(const QString &filename) { // disconnect old survey if (_survey != nullptr) { - disconnect(_survey, &CircularSurvey::calculatingChanged, this, - &WimaPlaner::CSCalculatingChangedHandler); - disconnect(_survey, &CircularSurvey::missionItemReady, this, - &WimaPlaner::CSMissionItemReadyHandler); + disconnect(_survey, &CircularSurvey::visualTransectPointsChanged, this, + &WimaPlaner::CSVisualTransectPointsChangedHandler); disconnect(_survey, &CircularSurvey::destroyed, this, &WimaPlaner::CSDestroyedHandler); } @@ -753,10 +748,8 @@ bool WimaPlaner::loadFromFile(const QString &filename) { for (int i = 0; i < missionItems->count(); i++) { _survey = missionItems->value(i); if (_survey != nullptr) { - connect(_survey, &CircularSurvey::calculatingChanged, this, - &WimaPlaner::CSCalculatingChangedHandler); - connect(_survey, &CircularSurvey::missionItemReady, this, - &WimaPlaner::CSMissionItemReadyHandler); + connect(_survey, &CircularSurvey::visualTransectPointsChanged, this, + &WimaPlaner::CSVisualTransectPointsChangedHandler); connect(_survey, &CircularSurvey::destroyed, this, &WimaPlaner::CSDestroyedHandler); break; diff --git a/src/Wima/WimaPlaner.h b/src/Wima/WimaPlaner.h index f6e786681..7e4eab68d 100644 --- a/src/Wima/WimaPlaner.h +++ b/src/Wima/WimaPlaner.h @@ -127,8 +127,7 @@ private slots: void updatePolygonInteractivity(int index); void _update(); void CSDestroyedHandler(); - void CSMissionItemReadyHandler(); - void CSCalculatingChangedHandler(); + void CSVisualTransectPointsChangedHandler(); void mAreaPathChangedHandler(); void mAreaTilesChangedHandler(); void mAreaProgressChangedHandler(); -- 2.22.0