QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
TrajectoryPoints.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QObject>
4#include <QtCore/QVariantList>
5#include <QtGui/QVector3D>
6#include <QtPositioning/QGeoCoordinate>
7#include <QtQmlIntegration/QtQmlIntegration>
8
9class Vehicle;
10
11class TrajectoryPoints : public QObject
12{
13 Q_OBJECT
14 QML_ELEMENT
15 QML_UNCREATABLE("")
16public:
17 TrajectoryPoints(Vehicle* vehicle, QObject* parent = nullptr);
18
19 Q_INVOKABLE QVariantList list(void) const { return _points; }
20
21 void start (void);
22 void stop (void);
23
24public slots:
25 void clear (void);
26
27signals:
28 void pointAdded (QGeoCoordinate coordinate);
29 void updateLastPoint(QGeoCoordinate coordinate);
30 void pointsCleared (void);
31
32private slots:
33 void _vehicleCoordinateChanged(QGeoCoordinate coordinate);
34
35private:
36 Vehicle* _vehicle;
37 QVariantList _points;
38 QGeoCoordinate _lastPoint;
39 QVector3D _lastDirection;
40
41 static constexpr double _distanceTolerance = 2.0;
42 static constexpr double _directionTolerance = 1.5;
43};
void pointAdded(QGeoCoordinate coordinate)
void updateLastPoint(QGeoCoordinate coordinate)
void pointsCleared(void)
Q_INVOKABLE QVariantList list(void) const