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

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

#include <lanechangeviewproxy.h>

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

Public Member Functions

 LaneChangeViewProxy (std::shared_ptr< LaneGeometryDataProxy > sourceLaneGeometryData, std::shared_ptr< LaneGeometryDataProxy > targetLaneGeometryData, std::shared_ptr< LaneChangeDataProxy > laneChangeData)
 Construct a new Lane Following View Proxy object. More...
 
virtual adore::view::ALanegetSourceLane () override
 
virtual adore::view::ALanegetTargetLane () override
 
virtual adore::view::ALaneChangeView::direction getLCDirection () const override
 
virtual double getProgressOfGateOpen () const override
 
virtual double getProgressOfGateClosed () const override
 
virtual double getOffsetOfStartOuterBorder (double s) override
 
virtual double getOffsetOfSeparatingBorder (double s) override
 
virtual double getOffsetOfDestinationOuterBorder (double s) override
 
virtual double getNavigationCostDifference () override
 

Private Attributes

std::shared_ptr< LaneFollowingViewProxysourceLane_
 
std::shared_ptr< LaneFollowingViewProxytargetLane_
 
std::shared_ptr< LaneChangeDataProxylaneChangeData_
 

Additional Inherited Members

- Public Types inherited from adore::view::ALaneChangeView
enum  direction { LEFT , RIGHT }
 

Detailed Description

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

Constructor & Destructor Documentation

◆ LaneChangeViewProxy()

adore::env::BorderBased::LaneChangeViewProxy::LaneChangeViewProxy ( std::shared_ptr< LaneGeometryDataProxy sourceLaneGeometryData,
std::shared_ptr< LaneGeometryDataProxy targetLaneGeometryData,
std::shared_ptr< LaneChangeDataProxy laneChangeData 
)
inline

Construct a new Lane Following View Proxy object.

Parameters
lanepreprocessed data object containing linearized lane geometry

Member Function Documentation

◆ getLCDirection()

virtual adore::view::ALaneChangeView::direction adore::env::BorderBased::LaneChangeViewProxy::getLCDirection ( ) const
inlineoverridevirtual

getLCDirection - return the direction of a lane change leading to target lane

Implements adore::view::ALaneChangeView.

◆ getNavigationCostDifference()

virtual double adore::env::BorderBased::LaneChangeViewProxy::getNavigationCostDifference ( )
inlineoverridevirtual
Returns
the difference in navigation cost between two lanes: g_target-g_source; if the return value is below 0, the target lane has lower navigation cost

Implements adore::view::ALaneChangeView.

◆ getOffsetOfDestinationOuterBorder()

virtual double adore::env::BorderBased::LaneChangeViewProxy::getOffsetOfDestinationOuterBorder ( double  s)
inlineoverridevirtual

getOffsetOfDestinationOuterBorder - return lateral offset n of the outer border of target lane

Implements adore::view::ALaneChangeView.

◆ getOffsetOfSeparatingBorder()

virtual double adore::env::BorderBased::LaneChangeViewProxy::getOffsetOfSeparatingBorder ( double  s)
inlineoverridevirtual

getOffsetOfStartInnerBorder - return lateral offset n of the inner border of the AV's current lane

Implements adore::view::ALaneChangeView.

◆ getOffsetOfStartOuterBorder()

virtual double adore::env::BorderBased::LaneChangeViewProxy::getOffsetOfStartOuterBorder ( double  s)
inlineoverridevirtual

getOffsetOfStartOuterBorder - return lateral offset n of the outer border of the AV's current lane

Implements adore::view::ALaneChangeView.

◆ getProgressOfGateClosed()

virtual double adore::env::BorderBased::LaneChangeViewProxy::getProgressOfGateClosed ( ) const
inlineoverridevirtual

getProgressOfGateClosed - return progress s of the closure of the next gate (distance to beginngin of solid line or otherwise impassable lane border after gate)

Implements adore::view::ALaneChangeView.

◆ getProgressOfGateOpen()

virtual double adore::env::BorderBased::LaneChangeViewProxy::getProgressOfGateOpen ( ) const
inlineoverridevirtual

getProgressOfGateOpen - return progress s of the next opening of a gate (distance to end of solid line or otherwise impassable lane border)

Implements adore::view::ALaneChangeView.

◆ getSourceLane()

virtual adore::view::ALane* adore::env::BorderBased::LaneChangeViewProxy::getSourceLane ( )
inlineoverridevirtual

getSourceLane - return ALane pointer for the source lane of the lane change

Implements adore::view::ALaneChangeView.

◆ getTargetLane()

virtual adore::view::ALane* adore::env::BorderBased::LaneChangeViewProxy::getTargetLane ( )
inlineoverridevirtual

getSourceLane - return ALane pointer for the target lane of the lane change

Implements adore::view::ALaneChangeView.

Member Data Documentation

◆ laneChangeData_

std::shared_ptr<LaneChangeDataProxy> adore::env::BorderBased::LaneChangeViewProxy::laneChangeData_
private

◆ sourceLane_

std::shared_ptr<LaneFollowingViewProxy> adore::env::BorderBased::LaneChangeViewProxy::sourceLane_
private

◆ targetLane_

std::shared_ptr<LaneFollowingViewProxy> adore::env::BorderBased::LaneChangeViewProxy::targetLane_
private

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