Eclipse SUMO - Simulation of Urban MObility
MSLCHelper Class Reference

A lane change model developed by J. Erdmann. More...

#include <MSLCHelper.h>

Static Public Member Functions

static bool canSaveBlockerLength (const MSVehicle &veh, double requested, double leftSpace)
 
static bool divergentRoute (const MSVehicle &v1, const MSVehicle &v2)
 return whether the vehicles are on the same junction but on divergent paths More...
 
static double getRoundaboutDistBonus (const MSVehicle &veh, double bonusParam, const MSVehicle::LaneQ &curr, const MSVehicle::LaneQ &neigh, const MSVehicle::LaneQ &best)
 
static double getSpeedPreservingSecureGap (const MSVehicle &leader, const MSVehicle &follower, double currentGap, double leaderPlannedSpeed)
 
static bool isBidiFollower (const MSVehicle *ego, const MSVehicle *follower)
 
static bool isBidiLeader (const MSVehicle *leader, const std::vector< MSLane * > &cont)
 
static bool updateBlockerLength (const MSVehicle &veh, MSVehicle *blocker, int lcaCounter, double leftSpace, bool reliefConnection, double &leadingBlockerLength)
 

Detailed Description

A lane change model developed by J. Erdmann.

Definition at line 37 of file MSLCHelper.h.

Member Function Documentation

◆ canSaveBlockerLength()

bool MSLCHelper::canSaveBlockerLength ( const MSVehicle veh,
double  requested,
double  leftSpace 
)
static

Definition at line 290 of file MSLCHelper.cpp.

References MSCFModel::brakeGap(), DEBUG_COND, MSVehicle::getActionStepLengthSecs(), MSVehicle::getCarFollowModel(), Named::getID(), MSCFModel::getMaxDecel(), MSVehicle::getSpeed(), and SIMTIME.

Referenced by MSLCM_LC2013::saveBlockerLength(), and MSLCM_SL2015::saveBlockerLength().

Here is the caller graph for this function:

◆ divergentRoute()

bool MSLCHelper::divergentRoute ( const MSVehicle v1,
const MSVehicle v2 
)
static

return whether the vehicles are on the same junction but on divergent paths

Definition at line 302 of file MSLCHelper.cpp.

References MSLane::getEdge(), MSEdge::getFromJunction(), MSVehicle::getLane(), and MSLane::isInternal().

Referenced by MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), and MSLCM_LC2013::informLeader().

Here is the caller graph for this function:

◆ getRoundaboutDistBonus()

double MSLCHelper::getRoundaboutDistBonus ( const MSVehicle veh,
double  bonusParam,
const MSVehicle::LaneQ curr,
const MSVehicle::LaneQ neigh,
const MSVehicle::LaneQ best 
)
static

◆ getSpeedPreservingSecureGap()

double MSLCHelper::getSpeedPreservingSecureGap ( const MSVehicle leader,
const MSVehicle follower,
double  currentGap,
double  leaderPlannedSpeed 
)
static

Definition at line 311 of file MSLCHelper.cpp.

References MSCFModel::followSpeed(), MSVehicle::getCarFollowModel(), MSCFModel::getMaxDecel(), MSCFModel::getSecureGap(), MSVehicle::getSpeed(), MAX2(), MSCFModel::maxNextSpeed(), MSCFModel::minNextSpeed(), and SPEED2DIST.

Referenced by MSLCM_SL2015::informFollower(), and MSLCM_LC2013::informFollower().

Here is the caller graph for this function:

◆ isBidiFollower()

bool MSLCHelper::isBidiFollower ( const MSVehicle ego,
const MSVehicle follower 
)
static

Definition at line 352 of file MSLCHelper.cpp.

References MSLane::getBidiLane(), MSLane::getEdge(), MSRoute::getEdges(), MSVehicle::getLane(), MSLane::getNormalPredecessorLane(), MSLane::getNormalSuccessorLane(), and MSBaseVehicle::getRoute().

Referenced by MSLCM_LC2013::_wantsChange().

Here is the caller graph for this function:

◆ isBidiLeader()

bool MSLCHelper::isBidiLeader ( const MSVehicle leader,
const std::vector< MSLane * > &  cont 
)
static

Definition at line 334 of file MSLCHelper.cpp.

References MSLane::getBidiLane(), MSVehicle::getLane(), MSLane::getNormalPredecessorLane(), and MSLane::getNormalSuccessorLane().

Referenced by MSLCM_LC2013::_wantsChange().

Here is the caller graph for this function:

◆ updateBlockerLength()

bool MSLCHelper::updateBlockerLength ( const MSVehicle veh,
MSVehicle blocker,
int  lcaCounter,
double  leftSpace,
bool  reliefConnection,
double &  leadingBlockerLength 
)
static

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