A class with a geometry description of a lane next to the current lane. More...
#include <lanechangegeometry.h>
Public Types | |
using | function_type_xyz = adore::mad::function_type_xyz |
using | function_type2d = adore::mad::function_type2d |
using | function_type_scalar = adore::mad::function_type_scalar |
using | velocity_profile = function_type_scalar |
typedef std::unordered_set< BorderBased::Node *, BorderBased::NodeHasher > | TBorderSubSet |
Public Member Functions | |
LaneChangeGeometry () | |
Construct a new LaneChangeGeometry object. More... | |
bool | isValid () const |
Check whether the LaneChangeGeometry is valid. More... | |
void | clearGeometry () |
Clear the LaneChangeGeometry. More... | |
template<int lfg_a, int lfg_b> | |
void | update (LaneFollowingGeometry< lfg_a, lfg_b > *lfg, BorderSet *borderSet, adore::env::VehicleMotionState9d *ego, int lfg_adjacency_i_start, adore::view::ALaneChangeView::direction direction, double review_distance, double preview_distance, double adjacency_lower_limit=0.0) |
update the road geometry More... | |
BorderSubSet * | getInnerBorders () |
Get the sequence of inner Borders. More... | |
BorderSubSet * | getOuterBorders () |
Get the sequence of outer Borders. More... | |
BorderSubSet * | getLeftBorders () |
Get the sequence of inner Borders. More... | |
BorderSubSet * | getRightBorders () |
Get the sequence of inner Borders. More... | |
double | getViewingDistance () const |
Get the viewing distance. More... | |
adore::view::ALaneChangeView::direction | getLCDirection () const |
Get the direction of the LaneChangeGeometry. More... | |
double | getProgressOfWidthOpen () const |
Get the s-coordinate where the lane reaches the required width. More... | |
double | getProgressOfWidthClosed () const |
Get the s-coordinate where the lane stops to have the required width. More... | |
double | getOffsetOfLeftBorder (double s) |
Get the offset of the left border at a certain position. More... | |
double | getOffsetOfRightBorder (double s) |
Get the offset of the right border at a certain position. More... | |
double | getOffsetOfCenterBorder (double s) |
Get the offset of the center border at a certain position. More... | |
double | getProgressOfGateOpen () const |
Get the s-coordinate where the lane starts to be in direct adjacency to the LaneFollowingGeometry whithout a barrier. More... | |
double | getProgressOfGateClosed () const |
Get the s-coordinate where the lane ends to be in direct adjacency to the LaneFollowingGeometry whithout a barrier. More... | |
A class with a geometry description of a lane next to the current lane.
using adore::env::BorderBased::LaneChangeGeometry::function_type_scalar = adore::mad::function_type_scalar |
using adore::env::BorderBased::LaneChangeGeometry::function_type_xyz = adore::mad::function_type_xyz |
typedef std::unordered_set<BorderBased::Node *, BorderBased::NodeHasher> adore::env::BorderBased::LaneChangeGeometry::TBorderSubSet |
|
inline |
Construct a new LaneChangeGeometry object.
|
inline |
|
inline |
Get the sequence of inner Borders.
|
inline |
Get the direction of the LaneChangeGeometry.
|
inline |
Get the sequence of inner Borders.
|
inline |
Get the offset of the center border at a certain position.
s | s-coordinate of the position |
|
inline |
Get the offset of the left border at a certain position.
s | s-coordinate of the position |
|
inline |
Get the offset of the right border at a certain position.
s | s-coordinate of the position |
|
inline |
Get the sequence of outer Borders.
|
inline |
Get the s-coordinate where the lane ends to be in direct adjacency to the LaneFollowingGeometry whithout a barrier.
|
inline |
Get the s-coordinate where the lane starts to be in direct adjacency to the LaneFollowingGeometry whithout a barrier.
|
inline |
Get the s-coordinate where the lane stops to have the required width.
|
inline |
Get the s-coordinate where the lane reaches the required width.
|
inline |
Get the sequence of inner Borders.
|
inline |
Get the viewing distance.
|
inline |
Check whether the LaneChangeGeometry is valid.
|
inline |
update the road geometry
lfg | associated LaneFollowingGeometry |
borderSet | set of all borders |
ego | ego state |
lfg_adjacency_i_start | |
direction | direction of the LaneChangeGeometry |
review_distance | how far to look backwards |
preview_distance | how far to look forwards |
adjacency_lower_limit |
double adore::env::BorderBased::LaneChangeGeometry::m_adjacency_s0 |
double adore::env::BorderBased::LaneChangeGeometry::m_adjacency_s1 |
BorderBased::BAContainer adore::env::BorderBased::LaneChangeGeometry::m_borderSequence |
TBorderSubSet adore::env::BorderBased::LaneChangeGeometry::m_borderSubSet |
function_type_xyz adore::env::BorderBased::LaneChangeGeometry::m_centerBorder_fct |
function: s-coordinate -> euclidian coordinates for center borders
function_type_scalar adore::env::BorderBased::LaneChangeGeometry::m_centerBorderDistance_fct |
function: s-coordinate -> distance to center border
adore::view::ALaneChangeView::direction adore::env::BorderBased::LaneChangeGeometry::m_direction |
direction of lane change view
BorderBased::BAContainer adore::env::BorderBased::LaneChangeGeometry::m_innerBorderSequence |
function_type_xyz adore::env::BorderBased::LaneChangeGeometry::m_leftBorder_fct |
function: s-coordinate -> euclidian coordinates for left borders
function_type_scalar adore::env::BorderBased::LaneChangeGeometry::m_leftBorderDistance_fct |
function: s-coordinate -> distance to left border
Border* adore::env::BorderBased::LaneChangeGeometry::m_lfg_adjacency_b0 |
Border* adore::env::BorderBased::LaneChangeGeometry::m_lfg_adjacency_b1 |
BorderBased::Node* adore::env::BorderBased::LaneChangeGeometry::m_lfg_adjacency_bn0 |
BorderBased::Node* adore::env::BorderBased::LaneChangeGeometry::m_lfg_adjacency_bn1 |
int adore::env::BorderBased::LaneChangeGeometry::m_lfg_adjacency_i0 |
int adore::env::BorderBased::LaneChangeGeometry::m_lfg_adjacency_i1 |
function_type_xyz adore::env::BorderBased::LaneChangeGeometry::m_reference_fct |
function_type_xyz adore::env::BorderBased::LaneChangeGeometry::m_rightBorder_fct |
function: s-coordinate -> euclidian coordinates for right borders
function_type_scalar adore::env::BorderBased::LaneChangeGeometry::m_rightBorderDistance_fct |
function: s-coordinate -> distance to right border
double adore::env::BorderBased::LaneChangeGeometry::m_s_lane_width_closed |
s-coordinate where lane ends to have the required width
double adore::env::BorderBased::LaneChangeGeometry::m_s_lane_width_open |
s-coordinate where lane starts to have the required width for driving on that lane
double adore::env::BorderBased::LaneChangeGeometry::m_s_viewing_distance |
s-coordinate of the end of the viewing horizon
double adore::env::BorderBased::LaneChangeGeometry::m_vehicle_width |
ego vehicle width
bool adore::env::BorderBased::LaneChangeGeometry::m_view_valid |
flag whether view is valid