summaryrefslogtreecommitdiffstats
path: root/demo3/vertical/tbtnavi_demo/app/qcheapruler.hpp
diff options
context:
space:
mode:
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>2018-11-14 12:50:56 +0900
committerzheng_wenlong <wenlong_zheng@nexty-ele.com>2018-11-14 12:50:56 +0900
commit5d98ec36d66db8897f7e3e5120b43c50f379baea (patch)
tree361fb59acf02391203101c3a59aa49c813ecb550 /demo3/vertical/tbtnavi_demo/app/qcheapruler.hpp
parent110215ad40cd0c24ed5ae70430e45304d5c60fe1 (diff)
Add tbtnavi for vertical mode
Add tbtnavi for vertical mode. This application use waltham transmitter send video to horizontal mode. Change-Id: Icc8bb14f9c83439d90f28d0960e435a43a5e5245 Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'demo3/vertical/tbtnavi_demo/app/qcheapruler.hpp')
-rw-r--r--demo3/vertical/tbtnavi_demo/app/qcheapruler.hpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/demo3/vertical/tbtnavi_demo/app/qcheapruler.hpp b/demo3/vertical/tbtnavi_demo/app/qcheapruler.hpp
new file mode 100644
index 0000000..6c569a8
--- /dev/null
+++ b/demo3/vertical/tbtnavi_demo/app/qcheapruler.hpp
@@ -0,0 +1,61 @@
+#pragma once
+
+#include <QGeoCoordinate>
+#include <QJSValue>
+#include <QObject>
+#include <QtCore>
+
+#include <mapbox/cheap_ruler.hpp>
+
+namespace cr = mapbox::cheap_ruler;
+
+class QCheapRuler : public QObject{
+ Q_OBJECT
+ Q_PROPERTY(double distance READ distance NOTIFY distanceChanged)
+ Q_PROPERTY(double currentDistance READ currentDistance NOTIFY currentDistanceChanged)
+ Q_PROPERTY(QGeoCoordinate currentPosition READ currentPosition NOTIFY currentPositionChanged)
+ Q_PROPERTY(QJSValue path READ path WRITE setPath NOTIFY pathChanged)
+
+public:
+ QCheapRuler();
+ ~QCheapRuler();
+
+ double distance() const;
+
+ double currentDistance() const;
+
+ QGeoCoordinate currentPosition() const;
+
+ QJSValue path() const;
+ void setPath(const QJSValue &value);
+
+ Q_INVOKABLE void setCurrentCoordinate(QString,QString);
+ Q_INVOKABLE void startnaviDemo();
+ Q_INVOKABLE void stopnaviDemo();
+
+public slots:
+ void readRoutePosition();
+
+signals:
+ void distanceChanged();
+ void currentDistanceChanged();
+ void currentPositionChanged();
+ void pathChanged();
+ void arrivedDest();
+
+private:
+ cr::CheapRuler ruler() const;
+ void readCoordinateFromFile();
+ void setCurrentPosition(double,double);
+
+ ulong m_index = 0;
+ double m_distance = 0.;
+ double m_currentDistance = 0.;
+ QGeoCoordinate m_currentPosition = QGeoCoordinate(36.12546, -115.1729906);
+
+ cr::line_string m_path;
+
+ cr::line_string m_routpoint;
+
+ QTimer *m_Timer;
+};