![]() |
SUMO - Simulation of Urban MObility
|
saves leader/follower vehicles and their distances relative to an ego vehicle More...
#include <MSLeaderInfo.h>


Public Member Functions | |
| virtual int | addLeader (const MSVehicle *veh, SUMOReal gap, SUMOReal latOffset=0, int sublane=-1) |
| virtual int | addLeader (const MSVehicle *veh, bool beyond, SUMOReal latOffset=0) |
| virtual void | clear () |
| discard all information More... | |
| void | getSubLanes (const MSVehicle *veh, SUMOReal latOffset, int &rightmost, int &leftmost) const |
| bool | hasStoppedVehicle () const |
| whether a stopped vehicle is leader More... | |
| bool | hasVehicles () const |
| MSLeaderDistanceInfo (const MSLane *lane, const MSVehicle *ego, SUMOReal latOffset) | |
| Constructor. More... | |
| int | numFreeSublanes () const |
| int | numSublanes () const |
| CLeaderDist | operator[] (int sublane) const |
| return the vehicle and its distance for the given sublane More... | |
| virtual std::string | toString () const |
| print a debugging representation More... | |
| virtual | ~MSLeaderDistanceInfo () |
| Destructor. More... | |
Protected Attributes | |
| int | egoLeftMost |
| int | egoRightMost |
| borders of the ego vehicle for filtering of free sublanes More... | |
| std::vector< SUMOReal > | myDistances |
| int | myFreeSublanes |
| the number of free sublanes More... | |
| bool | myHasVehicles |
| std::vector< const MSVehicle * > | myVehicles |
| SUMOReal | myWidth |
| the width of the lane to which this instance applies More... | |
saves leader/follower vehicles and their distances relative to an ego vehicle
Definition at line 127 of file MSLeaderInfo.h.
| MSLeaderDistanceInfo::MSLeaderDistanceInfo | ( | const MSLane * | lane, |
| const MSVehicle * | ego, | ||
| SUMOReal | latOffset | ||
| ) |
Constructor.
Definition at line 183 of file MSLeaderInfo.cpp.
|
virtual |
Destructor.
Definition at line 189 of file MSLeaderInfo.cpp.
|
virtual |
Reimplemented in MSCriticalFollowerDistanceInfo.
Definition at line 193 of file MSLeaderInfo.cpp.
References MSLeaderInfo::egoLeftMost, MSLeaderInfo::egoRightMost, MSLeaderInfo::getSubLanes(), myDistances, MSLeaderInfo::myFreeSublanes, MSLeaderInfo::myHasVehicles, and MSLeaderInfo::myVehicles.
Referenced by MSLaneChangerSublane::getLeaders(), and MSLane::getLeadersOnConsecutive().
|
inlinevirtual |
Reimplemented from MSLeaderInfo.
Reimplemented in MSCriticalFollowerDistanceInfo.
Definition at line 145 of file MSLeaderInfo.h.
References MSLeaderInfo::clear(), MSLeaderInfo::operator[](), MSLeaderInfo::toString(), and UNUSED_PARAMETER.
|
virtual |
discard all information
Reimplemented from MSLeaderInfo.
Reimplemented in MSCriticalFollowerDistanceInfo.
Definition at line 234 of file MSLeaderInfo.cpp.
References MSLeaderInfo::clear(), max, myDistances, and MSLeaderInfo::myVehicles.
Referenced by MSCriticalFollowerDistanceInfo::clear().
|
inherited |
Definition at line 115 of file MSLeaderInfo.cpp.
References MSVehicle::getLateralPositionOnLane(), MSBaseVehicle::getVehicleType(), MSVehicleType::getWidth(), MSGlobals::gLateralResolution, MAX2(), MIN2(), MSLeaderInfo::myVehicles, MSLeaderInfo::myWidth, NUMERICAL_EPS, and SUMOReal.
Referenced by MSVehicle::adaptToLeaders(), MSCriticalFollowerDistanceInfo::addFollower(), MSLeaderInfo::addLeader(), addLeader(), and MSLeaderInfo::MSLeaderInfo().
|
inherited |
whether a stopped vehicle is leader
Definition at line 166 of file MSLeaderInfo.cpp.
References MSLeaderInfo::myHasVehicles, and MSLeaderInfo::myVehicles.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLCM_SL2015::checkStrategicChange(), and MSLeaderInfo::hasVehicles().
|
inlineinherited |
Definition at line 94 of file MSLeaderInfo.h.
References MSLeaderInfo::hasStoppedVehicle(), MSLeaderInfo::myHasVehicles, and MSLeaderInfo::toString().
Referenced by MSLCM_SL2015::checkStrategicChange(), and MSLCM_SL2015::updateGaps().
|
inlineinherited |
Definition at line 90 of file MSLeaderInfo.h.
References MSLeaderInfo::myFreeSublanes.
Referenced by MSLane::getFollowersOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), and MSLane::isInsertionSuccess().
|
inlineinherited |
Definition at line 86 of file MSLeaderInfo.h.
References MSLeaderInfo::myVehicles.
Referenced by MSLCM_SL2015::checkBlockingVehicles(), MSLCM_SL2015::computeSublaneShift(), MSLane::detectCollisions(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLCM_SL2015::getLongest(), MSLCM_SL2015::getSlowest(), MSEdge::initialize(), MSLane::isInsertionSuccess(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), and MSLCM_SL2015::updateGaps().
| CLeaderDist MSLeaderDistanceInfo::operator[] | ( | int | sublane | ) | const |
return the vehicle and its distance for the given sublane
Definition at line 241 of file MSLeaderInfo.cpp.
References myDistances, and MSLeaderInfo::myVehicles.
|
virtual |
print a debugging representation
Reimplemented from MSLeaderInfo.
Reimplemented in MSCriticalFollowerDistanceInfo.
Definition at line 249 of file MSLeaderInfo.cpp.
References Named::getIDSecure(), myDistances, MSLeaderInfo::myFreeSublanes, and MSLeaderInfo::myVehicles.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), and MSLaneChangerSublane::checkChangeSublane().
|
protectedinherited |
Definition at line 119 of file MSLeaderInfo.h.
Referenced by MSCriticalFollowerDistanceInfo::addFollower(), MSLeaderInfo::addLeader(), addLeader(), MSLeaderInfo::clear(), and MSLeaderInfo::MSLeaderInfo().
|
protectedinherited |
borders of the ego vehicle for filtering of free sublanes
Definition at line 118 of file MSLeaderInfo.h.
Referenced by MSCriticalFollowerDistanceInfo::addFollower(), MSLeaderInfo::addLeader(), addLeader(), MSLeaderInfo::clear(), and MSLeaderInfo::MSLeaderInfo().
|
protected |
Definition at line 163 of file MSLeaderInfo.h.
Referenced by MSCriticalFollowerDistanceInfo::addFollower(), addLeader(), clear(), operator[](), toString(), and MSCriticalFollowerDistanceInfo::toString().
|
protectedinherited |
the number of free sublanes
Definition at line 115 of file MSLeaderInfo.h.
Referenced by MSCriticalFollowerDistanceInfo::addFollower(), MSLeaderInfo::addLeader(), addLeader(), MSLeaderInfo::clear(), MSLeaderInfo::MSLeaderInfo(), MSLeaderInfo::numFreeSublanes(), MSLeaderInfo::toString(), toString(), and MSCriticalFollowerDistanceInfo::toString().
|
protectedinherited |
Definition at line 121 of file MSLeaderInfo.h.
Referenced by MSCriticalFollowerDistanceInfo::addFollower(), MSLeaderInfo::addLeader(), addLeader(), MSLeaderInfo::hasStoppedVehicle(), and MSLeaderInfo::hasVehicles().
|
protectedinherited |
Definition at line 110 of file MSLeaderInfo.h.
Referenced by MSCriticalFollowerDistanceInfo::addFollower(), MSLeaderInfo::addLeader(), addLeader(), MSLeaderInfo::clear(), clear(), MSCriticalFollowerDistanceInfo::clear(), MSLeaderInfo::getSubLanes(), MSLeaderInfo::hasStoppedVehicle(), MSLeaderInfo::MSLeaderInfo(), MSLeaderInfo::numSublanes(), MSLeaderInfo::operator[](), operator[](), MSLeaderInfo::toString(), toString(), and MSCriticalFollowerDistanceInfo::toString().
|
protectedinherited |
the width of the lane to which this instance applies
Definition at line 108 of file MSLeaderInfo.h.
Referenced by MSLeaderInfo::getSubLanes().