diff --git a/src/Wima/WimaController.cc b/src/Wima/WimaController.cc index cfae7e90b336a394f9acdf5df2d0acef7d3c0e0a..5803ed372a9a6cb758c944171ff95bb7ba61ed5c 100644 --- a/src/Wima/WimaController.cc +++ b/src/Wima/WimaController.cc @@ -65,7 +65,7 @@ WimaController::WimaController(QObject *parent) enableDisableLowBatteryHandling(enableLowBatteryHandling->rawValue()); } -QmlObjectVectorModel* WimaController::visualItems() +QmlObjectListModel* WimaController::visualItems() { return &_visualItems; } @@ -92,12 +92,12 @@ WimaDataContainer *WimaController::dataContainer() return _container; } -QmlObjectVectorModel *WimaController::missionItems() +QmlObjectListModel *WimaController::missionItems() { return &_missionItems; } -QmlObjectVectorModel *WimaController::currentMissionItems() +QmlObjectListModel *WimaController::currentMissionItems() { return &_currentMissionItems; } @@ -394,12 +394,12 @@ bool WimaController::calcShortestPath(const QGeoCoordinate &start, const QGeoCoo return retVal; } -bool WimaController::extractCoordinateList(QmlObjectVectorModel &missionItems, QVector &coordinateList) +bool WimaController::extractCoordinateList(QmlObjectListModel &missionItems, QVector &coordinateList) { return extractCoordinateList(missionItems, coordinateList, 0, missionItems.count()-1); } -bool WimaController::extractCoordinateList(QmlObjectVectorModel &missionItems, QVector &coordinateList, int startIndex, int endIndex) +bool WimaController::extractCoordinateList(QmlObjectListModel &missionItems, QVector &coordinateList, int startIndex, int endIndex) { if ( startIndex >= 0 && startIndex < missionItems.count() @@ -427,12 +427,12 @@ bool WimaController::extractCoordinateList(QmlObjectVectorModel &missionItems, Q return true; } -bool WimaController::extractCoordinateList(QmlObjectVectorModel &missionItems, QVariantList &coordinateList) +bool WimaController::extractCoordinateList(QmlObjectListModel &missionItems, QVariantList &coordinateList) { return extractCoordinateList(missionItems, coordinateList, 0 , missionItems.count()-1); } -bool WimaController::extractCoordinateList(QmlObjectVectorModel &missionItems, QVariantList &coordinateList, int startIndex, int endIndex) +bool WimaController::extractCoordinateList(QmlObjectListModel &missionItems, QVariantList &coordinateList, int startIndex, int endIndex) { QVector geoCoordintateList; @@ -567,10 +567,9 @@ bool WimaController::fetchContainerData() _nextPhaseStartWaypointIndex.setRawValue(reverse? _missionItems.count() : int(1)); connect(&_nextPhaseStartWaypointIndex, &Fact::rawValueChanged, this, &WimaController::calcNextPhase); - /* if(!calcNextPhase()) return false; - */ + emit visualItemsChanged(); @@ -804,10 +803,9 @@ bool WimaController::calcNextPhase() updateCurrentPath(); emit currentMissionItemsChanged(); - qWarning() << "WimaController::calcNextPhase()" - << std::chrono::duration_cast( - std::chrono::high_resolution_clock::now()-start).count() - << " ms"; + qWarning() << "WimaController::calcNextPhase() exec time: " + << std::chrono::duration_cast( + std::chrono::high_resolution_clock::now() - start).count() << " us"; return true; } diff --git a/src/Wima/WimaController.h b/src/Wima/WimaController.h index c22dca0c0b7427c5ca38adb69e69c6ce4e2fd00e..5c958e44e3618f6cf1b3e25241eb69598a95627e 100644 --- a/src/Wima/WimaController.h +++ b/src/Wima/WimaController.h @@ -2,7 +2,7 @@ #include #include "QGCMapPolygon.h" -#include "QmlObjectVectorModel.h" +#include "QmlObjectListModel.h" #include "WimaArea.h" #include "WimaMeasurementArea.h" @@ -37,14 +37,14 @@ public: Q_PROPERTY(PlanMasterController* masterController READ masterController WRITE setMasterController NOTIFY masterControllerChanged) Q_PROPERTY(MissionController* missionController READ missionController WRITE setMissionController NOTIFY missionControllerChanged) - Q_PROPERTY(QmlObjectVectorModel* visualItems READ visualItems NOTIFY visualItemsChanged) + Q_PROPERTY(QmlObjectListModel* visualItems READ visualItems NOTIFY visualItemsChanged) Q_PROPERTY(QString currentFile READ currentFile NOTIFY currentFileChanged) Q_PROPERTY(QStringList loadNameFilters READ loadNameFilters CONSTANT) Q_PROPERTY(QStringList saveNameFilters READ saveNameFilters CONSTANT) Q_PROPERTY(QString fileExtension READ fileExtension CONSTANT) Q_PROPERTY(WimaDataContainer* dataContainer READ dataContainer WRITE setDataContainer NOTIFY dataContainerChanged) - Q_PROPERTY(QmlObjectVectorModel* missionItems READ missionItems NOTIFY missionItemsChanged) - Q_PROPERTY(QmlObjectVectorModel* currentMissionItems READ currentMissionItems NOTIFY currentMissionItemsChanged) + Q_PROPERTY(QmlObjectListModel* missionItems READ missionItems NOTIFY missionItemsChanged) + Q_PROPERTY(QmlObjectListModel* currentMissionItems READ currentMissionItems NOTIFY currentMissionItemsChanged) Q_PROPERTY(QVariantList waypointPath READ waypointPath NOTIFY waypointPathChanged) Q_PROPERTY(QVariantList currentWaypointPath READ currentWaypointPath NOTIFY currentWaypointPathChanged) Q_PROPERTY(Fact* enableWimaController READ enableWimaController CONSTANT) @@ -67,15 +67,15 @@ public: // Property accessors PlanMasterController* masterController (void) { return _masterController; } MissionController* missionController (void) { return _missionController; } - QmlObjectVectorModel* visualItems (void); + QmlObjectListModel* visualItems (void); QString currentFile (void) const { return _currentFile; } QStringList loadNameFilters (void) const; QStringList saveNameFilters (void) const; QString fileExtension (void) const { return wimaFileExtension; } QGCMapPolygon joinedArea (void) const; WimaDataContainer* dataContainer (void); - QmlObjectVectorModel* missionItems (void); - QmlObjectVectorModel* currentMissionItems (void); + QmlObjectListModel* missionItems (void); + QmlObjectListModel* currentMissionItems (void); QVariantList waypointPath (void); QVariantList currentWaypointPath (void); Fact* enableWimaController (void); @@ -141,13 +141,13 @@ public: bool calcShortestPath(const QGeoCoordinate &start, const QGeoCoordinate &destination, QVector &path); /// extracts the coordinates stored in missionItems (list of MissionItems) and stores them in coordinateList - bool extractCoordinateList(QmlObjectVectorModel &missionItems, QVector &coordinateList); + bool extractCoordinateList(QmlObjectListModel &missionItems, QVector &coordinateList); /// extracts the coordinates (between startIndex and endIndex) stored in missionItems (list of MissionItems) and stores them in coordinateList. - bool extractCoordinateList(QmlObjectVectorModel &missionItems, QVector &coordinateList, int startIndex, int endIndex); + bool extractCoordinateList(QmlObjectListModel &missionItems, QVector &coordinateList, int startIndex, int endIndex); /// extracts the coordinates stored in missionItems (list of MissionItems) and stores them in coordinateList - bool extractCoordinateList(QmlObjectVectorModel &missionItems, QVariantList &coordinateList); + bool extractCoordinateList(QmlObjectListModel &missionItems, QVariantList &coordinateList); /// extracts the coordinates (between startIndex and endIndex) stored in missionItems (list of MissionItems) and stores them in coordinateList. - bool extractCoordinateList(QmlObjectVectorModel &missionItems, QVariantList &coordinateList, int startIndex, int endIndex); + bool extractCoordinateList(QmlObjectListModel &missionItems, QVariantList &coordinateList, int startIndex, int endIndex); signals: void masterControllerChanged (void); @@ -198,16 +198,16 @@ private: MissionController *_missionController; QString _currentFile; // file for saveing WimaDataContainer *_container; // container for data exchange with WimaController - QmlObjectVectorModel _visualItems; // contains all visible areas + QmlObjectListModel _visualItems; // contains all visible areas WimaJoinedAreaData _joinedArea; // joined area fromed by opArea, serArea, _corridor WimaMeasurementAreaData _measurementArea; // measurement area WimaServiceAreaData _serviceArea; // area for supplying WimaCorridorData _corridor; // corridor connecting opArea and serArea bool _localPlanDataValid; - QmlObjectVectorModel _missionItems; // all mission itmes (Mission Items) generaded by wimaPlaner, displayed in flightView - QmlObjectVectorModel _currentMissionItems; // contains the current mission items, which are a sub set of _missionItems, + QmlObjectListModel _missionItems; // all mission itmes (Mission Items) generaded by wimaPlaner, displayed in flightView + QmlObjectListModel _currentMissionItems; // contains the current mission items, which are a sub set of _missionItems, // _currentMissionItems contains a number of mission items which can be worked off with a single battery chrage - QmlObjectVectorModel _missionItemsBuffer; // Buffer to store mission items, e.g. for storing _currentMissionItems when smartRTL() is invoked + QmlObjectListModel _missionItemsBuffer; // Buffer to store mission items, e.g. for storing _currentMissionItems when smartRTL() is invoked QVariantList _waypointPath; // path connecting the items in _missionItems QVariantList _currentWaypointPath; // path connecting the items in _currentMissionItems QGeoCoordinate _takeoffLandPostion;