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

#include <MSLaneChanger.h>

Collaboration diagram for MSLaneChanger::ChangeElem:
Collaboration graph

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 first vehicle on this edge that wants to change to this lane More...
 
MSVehiclehoppedVeh
 last vehicle that changed into this lane More...
 
MSLanelane
 the lane the vehicle is on More...
 
MSVehiclelastBlocked
 the vehicle that really wants to change to this lane More...
 
MSVehiclelead
 the vehicle in front of the current vehicle 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
 

Detailed Description

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

Definition at line 70 of file MSLaneChanger.h.

Constructor & Destructor Documentation

◆ ChangeElem()

MSLaneChanger::ChangeElem::ChangeElem ( MSLane _lane)

Definition at line 73 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 84 of file MSLaneChanger.cpp.

References dens, MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), hoppedVeh, lane, and MSLane::myTmpVehicles.

Field Documentation

◆ ahead

MSLeaderInfo MSLaneChanger::ChangeElem::ahead

Definition at line 101 of file MSLaneChanger.h.

◆ aheadNext

MSLeaderDistanceInfo MSLaneChanger::ChangeElem::aheadNext

Definition at line 104 of file MSLaneChanger.h.

◆ dens

double MSLaneChanger::ChangeElem::dens

Definition at line 88 of file MSLaneChanger.h.

Referenced by registerHop().

◆ firstBlocked

MSVehicle* MSLaneChanger::ChangeElem::firstBlocked

the first vehicle on this edge that wants to change to this lane

Definition at line 86 of file MSLaneChanger.h.

◆ hoppedVeh

MSVehicle* MSLaneChanger::ChangeElem::hoppedVeh

last vehicle that changed into this lane

Definition at line 82 of file MSLaneChanger.h.

Referenced by registerHop().

◆ lane

MSLane* MSLaneChanger::ChangeElem::lane

the lane the vehicle is on

Definition at line 80 of file MSLaneChanger.h.

Referenced by registerHop().

◆ lastBlocked

MSVehicle* MSLaneChanger::ChangeElem::lastBlocked

the vehicle that really wants to change to this lane

Definition at line 84 of file MSLaneChanger.h.

◆ lead

MSVehicle* MSLaneChanger::ChangeElem::lead

the vehicle in front of the current vehicle

Definition at line 78 of file MSLaneChanger.h.

◆ mayChangeLeft

bool MSLaneChanger::ChangeElem::mayChangeLeft

Definition at line 92 of file MSLaneChanger.h.

◆ mayChangeRight

bool MSLaneChanger::ChangeElem::mayChangeRight

whether changing is possible to either direction

Definition at line 91 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 96 of file MSLaneChanger.h.


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