Go to the documentation of this file.
20 #include "ad/physics/Types.hpp"
28 namespace intersection {
141 physics::Distance
calcLength(ConnectingRoute
const &connectingRoute);
145 physics::Distance
calcLength(RouteIterator
const &startIterator, RouteIterator
const &endIterator);
148 calcLength(RouteParaPoint
const &startRouteParaPoint, RouteParaPoint
const &endRouteParaPoint, FullRoute
const &route);
152 physics::Duration
calcDuration(FullRoute
const &fullRoute);
158 physics::Duration
calcDuration(RoadSegment
const &roadSegment);
171 physics::Duration
calcDuration(ConnectingRoute
const &connectingRoute);
226 RoadSegmentList::const_iterator roadSegmentIter,
227 LaneSegmentList::const_iterator laneIntervalIter)
303 physics::Distance
calcLength(FindWaypointResult
const &findWaypointResult);
542 FullRoute
const &route,
573 physics::Distance
const &distanceFront,
574 physics::Distance
const &distanceEnd,
575 FullRoute
const &route,
598 physics::Distance
const &distanceFront,
599 physics::Distance
const &distanceEnd,
743 physics::Distance
const &length,
745 lane::LaneIdSet
const &relevantLanes = ad::map::lane::LaneIdSet());
799 lane::LaneIdSet
const &relevantLanes);
834 physics::Distance
const &distanceOnWrongLane,
836 physics::Distance &coveredDistance);
876 physics::ParametricValue
const parametricOffset);
897 physics::ParametricValue
const parametricOffset);
918 physics::ParametricValue
const parametricOffset);
uint32_t numberOfConnectedLaneChanges
the number of connected lane changes to reach the desired target lane from the current position
Definition: RouteOperation.hpp:660
namespace ad
Definition: GeometryStoreItem.hpp:28
RoadSegmentList::const_iterator roadSegmentIterator
iterator referencing an element of the queryRoute
Definition: RouteOperation.hpp:60
struct defining iterator information on a route
Definition: RouteOperation.hpp:41
LaneChangeDirection
DataType LaneChangeDirection.
Definition: LaneChangeDirection.hpp:43
LaneSegmentList::const_iterator laneChangeStartLaneSegmentIterator
iterator referencing an element of the laneChangeStartRouteIterator content; only valid if laneChange...
Definition: RouteOperation.hpp:646
FindWaypointResult findCenterWaypoint(match::Object const &object, route::FullRoute const &route)
find waypoint on the route of the given object, preferable the object center
Logical representation of an intersection along the route.
Definition: Intersection.hpp:65
bool 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,...
DataType ECEFBorder.
Definition: ECEFBorder.hpp:44
FindWaypointResult(FullRoute const &route, point::ParaPoint const &iQueryPosition, RoadSegmentList::const_iterator roadSegmentIter, LaneSegmentList::const_iterator laneIntervalIter)
constructor
Definition: RouteOperation.hpp:224
void 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
bool isValid() const
check for validity of the iterator
Definition: RouteOperation.hpp:52
bool calculateBypassingRoute(route::FullRoute const &route, route::FullRoute &bypassingRoute)
calculate a bypassing route for a given (blocked) route
FindWaypointResult intersectionOnRoute(intersection::Intersection const &intersection, route::FullRoute const &route)
find waypoint on the route containing a lane of the given intersection
struct defining the result type of findFirstLaneChange()
Definition: RouteOperation.hpp:628
DataType Object.
Definition: Object.hpp:43
restriction::SpeedLimitList getSpeedLimits(LaneInterval const &laneInterval)
get the speed limits of the lane interval
physics::Duration calcDuration(LaneInterval const &laneInterval)
calculate the Duration of the provided lane interval as duration value
DataType ParaPoint.
Definition: ParaPoint.hpp:48
uint64_t SegmentCounter
DataType SegmentCounter.
Definition: SegmentCounter.hpp:41
bool 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
physics::Distance calcLength(LaneInterval const &laneInterval)
calculate the length of the provided lane interval as physics::Distance value
DataType LaneSegment.
Definition: LaneSegment.hpp:53
LaneSegmentList::const_iterator laneSegmentIterator
iterator referencing an element of the routeIterator content; only valid if routeIterator !...
Definition: RouteOperation.hpp:246
RouteSectionCreationMode
the mode how the route section will be created
Definition: RouteOperation.hpp:548
DataType ConnectingRoute.
Definition: ConnectingRoute.hpp:66
ShortenRouteResult
enumeration providing more insights into the actual shorten route result
Definition: RouteOperation.hpp:420
point::ENUHeading getENUHeadingOfRoute(match::Object const &object, FullRoute const &route)
get the ENU heading of a route at the location of the object
bool isValid() const
returns true, if the routeIteratorLaneChangeStart and the routeIteratorLaneChangeEnd,...
Definition: RouteOperation.hpp:664
FindLaneChangeResult(FullRoute const &route)
constructor
route::FullRoute getRouteExpandedToAllNeighborLanes(route::FullRoute const &route)
FullRoute getRouteSection(FindWaypointResult const ¤tLane, 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.
FindWaypointResult findWaypoint(point::ParaPoint const &position, route::FullRoute const &route)
find a waypoint on the route containing the given position
const FullRoute & route
reference to the route
Definition: RouteOperation.hpp:58
std::vector<::ad::map::lane::GeoBorder > GeoBorderList
DataType GeoBorderList.
Definition: GeoBorderList.hpp:44
lane::ECEFBorderList getECEFBorderOfRoute(FullRoute const &route)
get borders of a full route
ShortenRouteMode
enumeration defining the mode of operation of the shortenRoute() functions
Definition: RouteOperation.hpp:444
std::vector<::ad::map::lane::ENUBorder > ENUBorderList
DataType ENUBorderList.
Definition: ENUBorderList.hpp:44
physics::Distance 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
lane::ENUBorder getENUBorderOfRoadSegment(RoadSegment const &roadSegment, physics::ParametricValue const parametricOffset)
get borders of a road segment. The road segment is cut at a given parametric offset.
physics::Distance distance(BoundingSphere const &left, BoundingSphere const &right)
Computes distance between BoundingSpheres.
Definition: BoundingSphereOperation.hpp:29
physics::Distance calcZoneLength() const
calculate the length of the zone of the lane change
RoadSegmentList::const_iterator roadSegmentIterator
iterator referencing an element of the queryRoute
Definition: RouteOperation.hpp:243
FindWaypointResult getRightLane() const
return a FindWayPointResult that is iterated to the right lane of this
DataType LaneId.
Definition: LaneId.hpp:66
@ DontCutIntersectionAndPrependIfSucceededBeforeRoute
std::vector<::ad::map::point::ParaPoint > ParaPointList
DataType ParaPointList.
Definition: ParaPointList.hpp:42
DataType RoadSegment.
Definition: RoadSegment.hpp:61
point::ParaPoint queryPosition
copy of the query position this waypoint result refers to
Definition: RouteOperation.hpp:248
LaneChangeDirection laneChangeDirection
the lane change direction
Definition: RouteOperation.hpp:657
void shortenSegmentFromBegin(RoadSegment &roadSegment, physics::Distance const &distance)
Shorten the provided road segment by a certain distance from the begin.
FindWaypointResult(FullRoute const &route)
constructor
FindLaneChangeResult findFirstLaneChange(match::MapMatchedPosition const ¤tPositionEgoVehicle, route::FullRoute const &route)
finds the first route interval on a given route where a lane change is necessary to travel the given ...
void 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
std::vector<::ad::map::match::MapMatchedPosition > MapMatchedPositionConfidenceList
DataType MapMatchedPositionConfidenceList.
Definition: MapMatchedPositionConfidenceList.hpp:44
DataType ENUHeading.
Definition: ENUHeading.hpp:65
FindWaypointResult objectOnRoute(match::MapMatchedObjectBoundingBox const &object, route::FullRoute const &route)
find nearest waypoint on the route containing the given mapmatched bounding box
RouteIterator getRouteIterator(route::RouteParaPoint const &routePosition, route::FullRoute const &route)
get the route iterator from a given route position
bool isConnectedRoutePartOfAnIntersection(route::ConnectingRoute const &connectingRoute)
physics::Distance 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 lengt...
struct defining the result type of findWaypoint() and findNearestWaypoint()
Definition: RouteOperation.hpp:210
bool 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
bool isValid() const
checks whether the FindWaypointResult contains valid data
Definition: RouteOperation.hpp:253
::ad::map::route::LaneInterval laneInterval
Definition: LaneSegment.hpp:152
DataType MapMatchedObjectBoundingBox.
Definition: MapMatchedObjectBoundingBox.hpp:45
ShortenRouteResult shortenRoute(point::ParaPoint const ¤tPosition, route::FullRoute &route, ShortenRouteMode const shortenRouteMode=ShortenRouteMode::Normal)
follow the route up to a certain position and shorten the route accordingly
lane::ENUBorderList getENUBorderOfRoute(FullRoute const &route)
get borders of a full route
std::vector<::ad::map::lane::ECEFBorder > ECEFBorderList
DataType ECEFBorderList.
Definition: ECEFBorderList.hpp:44
DataType RouteParaPoint.
Definition: RouteParaPoint.hpp:45
point::ParaPointList getLaneParaPoints(route::RouteParaPoint const &routePosition, route::FullRoute const &route)
get the lane para points in respect to the given route position
std::vector< FindWaypointResult > getPredecessorLanes() const
return a vector of FindWayPointResult that is iterated to the predecessor lanes of this
FindWaypointResult & operator=(FindWaypointResult const &other)
assignment operator
bool extendRouteToDestinations(route::FullRoute &route, const std::vector< route::planning::RoutingParaPoint > &dest)
extends route with the given list of destinations
std::vector< FindWaypointResult > getSuccessorLanes() const
return a vector of FindWayPointResult that is iterated to the successor lanes of this
lane::GeoBorderList getGeoBorderOfRoute(FullRoute const &route)
get borders of a full route
const FullRoute & queryRoute
reference to the route
Definition: RouteOperation.hpp:638
route::FullRoute getRouteExpandedToOppositeLanes(route::FullRoute const &route)
void shortenSegmentFromEnd(RoadSegment &roadSegment, physics::Distance const &distance)
Shorten the provided road segment by a certain distance from the end.
bool getRouteParaPointFromParaPoint(point::ParaPoint const ¶Point, FullRoute const &route, route::RouteParaPoint &routeParaPoint)
calculate the RouteParaPoint for a given ParaPoint and FullRoute
const FullRoute & queryRoute
reference to the route
Definition: RouteOperation.hpp:241
std::vector<::ad::map::restriction::SpeedLimit > SpeedLimitList
DataType SpeedLimitList.
Definition: SpeedLimitList.hpp:42
DataType GeoBorder.
Definition: GeoBorder.hpp:44
DataType FullRoute.
Definition: FullRoute.hpp:59
void shortenRouteToDistance(route::FullRoute &route, const physics::Distance &length)
shorten the route from the end to have at maximum the given length
point::ParaPoint getLaneParaPoint(physics::ParametricValue const &routeParametricOffset, route::LaneInterval const &laneInterval)
get the lane para points in respect to the given route parametric offset
RoadSegmentList::const_iterator laneChangeEndRouteIterator
iterator referencing to route index where the lane change needs to be ended at the latest
Definition: RouteOperation.hpp:649
DataType MapMatchedPosition.
Definition: MapMatchedPosition.hpp:49
LaneSegmentList::const_iterator laneChangeEndLaneSegmentIterator
iterator referencing an element of the laneChangeEndRouteIterator content; only valid if laneChangeEn...
Definition: RouteOperation.hpp:654
DataType LaneInterval.
Definition: LaneInterval.hpp:51
@ SucceededIntersectionNotCut
lane::ECEFBorder getECEFBorderOfRoadSegment(RoadSegment const &roadSegment, physics::ParametricValue const parametricOffset)
get borders of a road segment. The road segment is cut at a given parametric offset.
std::vector<::ad::map::route::FullRoute > FullRouteList
DataType FullRouteList.
Definition: FullRouteList.hpp:44
FindWaypointResult getLeftLane() const
return a FindWayPointResult that is iterated to the left lane of this
int32_t RouteLaneOffset
DataType RouteLaneOffset.
Definition: RouteLaneOffset.hpp:41
bool isWithinInterval(LaneInterval const &laneInterval, physics::ParametricValue const ¶metricOffset)
checks if the parametric offset is within the interval
Definition: LaneIntervalOperation.hpp:163
@ PrependIfSucceededBeforeRoute
bool 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
DataType ENUBorder.
Definition: ENUBorder.hpp:44
FindWaypointResult findNearestWaypoint(point::ParaPointList const &positions, route::FullRoute const &route)
find waypoint on the route containing the given positions
RoadSegmentList::const_iterator laneChangeStartRouteIterator
iterator referencing to route index where the lane change can start at the earliest
Definition: RouteOperation.hpp:641
lane::GeoBorder getGeoBorderOfRoadSegment(RoadSegment const &roadSegment, physics::ParametricValue const parametricOffset)
get borders of a road segment. The road segment is cut at a given parametric offset.