1#ifndef LIBOSMSCOUT_VOICEINSTRUCTIONAGENT_H
2#define LIBOSMSCOUT_VOICEINSTRUCTIONAGENT_H
162 explicit operator bool()
const
174 return !(*
this==other);
180 Vehicle vehicle{vehicleCar};
183 bool prevGpsSignal{
true};
184 Timestamp lastSeenGpsSignal{Timestamp::min()};
186 MessageStruct lastMessage;
187 Distance lastMessagePosition;
199 void toSamples(std::vector<VoiceInstructionMessage::VoiceSample> &samples,
201 bool shortRoundaboutMessage);
203 std::vector<VoiceInstructionMessage::VoiceSample> toSamples(
const Distance &distanceFromStart,
#define CLASS_FINAL
Definition Compiler.h:26
#define OSMSCOUT_API
Definition CoreImportExport.h:45
VoiceInstructionAgent(DistanceUnitSystem units)
Definition VoiceInstructionAgent.h:190
VoiceInstructionMessage(const Timestamp ×tamp, std::vector< VoiceSample > &&message)
Definition VoiceInstructionAgent.h:101
VoiceSample
Definition VoiceInstructionAgent.h:32
@ RoadEnd
Definition VoiceInstructionAgent.h:70
@ Depart
Definition VoiceInstructionAgent.h:46
@ RbExit1
Definition VoiceInstructionAgent.h:62
@ Distance500
Definition VoiceInstructionAgent.h:93
@ RbExit2
Definition VoiceInstructionAgent.h:63
@ AhUTurn
Definition VoiceInstructionAgent.h:42
@ AhRightTurn
Definition VoiceInstructionAgent.h:41
@ UTurn
Definition VoiceInstructionAgent.h:81
@ Distance300
Definition VoiceInstructionAgent.h:91
@ MwExitLeft
Definition VoiceInstructionAgent.h:57
@ TakeFerry
Definition VoiceInstructionAgent.h:76
@ TryUTurn
Definition VoiceInstructionAgent.h:78
@ AhExitRight
Definition VoiceInstructionAgent.h:36
@ RbExit5
Definition VoiceInstructionAgent.h:66
@ Distance400
Definition VoiceInstructionAgent.h:92
@ Distance80
Definition VoiceInstructionAgent.h:88
@ RbRight
Definition VoiceInstructionAgent.h:69
@ AhExitLeft
Definition VoiceInstructionAgent.h:34
@ BearRight
Definition VoiceInstructionAgent.h:45
@ SharpRight
Definition VoiceInstructionAgent.h:74
@ Distance100
Definition VoiceInstructionAgent.h:89
@ TurnRight
Definition VoiceInstructionAgent.h:80
@ AhLeftTurn
Definition VoiceInstructionAgent.h:40
@ Charge
Definition VoiceInstructionAgent.h:49
@ Take2ndRight
Definition VoiceInstructionAgent.h:84
@ GpsLost
Definition VoiceInstructionAgent.h:48
@ LnLeft
Definition VoiceInstructionAgent.h:52
@ AhKeepLeft
Definition VoiceInstructionAgent.h:38
@ KeepRight
Definition VoiceInstructionAgent.h:51
@ Take2ndLeft
Definition VoiceInstructionAgent.h:83
@ After
Definition VoiceInstructionAgent.h:33
@ RbExit6
Definition VoiceInstructionAgent.h:67
@ Marble
Definition VoiceInstructionAgent.h:54
@ LnRight
Definition VoiceInstructionAgent.h:53
@ Meters
Definition VoiceInstructionAgent.h:55
@ TurnLeft
Definition VoiceInstructionAgent.h:79
@ RbExit4
Definition VoiceInstructionAgent.h:65
@ Yards
Definition VoiceInstructionAgent.h:82
@ RbBack
Definition VoiceInstructionAgent.h:60
@ SharpLeft
Definition VoiceInstructionAgent.h:73
@ KeepLeft
Definition VoiceInstructionAgent.h:50
@ RbExit3
Definition VoiceInstructionAgent.h:64
@ Take3rdRight
Definition VoiceInstructionAgent.h:86
@ Straight
Definition VoiceInstructionAgent.h:75
@ GpsFound
Definition VoiceInstructionAgent.h:47
@ RbCross
Definition VoiceInstructionAgent.h:61
@ Distance800
Definition VoiceInstructionAgent.h:96
@ BearLeft
Definition VoiceInstructionAgent.h:44
@ Distance600
Definition VoiceInstructionAgent.h:94
@ Distance200
Definition VoiceInstructionAgent.h:90
@ MwEnter
Definition VoiceInstructionAgent.h:56
@ RouteDeviated
Definition VoiceInstructionAgent.h:72
@ Then
Definition VoiceInstructionAgent.h:77
@ MwExitRight
Definition VoiceInstructionAgent.h:59
@ Distance50
Definition VoiceInstructionAgent.h:87
@ AhExit
Definition VoiceInstructionAgent.h:35
@ AhKeepRight
Definition VoiceInstructionAgent.h:39
@ RouteCalculated
Definition VoiceInstructionAgent.h:71
@ Arrive
Definition VoiceInstructionAgent.h:43
@ RbLeft
Definition VoiceInstructionAgent.h:68
@ Take3rdLeft
Definition VoiceInstructionAgent.h:85
@ AhFerry
Definition VoiceInstructionAgent.h:37
@ MwExit
Definition VoiceInstructionAgent.h:58
@ Distance700
Definition VoiceInstructionAgent.h:95
std::list< NavigationMessageRef > Process(const NavigationMessageRef &message) override
~VoiceInstructionAgent() override=default
MessageType
Definition VoiceInstructionAgent.h:121
@ LeaveMotorway
Definition VoiceInstructionAgent.h:139
@ LeaveRbExit2
Definition VoiceInstructionAgent.h:125
@ Silent
Definition VoiceInstructionAgent.h:143
@ LeaveRbExit5
Definition VoiceInstructionAgent.h:128
@ LeaveRbExit1
Definition VoiceInstructionAgent.h:124
@ LeaveMotorwayRight
Definition VoiceInstructionAgent.h:140
@ LeaveMotorwayLeft
Definition VoiceInstructionAgent.h:141
@ LeaveRbExit3
Definition VoiceInstructionAgent.h:126
@ LeaveRbExit4
Definition VoiceInstructionAgent.h:127
@ LeaveRbExit6
Definition VoiceInstructionAgent.h:129
@ TargetReached
Definition VoiceInstructionAgent.h:131
@ NoMessage
Definition VoiceInstructionAgent.h:122
@ StraightOn
Definition VoiceInstructionAgent.h:135
std::vector< VoiceSample > message
Definition VoiceInstructionAgent.h:99
std::chrono::system_clock::time_point Timestamp
Definition Time.h:27
DistanceUnitSystem
Definition Distance.h:36
@ Metrics
Definition Distance.h:37
std::shared_ptr< NavigationMessage > NavigationMessageRef
Definition Engine.h:56
Definition VoiceInstructionAgent.h:146
Distance distance
Definition VoiceInstructionAgent.h:148
bool operator!=(const MessageStruct &other) const
Definition VoiceInstructionAgent.h:172
MessageStruct & operator=(MessageStruct &&)=default
MessageStruct(const MessageStruct &)=default
MessageType type
Definition VoiceInstructionAgent.h:147
bool operator==(const MessageStruct &other) const
Definition VoiceInstructionAgent.h:167
MessageStruct(MessageType type, const Distance &distance)
Definition VoiceInstructionAgent.h:154
MessageStruct & operator=(const MessageStruct &)=default
MessageStruct(MessageStruct &&)=default
NavigationMessage(const Timestamp ×tamp)
const Timestamp timestamp
Definition Engine.h:50