Eclipse SUMO - Simulation of Urban MObility
MSLaneChanger::ChangeElem Struct Reference

#include <MSLaneChanger.h>

Collaboration diagram for MSLaneChanger::ChangeElem:
[legend]

Public Member Functions

 ChangeElem (MSLane *_lane)
 
void registerHop (MSVehicle *vehicle)
 Register that vehicle belongs to Changer Item to after LC decisions. More...
 

Data Fields

double dens
 
MSVehiclefirstBlocked
 the farthest downstream vehicle on this edge that is blocked from changing to this lane More...
 
MSVehiclehoppedVeh
 last vehicle that changed into this lane More...
 
MSLanelane
 the lane corresponding to this ChangeElem (the current change candidate is on this lane) More...
 
MSVehiclelastBlocked
 the next vehicle downstream of the ego vehicle that is blocked from changing to this lane More...
 
MSVehiclelastStopped
 the next vehicle downstream of the ego vehicle that is stopped (and thus an obstacle) More...
 
MSVehiclelead
 the leader vehicle for the current change candidate More...
 
bool mayChangeLeft
 
bool mayChangeRight
 whether changing is possible to either direction More...
 
std::vector< int > siblings
 
Members which are used only by MSLaneChangerSublane
MSLeaderInfo ahead
 
MSLeaderDistanceInfo aheadNext
 
std::vector< MSVehicle * > outsideBounds
 vehicles that cannot be stored in ahead because they are outside the lane bounds More...
 

Detailed Description

Structure used for lane-change. For every lane you have to know four vehicles, the change-candidate veh and its follower and leader. Further, information about the last vehicle that changed into this lane is needed

Definition at line 61 of file MSLaneChanger.h.

Constructor & Destructor Documentation

◆ ChangeElem()

MSLaneChanger::ChangeElem::ChangeElem ( MSLane _lane)

Definition at line 81 of file MSLaneChanger.cpp.

Member Function Documentation

◆ registerHop()

void MSLaneChanger::ChangeElem::registerHop ( MSVehicle vehicle)

Register that vehicle belongs to Changer Item to after LC decisions.

Definition at line 93 of file MSLaneChanger.cpp.

References MSVehicleType::getLengthWithGap(), and MSBaseVehicle::getVehicleType().

Field Documentation

◆ ahead

MSLeaderInfo MSLaneChanger::ChangeElem::ahead

Definition at line 94 of file MSLaneChanger.h.

◆ aheadNext

MSLeaderDistanceInfo MSLaneChanger::ChangeElem::aheadNext

Definition at line 97 of file MSLaneChanger.h.

◆ dens

double MSLaneChanger::ChangeElem::dens

Definition at line 81 of file MSLaneChanger.h.

◆ firstBlocked

MSVehicle* MSLaneChanger::ChangeElem::firstBlocked

the farthest downstream vehicle on this edge that is blocked from changing to this lane

Definition at line 77 of file MSLaneChanger.h.

◆ hoppedVeh

MSVehicle* MSLaneChanger::ChangeElem::hoppedVeh

last vehicle that changed into this lane

Definition at line 73 of file MSLaneChanger.h.

◆ lane

MSLane* MSLaneChanger::ChangeElem::lane

the lane corresponding to this ChangeElem (the current change candidate is on this lane)

Definition at line 71 of file MSLaneChanger.h.

◆ lastBlocked

MSVehicle* MSLaneChanger::ChangeElem::lastBlocked

the next vehicle downstream of the ego vehicle that is blocked from changing to this lane

Definition at line 75 of file MSLaneChanger.h.

◆ lastStopped

MSVehicle* MSLaneChanger::ChangeElem::lastStopped

the next vehicle downstream of the ego vehicle that is stopped (and thus an obstacle)

Definition at line 79 of file MSLaneChanger.h.

◆ lead

MSVehicle* MSLaneChanger::ChangeElem::lead

the leader vehicle for the current change candidate

Definition at line 69 of file MSLaneChanger.h.

◆ mayChangeLeft

bool MSLaneChanger::ChangeElem::mayChangeLeft

Definition at line 85 of file MSLaneChanger.h.

◆ mayChangeRight

bool MSLaneChanger::ChangeElem::mayChangeRight

whether changing is possible to either direction

Definition at line 84 of file MSLaneChanger.h.

◆ outsideBounds

std::vector<MSVehicle*> MSLaneChanger::ChangeElem::outsideBounds

vehicles that cannot be stored in ahead because they are outside the lane bounds

Definition at line 100 of file MSLaneChanger.h.

◆ siblings

std::vector<int> MSLaneChanger::ChangeElem::siblings

relative indices of internal lanes with the same origin lane (siblings) only used for changes on internal edges

Definition at line 89 of file MSLaneChanger.h.


The documentation for this struct was generated from the following files: