ad_map_access
Classes | Namespaces | Enumerations | Functions
RouteOperation.hpp File Reference
#include "ad/map/lane/Types.hpp"
#include "ad/map/match/Types.hpp"
#include "ad/map/point/Types.hpp"
#include "ad/map/route/LaneIntervalOperation.hpp"
#include "ad/map/route/Routing.hpp"
#include "ad/map/route/Types.hpp"
#include "ad/physics/Types.hpp"
Include dependency graph for RouteOperation.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ad::map::route::RouteIterator
 struct defining iterator information on a route More...
 
struct  ad::map::route::FindWaypointResult
 struct defining the result type of findWaypoint() and findNearestWaypoint() More...
 
struct  ad::map::route::FindLaneChangeResult
 struct defining the result type of findFirstLaneChange() More...
 

Namespaces

 ad
 namespace ad
 
 ad::map
 namespace map
 
 ad::map::intersection
 namespace intersection
 
 ad::map::route
 namespace route
 

Enumerations

enum  ad::map::route::ShortenRouteResult {
  ad::map::route::ShortenRouteResult::Succeeded, ad::map::route::ShortenRouteResult::SucceededBeforeRoute, ad::map::route::ShortenRouteResult::SucceededRouteEmpty, ad::map::route::ShortenRouteResult::SucceededIntersectionNotCut,
  ad::map::route::ShortenRouteResult::FailedRouteEmpty
}
 enumeration providing more insights into the actual shorten route result More...
 
enum  ad::map::route::ShortenRouteMode { ad::map::route::ShortenRouteMode::Normal, ad::map::route::ShortenRouteMode::PrependIfSucceededBeforeRoute, ad::map::route::ShortenRouteMode::DontCutIntersectionAndPrependIfSucceededBeforeRoute }
 enumeration defining the mode of operation of the shortenRoute() functions More...
 
enum  ad::map::route::RouteSectionCreationMode { ad::map::route::RouteSectionCreationMode::SingleLane, ad::map::route::RouteSectionCreationMode::AllRouteLanes }
 the mode how the route section will be created More...
 

Functions

RouteIterator ad::map::route::getRouteIterator (route::RouteParaPoint const &routePosition, route::FullRoute const &route)
 get the route iterator from a given route position More...
 
point::ParaPoint ad::map::route::getLaneParaPoint (physics::ParametricValue const &routeParametricOffset, route::LaneInterval const &laneInterval)
 get the lane para points in respect to the given route parametric offset More...
 
physics::Distance ad::map::route::signedDistanceToLane (lane::LaneId const &checkLaneId, FullRoute const &route, match::MapMatchedPositionConfidenceList const &mapMatchedPositions)
 get the signed distance to a lane w.r.t to a given route (direction) for the map matched positions More...
 
point::ParaPointList ad::map::route::getLaneParaPoints (route::RouteParaPoint const &routePosition, route::FullRoute const &route)
 get the lane para points in respect to the given route position More...
 
physics::Distance ad::map::route::calcLength (FullRoute const &fullRoute)
 calculate the length of the provided full route
 
physics::Distance ad::map::route::calcLength (RoadSegment const &roadSegment)
 calculate the length of the provided road segment More...
 
physics::Distance ad::map::route::calcLength (LaneSegment const &laneSegment)
 calculate the length of the provided lane segment
 
physics::Distance ad::map::route::calcLength (ConnectingRoute const &connectingRoute)
 calculate the length of the provided connecting route More...
 
physics::Distance ad::map::route::calcLength (RouteIterator const &startIterator, RouteIterator const &endIterator)
 calculate the length between the two given iterators
 
physics::Distance ad::map::route::calcLength (RouteParaPoint const &startRouteParaPoint, RouteParaPoint const &endRouteParaPoint, FullRoute const &route)
 
physics::Duration ad::map::route::calcDuration (FullRoute const &fullRoute)
 calculate the Duration of the provided full route
 
physics::Duration ad::map::route::calcDuration (RoadSegment const &roadSegment)
 calculate the Duration of the provided road segment More...
 
physics::Duration ad::map::route::calcDuration (LaneSegment const &laneSegment)
 calculate the Duration of the provided lane segment
 
physics::Duration ad::map::route::calcDuration (ConnectingRoute const &connectingRoute)
 calculate the Duration of the provided connecting route More...
 
restriction::SpeedLimitList ad::map::route::getSpeedLimits (RoadSegment const &roadSegment)
 get the speed limits of the road segment
 
restriction::SpeedLimitList ad::map::route::getSpeedLimits (LaneSegment const &laneSegment)
 get the speed limits of the lane segment
 
restriction::SpeedLimitList ad::map::route::getSpeedLimits (RouteIterator const &startIterator, RouteIterator const &endIterator)
 get the speed limits between the two given iterators
 
restriction::SpeedLimitList ad::map::route::getSpeedLimits (FullRoute const &fullRoute)
 get the speed limits of a complete route
 
restriction::SpeedLimitList ad::map::route::getSpeedLimits (ConnectingRoute const &connectingRoute)
 get the speed limits of a connecting route
 
bool ad::map::route::isWithinInterval (RoadSegment const &roadSegment, point::ParaPoint const &point)
 checks if the point is within the roadSegment More...
 
physics::Distance ad::map::route::calcLength (FindWaypointResult const &findWaypointResult)
 calculate the length of the route in respect to FindWaypointResult More...
 
FindWaypointResult ad::map::route::findWaypoint (point::ParaPoint const &position, route::FullRoute const &route)
 find a waypoint on the route containing the given position More...
 
FindWaypointResult ad::map::route::findWaypoint (lane::LaneId const &laneId, route::FullRoute const &route)
 find a waypoint on the route containing the given laneId More...
 
FindWaypointResult ad::map::route::findNearestWaypoint (point::ParaPointList const &positions, route::FullRoute const &route)
 find waypoint on the route containing the given positions More...
 
FindWaypointResult ad::map::route::findCenterWaypoint (match::Object const &object, route::FullRoute const &route)
 find waypoint on the route of the given object, preferable the object center More...
 
FindWaypointResult ad::map::route::objectOnRoute (match::MapMatchedObjectBoundingBox const &object, route::FullRoute const &route)
 find nearest waypoint on the route containing the given mapmatched bounding box More...
 
FindWaypointResult ad::map::route::intersectionOnRoute (intersection::Intersection const &intersection, route::FullRoute const &route)
 find waypoint on the route containing a lane of the given intersection More...
 
bool ad::map::route::isConnectedRoutePartOfAnIntersection (route::ConnectingRoute const &connectingRoute)
 
ShortenRouteResult ad::map::route::shortenRoute (point::ParaPoint const &currentPosition, route::FullRoute &route, ShortenRouteMode const shortenRouteMode=ShortenRouteMode::Normal)
 follow the route up to a certain position and shorten the route accordingly More...
 
ShortenRouteResult ad::map::route::shortenRoute (point::ParaPointList const &currentPositions, route::FullRoute &route, ShortenRouteMode const shortenRouteMode=ShortenRouteMode::Normal)
 follow the route up to a certain position and shorten the route accordingly More...
 
bool ad::map::route::calculateRouteParaPointAtDistance (route::FullRoute const &route, route::RouteParaPoint const &origin, physics::Distance const &distance, route::RouteParaPoint &resultingPoint)
 calculate the RouteParaPoint at a given distance to a given RouteParaPoint More...
 
bool ad::map::route::getRouteParaPointFromParaPoint (point::ParaPoint const &paraPoint, FullRoute const &route, route::RouteParaPoint &routeParaPoint)
 calculate the RouteParaPoint for a given ParaPoint and FullRoute More...
 
FullRoute ad::map::route::getRouteSection (FindWaypointResult const &currentLane, physics::Distance const &distanceFront, physics::Distance const &distanceEnd, FullRoute const &route, RouteSectionCreationMode const routeSectionCreationMode=RouteSectionCreationMode::SingleLane)
 Return a section of the route that is within the given distance around the given LanePoint. More...
 
route::FullRoute ad::map::route::getRouteSection (point::ParaPoint const &centerPoint, physics::Distance const &distanceFront, physics::Distance const &distanceEnd, route::FullRoute const &route, RouteSectionCreationMode const routeSectionCreationMode=RouteSectionCreationMode::SingleLane)
 Return a section of the route that is within the given distance around the given LanePoint. More...
 
route::FullRoute ad::map::route::getRouteSection (match::Object const &object, route::FullRoute const &route, RouteSectionCreationMode const routeSectionCreationMode=RouteSectionCreationMode::SingleLane)
 Return a section of the route that is around the given object. More...
 
FindLaneChangeResult ad::map::route::findFirstLaneChange (match::MapMatchedPosition const &currentPositionEgoVehicle, route::FullRoute const &route)
 finds the first route interval on a given route where a lane change is necessary to travel the given route from start to end. The function finds the first lane change only. More...
 
void ad::map::route::shortenRouteToDistance (route::FullRoute &route, const physics::Distance &length)
 shorten the route from the end to have at maximum the given length More...
 
void ad::map::route::appendLaneSegmentToRoute (route::LaneInterval const &laneInterval, route::FullRoute &route, route::SegmentCounter const segmentCountFromDestination=0u)
 function to append a new lane interval to a road segment list More...
 
bool ad::map::route::extendRouteToDistance (route::FullRoute &route, physics::Distance const &length, route::FullRouteList &additionalRoutes, lane::LaneIdSet const &relevantLanes=ad::map::lane::LaneIdSet())
 extends route to have at least the given length More...
 
bool ad::map::route::extendRouteToDestinations (route::FullRoute &route, const std::vector< route::planning::RoutingParaPoint > &dest)
 extends route with the given list of destinations More...
 
bool ad::map::route::extendRouteToDestinations (route::FullRoute &route, const std::vector< point::GeoPoint > &dest)
 extends route with the given list of destinations More...
 
bool ad::map::route::extendRouteToDestinations (route::FullRoute &route, const std::vector< point::ENUPoint > &dest)
 extends route with the given list of destinations More...
 
void ad::map::route::appendRoadSegmentToRoute (route::LaneInterval const &laneInverval, route::RouteLaneOffset const &laneOffset, route::FullRoute &route, lane::LaneIdSet const &relevantLanes)
 function to append a new lane interval to a road segment list More...
 
physics::Distance ad::map::route::addOpposingLaneSegmentToRoadSegment (point::ParaPoint const &startpoint, physics::Distance const &distance, route::RoadSegment &roadSegment, route::FullRoute &route)
 add an opposing lane segment to an existing (and not empty) road segment with at most the given length More...
 
bool ad::map::route::addOpposingLaneToRoute (point::ParaPoint const &pointOnOppositeLane, physics::Distance const &distanceOnWrongLane, route::FullRoute &route, physics::Distance &coveredDistance)
 add a part of the opposing lane to an existing route. The part is at most distanceOnWrongLane long, but may be shorter (e.g. intersections stop adding more segments of the opposing lane) More...
 
route::FullRoute ad::map::route::getRouteExpandedToOppositeLanes (route::FullRoute const &route)
 
route::FullRoute ad::map::route::getRouteExpandedToAllNeighborLanes (route::FullRoute const &route)
 
bool ad::map::route::calculateBypassingRoute (route::FullRoute const &route, route::FullRoute &bypassingRoute)
 calculate a bypassing route for a given (blocked) route More...
 
lane::ECEFBorder ad::map::route::getECEFBorderOfRoadSegment (RoadSegment const &roadSegment, physics::ParametricValue const parametricOffset)
 get borders of a road segment. The road segment is cut at a given parametric offset. More...
 
lane::ECEFBorder ad::map::route::getECEFBorderOfRoadSegment (RoadSegment const &roadSegment)
 get borders of a road segment More...
 
lane::ENUBorder ad::map::route::getENUBorderOfRoadSegment (RoadSegment const &roadSegment, physics::ParametricValue const parametricOffset)
 get borders of a road segment. The road segment is cut at a given parametric offset. More...
 
lane::ENUBorder ad::map::route::getENUBorderOfRoadSegment (RoadSegment const &roadSegment)
 get borders of a road segment More...
 
lane::GeoBorder ad::map::route::getGeoBorderOfRoadSegment (RoadSegment const &roadSegment, physics::ParametricValue const parametricOffset)
 get borders of a road segment. The road segment is cut at a given parametric offset. More...
 
lane::GeoBorder ad::map::route::getGeoBorderOfRoadSegment (RoadSegment const &roadSegment)
 get borders of a road segment More...
 
lane::ENUBorderList ad::map::route::getENUBorderOfRoute (FullRoute const &route)
 get borders of a full route More...
 
lane::ECEFBorderList ad::map::route::getECEFBorderOfRoute (FullRoute const &route)
 get borders of a full route More...
 
lane::GeoBorderList ad::map::route::getGeoBorderOfRoute (FullRoute const &route)
 get borders of a full route More...
 
point::ENUHeading ad::map::route::getENUHeadingOfRoute (match::Object const &object, FullRoute const &route)
 get the ENU heading of a route at the location of the object More...
 
bool ad::map::route::isObjectHeadingInRouteDirection (match::Object const &object, FullRoute const &route)
 compare the ENU heading of the route at the location of the object with the ENU heading of the object More...
 
void ad::map::route::shortenSegmentFromBegin (RoadSegment &roadSegment, physics::Distance const &distance)
 Shorten the provided road segment by a certain distance from the begin. More...
 
void ad::map::route::shortenSegmentFromEnd (RoadSegment &roadSegment, physics::Distance const &distance)
 Shorten the provided road segment by a certain distance from the end. More...