File indexing completed on 2024-04-28 03:49:27
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2011 Dennis Nienhüser <nienhueser@kde.org> 0004 // 0005 0006 #ifndef MARBLE_MANEUVER_H 0007 #define MARBLE_MANEUVER_H 0008 0009 #include <QString> 0010 0011 #include "GeoDataCoordinates.h" 0012 0013 namespace Marble 0014 { 0015 0016 class MARBLE_EXPORT Maneuver 0017 { 0018 0019 public: 0020 enum Direction { 0021 Unknown = 0, 0022 Continue = 13, 0023 Merge = 14, 0024 Straight = 1, 0025 SlightRight = 2, 0026 Right = 3, 0027 SharpRight = 4, 0028 TurnAround = 5, 0029 SharpLeft = 6, 0030 Left = 7, 0031 SlightLeft = 8, 0032 RoundaboutFirstExit = 9, 0033 RoundaboutSecondExit = 10, 0034 RoundaboutThirdExit = 11, 0035 RoundaboutExit = 12, 0036 ExitLeft = 15, 0037 ExitRight = 16 0038 }; 0039 0040 Maneuver(); 0041 0042 Direction direction() const; 0043 0044 void setDirection( Direction direction ); 0045 0046 GeoDataCoordinates position() const; 0047 0048 void setPosition( const GeoDataCoordinates &position ); 0049 0050 GeoDataCoordinates waypoint() const; 0051 0052 bool hasWaypoint() const; 0053 0054 void setWaypoint( const GeoDataCoordinates &waypoint, int index ); 0055 0056 int waypointIndex() const; 0057 0058 QString instructionText() const; 0059 0060 void setInstructionText( const QString &text ); 0061 0062 QString roadName() const; 0063 0064 void setRoadName( const QString &roadName ); 0065 0066 QString directionPixmap() const; 0067 0068 bool operator==( const Maneuver &other ) const; 0069 0070 bool operator!=( const Maneuver &other ) const; 0071 0072 private: 0073 Direction m_direction; 0074 0075 GeoDataCoordinates m_position; 0076 0077 GeoDataCoordinates m_waypoint; 0078 0079 int m_waypointIndex; 0080 0081 QString m_instructionText; 0082 0083 QString m_roadName; 0084 }; 0085 0086 } 0087 0088 #endif