Marble

Maneuver.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2011 Dennis Nienhüser <nienhueser@kde.org>
4//
5
6#ifndef MARBLE_MANEUVER_H
7#define MARBLE_MANEUVER_H
8
9#include <QString>
10
11#include "GeoDataCoordinates.h"
12
13namespace Marble
14{
15
16class MARBLE_EXPORT Maneuver
17{
18public:
19 enum Direction {
20 Unknown = 0,
21 Continue = 13,
22 Merge = 14,
23 Straight = 1,
24 SlightRight = 2,
25 Right = 3,
26 SharpRight = 4,
27 TurnAround = 5,
28 SharpLeft = 6,
29 Left = 7,
30 SlightLeft = 8,
31 RoundaboutFirstExit = 9,
32 RoundaboutSecondExit = 10,
33 RoundaboutThirdExit = 11,
34 RoundaboutExit = 12,
35 ExitLeft = 15,
36 ExitRight = 16
37 };
38
39 Maneuver();
40
41 Direction direction() const;
42
43 void setDirection(Direction direction);
44
45 GeoDataCoordinates position() const;
46
47 void setPosition(const GeoDataCoordinates &position);
48
49 GeoDataCoordinates waypoint() const;
50
51 bool hasWaypoint() const;
52
53 void setWaypoint(const GeoDataCoordinates &waypoint, int index);
54
55 int waypointIndex() const;
56
57 QString instructionText() const;
58
59 void setInstructionText(const QString &text);
60
61 QString roadName() const;
62
63 void setRoadName(const QString &roadName);
64
65 QString directionPixmap() const;
66
67 bool operator==(const Maneuver &other) const;
68
69 bool operator!=(const Maneuver &other) const;
70
71private:
72 Direction m_direction;
73
74 GeoDataCoordinates m_position;
75
76 GeoDataCoordinates m_waypoint;
77
78 int m_waypointIndex;
79
80 QString m_instructionText;
81
82 QString m_roadName;
83};
84
85}
86
87#endif
KIOCORE_EXPORT bool operator!=(const UDSEntry &entry, const UDSEntry &other)
KIOCORE_EXPORT bool operator==(const UDSEntry &entry, const UDSEntry &other)
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 4 2024 16:37:03 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.