Marble

RoutingWaypoint.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2010 Dennis Nienhüser <[email protected]>
4 //
5 
6 #ifndef MARBLE_ROUTINGWAYPOINT_H
7 #define MARBLE_ROUTINGWAYPOINT_H
8 
9 #include "RoutingPoint.h"
10 #include "marble_export.h"
11 
12 #include <QVector>
13 #include <QString>
14 
15 namespace Marble
16 {
17 
18 /**
19  * Stores one line of gosmore/routino output
20  */
21 class MARBLE_EXPORT RoutingWaypoint
22 {
23 public:
24  /** Junction types that affect instructions */
26  {
27  Roundabout,
28  Other,
29  None
30  };
31 
32  /** Constructor */
34 
35  /** Convenience constructor to initialize members */
36  RoutingWaypoint( const RoutingPoint &point, JunctionType junctionType, const QString &junctionTypeRaw,
37  const QString &roadType, int secondsRemaining, const QString &roadName );
38 
39  /** Associated geo point */
40  RoutingPoint point() const;
41 
42  /** Parsed junction type */
43  JunctionType junctionType() const;
44 
45  /** Junction type originally passed */
46  QString junctionTypeRaw() const;
47 
48  /** OSM type of the road */
49  QString roadType() const;
50 
51  /** Estimated seconds remaining until the route destination is reached */
52  int secondsRemaining() const;
53 
54  /** OSM name of the road */
55  QString roadName() const;
56 
57 private:
58  RoutingPoint m_point;
59 
60  JunctionType m_junctionType;
61 
62  QString m_junctionTypeRaw;
63 
64  QString m_roadType;
65 
66  int m_secondsRemaining;
67 
68  QString m_roadName;
69 };
70 
71 using RoutingWaypoints = QVector<RoutingWaypoint>;
72 
73 } // namespace Marble
74 
75 #endif
JunctionType
Junction types that affect instructions.
Stores one line of gosmore/routino output.
There are many Point classes, but this is mine.
Definition: RoutingPoint.h:21
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Sep 21 2023 04:12:28 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.