Go to the documentation of this file.
29 namespace intersection {
94 route::RoadSegmentList::const_iterator &routePreviousSegmentIter);
120 lane::LaneIdSet
const &
exitLanes()
const;
128 return mInternalLanesBoundingSphere;
202 static std::vector<CoreIntersectionPtr>
215 static std::vector<CoreIntersectionPtr>
224 void extractLanesOfCoreIntersection(
lane::LaneId const laneId);
232 bool isLanePartOfIntersection(
lane::LaneId const laneId, SuccessorMode
const successorMode)
const;
240 std::pair<lane::LaneIdSet, lane::LaneIdSet>
250 SuccessorMode
const successorMode)
const;
260 SuccessorMode
const successorMode)
const;
270 SuccessorMode
const successorMode)
const;
287 std::pair<lane::LaneIdSet, lane::LaneIdSet>
316 std::map<lane::LaneId, lane::LaneIdSet> mSuccessor;
317 std::map<lane::LaneId, lane::LaneIdSet> mPredecessor;
324 void checkAndInsertEntryLane(
lane::LaneId const laneId);
328 template <
typename CONTAINER>
329 static std::vector<CoreIntersectionPtr> getCoreIntersectionsForLaneIds(CONTAINER
const &laneIds);
354 stringstream sstream;
355 sstream << intersection;
356 return sstream.str();
lane::LaneIdSet getDirectSuccessorsInLaneDirectionWithinIntersection(lane::LaneId const laneId, SuccessorMode const successorMode) const
Provide the direct successor lane segments in lane direction within the intersection.
namespace ad
Definition: GeometryStoreItem.hpp:28
static bool isLanePartOfAnIntersection(lane::LaneId const laneId)
check if a lane is part of any intersection
struct defining iterator information on a route
Definition: RouteOperation.hpp:41
lane::LaneIdSet mExitLanes
lanes going out of the intersection
Definition: CoreIntersection.hpp:305
const point::ParaPointList & exitParaPoints() const
static bool isRoadSegmentEnteringIntersection(route::RouteIterator const &routeIterator, route::RoadSegmentList::const_iterator &routePreviousSegmentIter)
check if the road segment enters an intersection
static std::vector< CoreIntersectionPtr > getCoreIntersectionsForMap()
retrieve all CoreIntersection objects of the map
point::ParaPointList mExitParaPoints
lanes going out of the intersection represented as ParaPoint
Definition: CoreIntersection.hpp:308
const lane::LaneIdSet & entryLanes() const
DataType Object.
Definition: Object.hpp:43
const point::ParaPointList & entryParaPoints() const
std::shared_ptr< CoreIntersection > CoreIntersectionPtr
typedef for shared_ptr of CoreIntersection class
Definition: CoreIntersection.hpp:34
DataType ParaPoint.
Definition: ParaPoint.hpp:48
std::shared_ptr< CoreIntersection const > CoreIntersectionConstPtr
typedef for shared_ptr of const CoreIntersection class
Definition: CoreIntersection.hpp:44
static CoreIntersectionPtr getCoreIntersectionFor(lane::LaneId const &laneId)
retrieve the core intersection for the given laneId
bool objectWithinIntersection(match::MapMatchedObjectBoundingBox const &object) const
std::pair< lane::LaneIdSet, lane::LaneIdSet > getDirectSuccessorsInLaneDirection(lane::LaneId const laneId, SuccessorMode const successorMode) const
Provide the direct successor lane segments in lane direction within and outside of the intersection.
std::vector<::ad::map::lane::LaneId > LaneIdList
DataType LaneIdList.
Definition: LaneIdList.hpp:44
const lane::LaneIdSet & exitLanes() const
std::string to_string(::ad::map::access::GeometryStoreItem const &value)
overload of the std::to_string for GeometryStoreItem
Definition: GeometryStoreItem.hpp:183
lane::LaneIdSet getLaneAndAllSuccessorsInLaneDirectionWithinIntersection(lane::LaneId const laneId, SuccessorMode const successorMode) const
Provide the successor lane segments in lane direction within the intersection recursively until the i...
static bool isRoutePartOfAnIntersection(route::FullRoute const &route)
check if any lane in the route is part of any intersection
DataType ENUPoint.
Definition: ENUPoint.hpp:51
static bool isIntersectionOnRoute(route::FullRoute const &route)
check if there is an intersection for the given route
bool isLanePartOfCoreIntersection(lane::LaneId const laneId) const
check if given lane is inside the intersection
DataType LaneId.
Definition: LaneId.hpp:66
std::vector<::ad::map::point::ParaPoint > ParaPointList
DataType ParaPointList.
Definition: ParaPointList.hpp:42
std::vector<::ad::map::match::MapMatchedPosition > MapMatchedPositionConfidenceList
DataType MapMatchedPositionConfidenceList.
Definition: MapMatchedPositionConfidenceList.hpp:44
lane::LaneIdSet mInternalLanes
all lanes inside the intersection
Definition: CoreIntersection.hpp:296
DataType BoundingSphere.
Definition: BoundingSphere.hpp:46
static std::vector< CoreIntersectionPtr > getCoreIntersectionsFor(lane::LaneIdSet const &laneIds)
retrieve all CoreIntersection objects for the given lane Ids
DataType MapMatchedObjectBoundingBox.
Definition: MapMatchedObjectBoundingBox.hpp:45
static std::vector< CoreIntersectionPtr > getCoreIntersectionsForInLaneMatches(point::ENUPoint const &position)
retrieve the core intersection for the given ENU position
const lane::LaneIdSet & internalLanes() const
std::pair< lane::LaneIdSet, lane::LaneIdSet > getAllReachableInternalAndOutgoingLanes(lane::LaneId const laneId, SuccessorMode const successorMode) const
Provide the outgoing lane segments that are reachable in lane direction as well as the intersection i...
physics::Distance objectDistanceToIntersection(match::Object const &object) const
calculate and return the physics::Distance of the object to the intersection
bool objectRouteCrossesIntersection(route::FullRoute const &objectRoute) const
const point::BoundingSphere & getBoundingSphere() const
Definition: CoreIntersection.hpp:126
std::map< lane::LaneId, lane::LaneIdSet > mOverlapping
Definition: CoreIntersection.hpp:315
lane::LaneIdSet getAllReachableOutgoingLanes(lane::LaneId const laneId, SuccessorMode const successorMode) const
Provide the outgoing lane segments that are reachable in lane direction.
DataType FullRoute.
Definition: FullRoute.hpp:59
lane::LaneIdSet getAllSuccessorsInLaneDirectionWithinIntersection(lane::LaneId const laneId, SuccessorMode const successorMode) const
Provide the successor lane segments in lane direction within the intersection recursively until the i...
DataType MapMatchedPosition.
Definition: MapMatchedPosition.hpp:49
point::ParaPointList mEntryParaPoints
lanes going into the intersection represented as ParaPoint
Definition: CoreIntersection.hpp:302
DataType Lane.
Definition: Lane.hpp:56
Definition: CoreIntersection.hpp:58
lane::LaneIdSet mEntryLanes
lanes going into the intersection
Definition: CoreIntersection.hpp:299