1 #ifndef OSMSCOUT_ROUTE_DESCRIPTION_H 2 #define OSMSCOUT_ROUTE_DESCRIPTION_H 26 #include <unordered_map> 105 virtual std::string GetDebugString()
const = 0;
117 std::string description;
122 std::string GetDebugString()
const override;
124 std::string GetDescription()
const;
136 std::string description;
141 std::string GetDebugString()
const override;
143 std::string GetDescription()
const;
163 const std::string& ref);
165 std::string GetDebugString()
const override;
167 bool HasName()
const;
169 std::string GetName()
const;
170 std::string GetRef()
const;
172 std::string GetDescription()
const;
191 std::string GetDebugString()
const override;
195 return originDescription;
200 return targetDescription;
216 std::list<NameDescriptionRef> descriptions;
225 std::string GetDebugString()
const override;
239 return originDescription;
244 return targetDescription;
286 Move ConvertAngleToMove(
double angle)
const;
287 std::string ConvertMoveToString(Move move)
const;
293 std::string GetDebugString()
const override;
325 std::string GetDebugString()
const override;
342 std::string GetDebugString()
const override;
365 std::string GetDebugString()
const override;
392 std::string GetDebugString()
const override;
396 return toDescription;
416 std::string GetDebugString()
const override;
420 return fromDescription;
425 return toDescription;
443 std::string GetDebugString()
const override;
447 return fromDescription;
465 std::string GetDebugString()
const override;
469 return junctionDescription;
482 std::string description;
487 std::string GetDebugString()
const override;
489 std::string GetDescription()
const;
506 std::string GetDebugString()
const override;
528 std::string GetDebugString()
const override;
530 bool HasName()
const;
532 std::string GetName()
const;
534 std::string GetDescription()
const;
547 ObjectFileRef object;
553 const ObjectFileRef&
object,
555 const Distance& distance);
557 std::string GetDebugString()
const override;
590 uint8_t laneCount{1};
603 std::vector<std::string> laneTurns;
608 const std::vector<std::string> &laneTurns);
610 std::string GetDebugString()
const override;
643 uint8_t from = uint8_t(-1);
644 uint8_t to = uint8_t(-1);
649 std::string GetDebugString()
const override;
671 size_t currentNodeIndex;
672 std::vector<ObjectFileRef> objects;
673 ObjectFileRef pathObject;
674 size_t targetNodeIndex;
678 std::unordered_map<std::string,DescriptionRef> descriptionMap;
679 std::list<DescriptionRef> descriptions;
683 size_t currentNodeIndex,
684 const std::vector<ObjectFileRef>& objects,
685 const ObjectFileRef& pathObject,
686 size_t targetNodeIndex);
690 return currentNodeIndex;
715 return pathObject.Valid();
725 return DBFileOffset(GetDatabaseId(),GetPathObject().GetFileOffset());
741 return targetNodeIndex;
768 bool HasDescription(
const char* name)
const;
771 void SetDistance(Distance distance);
772 void SetTime(
const Timestamp::duration &time);
773 void SetLocation(
const GeoCoord &coord);
775 void AddDescription(
const char* name,
779 using NodeIterator = std::list<RouteDescription::Node>::const_iterator;
782 std::list<Node> nodes;
783 std::map<DatabaseId, std::string> databaseMapping;
789 void SetDatabaseMapping(std::map<DatabaseId, std::string> databaseMapping);
791 std::map<DatabaseId, std::string> GetDatabaseMapping()
const;
798 size_t currentNodeIndex,
799 const std::vector<ObjectFileRef>& objects,
800 const ObjectFileRef& pathObject,
801 size_t targetNodeIndex);
808 const std::list<Node>&
Nodes()
const NameDescriptionRef GetTargetDesccription() const
Definition: RouteDescription.h:242
Definition: RouteDescription.h:457
static const char *const LANES_DESC
Definition: RouteDescription.h:91
uint8_t GetLaneCount() const
Definition: RouteDescription.h:617
size_t GetExitCount() const
Definition: RouteDescription.h:227
bool HasPathObject() const
Definition: RouteDescription.h:713
std::list< Node > & Nodes()
Definition: RouteDescription.h:803
Definition: RouteDescription.h:520
std::shared_ptr< MotorwayChangeDescription > MotorwayChangeDescriptionRef
Definition: RouteDescription.h:429
static const char *const NODE_TARGET_DESC
Definition: RouteDescription.h:59
Definition: RouteDescription.h:586
ObjectFileRef GetObject() const
Definition: RouteDescription.h:564
Move
Definition: RouteDescription.h:269
std::shared_ptr< DestinationDescription > DestinationDescriptionRef
Definition: RouteDescription.h:492
static const char *const MOTORWAY_ENTER_DESC
Definition: RouteDescription.h:75
Definition: RouteDescription.h:667
NameDescriptionRef GetOriginDescription() const
Definition: RouteDescription.h:193
static const char *const WAY_MAXSPEED_DESC
Definition: RouteDescription.h:85
Definition: RouteDescription.h:153
Definition: RouteDescription.h:53
Definition: RouteDescription.h:435
std::shared_ptr< RoundaboutLeaveDescription > RoundaboutLeaveDescriptionRef
Definition: RouteDescription.h:378
std::shared_ptr< POIAtRouteDescription > POIAtRouteDescriptionRef
Definition: RouteDescription.h:580
Definition: RouteDescription.h:272
std::shared_ptr< StartDescription > StartDescriptionRef
Definition: RouteDescription.h:127
std::shared_ptr< Description > DescriptionRef
Definition: RouteDescription.h:108
std::shared_ptr< MotorwayEnterDescription > MotorwayEnterDescriptionRef
Definition: RouteDescription.h:400
std::shared_ptr< MotorwayLeaveDescription > MotorwayLeaveDescriptionRef
Definition: RouteDescription.h:451
std::shared_ptr< RoundaboutEnterDescription > RoundaboutEnterDescriptionRef
Definition: RouteDescription.h:350
NameDescriptionRef GetTargetDescription() const
Definition: RouteDescription.h:198
static const char *const MOTORWAY_JUNCTION_DESC
Definition: RouteDescription.h:81
NameDescriptionRef GetOriginDesccription() const
Definition: RouteDescription.h:237
Duration GetTime() const
Definition: RouteDescription.h:755
size_t GetTargetNodeIndex() const
Definition: RouteDescription.h:739
std::shared_ptr< NameChangedDescription > NameChangedDescriptionRef
Definition: RouteDescription.h:204
bool HasMultipleExits() const
Definition: RouteDescription.h:232
bool operator!=(const MapViewStruct &r1, const MapViewStruct &r2)
Definition: DBThread.h:61
Definition: RouteDescription.h:266
NameDescriptionRef GetToDescription() const
Definition: RouteDescription.h:394
static const char *const NODE_START_DESC
Definition: RouteDescription.h:57
Distance GetDistance() const
Definition: RouteDescription.h:747
Definition: RouteDescription.h:322
std::shared_ptr< NameDescription > NameDescriptionRef
Definition: RouteDescription.h:175
static const char *const CROSSING_WAYS_DESC
Definition: RouteDescription.h:65
const std::vector< std::string > & GetLaneTurns() const
Definition: RouteDescription.h:622
Definition: RouteDescription.h:406
const std::list< NameDescriptionRef > & GetDescriptions() const
Definition: RouteDescription.h:247
static const char *const WAY_NAME_DESC
Definition: RouteDescription.h:61
Distance GetDistance() const
Definition: RouteDescription.h:574
static const char *const ROUNDABOUT_ENTER_DESC
Definition: RouteDescription.h:71
Definition: RouteDescription.h:114
Definition: RouteDescription.h:100
std::shared_ptr< TargetDescription > TargetDescriptionRef
Definition: RouteDescription.h:146
Definition: RouteDescription.h:543
NameDescriptionRef GetName() const
Definition: RouteDescription.h:569
size_t GetExitCount() const
Definition: RouteDescription.h:367
std::shared_ptr< DirectionDescription > DirectionDescriptionRef
Definition: RouteDescription.h:316
std::shared_ptr< MaxSpeedDescription > MaxSpeedDescriptionRef
Definition: RouteDescription.h:514
const std::list< DescriptionRef > & GetDescriptions() const
Definition: RouteDescription.h:704
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
const std::vector< ObjectFileRef > & GetObjects() const
Definition: RouteDescription.h:696
std::shared_ptr< CrossingWaysDescription > CrossingWaysDescriptionRef
Definition: RouteDescription.h:253
Definition: RouteDescription.h:133
size_t GetCurrentNodeIndex() const
Definition: RouteDescription.h:688
NameDescriptionRef GetFromDescription() const
Definition: RouteDescription.h:418
Definition: RouteDescription.h:356
std::shared_ptr< MotorwayJunctionDescription > MotorwayJunctionDescriptionRef
Definition: RouteDescription.h:473
std::shared_ptr< LaneDescription > LaneDescriptionRef
Definition: RouteDescription.h:631
std::list< RouteDescription::Node >::const_iterator NodeIterator
Definition: RouteDescription.h:779
std::shared_ptr< SuggestedLaneDescription > SuggestedLaneDescriptionRef
Definition: RouteDescription.h:662
uint8_t GetTo() const
Definition: RouteDescription.h:656
Definition: RouteDescription.h:479
double GetTurnAngle() const
Definition: RouteDescription.h:295
Definition: RouteDescription.h:498
Move GetTurn() const
Definition: RouteDescription.h:305
std::shared_ptr< TypeNameDescription > TypeNameDescriptionRef
Definition: RouteDescription.h:537
DBFileOffset GetDBFileOffset() const
Definition: RouteDescription.h:723
Definition: RouteDescription.h:384
static const char *const POI_AT_ROUTE_DESC
Definition: RouteDescription.h:89
DatabaseId GetDatabaseId() const
Definition: RouteDescription.h:718
bool operator==(const MapView &a, const MapView &b)
Definition: InputHandler.h:222
static const char *const SUGGESTED_LANES_DESC
Definition: RouteDescription.h:93
NameDescriptionRef GetFromDescription() const
Definition: RouteDescription.h:445
Definition: RouteDescription.h:273
static const char *const WAY_NAME_CHANGED_DESC
Definition: RouteDescription.h:63
std::shared_ptr< TurnDescription > TurnDescriptionRef
Definition: RouteDescription.h:328
Definition: RouteDescription.h:271
double GetCurveAngle() const
Definition: RouteDescription.h:300
std::shared_ptr< RouteDescription > RouteDescriptionRef
Definition: RouteDescription.h:814
static const char *const CROSSING_DESTINATION_DESC
Definition: RouteDescription.h:83
bool IsClockwise() const
Definition: RouteDescription.h:372
Definition: RouteDescription.h:334
static const char *const MOTORWAY_CHANGE_DESC
Definition: RouteDescription.h:77
Definition: RouteDescription.h:274
NameDescriptionRef GetJunctionDescription() const
Definition: RouteDescription.h:467
Timestamp::duration Duration
Definition: Time.h:29
static const char *const MOTORWAY_LEAVE_DESC
Definition: RouteDescription.h:79
static const char *const ROUNDABOUT_LEAVE_DESC
Definition: RouteDescription.h:73
ObjectFileRef GetPathObject() const
Definition: RouteDescription.h:731
Move GetCurve() const
Definition: RouteDescription.h:310
DatabaseId GetDatabaseId() const
Definition: RouteDescription.h:559
const std::list< Node > & Nodes() const
Definition: RouteDescription.h:808
GeoCoord GetLocation() const
Definition: RouteDescription.h:763
static const char *const TURN_DESC
Definition: RouteDescription.h:69
Definition: DBFileOffset.h:92
Definition: RouteDescription.h:210
Definition: RouteDescription.h:275
uint8_t GetMaxSpeed() const
Definition: RouteDescription.h:508
uint8_t GetFrom() const
Definition: RouteDescription.h:651
bool IsOneway() const
Definition: RouteDescription.h:612
Definition: RouteDescription.h:182
Definition: RouteDescription.h:270
NameDescriptionRef GetToDescription() const
Definition: RouteDescription.h:423
Definition: RouteDescription.h:640
bool IsClockwise() const
Definition: RouteDescription.h:344
static const char *const DIRECTION_DESC
Definition: RouteDescription.h:67
static const char *const WAY_TYPE_NAME_DESC
Definition: RouteDescription.h:87
uint32_t DatabaseId
Definition: DBFileOffset.h:30