1#ifndef OSMSCOUT_NAVIGATION_ROUTE_POSITION_AGENT_H
2#define OSMSCOUT_NAVIGATION_ROUTE_POSITION_AGENT_H
68 std::list<RouteDescription::Node>::const_iterator
routeNode;
90 template<
typename Description>
95 position.state != PositionAgent::Uninitialised &&
96 position.state != PositionAgent::OffRoute) {
98 return std::dynamic_pointer_cast<Description>(
position.routeNode->GetDescription(name));
113 Distance snapDistanceInMeters{
Meters(20)};
122 bool SearchClosestSegment(
const GeoCoord& location,
123 const std::list<RouteDescription::Node>::const_iterator& locationOnRoute,
125 std::list<RouteDescription::Node>::const_iterator& foundNode,
126 double& foundAbscissa,
127 double& minDistance)
const;
#define OSMSCOUT_API
Definition CoreImportExport.h:45
std::list< NavigationMessageRef > Process(const NavigationMessageRef &message) override
std::shared_ptr< PositionMessage > PositionMessageRef
Definition PositionAgent.h:104
~PositionAgent() override=default
GpsPositionState
Definition PositionAgent.h:36
@ Outdated
Definition PositionAgent.h:39
@ LowAccuracy
Definition PositionAgent.h:38
@ Good
Definition PositionAgent.h:37
PositionState
Definition PositionAgent.h:57
@ NoGpsSignal
Definition PositionAgent.h:59
@ Uninitialised
Definition PositionAgent.h:58
@ EstimateInTunnel
Definition PositionAgent.h:62
@ OffRoute
Definition PositionAgent.h:61
@ OnRoute
Definition PositionAgent.h:60
std::vector< VoiceSample > message
Definition VoiceInstructionAgent.h:99
osmscout::Vehicle vehicle
Definition Agents.h:87
std::shared_ptr< TypeConfig > TypeConfigRef
Definition TypeConfig.h:1396
Distance Meters(double m)
Definition Distance.h:358
std::shared_ptr< Way > WayRef
Definition Way.h:213
std::chrono::system_clock::time_point Timestamp
Definition Time.h:27
std::shared_ptr< Area > AreaRef
Definition Area.h:360
uint32_t DatabaseId
Definition DBFileOffset.h:30
std::shared_ptr< RouteDescription > RouteDescriptionRef
Definition RouteDescription.h:834
std::shared_ptr< RoutableObjects > RoutableObjectsRef
Definition DataAgent.h:49
Vehicle
Definition OSMScoutTypes.h:55
std::shared_ptr< NavigationMessage > NavigationMessageRef
Definition Engine.h:56
Definition LaneAgent.h:61
Position position
Definition PositionAgent.h:85
RouteDescriptionRef route
Definition PositionAgent.h:84
PositionMessage(const Timestamp ×tamp, const RouteDescriptionRef &route, const Position &position)
~PositionMessage() override=default
std::shared_ptr< Description > GetRouteDescription(const char *name) const
Definition PositionAgent.h:91
Definition PositionAgent.h:42
Distance horizontalAccuracy
Definition PositionAgent.h:45
GpsPositionState GetState(const Timestamp &now) const
Timestamp lastUpdate
Definition PositionAgent.h:43
void Update(const Timestamp &time, const GeoCoord &position, const Distance &horizontalAccuracy)
GeoCoord position
Definition PositionAgent.h:44
std::string GetStateStr(const Timestamp &now) const
Definition PositionAgent.h:65
GeoCoord coord
Definition PositionAgent.h:67
WayRef way
Definition PositionAgent.h:73
PositionState state
Definition PositionAgent.h:66
std::list< RouteDescription::Node >::const_iterator routeNode
Definition PositionAgent.h:68
std::string StateStr() const
AreaRef area
Definition PositionAgent.h:74
TypeConfigRef typeConfig
Definition PositionAgent.h:72
DatabaseId databaseId
Definition PositionAgent.h:71
NavigationMessage(const Timestamp ×tamp)
const Timestamp timestamp
Definition Engine.h:50