ad_map_access
Classes | Namespaces | Functions
LaneOperation.hpp File Reference
#include "ad/map/lane/LaneIdValidInputRange.hpp"
#include "ad/map/lane/LaneValidInputRange.hpp"
#include "ad/map/lane/Types.hpp"
#include "ad/map/match/Types.hpp"
#include "ad/map/point/BoundingSphereOperation.hpp"
#include "ad/map/point/Types.hpp"
#include "ad/map/restriction/RestrictionOperation.hpp"
#include "ad/physics/Duration.hpp"
Include dependency graph for LaneOperation.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ad::map::lane::LaneAltitudeRange
 Struct to hold the altitude range of a lane. More...
 

Namespaces

 ad
 namespace ad
 
 ad::map
 namespace map
 
 ad::map::lane
 namespace lane
 

Functions

bool ad::map::lane::isValid (LaneId const &laneId, bool const logErrors=true)
 checks if the given LaneId is valid More...
 
bool ad::map::lane::isValid (Lane const &lane, bool const logErrors=true)
 checks if the given Lane is valid More...
 
Lane::ConstPtr ad::map::lane::getLanePtr (LaneId const &id)
 Method to be called to retrieve Lane from the Store. More...
 
const Lane & ad::map::lane::getLane (lane::LaneId const &id)
 Method to be called to retrieve Lane from the Store. More...
 
LaneIdList ad::map::lane::getLanes ()
 Method to be called to retrieve identifiers of all Lanes in the Store. More...
 
point::ECEFHeading ad::map::lane::getLaneECEFHeading (match::MapMatchedPosition const &mapMatchedPosition)
 
point::ECEFHeading ad::map::lane::getLaneECEFHeading (point::ParaPoint const &paraPoint)
 
point::ENUHeading ad::map::lane::getLaneENUHeading (match::MapMatchedPosition const &mapMatchedPosition)
 
point::ENUHeading ad::map::lane::getLaneENUHeading (point::ParaPoint const &paraPoint, point::GeoPoint const &gnssReference)
 
LaneId ad::map::lane::uniqueLaneId (point::GeoPoint const &point)
 
point::ParaPoint ad::map::lane::uniqueParaPoint (point::GeoPoint const &point)
 
bool ad::map::lane::isAccessOk (Lane const &lane, restriction::VehicleDescriptor const &vehicle)
 Checks if vehicle fits the lanes restriction criteria. More...
 
bool ad::map::lane::isNear (Lane const &lane, point::BoundingSphere const &boundingSphere)
 Checks if given sphere intersects with lane bounding ball. More...
 
physics::Distance ad::map::lane::getWidth (Lane const &lane, physics::ParametricValue const &longitudinalOffset)
 
physics::Speed ad::map::lane::getMaxSpeed (Lane const &lane, physics::ParametricRange const &range)
 
restriction::SpeedLimitList ad::map::lane::getSpeedLimits (Lane const &lane, physics::ParametricRange const &range)
 
physics::Duration ad::map::lane::getDuration (Lane const &lane, physics::ParametricRange const &range)
 
restriction::PassengerCount ad::map::lane::getHOV (Lane const &lane)
 
ContactLaneList ad::map::lane::getContactLanes (Lane const &lane, ContactLocation const &location)
 Find contact lanes at specific relative location. More...
 
ContactLaneList ad::map::lane::getContactLanes (Lane const &lane, ContactLocationList const &locations)
 Find contact lanes at specific relative locations. More...
 
ContactLocation ad::map::lane::getContactLocation (Lane const &lane, LaneId const &to_lane_id)
 Check nature of contact between this lane and another lane. More...
 
bool ad::map::lane::isLaneDirectionPositive (Lane const &lane)
 
bool ad::map::lane::isLaneDirectionNegative (Lane const &lane)
 
bool ad::map::lane::isRouteable (Lane const &lane)
 
bool ad::map::lane::isLanePartOfAnIntersection (Lane const &lane)
 
bool ad::map::lane::isLeftMost (Lane const &lane)
 
bool ad::map::lane::isRightMost (Lane const &lane)
 
point::ECEFPoint ad::map::lane::getParametricPoint (Lane const &lane, physics::ParametricValue const &longitudinalOffset, physics::ParametricValue const &lateralOffset)
 Calculates parametric point on the lane. Point is calculated by first calculating t_long parametric point on the left and on the right boundary, and then parametric point t_lat between those two points. More...
 
bool ad::map::lane::projectParametricPointToEdges (Lane const &lane, point::ECEFPoint const &referencePoint, point::ECEFPoint &point_on_left_edge, point::ECEFPoint &point_on_right_edge)
 Calculates the projection on left and right boundary of the given referencePoint. More...
 
bool ad::map::lane::projectParametricPointToEdges (Lane const &lane, physics::ParametricValue const &longitudinalOffset, point::ECEFPoint &point_on_left_edge, point::ECEFPoint &point_on_right_edge)
 Calculates the projection on left and right boundary of the parametric point on the center of the lane. More...
 
point::ECEFPoint ad::map::lane::getProjectedParametricPoint (Lane const &lane, physics::ParametricValue const &longitudinalOffset, physics::ParametricValue const &lateralOffset)
 Calculates projected parametric point on the lane. Point is calculated by first calculating the projected points on left and right boundary using ProjectParametricPointToEdges(), and then parametric point t_lat between those two points. More...
 
point::ECEFPoint ad::map::lane::getStartPoint (Lane const &lane)
 
point::ECEFPoint ad::map::lane::getEndPoint (Lane const &lane)
 
bool ad::map::lane::isPyhsicalSuccessor (Lane const &lane, Lane const &other)
 Checks if Lane is longitudinally connected with another Lane at the end. More...
 
bool ad::map::lane::isPhysicalPredecessor (Lane const &lane, Lane const &other)
 Checks if Lane is longitudinally connected with another Lane at the start. More...
 
bool ad::map::lane::isVanishingLaneStart (Lane const &lane)
 
bool ad::map::lane::isVanishingLaneEnd (Lane const &lane)
 
bool ad::map::lane::satisfiesFilter (Lane const &lane, std::string const &typeFilter, bool isHov)
 Checks if Lane satisfies filter condition. More...
 
ContactLocation ad::map::lane::getDirectNeighborhoodRelation (LaneId const laneId, LaneId const checkLaneId)
 get the neighborhood relation to the other lane More...
 
bool ad::map::lane::isSuccessorOrPredecessor (LaneId const laneId, LaneId const checkLaneId)
 Check if a lane is successor or predecessor of a lane. More...
 
bool ad::map::lane::isSameOrDirectNeighbor (LaneId const id, LaneId const neighbor)
 Check if two lanes are direct neighbors of even the same. More...
 
bool ad::map::lane::isLaneDirectionPositive (LaneId const &laneId)
 Check if the lane direction is positive. More...
 
bool ad::map::lane::isLaneDirectionNegative (LaneId const &laneId)
 Check if the lane direction is negative. More...
 
physics::Distance ad::map::lane::getDistanceToLane (LaneId laneId, match::Object const &object)
 Get the distance of an object to the lane boundaries. More...
 
point::ENUHeading ad::map::lane::getLaneENUHeading (point::ParaPoint const &position)
 
bool ad::map::lane::isHeadingInLaneDirection (point::ParaPoint const &position, point::ENUHeading const &heading)
 Check if the provided heading is along the lane direction. More...
 
bool ad::map::lane::projectPositionToLaneInHeadingDirection (point::ParaPoint const &position, point::ENUHeading const &heading, point::ParaPoint &projectedPosition)
 project a position to a neighboring lane (incl. the lane itself), which has the provided heading More...
 
bool ad::map::lane::findNearestPointOnLane (Lane const &lane, point::ECEFPoint const &pt, match::MapMatchedPosition &mmpos)
 Finds point on the lane nearest to the given point. More...
 
bool ad::map::lane::findNearestPointOnLaneInterval (route::LaneInterval const &laneInterval, point::ECEFPoint const &pt, match::MapMatchedPosition &mmpos)
 Finds point on the lane interval nearest to the given point. More...
 
point::ENUPoint ad::map::lane::getENULanePoint (point::ParaPoint const parametricPoint, physics::ParametricValue const &lateralOffset=physics::ParametricValue(0.5))
 get the ENU point of a lane More...
 
physics::Distance ad::map::lane::calcLength (LaneId const &laneId)
 calculate length of a lane with a given id
 
physics::Distance ad::map::lane::calcLength (match::LaneOccupiedRegion const &laneOccupiedRegion)
 calculate length of a lane occupied region
 
physics::Distance ad::map::lane::calcWidth (point::ParaPoint const &paraPoint)
 calculate the width of the lane at the provided lanePoint
 
physics::Distance ad::map::lane::calcWidth (LaneId const &laneId, physics::ParametricValue const &longOffset)
 calculate the width of the provided lane at the provided longitudinal position
 
physics::Distance ad::map::lane::calcWidth (point::ENUPoint const &enuPoint)
 calculate the width of a lane at the provided ENU position More...
 
physics::Distance ad::map::lane::calcWidth (match::LaneOccupiedRegion const &laneOccupiedRegion)
 calculate width of a lane occupied region scales the with at the center of the occupied region by the lateral extend of the region
 
LaneAltitudeRange ad::map::lane::calcLaneAltitudeRange (Lane const &lane)
 Calculates the altitude range of a lane. More...
 
bool ad::map::lane::isLaneRelevantForExpansion (lane::LaneId const &laneId, lane::LaneIdSet const &relevantLanes)
 Checks if the laneId is relevant for expansion given the set of relevant lanes. More...