#include <ad/map/intersection/CoreIntersection.hpp>
|
enum | SuccessorMode { OwnIntersection,
AnyIntersection
} |
|
Class to provide basic intersection information.
The CoreIntersection class provides:
◆ entryLanes()
const lane::LaneIdSet& ad::map::intersection::CoreIntersection::entryLanes |
( |
| ) |
const |
- Returns
- all lanes that lead into the intersection (not part of the intersection themselves)
◆ entryParaPoints()
- Returns
- the border points of all lanes that lead into the intersection as ParaPoint's
◆ exitLanes()
const lane::LaneIdSet& ad::map::intersection::CoreIntersection::exitLanes |
( |
| ) |
const |
- Returns
- all lanes that lead out of the intersection (not part of the intersection themselves)
◆ exitParaPoints()
- Returns
- the border points of all lanes that lead out of the intersection as ParaPoint's
◆ getAllReachableInternalAndOutgoingLanes()
std::pair<lane::LaneIdSet, lane::LaneIdSet> ad::map::intersection::CoreIntersection::getAllReachableInternalAndOutgoingLanes |
( |
lane::LaneId const |
laneId, |
|
|
SuccessorMode const |
successorMode |
|
) |
| const |
|
protected |
Provide the outgoing lane segments that are reachable in lane direction as well as the intersection internal lanes.
- Parameters
-
- Returns
- a pair with <the laneID segments within the intersection, the laneID segments outside the intersection>
◆ getAllReachableOutgoingLanes()
lane::LaneIdSet ad::map::intersection::CoreIntersection::getAllReachableOutgoingLanes |
( |
lane::LaneId const |
laneId, |
|
|
SuccessorMode const |
successorMode |
|
) |
| const |
|
protected |
Provide the outgoing lane segments that are reachable in lane direction.
- Parameters
-
- Returns
- the outgoing laneID segments outside the intersection.
◆ getAllSuccessorsInLaneDirectionWithinIntersection()
lane::LaneIdSet ad::map::intersection::CoreIntersection::getAllSuccessorsInLaneDirectionWithinIntersection |
( |
lane::LaneId const |
laneId, |
|
|
SuccessorMode const |
successorMode |
|
) |
| const |
|
protected |
Provide the successor lane segments in lane direction within the intersection recursively until the intersection is left.
- Parameters
-
- Returns
- the laneID segments within the intersection.
◆ getBoundingSphere()
- Returns
- the bounding sphere of all the inner lanes of the intersection
◆ getCoreIntersectionFor() [1/2]
retrieve the core intersection for the given laneId
- Parameters
-
- Returns
- if the provided laneId is part of an intersection a CoreIntersection object is created and returned.
◆ getCoreIntersectionFor() [2/2]
retrieve the core intersection for the given mapMatchedPosition
- Returns
- getCoreIntersectionFor(mapMatchedPosition.lanePoint.paraPoint.laneId)
◆ getCoreIntersectionsFor() [1/2]
retrieve all CoreIntersection objects for the given lane Ids
- Parameters
-
- Returns
- if one of the provided lane Ids is part of an intersection a CoreIntersection object is created and returned. if multiple lane Ids are part of the same CoreIntersection only one single CoreIntersection is returned. if lane Ids are part of different CoreIntersections, multiple CoreIntersections are returned. In summary: the CoreIntersections of all lanedIds are returned, so that every laneId of the provided laneIds set that belongs to an intersection is present in one of the returned CoreIntersection::internalLanes() set.
◆ getCoreIntersectionsFor() [2/2]
static std::vector<CoreIntersectionPtr> ad::map::intersection::CoreIntersection::getCoreIntersectionsFor |
( |
lane::LaneIdSet const & |
laneIds | ) |
|
|
static |
retrieve all CoreIntersection objects for the given lane Ids
- Parameters
-
- Returns
- if one of the provided lane Ids is part of an intersection a CoreIntersection object is created and returned. if multiple lane Ids are part of the same CoreIntersection only one single CoreIntersection is returned. if lane Ids are part of different CoreIntersections, multiple CoreIntersections are returned. In summary: the CoreIntersections of all lanedIds are returned, so that every laneId of the provided laneIds set that belongs to an intersection is present in one of the returned CoreIntersection::internalLanes() set.
◆ getCoreIntersectionsForInLaneMatches() [1/3]
retrieve the core intersection for the given object
- Returns
- Collects all in lane matches part of the MapMatchedObjectBoundingBox in a LaneIdSet and returns the vector of CoreIntersection returned by getCoreIntersectionsFor(laneIdSet). Usually the result vector size is zero or one. In cases where multiple intersections are on top of each other and the map matching distance exceeded the altitude difference of the intersections, multiple CoreIntersection results are possible.
◆ getCoreIntersectionsForInLaneMatches() [2/3]
retrieve the core intersection for the given mapMatchedPositionConfidenceList
Collects all in lane matches part of the mapMatchedPositionConfidenceList in a LaneIdSet and returns the vector of CoreIntersection returned by getCoreIntersectionsFor(laneIdSet). Usually the result vector size is zero or one. In cases where multiple intersections are on top of each other and the map matching distance exceeded the altitude difference of the intersections, multiple CoreIntersection results are possible.
◆ getCoreIntersectionsForInLaneMatches() [3/3]
retrieve the core intersection for the given ENU position
Performs map matching of the given position and returns getCoreIntersectionsForInLaneMatches(MapMatchedPositionConfidenceList) of the matching result.
◆ getCoreIntersectionsForMap()
static std::vector<CoreIntersectionPtr> ad::map::intersection::CoreIntersection::getCoreIntersectionsForMap |
( |
| ) |
|
|
static |
retrieve all CoreIntersection objects of the map
- Returns
- getCoreIntersectionsFor(lane::getLanes())
◆ getDirectSuccessorsInLaneDirection()
std::pair<lane::LaneIdSet, lane::LaneIdSet> ad::map::intersection::CoreIntersection::getDirectSuccessorsInLaneDirection |
( |
lane::LaneId const |
laneId, |
|
|
SuccessorMode const |
successorMode |
|
) |
| const |
|
protected |
Provide the direct successor lane segments in lane direction within and outside of the intersection.
- Parameters
-
- Returns
- a pair with <the laneID segments within the intersection, the laneID segments outside the intersection>
◆ getDirectSuccessorsInLaneDirectionWithinIntersection()
lane::LaneIdSet ad::map::intersection::CoreIntersection::getDirectSuccessorsInLaneDirectionWithinIntersection |
( |
lane::LaneId const |
laneId, |
|
|
SuccessorMode const |
successorMode |
|
) |
| const |
|
protected |
Provide the direct successor lane segments in lane direction within the intersection.
- Parameters
-
- Returns
- the laneID segments within the intersection.
◆ getLaneAndAllSuccessorsInLaneDirectionWithinIntersection()
lane::LaneIdSet ad::map::intersection::CoreIntersection::getLaneAndAllSuccessorsInLaneDirectionWithinIntersection |
( |
lane::LaneId const |
laneId, |
|
|
SuccessorMode const |
successorMode |
|
) |
| const |
|
protected |
Provide the successor lane segments in lane direction within the intersection recursively until the intersection is left including the input laneId if part of the inner lanes.
- Parameters
-
- Returns
- the laneID segments within the intersection.
◆ internalLanes()
const lane::LaneIdSet& ad::map::intersection::CoreIntersection::internalLanes |
( |
| ) |
const |
- Returns
- all lanes that are inside the intersection (independent of route)
◆ isIntersectionOnRoute()
static bool ad::map::intersection::CoreIntersection::isIntersectionOnRoute |
( |
route::FullRoute const & |
route | ) |
|
|
static |
check if there is an intersection for the given route
- Parameters
-
- Returns
- If there is an intersection within the route,
true
is returned.
◆ isRoadSegmentEnteringIntersection()
static bool ad::map::intersection::CoreIntersection::isRoadSegmentEnteringIntersection |
( |
route::RouteIterator const & |
routeIterator, |
|
|
route::RoadSegmentList::const_iterator & |
routePreviousSegmentIter |
|
) |
| |
|
static |
check if the road segment enters an intersection
- Parameters
-
[in] | routeIterator | the route iterator of the road segment |
[out] | routePreviousSegmentIter | if an intersectin is entered, this holds the previous route segment that is part of the transition |
- Returns
true
if given routeIterator enters an intersection
◆ isRoutePartOfAnIntersection()
static bool ad::map::intersection::CoreIntersection::isRoutePartOfAnIntersection |
( |
route::FullRoute const & |
route | ) |
|
|
static |
check if any lane in the route is part of any intersection
- Parameters
-
- Returns
- If there is an intersection within the route,
true
is returned.
◆ objectRouteCrossesIntersection()
bool ad::map::intersection::CoreIntersection::objectRouteCrossesIntersection |
( |
route::FullRoute const & |
objectRoute | ) |
const |
- Returns
true
if the provided objectRoute
contains an internal lane
This is the case if one of the internalLanes() is part of the objectRoute.
◆ objectWithinIntersection()
- Returns
true
if the object is within the intersection (touches one of the internalLanes)
◆ mOverlapping
std::map<lane::LaneId, lane::LaneIdSet> ad::map::intersection::CoreIntersection::mOverlapping |
|
protected |
Managing relations between lanes through separate maps with sets. Reading: key: id of lane value: set of lanes that relate with this one (e.g. overlap)
The documentation for this class was generated from the following file: