ad_map_access
Classes | Public Types | Public Member Functions | List of all members
ad::map::route::planning::RoutePrediction Class Reference

Implements route prediction on the lane network. More...

#include <ad/map/route/RoutePrediction.hpp>

Inheritance diagram for ad::map::route::planning::RoutePrediction:
Inheritance graph
[legend]
Collaboration diagram for ad::map::route::planning::RoutePrediction:
Collaboration graph
[legend]

Public Types

typedef std::pair< RoutingParaPoint, RoutingCost > RoutingPoint
 definition of the routing point
 
- Public Types inherited from ad::map::route::planning::RouteExpander< RoutePredictionScore >
typedef std::pair< RoutingParaPoint, RoutingCost > RoutingPoint
 definition of the routing point
 
- Public Types inherited from ad::map::route::planning::Route
enum  Type { Type::INVALID, Type::SHORTEST, Type::SHORTEST_IGNORE_DIRECTION }
 Routing type. More...
 
typedef std::vector< point::ParaPointListBasicRoute
 Basic route description.
 

Public Member Functions

 RoutePrediction (const RoutingParaPoint &start, physics::Distance const &predictionDistance, physics::Duration const &predictionDuration, Type typ=Route::Type::SHORTEST)
 Constructor. More...
 
 RoutePrediction (const RoutingParaPoint &start, physics::Distance const &predictionDistance, Type typ=Route::Type::SHORTEST)
 Constructor. More...
 
 RoutePrediction (const RoutingParaPoint &start, physics::Duration const &predictionDuration, Type typ=Route::Type::SHORTEST)
 Constructor. More...
 
bool calculate () override
 Calculates the route predictions using breadth search algorithm.
 
- Public Member Functions inherited from ad::map::route::planning::RouteExpander< RoutePredictionScore >
 RouteExpander (const RoutingParaPoint &start, const RoutingParaPoint &dest, physics::Distance const &maxDistance, physics::Duration const &maxDuration, Type const &routingType)
 Constructor. More...
 
 RouteExpander (RouteExpander const &)=delete
 
 RouteExpander (RouteExpander const &&)=delete
 
RouteExpanderoperator= (RouteExpander const &)=delete
 
RouteExpanderoperator= (RouteExpander &&)=delete
 
virtual ~RouteExpander ()=default
 destructor.
 
void expandNeighbors (RoutingPoint const &origin)
 Triggers the expansion of the given routing point origin to its valid neighborhood.
 
void setRelevantLanes (::ad::map::lane::LaneIdSet const &relevantLanes)
 set the lanes that are relevant for routing All the rest of the lanes in the map are ignored.
 
void clearRelevantLanes ()
 clear the list of relevant lanes.
 
- Public Member Functions inherited from ad::map::route::planning::Route
 Route (const RoutingParaPoint &start, const RoutingParaPoint &dest, physics::Distance const &maxDistance, physics::Duration const &maxDuration, Type const &routingType)
 Constructor. Calculates route between two points. More...
 
 Route (Route const &)=delete
 
 Route (Route const &&)=delete
 
Routeoperator= (Route const &)=delete
 
Routeoperator= (Route &&)=delete
 
virtual ~Route ()=default
 Destructor.
 
const point::ParaPointgetStart () const
 
const RoutingParaPointgetRoutingStart () const
 
const point::ParaPointgetDest () const
 
const RoutingParaPointgetRoutingDest () const
 
Type getType () const
 
bool laneDirectionIsIgnored () const
 
bool isValid () const
 
const RawRoutegetRawRoute (size_t const routeIndex=0u) const
 
const std::vector< RawRoute > & getRawRoutes () const
 
BasicRoute getBasicRoute (size_t const routeIndex=0u) const
 
std::vector< BasicRoutegetBasicRoutes () const
 

Additional Inherited Members

- Protected Types inherited from ad::map::route::planning::RouteExpander< RoutePredictionScore >
enum  ExpandReason
 Definition of the reasons for route expansion.
 
- Protected Member Functions inherited from ad::map::route::planning::RouteExpander< RoutePredictionScore >
bool isStart (RoutingPoint const &origin)
 
bool isEnd (RoutingPoint const &origin)
 
bool isPositiveMovement (lane::Lane::ConstPtr lane, RoutingPoint const &origin)
 
bool isNegativeMovement (lane::Lane::ConstPtr lane, RoutingPoint const &origin)
 
bool isLaneRelevantForExpansion (lane::LaneId const laneId) const
 check if lane is relevant for route expander
 
void expandSameLaneNeighbors (lane::Lane::ConstPtr lane, RoutingPoint const &origin)
 perform the expansion of the neighbor points on the same lane
 
void expandLongitudinalNeighbors (lane::Lane::ConstPtr lane, RoutingPoint const &origin)
 perform the expansion of the neighbor points in longitudinal (contacts: successor/predecessor) lane direction
 
void expandLateralNeighbors (lane::Lane::ConstPtr lane, RoutingPoint const &origin)
 perform the expansion of the neighbor points in lateral (contacts: left/right) lane direction
 
RoutingPoint createNeighbor (lane::Lane::ConstPtr originLane, RoutingPoint const &origin, lane::Lane::ConstPtr neighborLane, RoutingParaPoint neighborRoutingParaPoint)
 create neighbor point and calculate the actual distance/duration to reach it
 
RoutingPoint createLongitudinalNeighbor (RoutingPoint const &origin, RoutingParaPoint neighborRoutingParaPoint)
 create longitudinal neighbor point with minimal actual distance/duration to reach
 
- Protected Attributes inherited from ad::map::route::planning::RouteExpander< RoutePredictionScore >
::ad::map::lane::LaneIdSet mRelevantLanes
 relevant lanes for the routing
 
- Protected Attributes inherited from ad::map::route::planning::Route
RoutingParaPoint mStart
 Start point.
 
RoutingParaPoint mDest
 Destination point.
 
const physics::Distance mMaxDistance
 prediction distance to be used
 
const physics::Duration mMaxDuration
 prediction duration to be used
 
Type mType
 Type of the route to be calculated.
 
bool mValid
 Indicates if calculation was successful. More...
 
std::vector< RawRoutemRawRoutes
 

Detailed Description

Implements route prediction on the lane network.

Constructor & Destructor Documentation

◆ RoutePrediction() [1/3]

ad::map::route::planning::RoutePrediction::RoutePrediction ( const RoutingParaPoint start,
physics::Distance const &  predictionDistance,
physics::Duration const &  predictionDuration,
Type  typ = Route::Type::SHORTEST 
)

Constructor.

Calculates route predictions from a starting point until either the given predictionDistance or the given predictionDuration is reached. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startStart point.
[in]predictionDistancemaximum prediction distance.
[in]predictionDurationmaximum prediction duration.
[in]typType of the route to be calculated (default Route::Type::SHORTEST).

◆ RoutePrediction() [2/3]

ad::map::route::planning::RoutePrediction::RoutePrediction ( const RoutingParaPoint start,
physics::Distance const &  predictionDistance,
Type  typ = Route::Type::SHORTEST 
)

Constructor.

Calculates route predictions from a starting point until the given predictionDistance is reached. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startStart point.
[in]predictionDistancemaximum prediction distance.
[in]typType of the route to be calculated (default Route::Type::SHORTEST).

◆ RoutePrediction() [3/3]

ad::map::route::planning::RoutePrediction::RoutePrediction ( const RoutingParaPoint start,
physics::Duration const &  predictionDuration,
Type  typ = Route::Type::SHORTEST 
)

Constructor.

Calculates route predictions from a starting point until the given predictionDuration is reached. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startStart point.
[in]predictionDurationmaximum prediction duration.
[in]typType of the route to be calculated (default Route::Type::SHORTEST).

The documentation for this class was generated from the following file: