Go to the documentation of this file.
21 #include "ad/physics/Duration.hpp"
45 inline bool isValid(
Lane const &lane,
bool const logErrors =
true)
125 return distance(lane.boundingSphere, boundingSphere) == physics::Distance(0.);
133 physics::Distance
getWidth(Lane
const &lane, physics::ParametricValue
const &longitudinalOffset);
138 physics::Speed
getMaxSpeed(Lane
const &lane, physics::ParametricRange
const &range);
149 physics::Duration
getDuration(Lane
const &lane, physics::ParametricRange
const &range);
240 physics::ParametricValue
const &longitudinalOffset,
241 physics::ParametricValue
const &lateralOffset);
263 physics::ParametricValue
const &longitudinalOffset,
276 physics::ParametricValue
const &longitudinalOffset,
277 physics::ParametricValue
const &lateralOffset);
284 return getParametricPoint(lane, physics::ParametricValue(0.), physics::ParametricValue(0.5));
292 return getParametricPoint(lane, physics::ParametricValue(1.), physics::ParametricValue(0.5));
325 bool satisfiesFilter(Lane
const &lane, std::string
const &typeFilter,
bool isHov);
449 physics::ParametricValue
const &lateralOffset = physics::ParametricValue(0.5));
453 physics::Distance
calcLength(LaneId
const &laneId);
465 physics::Distance
calcWidth(LaneId
const &laneId, physics::ParametricValue
const &longOffset);
bool isHeadingInLaneDirection(point::ParaPoint const &position, point::ENUHeading const &heading)
Check if the provided heading is along the lane direction.
namespace ad
Definition: GeometryStoreItem.hpp:28
physics::Duration getDuration(Lane const &lane, physics::ParametricRange const &range)
bool isVanishingLaneEnd(Lane const &lane)
DataType LaneOccupiedRegion.
Definition: LaneOccupiedRegion.hpp:46
physics::Distance calcWidth(point::ParaPoint const ¶Point)
calculate the width of the lane at the provided lanePoint
bool isLaneRelevantForExpansion(lane::LaneId const &laneId, lane::LaneIdSet const &relevantLanes)
Checks if the laneId is relevant for expansion given the set of relevant lanes.
std::vector<::ad::map::lane::ContactLane > ContactLaneList
DataType ContactLaneList.
Definition: ContactLaneList.hpp:42
bool isLaneDirectionNegative(Lane const &lane)
Definition: LaneOperation.hpp:192
physics::Distance getWidth(Lane const &lane, physics::ParametricValue const &longitudinalOffset)
bool isSuccessorOrPredecessor(LaneId const laneId, LaneId const checkLaneId)
Check if a lane is successor or predecessor of a lane.
physics::Distance getDistanceToLane(LaneId laneId, match::Object const &object)
Get the distance of an object to the lane boundaries.
DataType Object.
Definition: Object.hpp:43
DataType ParaPoint.
Definition: ParaPoint.hpp:48
bool isPhysicalPredecessor(Lane const &lane, Lane const &other)
Checks if Lane is longitudinally connected with another Lane at the start.
ContactLocation
DataType ContactLocation.
Definition: ContactLocation.hpp:43
DataType ECEFHeading.
Definition: ECEFHeading.hpp:45
point::ECEFPoint 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 p...
bool satisfiesFilter(Lane const &lane, std::string const &typeFilter, bool isHov)
Checks if Lane satisfies filter condition.
::ad::map::lane::LaneType type
Definition: Lane.hpp:143
DataType GeoPoint.
Definition: GeoPoint.hpp:47
bool findNearestPointOnLaneInterval(route::LaneInterval const &laneInterval, point::ECEFPoint const &pt, match::MapMatchedPosition &mmpos)
Finds point on the lane interval nearest to the given point.
std::vector<::ad::map::lane::LaneId > LaneIdList
DataType LaneIdList.
Definition: LaneIdList.hpp:44
point::ECEFPoint getEndPoint(Lane const &lane)
Definition: LaneOperation.hpp:290
bool isVanishingLaneStart(Lane const &lane)
point::ECEFPoint getStartPoint(Lane const &lane)
Definition: LaneOperation.hpp:282
bool isNear(Lane const &lane, point::BoundingSphere const &boundingSphere)
Checks if given sphere intersects with lane bounding ball.
Definition: LaneOperation.hpp:123
DataType ENUPoint.
Definition: ENUPoint.hpp:51
physics::Distance distance(BoundingSphere const &left, BoundingSphere const &right)
Computes distance between BoundingSpheres.
Definition: BoundingSphereOperation.hpp:29
DataType VehicleDescriptor.
Definition: VehicleDescriptor.hpp:46
LaneAltitudeRange calcLaneAltitudeRange(Lane const &lane)
Calculates the altitude range of a lane.
DataType LaneId.
Definition: LaneId.hpp:66
bool findNearestPointOnLane(Lane const &lane, point::ECEFPoint const &pt, match::MapMatchedPosition &mmpos)
Finds point on the lane nearest to the given point.
bool isLaneDirectionPositive(Lane const &lane)
Definition: LaneOperation.hpp:184
Struct to hold the altitude range of a lane.
Definition: LaneOperation.hpp:482
bool 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.
DataType ENUHeading.
Definition: ENUHeading.hpp:65
restriction::SpeedLimitList getSpeedLimits(Lane const &lane, physics::ParametricRange const &range)
point::ECEFHeading getLaneECEFHeading(match::MapMatchedPosition const &mapMatchedPosition)
bool isValid(ContactLane const &contactLane, bool const logErrors=true)
checks if the given ContactLane is valid
Definition: ContactOperation.hpp:69
DataType BoundingSphere.
Definition: BoundingSphere.hpp:46
bool isLeftMost(Lane const &lane)
Definition: LaneOperation.hpp:217
Lane::ConstPtr getLanePtr(LaneId const &id)
Method to be called to retrieve Lane from the Store.
point::ENUHeading getLaneENUHeading(match::MapMatchedPosition const &mapMatchedPosition)
uint16_t PassengerCount
DataType PassengerCount.
Definition: PassengerCount.hpp:39
LaneIdList getLanes()
Method to be called to retrieve identifiers of all Lanes in the Store.
::ad::map::restriction::Restrictions restrictions
Definition: Lane.hpp:153
bool isPyhsicalSuccessor(Lane const &lane, Lane const &other)
Checks if Lane is longitudinally connected with another Lane at the end.
bool isRightMost(Lane const &lane)
Definition: LaneOperation.hpp:225
ContactLocation getDirectNeighborhoodRelation(LaneId const laneId, LaneId const checkLaneId)
get the neighborhood relation to the other lane
bool isLanePartOfAnIntersection(Lane const &lane)
Definition: LaneOperation.hpp:209
bool isRouteable(Lane const &lane)
Definition: LaneOperation.hpp:200
std::vector<::ad::map::lane::ContactLocation > ContactLocationList
DataType ContactLocationList.
Definition: ContactLocationList.hpp:44
physics::Speed getMaxSpeed(Lane const &lane, physics::ParametricRange const &range)
restriction::PassengerCount getHOV(Lane const &lane)
Definition: LaneOperation.hpp:154
physics::Distance calcLength(ENUBorder const &border)
calculate the length of the provided border as distance value
Definition: BorderOperation.hpp:122
DataType ECEFPoint.
Definition: ECEFPoint.hpp:45
LaneId uniqueLaneId(point::GeoPoint const &point)
std::vector<::ad::map::restriction::SpeedLimit > SpeedLimitList
DataType SpeedLimitList.
Definition: SpeedLimitList.hpp:42
bool isAccessOk(ContactLane const &contactLane, restriction::VehicleDescriptor const &vehicle)
Checks if vehicle fits the restriction criteria of the contact lane.
Definition: ContactOperation.hpp:59
bool isSameOrDirectNeighbor(LaneId const id, LaneId const neighbor)
Check if two lanes are direct neighbors of even the same.
DataType Altitude.
Definition: Altitude.hpp:67
point::ParaPoint uniqueParaPoint(point::GeoPoint const &point)
bool 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
ContactLaneList getContactLanes(Lane const &lane, ContactLocation const &location)
Find contact lanes at specific relative location.
DataType MapMatchedPosition.
Definition: MapMatchedPosition.hpp:49
::ad::map::lane::LaneDirection direction
Definition: Lane.hpp:148
DataType LaneInterval.
Definition: LaneInterval.hpp:51
const Lane & getLane(lane::LaneId const &id)
Method to be called to retrieve Lane from the Store.
point::ECEFPoint 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 proje...
std::shared_ptr< Lane const > ConstPtr
Smart pointer on constant Lane.
Definition: Lane.hpp:66
DataType Lane.
Definition: Lane.hpp:56
ContactLocation getContactLocation(Lane const &lane, LaneId const &to_lane_id)
Check nature of contact between this lane and another lane.
point::ENUPoint getENULanePoint(point::ParaPoint const parametricPoint, physics::ParametricValue const &lateralOffset=physics::ParametricValue(0.5))
get the ENU point of a lane