ad_map_access
|
namespace lane More...
Classes | |
struct | ContactLane |
DataType ContactLane. More... | |
struct | ECEFBorder |
DataType ECEFBorder. More... | |
struct | ENUBorder |
DataType ENUBorder. More... | |
struct | GeoBorder |
DataType GeoBorder. More... | |
struct | Lane |
DataType Lane. More... | |
struct | LaneAltitudeRange |
Struct to hold the altitude range of a lane. More... | |
class | LaneId |
DataType LaneId. More... | |
Typedefs | |
typedef uint64_t | ComplianceVersion |
DataType ComplianceVersion. More... | |
typedef std::vector<::ad::map::lane::ContactLane > | ContactLaneList |
DataType ContactLaneList. | |
typedef std::vector<::ad::map::lane::ContactLocation > | ContactLocationList |
DataType ContactLocationList. More... | |
typedef std::vector<::ad::map::lane::ContactType > | ContactTypeList |
DataType ContactTypeList. More... | |
typedef std::vector<::ad::map::lane::ECEFBorder > | ECEFBorderList |
DataType ECEFBorderList. More... | |
typedef std::vector<::ad::map::lane::ENUBorder > | ENUBorderList |
DataType ENUBorderList. More... | |
typedef std::vector<::ad::map::lane::GeoBorder > | GeoBorderList |
DataType GeoBorderList. More... | |
typedef std::vector<::ad::map::lane::LaneId > | LaneIdList |
DataType LaneIdList. More... | |
typedef std::set< LaneId > | LaneIdSet |
Functions | |
std::ostream & | operator<< (std::ostream &os, ContactLane const &_value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, ContactLocation const &value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, ContactType const &value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, ECEFBorder const &_value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, ENUBorder const &_value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, GeoBorder const &_value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, Lane const &_value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, LaneDirection const &value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, LaneId const &_value) |
standard ostream operator More... | |
std::ostream & | operator<< (std::ostream &os, LaneType const &value) |
standard ostream operator More... | |
point::ENUEdge | getLateralAlignmentEdge (ENUBorder const &border, physics::ParametricValue const lateralAlignment) |
Get the ENUEdge between the given border with corresponding lateralAlignment. More... | |
physics::Distance | getDistanceEnuPointToLateralAlignmentEdge (point::ENUPoint const &enuPoint, point::ENUEdge const &lateralAlignmentEdge) |
Get the distance between an ENU point and the lateral alignment edge. More... | |
void | normalizeBorder (ENUBorder &border, ENUBorder const *previousBorder=nullptr) |
normalizes the border More... | |
void | makeTransitionToSecondEdgeContinuous (point::ENUEdge const &first, point::ENUEdge &second) |
operation to make the transition between two edges continuous More... | |
void | makeTransitionToSecondBorderContinuous (ENUBorder const &first, ENUBorder &second) |
operation to make the transition between two borders continuous More... | |
void | makeTransitionFromFirstEdgeContinuous (point::ENUEdge &first, point::ENUEdge const &second) |
operation to make the transition between two edges continuous More... | |
void | makeTransitionFromFirstBorderContinuous (ENUBorder &first, ENUBorder const &second) |
operation to make the transition between two borders continuous More... | |
physics::Distance | calcLength (ENUBorder const &border) |
calculate the length of the provided border as distance value More... | |
physics::Distance | calcLength (ECEFBorder const &border) |
calculate the length of the provided border as distance value More... | |
physics::Distance | calcLength (GeoBorder const &border) |
calculate the length of the provided border as distance value More... | |
physics::Distance | calcLength (ENUBorderList const &borderList) |
calculate the length out of the provided ENU border List as distance value More... | |
point::ENUHeading | getENUHeading (ENUBorderList const &borderList, point::ENUPoint const &enuPoint) |
calculate the ENUHeading of the vector<ENUBorder> at the given ENUPoint More... | |
ContactLocation | oppositeLocation (ContactLocation const &e) |
Provides opposite Location. More... | |
bool | isAccessOk (ContactLane const &contactLane, restriction::VehicleDescriptor const &vehicle) |
Checks if vehicle fits the restriction criteria of the contact lane. More... | |
bool | isValid (ContactLane const &contactLane, bool const logErrors=true) |
checks if the given ContactLane is valid More... | |
bool | isValid (LaneId const &laneId, bool const logErrors=true) |
checks if the given LaneId is valid More... | |
bool | isValid (Lane const &lane, bool const logErrors=true) |
checks if the given Lane is valid More... | |
Lane::ConstPtr | getLanePtr (LaneId const &id) |
Method to be called to retrieve Lane from the Store. More... | |
const Lane & | getLane (lane::LaneId const &id) |
Method to be called to retrieve Lane from the Store. More... | |
LaneIdList | getLanes () |
Method to be called to retrieve identifiers of all Lanes in the Store. More... | |
point::ECEFHeading | getLaneECEFHeading (match::MapMatchedPosition const &mapMatchedPosition) |
point::ECEFHeading | getLaneECEFHeading (point::ParaPoint const ¶Point) |
point::ENUHeading | getLaneENUHeading (match::MapMatchedPosition const &mapMatchedPosition) |
point::ENUHeading | getLaneENUHeading (point::ParaPoint const ¶Point, point::GeoPoint const &gnssReference) |
LaneId | uniqueLaneId (point::GeoPoint const &point) |
point::ParaPoint | uniqueParaPoint (point::GeoPoint const &point) |
bool | isAccessOk (Lane const &lane, restriction::VehicleDescriptor const &vehicle) |
Checks if vehicle fits the lanes restriction criteria. More... | |
bool | isNear (Lane const &lane, point::BoundingSphere const &boundingSphere) |
Checks if given sphere intersects with lane bounding ball. More... | |
physics::Distance | getWidth (Lane const &lane, physics::ParametricValue const &longitudinalOffset) |
physics::Speed | getMaxSpeed (Lane const &lane, physics::ParametricRange const &range) |
restriction::SpeedLimitList | getSpeedLimits (Lane const &lane, physics::ParametricRange const &range) |
physics::Duration | getDuration (Lane const &lane, physics::ParametricRange const &range) |
restriction::PassengerCount | getHOV (Lane const &lane) |
ContactLaneList | getContactLanes (Lane const &lane, ContactLocation const &location) |
Find contact lanes at specific relative location. More... | |
ContactLaneList | getContactLanes (Lane const &lane, ContactLocationList const &locations) |
Find contact lanes at specific relative locations. More... | |
ContactLocation | getContactLocation (Lane const &lane, LaneId const &to_lane_id) |
Check nature of contact between this lane and another lane. More... | |
bool | isLaneDirectionPositive (Lane const &lane) |
bool | isLaneDirectionNegative (Lane const &lane) |
bool | isRouteable (Lane const &lane) |
bool | isLanePartOfAnIntersection (Lane const &lane) |
bool | isLeftMost (Lane const &lane) |
bool | isRightMost (Lane const &lane) |
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 point on the left and on the right boundary, and then parametric point t_lat between those two points. More... | |
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. More... | |
bool | 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 | 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 | getStartPoint (Lane const &lane) |
point::ECEFPoint | getEndPoint (Lane const &lane) |
bool | isPyhsicalSuccessor (Lane const &lane, Lane const &other) |
Checks if Lane is longitudinally connected with another Lane at the end. More... | |
bool | isPhysicalPredecessor (Lane const &lane, Lane const &other) |
Checks if Lane is longitudinally connected with another Lane at the start. More... | |
bool | isVanishingLaneStart (Lane const &lane) |
bool | isVanishingLaneEnd (Lane const &lane) |
bool | satisfiesFilter (Lane const &lane, std::string const &typeFilter, bool isHov) |
Checks if Lane satisfies filter condition. More... | |
ContactLocation | getDirectNeighborhoodRelation (LaneId const laneId, LaneId const checkLaneId) |
get the neighborhood relation to the other lane More... | |
bool | isSuccessorOrPredecessor (LaneId const laneId, LaneId const checkLaneId) |
Check if a lane is successor or predecessor of a lane. More... | |
bool | isSameOrDirectNeighbor (LaneId const id, LaneId const neighbor) |
Check if two lanes are direct neighbors of even the same. More... | |
bool | isLaneDirectionPositive (LaneId const &laneId) |
Check if the lane direction is positive. More... | |
bool | isLaneDirectionNegative (LaneId const &laneId) |
Check if the lane direction is negative. More... | |
physics::Distance | getDistanceToLane (LaneId laneId, match::Object const &object) |
Get the distance of an object to the lane boundaries. More... | |
point::ENUHeading | getLaneENUHeading (point::ParaPoint const &position) |
bool | isHeadingInLaneDirection (point::ParaPoint const &position, point::ENUHeading const &heading) |
Check if the provided heading is along the lane direction. More... | |
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 More... | |
bool | findNearestPointOnLane (Lane const &lane, point::ECEFPoint const &pt, match::MapMatchedPosition &mmpos) |
Finds point on the lane nearest to the given point. More... | |
bool | 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 | getENULanePoint (point::ParaPoint const parametricPoint, physics::ParametricValue const &lateralOffset=physics::ParametricValue(0.5)) |
get the ENU point of a lane More... | |
physics::Distance | calcLength (LaneId const &laneId) |
calculate length of a lane with a given id | |
physics::Distance | calcLength (match::LaneOccupiedRegion const &laneOccupiedRegion) |
calculate length of a lane occupied region | |
physics::Distance | calcWidth (point::ParaPoint const ¶Point) |
calculate the width of the lane at the provided lanePoint | |
physics::Distance | calcWidth (LaneId const &laneId, physics::ParametricValue const &longOffset) |
calculate the width of the provided lane at the provided longitudinal position | |
physics::Distance | calcWidth (point::ENUPoint const &enuPoint) |
calculate the width of a lane at the provided ENU position More... | |
physics::Distance | 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 | calcLaneAltitudeRange (Lane const &lane) |
Calculates the altitude range of a lane. More... | |
bool | isLaneRelevantForExpansion (lane::LaneId const &laneId, lane::LaneIdSet const &relevantLanes) |
Checks if the laneId is relevant for expansion given the set of relevant lanes. More... | |
namespace lane
Handling of lanes
typedef uint64_t ad::map::lane::ComplianceVersion |
DataType ComplianceVersion.
Compliance version
typedef std::vector<::ad::map::lane::ContactLocation> ad::map::lane::ContactLocationList |
DataType ContactLocationList.
List of contact locations
typedef std::vector<::ad::map::lane::ContactType> ad::map::lane::ContactTypeList |
DataType ContactTypeList.
List of Contact Types
typedef std::vector<::ad::map::lane::ECEFBorder> ad::map::lane::ECEFBorderList |
DataType ECEFBorderList.
List of ECEFBorder elements
typedef std::vector<::ad::map::lane::ENUBorder> ad::map::lane::ENUBorderList |
DataType ENUBorderList.
List of ENUBorder elements
typedef std::vector<::ad::map::lane::GeoBorder> ad::map::lane::GeoBorderList |
DataType GeoBorderList.
List of GeoBorder elements
typedef std::vector<::ad::map::lane::LaneId> ad::map::lane::LaneIdList |
DataType LaneIdList.
List of lane identifiers
|
strong |
DataType ContactLocation.
Specification of the location of the contact of an object.
|
strong |
DataType ContactType.
Type of the contact between two objects.
Enumerator | |
---|---|
INVALID | Invalid value. |
UNKNOWN | Unknown value. |
FREE | There is no physical or legal obstacles between two objects. |
LANE_CHANGE | Transition between one lane to direct lateral neighboor. |
LANE_CONTINUATION | Transition between one lane to longitudinal direct neighboor. |
LANE_END | End of the Lane - line. |
SINGLE_POINT | End of the Lane - point. |
STOP | STOP regulation at the end of the lane. |
STOP_ALL | STOP 3-way, 4-way etc regulation at the end of the lane. |
YIELD | YIELD regulation at the end of the lane. |
GATE_BARRIER | Gate with barrier at the end of the lane. |
GATE_TOLBOOTH | Tolbooth barrier at the end of the lane. |
GATE_SPIKES | Spikes (in direction) at the end of the lane. |
GATE_SPIKES_CONTRA | Spikes (in opposite direction) at the end of the lane. |
CURB_UP | Curb up at the object side. |
CURB_DOWN | Curb down at the object. |
SPEED_BUMP | Speed bump at the end of the lane. |
TRAFFIC_LIGHT | Traffic light at the end of the lane. |
CROSSWALK | Crosswalk at the end of the lane. |
PRIO_TO_RIGHT | Priority to the right regulation at the end of the lane. |
RIGHT_OF_WAY | Right of way regulation at the end of the lane. |
PRIO_TO_RIGHT_AND_STRAIGHT | Priority to right and to straight regulation at the end of the lane (Singapore). |
|
strong |
|
strong |
LaneAltitudeRange ad::map::lane::calcLaneAltitudeRange | ( | Lane const & | lane | ) |
Calculates the altitude range of a lane.
|
inline |
calculate the length of the provided border as distance value
For length calculation the average between left and right edge of the border is returned. Length calculation is performed within Cartesian ECEF coordinate frame.
|
inline |
calculate the length of the provided border as distance value
For length calculation the average between left and right edge of the border is returned. Length calculation is performed within Cartesian ENU coordinate frame.
physics::Distance ad::map::lane::calcLength | ( | ENUBorderList const & | borderList | ) |
calculate the length out of the provided ENU border List as distance value
calculate the length out of the provided GEO border List as distance value
calculate the length out of the provided ECEF border List as distance value
For length calculation the average between left and right edge of the border is returned. Length calculation is performed within Cartesian ENU coordinate frame.
For length calculation the average between left and right edge of the border is returned. Length calculation is performed within Cartesian ECEF coordinate frame.
For length calculation the average between left and right edge of the border is returned. Length calculation is performed within GEO coordinate frame.
|
inline |
calculate the length of the provided border as distance value
For length calculation the average between left and right edge of the border is returned. Length calculation is performed within Cartesian ECEF coordinate frame.
physics::Distance ad::map::lane::calcWidth | ( | point::ENUPoint const & | enuPoint | ) |
calculate the width of a lane at the provided ENU position
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.
[in] | lane | the lane. |
[in] | pt | Given point. |
[out] | mmpos | Resulting map-matched position. The resulting probability of the map matched position is derived from lateralT value: spans between [0.5; 1.0] for LANE_IN matches spans between [0.1; 0.5] for LANE_RIGHT/LANE_LEFT matches |
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.
[in] | laneInterval | the interval of the lane to be considered. |
[in] | pt | Given point. |
[out] | mmpos | Resulting map-matched position. The resulting probability of the map matched position is derived from lateralT value: spans between [0.5; 1.0] for LANE_IN matches spans between [0.1; 0.5] for LANE_RIGHT/LANE_LEFT matches |
ContactLaneList ad::map::lane::getContactLanes | ( | Lane const & | lane, |
ContactLocation const & | location | ||
) |
Find contact lanes at specific relative location.
[in] | lane | the lane. |
[in] | location | Location of interest. |
ContactLaneList ad::map::lane::getContactLanes | ( | Lane const & | lane, |
ContactLocationList const & | locations | ||
) |
Find contact lanes at specific relative locations.
[in] | locations | Locations of interest. |
ContactLocation ad::map::lane::getContactLocation | ( | Lane const & | lane, |
LaneId const & | to_lane_id | ||
) |
Check nature of contact between this lane and another lane.
[in] | to_lane_id | Another lane identifier. |
ContactLocation ad::map::lane::getDirectNeighborhoodRelation | ( | LaneId const | laneId, |
LaneId const | checkLaneId | ||
) |
get the neighborhood relation to the other lane
[in] | laneId | the main lane |
[in] | checkLaneId | the lane to be checked on the |
lane::ContactLocation::OVERLAP | if it's the same lane |
lane::ContactLocation::LEFT | if it's a left neighbor |
lane::ContactLocation::RIGHT | if it's a right neighbor |
lane::ContactLocation::SUCCESSOR | if it a successor lane |
lane::ContactLocation::PREDECESSOR | if it's a predecessor lane |
lane::ContactLocation::INVALID | if it's nothing of the above |
physics::Distance ad::map::lane::getDistanceEnuPointToLateralAlignmentEdge | ( | point::ENUPoint const & | enuPoint, |
point::ENUEdge const & | lateralAlignmentEdge | ||
) |
Get the distance between an ENU point and the lateral alignment edge.
[in] | enuPoint | is the point for which the distance should be calculated |
[in] | lateralAlignmentEdge | the lateral alignment in ENU form |
physics::Distance ad::map::lane::getDistanceToLane | ( | LaneId | laneId, |
match::Object const & | object | ||
) |
Get the distance of an object to the lane boundaries.
If the object provides a map matched bounding box, this information is used first (speed-up and more accurate). If the object's map matched bounding box is not touching the laneId
at all, the object's center distance to the lane is calculated and reduced by max(width, length)/2 to obtain a good estimate for the shortest distance to the lane.
physics::Duration ad::map::lane::getDuration | ( | Lane const & | lane, |
physics::ParametricRange const & | range | ||
) |
|
inline |
point::ENUHeading ad::map::lane::getENUHeading | ( | ENUBorderList const & | borderList, |
point::ENUPoint const & | enuPoint | ||
) |
calculate the ENUHeading of the vector<ENUBorder> at the given ENUPoint
If the given ENUPoint is not within the given borders, an ENUHeading(2*M_PI) is returned.
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
|
inline |
const Lane& ad::map::lane::getLane | ( | lane::LaneId const & | id | ) |
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 | ||
) |
point::ENUHeading ad::map::lane::getLaneENUHeading | ( | point::ParaPoint const & | position | ) |
Lane::ConstPtr ad::map::lane::getLanePtr | ( | LaneId const & | id | ) |
LaneIdList ad::map::lane::getLanes | ( | ) |
Method to be called to retrieve identifiers of all Lanes in the Store.
point::ENUEdge ad::map::lane::getLateralAlignmentEdge | ( | ENUBorder const & | border, |
physics::ParametricValue const | lateralAlignment | ||
) |
Get the ENUEdge between the given border with corresponding lateralAlignment.
[in] | border | the ENU border, the edge is calculated from |
[in] | lateralAlignment | the lateral alignment as TParam [0.;1.] used to calculate the resulting edge. The lateral alignment is relative to the left edge. If lateralAlignment is 1., the left edge is returned, if lateralAlignment is 0., the right edge is returned |
std::invalid_argument | if the lateralAlignment parameter is smaller than 0. or larger than 1. |
physics::Speed ad::map::lane::getMaxSpeed | ( | Lane const & | lane, |
physics::ParametricRange const & | range | ||
) |
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.
[in] | t_long | Longitudinal parameter. |
[in] | t_lat | Lateral parameter relative to the left edge. |
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.
[in] | longitudinalOffset | Longitudinal parameter. |
[in] | lateralOffset | Lateral parameter relative to the left edge. |
restriction::SpeedLimitList ad::map::lane::getSpeedLimits | ( | Lane const & | lane, |
physics::ParametricRange const & | range | ||
) |
|
inline |
physics::Distance ad::map::lane::getWidth | ( | Lane const & | lane, |
physics::ParametricValue const & | longitudinalOffset | ||
) |
[in] | lane | the lane. |
[in] | longitudinalOffset | the longitudinal parametric offset |
|
inline |
Checks if vehicle fits the restriction criteria of the contact lane.
[in] | contactLane | contact lane. |
[in] | vehicle | Description of the vehicle. |
|
inline |
Checks if vehicle fits the lanes restriction criteria.
[in] | lane | the lane. |
[in] | vehicle | Description of the vehicle. |
bool ad::map::lane::isHeadingInLaneDirection | ( | point::ParaPoint const & | position, |
point::ENUHeading const & | heading | ||
) |
Check if the provided heading is along the lane direction.
[in] | position | is the position at which the lane heading is obtained |
[in] | heading | is the heading to be checked |
|
inline |
bool ad::map::lane::isLaneDirectionNegative | ( | LaneId const & | laneId | ) |
Check if the lane direction is negative.
[in] | laneId | the id of the lane to be checked |
|
inline |
bool ad::map::lane::isLaneDirectionPositive | ( | LaneId const & | laneId | ) |
Check if the lane direction is positive.
[in] | laneId | the id of the lane to be checked |
|
inline |
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.
true
if the relevantLanes set is empty, or if the laneId can be found in the set of relevantLanes.
|
inline |
|
inline |
Checks if given sphere intersects with lane bounding ball.
[in] | lane | the lane. |
[in] | boundingSphere | input sphere |
|
inline |
|
inline |
Check if two lanes are direct neighbors of even the same.
true
if the ids belong to the same or neighboring lanes, false otherwise Check if a lane is successor or predecessor of a lane.
[in] | laneId | the main lane |
[in] | checkLaneId | the lane to be checked if it's a successor or predecessor of the main lane |
true
if the checkLaneId is a successor or predecessor of laneId
|
inline |
checks if the given ContactLane is valid
The contactLane is valid if it's within valid input range.
|
inline |
checks if the given Lane is valid
The lane is valid if it's within valid input range.
|
inline |
checks if the given LaneId is valid
The laneId is valid if it's within valid input range.
bool ad::map::lane::isVanishingLaneEnd | ( | Lane const & | lane | ) |
bool ad::map::lane::isVanishingLaneStart | ( | Lane const & | lane | ) |
void ad::map::lane::makeTransitionFromFirstBorderContinuous | ( | ENUBorder & | first, |
ENUBorder const & | second | ||
) |
operation to make the transition between two borders continuous
This executes the makeTransitionToSecondEdgeContinuous() for left and right edges. In addition, adds interpolation points to the respective other edge if required.
[in] | first | the first border to be adapted if required to make the transition continuous |
[in] | second | the second border (is untouched by the algorithm) |
void ad::map::lane::makeTransitionFromFirstEdgeContinuous | ( | point::ENUEdge & | first, |
point::ENUEdge const & | second | ||
) |
operation to make the transition between two edges continuous
If the end point of first
is near (<=0.1m) to the end point of second
or one of the edges has less than two points, nothing is done. Otherwise the first point of the second edge will exchanged by the last point of the first edge. The second point of the second edge is placed at some distance along the edge which is calculated using:
[in] | first | the first edge to be adapted if required to make the transition continuous |
[in] | second | the second edge (is untouched by the algorithm) |
void ad::map::lane::makeTransitionToSecondBorderContinuous | ( | ENUBorder const & | first, |
ENUBorder & | second | ||
) |
operation to make the transition between two borders continuous
This executes the makeTransitionToSecondEdgeContinuous() for left and right edges. In addition, adds interpolation points to the respective other edge if required.
[in] | first | the first border (is untouched by the algorithm) |
[in] | second | the second border to be adapted if required to make the transition continuous |
void ad::map::lane::makeTransitionToSecondEdgeContinuous | ( | point::ENUEdge const & | first, |
point::ENUEdge & | second | ||
) |
operation to make the transition between two edges continuous
If the end point of first
is near (<=0.1m) to the end point of second
or one of the edges has less than two points, nothing is done. Otherwise the first point of the second edge will exchanged by the last point of the first edge. The second point of the second edge is placed at some distance along the edge which is calculated using:
[in] | first | the first edge (is untouched by the algorithm) |
[in] | second | the second edge to be adapted if required to make the transition continuous |
void ad::map::lane::normalizeBorder | ( | ENUBorder & | border, |
ENUBorder const * | previousBorder = nullptr |
||
) |
normalizes the border
At first the left and right edges of the border are checked for irregular directional vectors (scalarproduct of the vectors of three consecutive edge points has to be positive) Irregular points are dropped.
Then, the number of points of the left and right edge of the border are made equal by extending the smaller edge. If an edge has less than 2 points, nothing is done.
The previousBorder (optional parameter) is used to extend the irregular directional vector check to the beginning of the border edges; here leading to an potential overwrite of the first edge point by the end of the previousBorder.
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | _value | ContactLane value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | value | ContactLocation value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | value | ContactType value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | _value | ECEFBorder value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | _value | ENUBorder value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | _value | GeoBorder value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | _value | Lane value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | value | LaneDirection value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | _value | LaneId value |
|
inline |
standard ostream operator
[in] | os | The output stream to write to |
[in] | value | LaneType value |
|
inline |
Provides opposite Location.
[in] | e | Base location. |
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.
[in] | longitudinalOffset | Longitudinal parameter on the lane. |
[out] | point_on_left_edge | projected point on the left boundary |
[out] | point_on_right_edge | projected point on the right boundary |
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.
[in] | referencePoint | reference point. |
[out] | point_on_left_edge | projected point on the left boundary |
[out] | point_on_right_edge | projected point on the right boundary |
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
[in] | position | to be projected |
[in] | heading | to be checked |
[out] | projectedPosition | is the projected position (can be position, if the lane is already in heading direction) |
bool ad::map::lane::satisfiesFilter | ( | Lane const & | lane, |
std::string const & | typeFilter, | ||
bool | isHov | ||
) |
LaneId ad::map::lane::uniqueLaneId | ( | point::GeoPoint const & | point | ) |
Throws if there is more than one lane at the given position
point::ParaPoint ad::map::lane::uniqueParaPoint | ( | point::GeoPoint const & | point | ) |
Throws if there is more than one lane at the given position