ad_map_access
|
Implements routing on the lane network. More...
#include <ad/map/route/RouteAStar.hpp>
Public Types | |
typedef std::pair< RoutingParaPoint, RoutingCost > | RoutingPoint |
definition of the routing point | |
Public Types inherited from ad::map::route::planning::RouteExpander< RouteAstarScore > | |
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::ParaPointList > | BasicRoute |
Basic route description. | |
Public Member Functions | |
RouteAstar (const RoutingParaPoint &start, const RoutingParaPoint &dest, physics::Distance const &maxDistance, physics::Duration const &maxDuration, Type typ) | |
Constructor. Calculates route between two points. More... | |
RouteAstar (const RoutingParaPoint &start, const RoutingParaPoint &dest, physics::Distance const &maxDistance, Type typ) | |
Constructor. Calculates route between two points. More... | |
RouteAstar (const RoutingParaPoint &start, const RoutingParaPoint &dest, physics::Duration const &maxDuration, Type typ) | |
Constructor. Calculates route between two points. More... | |
RouteAstar (const RoutingParaPoint &start, const RoutingParaPoint &dest, Type typ) | |
Constructor. Calculates route between two points. More... | |
bool | calculate () override |
Calculates the route using A* algorithm. More... | |
Public Member Functions inherited from ad::map::route::planning::RouteExpander< RouteAstarScore > | |
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 | |
RouteExpander & | operator= (RouteExpander const &)=delete |
RouteExpander & | operator= (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 | |
Route & | operator= (Route const &)=delete |
Route & | operator= (Route &&)=delete |
virtual | ~Route ()=default |
Destructor. | |
const point::ParaPoint & | getStart () const |
const RoutingParaPoint & | getRoutingStart () const |
const point::ParaPoint & | getDest () const |
const RoutingParaPoint & | getRoutingDest () const |
Type | getType () const |
bool | laneDirectionIsIgnored () const |
bool | isValid () const |
const RawRoute & | getRawRoute (size_t const routeIndex=0u) const |
const std::vector< RawRoute > & | getRawRoutes () const |
BasicRoute | getBasicRoute (size_t const routeIndex=0u) const |
std::vector< BasicRoute > | getBasicRoutes () const |
Additional Inherited Members | |
Protected Types inherited from ad::map::route::planning::RouteExpander< RouteAstarScore > | |
enum | ExpandReason |
Definition of the reasons for route expansion. | |
Protected Member Functions inherited from ad::map::route::planning::RouteExpander< RouteAstarScore > | |
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< RouteAstarScore > | |
::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< RawRoute > | mRawRoutes |
Implements routing on the lane network.
ad::map::route::planning::RouteAstar::RouteAstar | ( | const RoutingParaPoint & | start, |
const RoutingParaPoint & | dest, | ||
physics::Distance const & | maxDistance, | ||
physics::Duration const & | maxDuration, | ||
Type | typ | ||
) |
Constructor. Calculates route between two points.
[in] | start | Start point. |
[in] | dest | Destination point. |
[in] | maxDistance | maximum route search distance. |
[in] | maxDuration | maximum route search duration. |
[in] | typ | Type of the route to be calculated. |
ad::map::route::planning::RouteAstar::RouteAstar | ( | const RoutingParaPoint & | start, |
const RoutingParaPoint & | dest, | ||
physics::Distance const & | maxDistance, | ||
Type | typ | ||
) |
Constructor. Calculates route between two points.
[in] | start | Start point. |
[in] | dest | Destination point. |
[in] | maxDistance | maximum route search distance. |
[in] | typ | Type of the route to be calculated. |
ad::map::route::planning::RouteAstar::RouteAstar | ( | const RoutingParaPoint & | start, |
const RoutingParaPoint & | dest, | ||
physics::Duration const & | maxDuration, | ||
Type | typ | ||
) |
Constructor. Calculates route between two points.
[in] | start | Start point. |
[in] | dest | Destination point. |
[in] | maxDuration | maximum route search duration. |
[in] | typ | Type of the route to be calculated. |
ad::map::route::planning::RouteAstar::RouteAstar | ( | const RoutingParaPoint & | start, |
const RoutingParaPoint & | dest, | ||
Type | typ | ||
) |
Constructor. Calculates route between two points.
[in] | start | Start point. |
[in] | dest | Destination point. |
[in] | typ | Type of the route to be calculated. |
|
overridevirtual |
Calculates the route using A* algorithm.
Implements ad::map::route::planning::Route.