Eclipse SUMO - Simulation of Urban MObility
|
#include <MSLaneChanger.h>
Public Member Functions | |
ChangeElem (MSLane *_lane) | |
void | registerHop (MSVehicle *vehicle) |
Register that vehicle belongs to Changer Item to after LC decisions. | |
Data Fields | |
double | dens |
MSVehicle * | firstBlocked |
the farthest downstream vehicle on this edge that is blocked from changing to this lane | |
MSVehicle * | hoppedVeh |
last vehicle that changed into this lane | |
MSLane * | lane |
the lane corresponding to this ChangeElem (the current change candidate is on this lane) | |
MSVehicle * | lastBlocked |
the next vehicle downstream of the ego vehicle that is blocked from changing to this lane | |
MSVehicle * | lastStopped |
the next vehicle downstream of the ego vehicle that is stopped (and thus an obstacle) | |
MSVehicle * | lead |
the leader vehicle for the current change candidate | |
bool | mayChangeLeft |
bool | mayChangeRight |
whether changing is possible to either direction | |
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 | |
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.
MSLaneChanger::ChangeElem::ChangeElem | ( | MSLane * | _lane | ) |
Definition at line 81 of file MSLaneChanger.cpp.
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().
MSLeaderInfo MSLaneChanger::ChangeElem::ahead |
Definition at line 94 of file MSLaneChanger.h.
MSLeaderDistanceInfo MSLaneChanger::ChangeElem::aheadNext |
Definition at line 97 of file MSLaneChanger.h.
double MSLaneChanger::ChangeElem::dens |
Definition at line 81 of file MSLaneChanger.h.
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.
MSVehicle* MSLaneChanger::ChangeElem::hoppedVeh |
last vehicle that changed into this lane
Definition at line 73 of file MSLaneChanger.h.
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.
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.
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.
MSVehicle* MSLaneChanger::ChangeElem::lead |
the leader vehicle for the current change candidate
Definition at line 69 of file MSLaneChanger.h.
bool MSLaneChanger::ChangeElem::mayChangeLeft |
Definition at line 85 of file MSLaneChanger.h.
bool MSLaneChanger::ChangeElem::mayChangeRight |
whether changing is possible to either direction
Definition at line 84 of file MSLaneChanger.h.
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.
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.