• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • lib
  • marble
PositionTracking.h
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2007 Andrew Manson <g.real.ate@gmail.com>
9 // Copyright 2009 Eckhart Wörner <ewoerner@kde.org>
10 // Copyright 2010 Thibaut Gridel <tgridel@free.fr>
11 //
12 
13 #ifndef MARBLE_POSITIONTRACKING_H
14 #define MARBLE_POSITIONTRACKING_H
15 
16 #include "marble_export.h"
17 #include "PositionProviderPluginInterface.h"
18 
19 #include <QObject>
20 
21 namespace Marble
22 {
23 
24 class GeoDataAccuracy;
25 class GeoDataDocument;
26 class GeoDataCoordinates;
27 class GeoDataTreeModel;
28 class PositionProviderPlugin;
29 class PositionTrackingPrivate;
30 
31 class MARBLE_EXPORT PositionTracking : public QObject
32 {
33  Q_OBJECT
34 
35  Q_PROPERTY( PositionProviderPlugin* positionProviderPlugin READ positionProviderPlugin WRITE setPositionProviderPlugin NOTIFY positionProviderPluginChanged )
36 
37 public:
38  explicit PositionTracking( GeoDataTreeModel* model );
39  ~PositionTracking();
40 
45  void setPositionProviderPlugin( PositionProviderPlugin* plugin );
46 
48  PositionProviderPlugin* positionProviderPlugin();
49 
53  QString error() const;
54 
58  qreal speed() const;
59 
63  qreal direction() const;
64 
68  QDateTime timestamp() const;
69 
71  GeoDataAccuracy accuracy() const;
72 
76  bool trackVisible() const;
77 
79  GeoDataCoordinates currentLocation() const;
80 
82  PositionProviderStatus status() const;
83 
85  bool isTrackEmpty() const;
86 
92  qreal length( qreal planetRadius ) const;
93 
94  void readSettings();
95 
96  void writeSettings();
97 
98 public Q_SLOTS:
102  void setTrackVisible ( bool visible );
103 
107  bool saveTrack( const QString& fileName );
108 
112  void clearTrack();
113 
114 Q_SIGNALS:
115  void gpsLocation( GeoDataCoordinates, qreal );
116 
117  void statusChanged( PositionProviderStatus status );
118 
122  void positionProviderPluginChanged( PositionProviderPlugin *activePlugin );
123 
124  private:
125  Q_PRIVATE_SLOT( d, void updatePosition() )
126  Q_PRIVATE_SLOT( d, void updateStatus() )
127 
128  friend class PositionTrackingPrivate;
129  PositionTrackingPrivate* const d;
130 };
131 
132 }
133 
134 
135 
136 #endif
Marble::GeoDataCoordinates
A 3d point representation.
Definition: GeoDataCoordinates.h:52
Marble::GeoDataTreeModel
The representation of GeoData in a model This class represents all available data given by kml-data f...
Definition: GeoDataTreeModel.h:32
Marble::PositionProviderPlugin
The abstract class that provides position information.
Definition: PositionProviderPlugin.h:26
Marble::PositionTracking
Definition: PositionTracking.h:31
QObject
MARBLE_EXPORT
#define MARBLE_EXPORT
Definition: marble_export.h:20
QString
Marble::PositionProviderStatus
PositionProviderStatus
Definition: PositionProviderPluginInterface.h:25
direction
qreal direction
Definition: tools/osm-addresses/OsmParser.cpp:40
PositionProviderPluginInterface.h
marble_export.h
Marble::GeoDataAccuracy
Definition: GeoDataAccuracy.h:22
QDateTime
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:41 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal