ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::env::BorderBased::LaneFollowingViewProxy Class Reference

Proxy class to access ALane interfaces from preprocessed lane geometry received as data object. More...

#include <lanefollowingviewproxy.h>

Inheritance diagram for adore::env::BorderBased::LaneFollowingViewProxy:
Inheritance graph
Collaboration diagram for adore::env::BorderBased::LaneFollowingViewProxy:
Collaboration graph

Public Member Functions

 LaneFollowingViewProxy (std::shared_ptr< LaneGeometryDataProxy > lane)
 Construct a new Lane Following View Proxy object. More...
 
bool isValid () const override
 
virtual double getSMin () const override
 
virtual double getSMax () const override
 
double getProgressOfWidthOpen () const override
 
double getProgressOfWidthClosed () const override
 
const adore::view::TrafficQueuegetOnLaneTraffic () const override
 
const ConflictSetgetConflictSet () const override
 
double getSpeedLimit (double s) override
 
virtual double getLeftIndicatorHint (double s) override
 
virtual double getRightIndicatorHint (double s) override
 
bool hasSpeedRecommendation (double s) const override
 
double getSpeedRecommendation (double s) const override
 
double getNavigationCost (double s) override
 
virtual void boundNavigationCost (double s0, double s1, double &cmin, double &cmax) override
 
double getHeading (double s) override
 
double getCurvature (double s, int derivative) override
 
double getOffsetOfLeftBorder (double s) override
 
double getOffsetOfRightBorder (double s) override
 
void toRelativeCoordinates (double xe, double ye, double &s, double &n) override
 
void toEucledianCoordinates (double s, double n, double &xe, double &ye, double &ze) override
 
- Public Member Functions inherited from adore::view::ALane
bool inSRange (double s) const
 

Private Member Functions

double limitS (double s)
 

Private Attributes

std::shared_ptr< LaneGeometryDataProxylane_
 

Detailed Description

Proxy class to access ALane interfaces from preprocessed lane geometry received as data object.

Constructor & Destructor Documentation

◆ LaneFollowingViewProxy()

adore::env::BorderBased::LaneFollowingViewProxy::LaneFollowingViewProxy ( std::shared_ptr< LaneGeometryDataProxy lane)
inline

Construct a new Lane Following View Proxy object.

Parameters
lanepreprocessed data object containing linearized lane geometry

Member Function Documentation

◆ boundNavigationCost()

virtual void adore::env::BorderBased::LaneFollowingViewProxy::boundNavigationCost ( double  s0,
double  s1,
double &  cmin,
double &  cmax 
)
inlineoverridevirtual

boundNavigationCost - return bounds for navigation-cost on a distance s interval along the lane

Parameters
cminthe minimum cost on the interval is returned
cmaxthe maximum cost on the interval is returned

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getConflictSet()

const ConflictSet& adore::env::BorderBased::LaneFollowingViewProxy::getConflictSet ( ) const
inlineoverridevirtual

getConflictSet - return set of conflict zones, ordered by occurance along lane

Implements adore::view::ALane.

◆ getCurvature()

double adore::env::BorderBased::LaneFollowingViewProxy::getCurvature ( double  s,
int  derivative 
)
inlineoverridevirtual

getCurvature - return the lane coordinate system's curvature kappa=1/R and its derivatives 1,2,... at a progress s the derivative is given as 1: d kappa / ds, 2: d^2 kappa / ds^2, ... if a derivative is unavailable, 0 will be returned

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getHeading()

double adore::env::BorderBased::LaneFollowingViewProxy::getHeading ( double  s)
inlineoverridevirtual

getHeading - return the heading of the lane at a distance s along the lane

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getLeftIndicatorHint()

virtual double adore::env::BorderBased::LaneFollowingViewProxy::getLeftIndicatorHint ( double  s)
inlineoverridevirtual

getLeftIndicatorHint - return left indicator light hint at s along the lane

Implements adore::view::ALane.

◆ getNavigationCost()

double adore::env::BorderBased::LaneFollowingViewProxy::getNavigationCost ( double  s)
inlineoverridevirtual

getNavigationCost - return remaining navigation cost at a certain distance s along the lane

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getOffsetOfLeftBorder()

double adore::env::BorderBased::LaneFollowingViewProxy::getOffsetOfLeftBorder ( double  s)
inlineoverridevirtual

getOffsetOfLeftBorder - return the lateral offset of the left border at a progress s

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getOffsetOfRightBorder()

double adore::env::BorderBased::LaneFollowingViewProxy::getOffsetOfRightBorder ( double  s)
inlineoverridevirtual

getOffsetOfRightBorder - return the lateral offset of the right border at a progress s

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getOnLaneTraffic()

const adore::view::TrafficQueue& adore::env::BorderBased::LaneFollowingViewProxy::getOnLaneTraffic ( ) const
inlineoverridevirtual

getOnLaneTraffic - return queue of traffic objects moving on lane, ordered by progress of objects on lane

Implements adore::view::ALane.

◆ getProgressOfWidthClosed()

double adore::env::BorderBased::LaneFollowingViewProxy::getProgressOfWidthClosed ( ) const
inlineoverridevirtual

getProgressOfWidthClosed - return progress s, where target lane is no longer wide enough to contain AV

Implements adore::view::ALane.

◆ getProgressOfWidthOpen()

double adore::env::BorderBased::LaneFollowingViewProxy::getProgressOfWidthOpen ( ) const
inlineoverridevirtual

getProgressOfWidthOpen - return progress s, where target lane is wide enough to contain AV for the first time

Implements adore::view::ALane.

◆ getRightIndicatorHint()

virtual double adore::env::BorderBased::LaneFollowingViewProxy::getRightIndicatorHint ( double  s)
inlineoverridevirtual

getRightIndicatorHint - return right indicator light hint at s along the lane

Implements adore::view::ALane.

◆ getSMax()

virtual double adore::env::BorderBased::LaneFollowingViewProxy::getSMax ( ) const
inlineoverridevirtual
Returns
the maximum s parameter of the relative coordinate system

Implements adore::view::ALane.

◆ getSMin()

virtual double adore::env::BorderBased::LaneFollowingViewProxy::getSMin ( ) const
inlineoverridevirtual
Returns
the minimum s parameter of the relative coordinate system

Implements adore::view::ALane.

◆ getSpeedLimit()

double adore::env::BorderBased::LaneFollowingViewProxy::getSpeedLimit ( double  s)
inlineoverridevirtual

getSpeedLimit - return the speed limit at a certain distance s along the lane

Implements adore::view::ALane.

◆ getSpeedRecommendation()

double adore::env::BorderBased::LaneFollowingViewProxy::getSpeedRecommendation ( double  s) const
inlineoverridevirtual

getSpeedRecommendation - return a speed recommendation at a certain distance s along the lane

Implements adore::view::ALane.

◆ hasSpeedRecommendation()

bool adore::env::BorderBased::LaneFollowingViewProxy::hasSpeedRecommendation ( double  s) const
inlineoverridevirtual

hasSpeedRecommendation - return true, if a speed recommendation is available (GLOSA or other infrastructure advice) at a certain distance s along the lane

Implements adore::view::ALane.

◆ isValid()

bool adore::env::BorderBased::LaneFollowingViewProxy::isValid ( ) const
inlineoverridevirtual

isValid - return true if representation of lane is valid

Implements adore::view::ALane.

◆ limitS()

double adore::env::BorderBased::LaneFollowingViewProxy::limitS ( double  s)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ toEucledianCoordinates()

void adore::env::BorderBased::LaneFollowingViewProxy::toEucledianCoordinates ( double  s,
double  n,
double &  xe,
double &  ye,
double &  ze 
)
inlineoverridevirtual

coordinate transformation from road relative coordinates (s,n) to euclidean (xe,ye,ze)

Implements adore::view::ALane.

Here is the call graph for this function:

◆ toRelativeCoordinates()

void adore::env::BorderBased::LaneFollowingViewProxy::toRelativeCoordinates ( double  xe,
double  ye,
double &  s,
double &  n 
)
inlineoverridevirtual

coordinate transformation from euclidean (xe,ye) to road relative coordinates (s,n)

Implements adore::view::ALane.

Here is the call graph for this function:

Member Data Documentation

◆ lane_

std::shared_ptr<LaneGeometryDataProxy> adore::env::BorderBased::LaneFollowingViewProxy::lane_
private

The documentation for this class was generated from the following file: