Commit 570fbc03 authored by Valentin Platzgummer's avatar Valentin Platzgummer

code not passing assertions

parent 0a9d836e
This diff is collapsed.
...@@ -301,12 +301,6 @@ Item { ...@@ -301,12 +301,6 @@ Item {
Layout.fillWidth: true Layout.fillWidth: true
} }
FactCheckBox {
text: qsTr("Invert Phase")
fact: wimaController.reverse
Layout.fillWidth: true
}
} }
SectionHeader{ SectionHeader{
......
...@@ -485,7 +485,7 @@ int MissionController::insertSimpleMissionItem(const MissionItem &missionItem, i ...@@ -485,7 +485,7 @@ int MissionController::insertSimpleMissionItem(const MissionItem &missionItem, i
return newItem->sequenceNumber(); return newItem->sequenceNumber();
} }
int MissionController::insertSimpleMissionItem(SimpleMissionItem &missionItem, int i) int MissionController::insertSimpleMissionItem(const SimpleMissionItem &missionItem, int i)
{ {
int sequenceNumber = _nextSequenceNumber(); int sequenceNumber = _nextSequenceNumber();
SimpleMissionItem * newItem = new SimpleMissionItem(missionItem, _flyView, this); SimpleMissionItem * newItem = new SimpleMissionItem(missionItem, _flyView, this);
......
...@@ -124,7 +124,7 @@ public: ...@@ -124,7 +124,7 @@ public:
/// Add a new simple mission item to the list /// Add a new simple mission item to the list
/// @param i: index to insert at /// @param i: index to insert at
/// @return Sequence number for new item /// @return Sequence number for new item
int insertSimpleMissionItem(SimpleMissionItem &missionItem, int i); int insertSimpleMissionItem(const SimpleMissionItem &missionItem, int i);
/// Add a new ROI mission item to the list /// Add a new ROI mission item to the list
/// @param i: index to insert at /// @param i: index to insert at
......
...@@ -479,7 +479,7 @@ namespace PolygonCalculus { ...@@ -479,7 +479,7 @@ namespace PolygonCalculus {
{ {
using namespace PlanimetryCalculus; using namespace PlanimetryCalculus;
QPolygonF bigPolygon(polygon); QPolygonF bigPolygon(polygon);
offsetPolygon(bigPolygon, 0.1); // solves numerical errors offsetPolygon(bigPolygon, 0.5); // solves numerical errors
if ( bigPolygon.containsPoint(startVertex, Qt::FillRule::OddEvenFill) if ( bigPolygon.containsPoint(startVertex, Qt::FillRule::OddEvenFill)
&& bigPolygon.containsPoint(endVertex, Qt::FillRule::OddEvenFill)) { && bigPolygon.containsPoint(endVertex, Qt::FillRule::OddEvenFill)) {
......
This diff is collapsed.
...@@ -20,8 +20,10 @@ class DefaultManager : public ManagerBase ...@@ -20,8 +20,10 @@ class DefaultManager : public ManagerBase
{ {
public: public:
DefaultManager() = delete; DefaultManager() = delete;
DefaultManager(Settings *settings, DefaultManager(Settings &settings,
AreaInterface *interface); AreaInterface &interface);
void clear() override;
virtual bool update() override; virtual bool update() override;
...@@ -30,7 +32,13 @@ public: ...@@ -30,7 +32,13 @@ public:
virtual bool reset() override; virtual bool reset() override;
protected: protected:
bool _insertMissionItem(size_t index, const QGeoCoordinate &c, bool doUpdate); bool _insertMissionItem(const QGeoCoordinate &c,
size_t index,
QmlObjectListModel &list,
bool doUpdate);
bool _insertMissionItem(const QGeoCoordinate &c,
size_t index,
bool doUpdate);
bool _calcShortestPath(const QGeoCoordinate &start, bool _calcShortestPath(const QGeoCoordinate &start,
const QGeoCoordinate &destination, const QGeoCoordinate &destination,
QVector<QGeoCoordinate> &path); QVector<QGeoCoordinate> &path);
......
...@@ -16,21 +16,25 @@ public: ...@@ -16,21 +16,25 @@ public:
typedef ContainerType<WaypointType> WaypointList; typedef ContainerType<WaypointType> WaypointList;
GenericWaypointManager() = delete; GenericWaypointManager() = delete;
GenericWaypointManager(SettingsType *settings); GenericWaypointManager(SettingsType &settings);
// Waypoint editing. // Waypoint editing.
void setWaypoints(const WaypointList &waypoints); void setWaypoints(const WaypointList &waypoints);
void push_back (const WaypointType &wp); void push_back (const WaypointType &wp);
void push_front (const WaypointType &wp); void push_front (const WaypointType &wp);
void clear (); virtual void clear ();
void insert (std::size_t i, const WaypointType &wp); void insert (std::size_t i, const WaypointType &wp);
std::size_t size () const; std::size_t size () const;
WaypointType &at (std::size_t i); WaypointType &at (std::size_t i);
const WaypointList &waypoints() const; const WaypointList &waypoints() const;
const WaypointList &slice() const; const WaypointList &currentWaypoints() const;
const MissionItemList &missionItems() const; const MissionItemList &missionItems() const;
const MissionItemList &currentMissionItems() const;
const QVariantList &waypointsVariant() const;
const QVariantList &currentWaypointsVariant() const;
virtual bool update() = 0; virtual bool update() = 0;
virtual bool next() = 0; virtual bool next() = 0;
...@@ -39,9 +43,13 @@ public: ...@@ -39,9 +43,13 @@ public:
protected: protected:
WaypointList _waypoints; WaypointList _waypoints;
WaypointList _slice; WaypointList _currentWaypoints;
MissionItemList _currentMissionItems;
MissionItemList _missionItems; MissionItemList _missionItems;
SettingsType *_settings; SettingsType *_settings;
bool _dirty;
QVariantList _waypointsVariant;
QVariantList _currentWaypointsVariant;
}; };
...@@ -52,9 +60,10 @@ template<class WaypointType, ...@@ -52,9 +60,10 @@ template<class WaypointType,
GenericWaypointManager<WaypointType, GenericWaypointManager<WaypointType,
ContainerType, ContainerType,
MissionItemList, MissionItemList,
SettingsType>::GenericWaypointManager(SettingsType *Settings SettingsType>::GenericWaypointManager(SettingsType &settings)
) : Slicer()
: _settings(_settings) , _settings(&settings)
, _dirty(true)
{} {}
template<class WaypointType, template<class WaypointType,
...@@ -66,6 +75,7 @@ void GenericWaypointManager<WaypointType, ...@@ -66,6 +75,7 @@ void GenericWaypointManager<WaypointType,
MissionItemList, MissionItemList,
SettingsType>::push_back(const WaypointType &wp) SettingsType>::push_back(const WaypointType &wp)
{ {
_dirty = true;
_waypoints.push_back(wp); _waypoints.push_back(wp);
} }
...@@ -79,6 +89,7 @@ void GenericWaypointManager<WaypointType, ...@@ -79,6 +89,7 @@ void GenericWaypointManager<WaypointType,
SettingsType>::push_front( SettingsType>::push_front(
const WaypointType &wp) const WaypointType &wp)
{ {
_dirty = true;
_waypoints.push_front(wp); _waypoints.push_front(wp);
} }
...@@ -91,7 +102,13 @@ void GenericWaypointManager<WaypointType, ...@@ -91,7 +102,13 @@ void GenericWaypointManager<WaypointType,
MissionItemList, MissionItemList,
SettingsType>::clear() SettingsType>::clear()
{ {
_dirty = true;
_waypoints.clear(); _waypoints.clear();
_currentWaypoints.clear();
_missionItems.clear();
_currentMissionItems.clear();
_waypointsVariant.clear();
_currentWaypointsVariant.clear();
} }
template<class WaypointType, template<class WaypointType,
...@@ -104,6 +121,7 @@ void GenericWaypointManager<WaypointType, ...@@ -104,6 +121,7 @@ void GenericWaypointManager<WaypointType,
SettingsType>::insert(std::size_t i, SettingsType>::insert(std::size_t i,
const WaypointType &wp) const WaypointType &wp)
{ {
_dirty = true;
_waypoints.insert(i, wp); _waypoints.insert(i, wp);
} }
...@@ -131,6 +149,30 @@ WaypointType & GenericWaypointManager<WaypointType, ...@@ -131,6 +149,30 @@ WaypointType & GenericWaypointManager<WaypointType,
return _waypoints.at(i); return _waypoints.at(i);
} }
template<class WaypointType,
template<class, class...> class ContainerType,
class MissionItemList,
class SettingsType>
const QVariantList &GenericWaypointManager<WaypointType,
ContainerType,
MissionItemList,
SettingsType>::waypointsVariant() const
{
return _waypointsVariant;
}
template<class WaypointType,
template<class, class...> class ContainerType,
class MissionItemList,
class SettingsType>
const QVariantList &GenericWaypointManager<WaypointType,
ContainerType,
MissionItemList,
SettingsType>::currentWaypointsVariant() const
{
return _currentWaypointsVariant;
}
template<class WaypointType, template<class WaypointType,
template<class, class...> class ContainerType, template<class, class...> class ContainerType,
class MissionItemList, class MissionItemList,
...@@ -150,9 +192,9 @@ template<class WaypointType, ...@@ -150,9 +192,9 @@ template<class WaypointType,
const ContainerType<WaypointType> &GenericWaypointManager<WaypointType, const ContainerType<WaypointType> &GenericWaypointManager<WaypointType,
ContainerType, ContainerType,
MissionItemList, MissionItemList,
SettingsType>::slice() const SettingsType>::currentWaypoints() const
{ {
return _slice; return _currentWaypoints;
} }
template<class WaypointType, template<class WaypointType,
...@@ -167,6 +209,18 @@ const MissionItemList &GenericWaypointManager<WaypointType, ...@@ -167,6 +209,18 @@ const MissionItemList &GenericWaypointManager<WaypointType,
return _missionItems; return _missionItems;
} }
template<class WaypointType,
template<class, class...> class ContainerType,
class MissionItemList,
class SettingsType>
const MissionItemList &GenericWaypointManager<WaypointType,
ContainerType,
MissionItemList,
SettingsType>::currentMissionItems() const
{
return _currentMissionItems;
}
template<class WaypointType, template<class WaypointType,
template<class, class...> class ContainerType, template<class, class...> class ContainerType,
class MissionItemList, class MissionItemList,
......
#include "Settings.h" #include "Settings.h"
void WaypointManager::Settings::setHomePosition(QGeoCoordinate &c) WaypointManager::Settings::Settings()
: _missionController(nullptr)
, _isFlyView(true)
, _arrivalReturnSpeed(5)
, _flightSpeed(2)
, _altitude(5)
{
}
bool WaypointManager::Settings::valid() const
{
return _missionController != nullptr
&& _homePosition.isValid();
}
void WaypointManager::Settings::setHomePosition(const QGeoCoordinate &c)
{ {
_homePosition = c; _homePosition = c;
} }
void WaypointManager::Settings::setVehicle(Vehicle *vehicle)
void WaypointManager::Settings::setMissionController(MissionController *controller)
{
_missionController = controller;
}
void WaypointManager::Settings::setMasterController(PlanMasterController *controller)
{ {
_vehicle = vehicle; _masterController = controller;
} }
void WaypointManager::Settings::setIsFlyView(bool isFlyView) void WaypointManager::Settings::setIsFlyView(bool isFlyView)
...@@ -37,9 +59,24 @@ const QGeoCoordinate &WaypointManager::Settings::homePosition() const ...@@ -37,9 +59,24 @@ const QGeoCoordinate &WaypointManager::Settings::homePosition() const
return _homePosition; return _homePosition;
} }
QGeoCoordinate &WaypointManager::Settings::homePosition()
{
return _homePosition;
}
MissionController *WaypointManager::Settings::missionController() const
{
return _missionController;
}
PlanMasterController *WaypointManager::Settings::masterController() const
{
return _masterController;
}
Vehicle *WaypointManager::Settings::vehicle() const Vehicle *WaypointManager::Settings::vehicle() const
{ {
return _vehicle; return _masterController->managerVehicle();
} }
bool WaypointManager::Settings::isFlyView() const bool WaypointManager::Settings::isFlyView() const
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
#include <QGeoCoordinate> #include <QGeoCoordinate>
#include "MissionController.h"
#include "PlanMasterController.h"
#include "Vehicle.h" #include "Vehicle.h"
namespace WaypointManager { namespace WaypointManager {
...@@ -11,14 +13,20 @@ class Settings ...@@ -11,14 +13,20 @@ class Settings
public: public:
Settings(); Settings();
void setHomePosition(QGeoCoordinate &c); bool valid() const;
void setVehicle(Vehicle *vehicle);
void setHomePosition(const QGeoCoordinate &c);
void setMissionController(MissionController *controller);
void setMasterController(PlanMasterController *controller);
void setIsFlyView(bool isFlyView); void setIsFlyView(bool isFlyView);
void setArrivalReturnSpeed(double speed); void setArrivalReturnSpeed(double speed);
void setFlightSpeed(double speed); void setFlightSpeed(double speed);
void setAltitude(double altitude); void setAltitude(double altitude);
const QGeoCoordinate &homePosition() const; const QGeoCoordinate &homePosition() const;
QGeoCoordinate &homePosition();
MissionController *missionController() const;
PlanMasterController *masterController() const;
Vehicle *vehicle() const; Vehicle *vehicle() const;
bool isFlyView() const; bool isFlyView() const;
double arrivalReturnSpeed() const; double arrivalReturnSpeed() const;
...@@ -26,12 +34,13 @@ public: ...@@ -26,12 +34,13 @@ public:
double altitude() const; double altitude() const;
private: private:
QGeoCoordinate _homePosition; QGeoCoordinate _homePosition;
Vehicle *_vehicle; MissionController *_missionController;
bool _isFlyView; PlanMasterController *_masterController;
double _arrivalReturnSpeed; bool _isFlyView;
double _flightSpeed; double _arrivalReturnSpeed;
double _altitude; double _flightSpeed;
double _altitude;
}; };
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include "Utils.h" #include "Utils.h"
//! @brief Base class for all waypoint managers. //! @brief Helper class for slicing containers.
class Slicer class Slicer
{ {
public: public:
...@@ -67,14 +67,13 @@ private: ...@@ -67,14 +67,13 @@ private:
template <class Container1, class Container2> template <class Container1, class Container2>
void Slicer::update(const Container1 &source, Container2 &slice){ void Slicer::update(const Container1 &source, Container2 &slice){
if ( !_idxValid) _updateIdx(source.size());
_updateIdx(source.size());
WaypointManager::Utils::extract(source, slice, _idxStart, _idxEnd); WaypointManager::Utils::extract(source, slice, _idxStart, _idxEnd);
} }
template <class Container1, class Container2> template <class Container1, class Container2>
void Slicer::next(const Container1 &source, Container2 &slice){ void Slicer::next(const Container1 &source, Container2 &slice){
_updateIdx(source.size());
setStartIndex(_idxNext); setStartIndex(_idxNext);
update(source, slice); update(source, slice);
} }
...@@ -82,6 +81,7 @@ void Slicer::next(const Container1 &source, Container2 &slice){ ...@@ -82,6 +81,7 @@ void Slicer::next(const Container1 &source, Container2 &slice){
template <class Container1, class Container2> template <class Container1, class Container2>
void Slicer::previous(const Container1 &source, Container2 &slice){ void Slicer::previous(const Container1 &source, Container2 &slice){
_updateIdx(source.size());
setStartIndex(_idxPrevious); setStartIndex(_idxPrevious);
update(source, slice); update(source, slice);
} }
......
...@@ -48,7 +48,7 @@ bool WaypointManager::Utils::insertMissionItem(const QGeoCoordinate &coordinate, ...@@ -48,7 +48,7 @@ bool WaypointManager::Utils::insertMissionItem(const QGeoCoordinate &coordinate,
double altitude; double altitude;
int altitudeMode; int altitudeMode;
if (detail::previousAltitude(list, --index, altitude, altitudeMode)) { if (detail::previousAltitude(list, index-1, altitude, altitudeMode)) {
newItem->altitude()->setRawValue(altitude); newItem->altitude()->setRawValue(altitude);
newItem->setAltitudeMode( newItem->setAltitudeMode(
static_cast<QGroundControlQmlGlobal::AltitudeMode>( static_cast<QGroundControlQmlGlobal::AltitudeMode>(
...@@ -153,10 +153,12 @@ bool WaypointManager::Utils::detail::updateHirarchy(QmlObjectListModel &list) ...@@ -153,10 +153,12 @@ bool WaypointManager::Utils::detail::updateHirarchy(QmlObjectListModel &list)
bool WaypointManager::Utils::detail::updateHomePosition(QmlObjectListModel &list) bool WaypointManager::Utils::detail::updateHomePosition(QmlObjectListModel &list)
{ {
MissionSettingsItem *settingsItem = list.value<MissionSettingsItem *>(0); MissionSettingsItem *settingsItem = list.value<MissionSettingsItem *>(0);
assert(settingsItem); // list not initialized?
// Set the home position to be a delta from first coordinate // Set the home position to be a delta from first coordinate.
for (int i = 1; i < list.count(); ++i) { for (int i = 1; i < list.count(); ++i) {
VisualMissionItem* item = list.value<VisualMissionItem*>(i); VisualMissionItem* item = list.value<VisualMissionItem*>(i);
assert(item);
if (item->specifiesCoordinate() && item->coordinate().isValid()) { if (item->specifiesCoordinate() && item->coordinate().isValid()) {
QGeoCoordinate c = item->coordinate().atDistanceAndAzimuth(30, 0); QGeoCoordinate c = item->coordinate().atDistanceAndAzimuth(30, 0);
......
...@@ -86,7 +86,7 @@ bool extract(const ContainerType<CoordinateType> &source, ...@@ -86,7 +86,7 @@ bool extract(const ContainerType<CoordinateType> &source,
if ( !extract(source, if ( !extract(source,
destination, destination,
startIndex, startIndex,
std::size_t(source.size()-1)) /*recursion*/) std::size_t(long(source.size())-1)) /*recursion*/)
return false; return false;
if ( !extract(source, if ( !extract(source,
destination, destination,
......
This diff is collapsed.
...@@ -35,6 +35,8 @@ ...@@ -35,6 +35,8 @@
#include "ros_bridge/include/ROSBridge.h" #include "ros_bridge/include/ROSBridge.h"
#include "WaypointManager/DefaultManager.h"
#define CHECK_BATTERY_INTERVAL 1000 // ms #define CHECK_BATTERY_INTERVAL 1000 // ms
#define SMART_RTL_MAX_ATTEMPTS 3 // times #define SMART_RTL_MAX_ATTEMPTS 3 // times
#define SMART_RTL_ATTEMPT_INTERVAL 200 // ms #define SMART_RTL_ATTEMPT_INTERVAL 200 // ms
...@@ -136,10 +138,6 @@ public: ...@@ -136,10 +138,6 @@ public:
READ arrivalReturnSpeed READ arrivalReturnSpeed
CONSTANT CONSTANT
) )
Q_PROPERTY(Fact* reverse
READ reverse
CONSTANT
)
Q_PROPERTY(bool uploadOverrideRequired Q_PROPERTY(bool uploadOverrideRequired
READ uploadOverrideRequired READ uploadOverrideRequired
WRITE setUploadOverrideRequired WRITE setUploadOverrideRequired
...@@ -216,10 +214,10 @@ public: ...@@ -216,10 +214,10 @@ public:
// QString fileExtension (void) const { return wimaFileExtension; } // QString fileExtension (void) const { return wimaFileExtension; }
QGCMapPolygon joinedArea (void) const; QGCMapPolygon joinedArea (void) const;
WimaDataContainer* dataContainer (void) { return _container; } WimaDataContainer* dataContainer (void) { return _container; }
QmlObjectListModel* missionItems (void) { return &_missionItems; } QmlObjectListModel* missionItems (void);
QmlObjectListModel* currentMissionItems (void) { return &_currentMissionItems; } QmlObjectListModel* currentMissionItems (void);
QVariantList waypointPath (void) const; QVariantList waypointPath (void);
QVariantList currentWaypointPath (void) { return _currentWaypointPath; } QVariantList currentWaypointPath (void);
Fact* enableWimaController (void) { return &_enableWimaController; } Fact* enableWimaController (void) { return &_enableWimaController; }
Fact* overlapWaypoints (void) { return &_overlapWaypoints; } Fact* overlapWaypoints (void) { return &_overlapWaypoints; }
Fact* maxWaypointsPerPhase (void) { return &_maxWaypointsPerPhase; } Fact* maxWaypointsPerPhase (void) { return &_maxWaypointsPerPhase; }
...@@ -229,7 +227,6 @@ public: ...@@ -229,7 +227,6 @@ public:
Fact* flightSpeed (void) { return &_flightSpeed; } Fact* flightSpeed (void) { return &_flightSpeed; }
Fact* arrivalReturnSpeed (void) { return &_arrivalReturnSpeed; } Fact* arrivalReturnSpeed (void) { return &_arrivalReturnSpeed; }
Fact* altitude (void) { return &_altitude; } Fact* altitude (void) { return &_altitude; }
Fact* reverse (void) { return &_reverse; }
Fact* enableSnake (void) { return &_enableSnake; } Fact* enableSnake (void) { return &_enableSnake; }
Fact* snakeTileWidth (void) { return &_snakeTileWidth;} Fact* snakeTileWidth (void) { return &_snakeTileWidth;}
...@@ -291,7 +288,6 @@ public: ...@@ -291,7 +288,6 @@ public:
static const char* flightSpeedName; static const char* flightSpeedName;
static const char* arrivalReturnSpeedName; static const char* arrivalReturnSpeedName;
static const char* altitudeName; static const char* altitudeName;
static const char* reverseName;
static const char* snakeTileWidthName; static const char* snakeTileWidthName;
static const char* snakeTileHeightName; static const char* snakeTileHeightName;
static const char* snakeMinTileAreaName; static const char* snakeMinTileAreaName;
...@@ -330,11 +326,13 @@ private: ...@@ -330,11 +326,13 @@ private:
private slots: private slots:
bool _fetchContainerData(); bool _fetchContainerData();
bool _calcNextPhase(void); bool _calcNextPhase(void);
void _updateWaypointPath (void); //void _updateWaypointPath (void);
void _updateCurrentPath (void); //void _updateCurrentPath (void);
void _updateNextWaypoint (void); //void _updateNextWaypoint (void);
void _recalcCurrentPhase (void); void _recalcCurrentPhase (void);
bool _setTakeoffLandPosition (void); //bool _setTakeoffLandPosition (void);
void _updateOverlap (void);
void _updateMaxWaypoints (void);
void _updateflightSpeed (void); void _updateflightSpeed (void);
void _updateArrivalReturnSpeed (void); void _updateArrivalReturnSpeed (void);
void _updateAltitude (void); void _updateAltitude (void);
...@@ -342,7 +340,6 @@ private slots: ...@@ -342,7 +340,6 @@ private slots:
void _eventTimerHandler (void); void _eventTimerHandler (void);
void _smartRTLCleanUp (bool flying); // cleans up after successfull smart RTL void _smartRTLCleanUp (bool flying); // cleans up after successfull smart RTL
void _enableDisableLowBatteryHandling (QVariant enable); void _enableDisableLowBatteryHandling (QVariant enable);
void _reverseChangedHandler ();
void _initSmartRTL (); void _initSmartRTL ();
void _executeSmartRTL (); void _executeSmartRTL ();
void _setSnakeConnectionStatus (SnakeConnectionStatus status); void _setSnakeConnectionStatus (SnakeConnectionStatus status);
...@@ -369,19 +366,27 @@ private: ...@@ -369,19 +366,27 @@ private:
MissionController *_missionController; MissionController *_missionController;
// QString _currentFile; // file for saveing // QString _currentFile; // file for saveing
WimaDataContainer *_container; // container for data exchange with WimaController WimaDataContainer *_container; // container for data exchange with WimaController
QmlObjectListModel _visualItems; // contains all visible areas QmlObjectListModel _areas; // contains all visible areas
WimaJoinedAreaData _joinedArea; // joined area fromed by opArea, serArea, _corridor WimaJoinedAreaData _joinedArea; // joined area fromed by opArea, serArea, _corridor
WimaMeasurementAreaData _measurementArea; // measurement area WimaMeasurementAreaData _measurementArea; // measurement area
WimaServiceAreaData _serviceArea; // area for supplying WimaServiceAreaData _serviceArea; // area for supplying
WimaCorridorData _corridor; // corridor connecting opArea and serArea WimaCorridorData _corridor; // corridor connecting opArea and serArea
bool _localPlanDataValid; bool _localPlanDataValid;
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 WaypointManager::AreaInterface _areaInterface;
QmlObjectListModel _missionItemsBuffer; // Buffer to store mission items, e.g. for storing _currentMissionItems when smartRTL() is invoked WaypointManager::Settings _managerSettings;
QVector<QGeoCoordinate> _waypoints; // path connecting the items in _missionItems WaypointManager::DefaultManager _defaultManager;
QVariantList _currentWaypointPath; // path connecting the items in _currentMissionItems WaypointManager::DefaultManager _snakeManager;
QGeoCoordinate _takeoffLandPostion; WaypointManager::ManagerBase &_currentManager;
// 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
// QmlObjectListModel _missionItemsBuffer; // Buffer to store mission items, e.g. for storing _currentMissionItems when smartRTL() is invoked
// QVector<QGeoCoordinate> _waypoints; // path connecting the items in _missionItems
// QVariantList _currentWaypointPath; // path connecting the items in _currentMissionItems
// QGeoCoordinate _takeoffLandPostion;
QMap<QString, FactMetaData*> _metaDataMap; QMap<QString, FactMetaData*> _metaDataMap;
...@@ -395,13 +400,12 @@ private: ...@@ -395,13 +400,12 @@ private:
SettingsFact _flightSpeed; // mission flight speed SettingsFact _flightSpeed; // mission flight speed
SettingsFact _arrivalReturnSpeed; // arrival and return path speed SettingsFact _arrivalReturnSpeed; // arrival and return path speed
SettingsFact _altitude; // mission altitude SettingsFact _altitude; // mission altitude
SettingsFact _reverse; // Reverses the phase direction. Phases go from high to low waypoint numbers, if true.
SettingsFact _enableSnake; // Enable Snake (see snake.h) SettingsFact _enableSnake; // Enable Snake (see snake.h)
int _endWaypointIndex; // index of the mission item stored in _missionItems defining the last element // int _endWaypointIndex; // index of the mission item stored in _missionItems defining the last element
// (which is not part of the return path) of _currentMissionItem // // (which is not part of the return path) of _currentMissionItem
int _startWaypointIndex; // index of the mission item stored in _missionItems defining the first element // int _startWaypointIndex; // index of the mission item stored in _missionItems defining the first element
// (which is not part of the arrival path) of _currentMissionItem // // (which is not part of the arrival path) of _currentMissionItem
bool _uploadOverrideRequired; // Is set to true if uploadToVehicle() did not suceed because the vehicle is not inside the service area. bool _uploadOverrideRequired; // Is set to true if uploadToVehicle() did not suceed because the vehicle is not inside the service area.
// The user can override the upload lock with a slider, this will reset this variable to false. // The user can override the upload lock with a slider, this will reset this variable to false.
double _measurementPathLength; // the lenght of the phase in meters double _measurementPathLength; // the lenght of the phase in meters
......
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