Eclipse SUMO - Simulation of Urban MObility
MSVehicle::Influencer Class Reference

Changes the wished vehicle speed / lanes. More...

#include <MSVehicle.h>

Inheritance diagram for MSVehicle::Influencer:
[legend]
Collaboration diagram for MSVehicle::Influencer:
[legend]

Data Structures

struct  GapControlState
 Container for state and parameters of the gap control. More...
 
class  GapControlVehStateListener
 A static instance of this class in GapControlState deactivates gap control for vehicles whose reference vehicle is removed from the road network. More...
 

Public Member Functions

void activateGapController (double originalTau, double newTimeHeadway, double newSpaceHeadway, double duration, double changeRate, double maxDecel, MSVehicle *refVeh=nullptr)
 Activates the gap control with the given parameters,. More...
 
void adaptLaneTimeLine (int indexShift)
 Adapts lane timeline when moving to a new lane and the lane index changes. More...
 
double changeRequestRemainingSeconds (const SUMOTime currentTime) const
 Return the remaining number of seconds of the current laneTimeLine assuming one exists. More...
 
bool considerSafeVelocity () const
 Returns whether safe velocities shall be considered. More...
 
void deactivateGapController ()
 Deactivates the gap control. More...
 
double gapControlSpeed (SUMOTime currentTime, const SUMOVehicle *veh, double speed, double vSafe, double vMin, double vMax)
 Applies gap control logic on the speed. More...
 
bool getEmergencyBrakeRedLight () const
 Returns whether red lights shall be a reason to brake. More...
 
double getExtraImpatience () const
 return the current routing mode More...
 
int getLaneChangeMode () const
 return the current lane change mode More...
 
SUMOTime getLaneTimeLineDuration ()
 
SUMOTime getLaneTimeLineEnd ()
 
SUMOTime getLastAccessTimeStep () const
 
double getLatDist () const
 
double getOriginalSpeed () const
 Returns the originally longitudinal speed to use. More...
 
bool getRespectJunctionLeaderPriority () const
 Returns whether junction priority rules within the junction shall be respected (concerns vehicles within the junction) More...
 
bool getRespectJunctionPriority () const
 Returns whether junction priority rules shall be respected (concerns approaching vehicles outside the junction) More...
 
int getSignals () const
 
int getSpeedMode () const
 return the current speed mode More...
 
bool ignoreOverlap () const
 
double implicitDeltaPosRemote (const MSVehicle *veh)
 return the change in longitudinal position that is implicit in the new remote position More...
 
double implicitSpeedRemote (const MSVehicle *veh, double oldSpeed)
 return the speed that is implicit in the new remote position More...
 
int influenceChangeDecision (const SUMOTime currentTime, const MSEdge &currentEdge, const int currentLaneIndex, int state)
 Applies stored LaneChangeMode information and laneTimeLine. More...
 
 Influencer ()
 Constructor. More...
 
double influenceSpeed (SUMOTime currentTime, double speed, double vSafe, double vMin, double vMax)
 Applies stored velocity information on the speed to use. More...
 
bool isRemoteAffected (SUMOTime t) const
 
bool isRemoteControlled () const
 
void postProcessRemoteControl (MSVehicle *v)
 update position from remote control More...
 
void resetLatDist ()
 
void setExtraImpatience (double value)
 Sets routing behavior. More...
 
void setLaneChangeMode (int value)
 Sets lane changing behavior. More...
 
void setLaneTimeLine (const std::vector< std::pair< SUMOTime, int > > &laneTimeLine)
 Sets a new lane timeline. More...
 
void setOriginalSpeed (double speed)
 Stores the originally longitudinal speed. More...
 
void setRemoteControlled (Position xyPos, MSLane *l, double pos, double posLat, double angle, int edgeOffset, const ConstMSEdgeVector &route, SUMOTime t)
 
void setSignals (int signals)
 
void setSpeedMode (int speedMode)
 Sets speed-constraining behaviors. More...
 
void setSpeedTimeLine (const std::vector< std::pair< SUMOTime, double > > &speedTimeLine)
 Sets a new velocity timeline. More...
 
void setSublaneChange (double latDist)
 Sets a new sublane-change request. More...
 
void updateRemoteControlRoute (MSVehicle *v)
 update route if provided by remote control More...
 
 ~Influencer ()
 Destructor. More...
 

Static Public Member Functions

static void cleanup ()
 Static cleanup. More...
 
static void init ()
 Static initalization. More...
 

Protected Attributes

double myExtraImpatience = 0
 dynamic impatience offset More...
 

Private Attributes

bool myConsiderMaxAcceleration
 Whether the maximum acceleration shall be regarded. More...
 
bool myConsiderMaxDeceleration
 Whether the maximum deceleration shall be regarded. More...
 
bool myConsiderSafeVelocity
 Whether the safe velocity shall be regarded. More...
 
bool myEmergencyBrakeRedLight
 Whether red lights are a reason to brake. More...
 
std::shared_ptr< GapControlStatemyGapControlState
 The gap control state. More...
 
std::vector< std::pair< SUMOTime, int > > myLaneTimeLine
 The lane usage time line to apply. More...
 
SUMOTime myLastRemoteAccess
 
double myLatDist
 The requested lateral change. More...
 
double myOriginalSpeed
 The velocity before influence. More...
 
double myRemoteAngle
 
int myRemoteEdgeOffset
 
MSLanemyRemoteLane
 
double myRemotePos
 
double myRemotePosLat
 
ConstMSEdgeVector myRemoteRoute
 
Position myRemoteXYPos
 
bool myRespectJunctionLeaderPriority
 Whether the junction priority rules are respected (within) More...
 
bool myRespectJunctionPriority
 Whether the junction priority rules are respected (approaching) More...
 
bool mySpeedAdaptationStarted
 Whether influencing the speed has already started. More...
 
std::vector< std::pair< SUMOTime, double > > mySpeedTimeLine
 The velocity time line to apply. More...
 
Flags for managing conflicts between the laneChangeModel and TraCI laneTimeLine
LaneChangeMode myStrategicLC
 lane changing which is necessary to follow the current route More...
 
LaneChangeMode myCooperativeLC
 lane changing with the intent to help other vehicles More...
 
LaneChangeMode mySpeedGainLC
 lane changing to travel with higher speed More...
 
LaneChangeMode myRightDriveLC
 changing to the rightmost lane More...
 
LaneChangeMode mySublaneLC
 changing to the prefered lateral alignment More...
 
TraciLaneChangePriority myTraciLaneChangePriority
 flags for determining the priority of traci lane change requests More...
 
int myTraCISignals
 

Detailed Description

Changes the wished vehicle speed / lanes.

The class is used for passing velocities or velocity profiles obtained via TraCI to the vehicle. The speed adaptation is controlled by the stored speedTimeLine Additionally, the variables myConsiderSafeVelocity, myConsiderMaxAcceleration, and myConsiderMaxDeceleration control whether the safe velocity, the maximum acceleration, and the maximum deceleration have to be regarded.

Furthermore this class is used to affect lane changing decisions according to LaneChangeMode and any given laneTimeLine

Definition at line 1356 of file MSVehicle.h.

Constructor & Destructor Documentation

◆ Influencer()

MSVehicle::Influencer::Influencer ( )

Constructor.

Definition at line 364 of file MSVehicle.cpp.

◆ ~Influencer()

MSVehicle::Influencer::~Influencer ( )

Destructor.

Definition at line 386 of file MSVehicle.cpp.

Member Function Documentation

◆ activateGapController()

void MSVehicle::Influencer::activateGapController ( double  originalTau,
double  newTimeHeadway,
double  newSpaceHeadway,
double  duration,
double  changeRate,
double  maxDecel,
MSVehicle refVeh = nullptr 
)

Activates the gap control with the given parameters,.

See also
GapControlState

Definition at line 405 of file MSVehicle.cpp.

Referenced by LIBSUMO_NAMESPACE::Vehicle::openGap(), and MSDevice_ToC::requestToC().

Here is the caller graph for this function:

◆ adaptLaneTimeLine()

void MSVehicle::Influencer::adaptLaneTimeLine ( int  indexShift)

Adapts lane timeline when moving to a new lane and the lane index changes.

Parameters
[in]indexShiftThe change in laneIndex

Definition at line 426 of file MSVehicle.cpp.

Referenced by MSVehicle::enterLaneAtMove().

Here is the caller graph for this function:

◆ changeRequestRemainingSeconds()

double MSVehicle::Influencer::changeRequestRemainingSeconds ( const SUMOTime  currentTime) const

Return the remaining number of seconds of the current laneTimeLine assuming one exists.

Parameters
[in]currentTimeThe current simulation time
Returns
The remaining seconds to change lanes

Definition at line 772 of file MSVehicle.cpp.

References STEPS2TIME.

Referenced by MSLCM_LC2013::_wantsChange(), and MSLCM_SL2015::_wantsChangeSublane().

Here is the caller graph for this function:

◆ cleanup()

void MSVehicle::Influencer::cleanup ( )
static

Static cleanup.

Definition at line 394 of file MSVehicle.cpp.

Referenced by MSNet::cleanupStatic().

Here is the caller graph for this function:

◆ considerSafeVelocity()

bool MSVehicle::Influencer::considerSafeVelocity ( ) const
inline

Returns whether safe velocities shall be considered.

Definition at line 1542 of file MSVehicle.h.

References myConsiderSafeVelocity.

Referenced by MSVehicle::planMoveInternal().

Here is the caller graph for this function:

◆ deactivateGapController()

void MSVehicle::Influencer::deactivateGapController ( )

Deactivates the gap control.

Definition at line 413 of file MSVehicle.cpp.

Referenced by LIBSUMO_NAMESPACE::Vehicle::deactivateGapControl(), and MSDevice_ToC::setState().

Here is the caller graph for this function:

◆ gapControlSpeed()

double MSVehicle::Influencer::gapControlSpeed ( SUMOTime  currentTime,
const SUMOVehicle veh,
double  speed,
double  vSafe,
double  vMin,
double  vMax 
)

Applies gap control logic on the speed.

The given speed is assumed to be the non-influenced speed from longitudinal control. It is stored for further usage in "myOriginalSpeed".

Parameters
[in]currentTimeThe current simulation time
[in]vehThe controlled vehicle
[in]speedThe undisturbed speed
[in]vSafeThe safe velocity
[in]vMinThe minimum velocity
[in]vMaxThe maximum simulation time
Returns
The speed to use (<=speed)

Definition at line 513 of file MSVehicle.cpp.

References DEBUG_COND2, MSCFModel::followSpeed(), MSVehicle::getBrakeGap(), MSVehicleType::getCarFollowModel(), MSVehicle::getDistanceToPosition(), MSCFModel::getHeadwayTime(), MSVehicle::getLane(), MSVehicle::getLeader(), MSBaseVehicle::getLength(), MSVehicleType::getMinGap(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), SUMOTrafficObject::getSpeed(), MSBaseVehicle::getVehicleType(), MAX2(), MIN2(), MSCFModel::setHeadwayTime(), SIMSTEP, and TS.

Referenced by MSVehicle::planMoveInternal().

Here is the caller graph for this function:

◆ getEmergencyBrakeRedLight()

bool MSVehicle::Influencer::getEmergencyBrakeRedLight ( ) const
inline

Returns whether red lights shall be a reason to brake.

Returns
Whether red lights shall be a reason to brake

Definition at line 1528 of file MSVehicle.h.

References myEmergencyBrakeRedLight.

Referenced by MSVehicle::ignoreRed(), and MSVehicle::processLaneAdvances().

Here is the caller graph for this function:

◆ getExtraImpatience()

double MSBaseVehicle::BaseInfluencer::getExtraImpatience ( ) const
inlineinherited

return the current routing mode

Definition at line 895 of file MSBaseVehicle.h.

References MSBaseVehicle::BaseInfluencer::myExtraImpatience.

◆ getLaneChangeMode()

int MSVehicle::Influencer::getLaneChangeMode ( ) const

return the current lane change mode

Definition at line 451 of file MSVehicle.cpp.

Referenced by MSDevice_ToC::deactivateDeliberateLCs().

Here is the caller graph for this function:

◆ getLaneTimeLineDuration()

SUMOTime MSVehicle::Influencer::getLaneTimeLineDuration ( )

Definition at line 461 of file MSVehicle.cpp.

Referenced by MSLaneChanger::changeOpposite().

Here is the caller graph for this function:

◆ getLaneTimeLineEnd()

SUMOTime MSVehicle::Influencer::getLaneTimeLineEnd ( )

Definition at line 474 of file MSVehicle.cpp.

◆ getLastAccessTimeStep()

SUMOTime MSVehicle::Influencer::getLastAccessTimeStep ( ) const
inline

Definition at line 1566 of file MSVehicle.h.

References myLastRemoteAccess.

Referenced by MSVehicle::wasRemoteControlled().

Here is the caller graph for this function:

◆ getLatDist()

double MSVehicle::Influencer::getLatDist ( ) const
inline

Definition at line 1594 of file MSVehicle.h.

References myLatDist.

Referenced by MSLCM_SL2015::checkBlocking(), MSAbstractLaneChangeModel::checkTraCICommands(), and MSLCM_SL2015::keepLatGap().

Here is the caller graph for this function:

◆ getOriginalSpeed()

double MSVehicle::Influencer::getOriginalSpeed ( ) const

Returns the originally longitudinal speed to use.

Returns
The speed given before influence or -1 if no influence is active

Definition at line 666 of file MSVehicle.cpp.

Referenced by MSVehicle::getSpeedWithoutTraciInfluence(), and MSVehicle::processTraCISpeedControl().

Here is the caller graph for this function:

◆ getRespectJunctionLeaderPriority()

bool MSVehicle::Influencer::getRespectJunctionLeaderPriority ( ) const
inline

Returns whether junction priority rules within the junction shall be respected (concerns vehicles within the junction)

Returns
Whether within-junction priority rules be respected

Definition at line 1536 of file MSVehicle.h.

References myRespectJunctionLeaderPriority.

Referenced by MSVehicle::checkLinkLeaderCurrentAndParallel().

Here is the caller graph for this function:

◆ getRespectJunctionPriority()

bool MSVehicle::Influencer::getRespectJunctionPriority ( ) const
inline

Returns whether junction priority rules shall be respected (concerns approaching vehicles outside the junction)

Returns
Whether junction priority rules be respected

Definition at line 1520 of file MSVehicle.h.

References myRespectJunctionPriority.

Referenced by MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), and MSVehicle::processLinkApproaches().

Here is the caller graph for this function:

◆ getSignals()

int MSVehicle::Influencer::getSignals ( ) const
inline

Definition at line 1590 of file MSVehicle.h.

References myTraCISignals.

Referenced by MSVehicle::setBlinkerInformation().

Here is the caller graph for this function:

◆ getSpeedMode()

int MSVehicle::Influencer::getSpeedMode ( ) const

return the current speed mode

Definition at line 439 of file MSVehicle.cpp.

◆ ignoreOverlap()

bool MSVehicle::Influencer::ignoreOverlap ( ) const
inline

Definition at line 1602 of file MSVehicle.h.

References MSVehicle::LCP_ALWAYS, and myTraciLaneChangePriority.

Referenced by MSLCM_SL2015::checkBlocking().

Here is the caller graph for this function:

◆ implicitDeltaPosRemote()

double MSVehicle::Influencer::implicitDeltaPosRemote ( const MSVehicle veh)

return the change in longitudinal position that is implicit in the new remote position

Definition at line 949 of file MSVehicle.cpp.

References DIST2SPEED, Position::distanceTo2D(), MSVehicle::getDistanceToPosition(), Named::getID(), MSBaseVehicle::getMaxSpeed(), MSVehicle::getPosition(), MIN2(), SIMSTEP, SPEED2DIST, time2string(), TL, and WRITE_WARNINGF.

Referenced by MSVehicle::updateState().

Here is the caller graph for this function:

◆ implicitSpeedRemote()

double MSVehicle::Influencer::implicitSpeedRemote ( const MSVehicle veh,
double  oldSpeed 
)

return the speed that is implicit in the new remote position

Definition at line 921 of file MSVehicle.cpp.

References DIST2SPEED, Position::distanceTo2D(), MSVehicle::getCarFollowModel(), MSVehicle::getDistanceToPosition(), MSVehicle::getLane(), MSBaseVehicle::getMaxSpeed(), MSVehicle::getPosition(), MSLane::getVehicleMaxSpeed(), Position::INVALID, MAX2(), MIN2(), and MSCFModel::minNextSpeedEmergency().

Referenced by MSVehicle::processTraCISpeedControl().

Here is the caller graph for this function:

◆ influenceChangeDecision()

int MSVehicle::Influencer::influenceChangeDecision ( const SUMOTime  currentTime,
const MSEdge currentEdge,
const int  currentLaneIndex,
int  state 
)

Applies stored LaneChangeMode information and laneTimeLine.

Parameters
[in]currentTimeThe current simulation time
[in]currentEdgeThe current edge the vehicle is on
[in]currentLaneIndexThe index of the lane the vehicle is currently on
[in]stateThe LaneChangeAction flags as computed by the laneChangeModel
Returns
The new LaneChangeAction flags to use

Definition at line 677 of file MSVehicle.cpp.

References MSEdge::getLanes(), MSVehicle::LC_ALWAYS, MSVehicle::LC_NEVER, MSVehicle::LC_NOCONFLICT, LCA_BLOCKED, LCA_COOPERATIVE, LCA_KEEPRIGHT, LCA_LEFT, LCA_OVERLAPPING, LCA_RIGHT, LCA_SPEEDGAIN, LCA_STAY, LCA_STRATEGIC, LCA_SUBLANE, LCA_TRACI, LCA_URGENT, LCA_WANTS_LANECHANGE_OR_STAY, MSVehicle::LCP_ALWAYS, MSVehicle::LCP_NOOVERLAP, MSVehicle::LCP_OPPORTUNISTIC, MSVehicle::REQUEST_HOLD, MSVehicle::REQUEST_LEFT, MSVehicle::REQUEST_NONE, MSVehicle::REQUEST_RIGHT, time2string(), TL, toString(), and WRITE_WARNINGF.

Referenced by MSVehicle::influenceChangeDecision().

Here is the caller graph for this function:

◆ influenceSpeed()

double MSVehicle::Influencer::influenceSpeed ( SUMOTime  currentTime,
double  speed,
double  vSafe,
double  vMin,
double  vMax 
)

Applies stored velocity information on the speed to use.

The given speed is assumed to be the non-influenced speed from longitudinal control. It is stored for further usage in "myOriginalSpeed".

Parameters
[in]currentTimeThe current simulation time
[in]speedThe undisturbed speed
[in]vSafeThe safe velocity
[in]vMinThe minimum velocity
[in]vMaxThe maximum simulation time
Returns
The speed to use

Definition at line 484 of file MSVehicle.cpp.

References DELTA_T, MAX2(), MIN2(), and STEPS2TIME.

Referenced by MSVehicle::planMoveInternal(), and MSVehicle::processTraCISpeedControl().

Here is the caller graph for this function:

◆ init()

void MSVehicle::Influencer::init ( )
static

Static initalization.

Definition at line 389 of file MSVehicle.cpp.

Referenced by MSNet::initStatic().

Here is the caller graph for this function:

◆ isRemoteAffected()

bool MSVehicle::Influencer::isRemoteAffected ( SUMOTime  t) const

Definition at line 821 of file MSVehicle.cpp.

References TIME2STEPS.

Referenced by MSLane::detectCollisionBetween(), GUIVehicle::drawRouteHelper(), MSVehicle::getPosition(), MSLane::handleCollisionBetween(), and MSLane::handleIntermodalCollisionBetween().

Here is the caller graph for this function:

◆ isRemoteControlled()

bool MSVehicle::Influencer::isRemoteControlled ( ) const

Definition at line 815 of file MSVehicle.cpp.

References MSNet::getCurrentTimeStep(), and MSNet::getInstance().

Referenced by MSVehicle::isRemoteControlled(), and MSVehicle::processTraCISpeedControl().

Here is the caller graph for this function:

◆ postProcessRemoteControl()

void MSVehicle::Influencer::postProcessRemoteControl ( MSVehicle v)

◆ resetLatDist()

void MSVehicle::Influencer::resetLatDist ( )
inline

Definition at line 1598 of file MSVehicle.h.

References myLatDist.

Referenced by MSAbstractLaneChangeModel::checkTraCICommands().

Here is the caller graph for this function:

◆ setExtraImpatience()

void MSBaseVehicle::BaseInfluencer::setExtraImpatience ( double  value)
inlineinherited

Sets routing behavior.

Parameters
[in]valuean enum value controlling the different modes

Definition at line 902 of file MSBaseVehicle.h.

References MSBaseVehicle::BaseInfluencer::myExtraImpatience.

Referenced by MSVehicle::updateWaitingTime().

Here is the caller graph for this function:

◆ setLaneChangeMode()

void MSVehicle::Influencer::setLaneChangeMode ( int  value)

Sets lane changing behavior.

Parameters
[in]valuea bitset controlling the different modes

Definition at line 791 of file MSVehicle.cpp.

Referenced by MSDevice_ToC::deactivateDeliberateLCs(), MSDevice_Bluelight::notifyMove(), MSDevice_ToC::resetDeliberateLCs(), and LIBSUMO_NAMESPACE::Vehicle::setLaneChangeMode().

Here is the caller graph for this function:

◆ setLaneTimeLine()

void MSVehicle::Influencer::setLaneTimeLine ( const std::vector< std::pair< SUMOTime, int > > &  laneTimeLine)

Sets a new lane timeline.

Parameters
[in]laneTimeLineThe time line of lanes to use

Definition at line 420 of file MSVehicle.cpp.

Referenced by LIBSUMO_NAMESPACE::Vehicle::changeLane(), LIBSUMO_NAMESPACE::Vehicle::changeLaneRelative(), and MSDevice_ToC::MRMExecutionStep().

Here is the caller graph for this function:

◆ setOriginalSpeed()

void MSVehicle::Influencer::setOriginalSpeed ( double  speed)

Stores the originally longitudinal speed.

Definition at line 671 of file MSVehicle.cpp.

Referenced by MSVehicle::processTraCISpeedControl().

Here is the caller graph for this function:

◆ setRemoteControlled()

void MSVehicle::Influencer::setRemoteControlled ( Position  xyPos,
MSLane l,
double  pos,
double  posLat,
double  angle,
int  edgeOffset,
const ConstMSEdgeVector route,
SUMOTime  t 
)

Definition at line 802 of file MSVehicle.cpp.

Referenced by libsumo::Helper::setRemoteControlled().

Here is the caller graph for this function:

◆ setSignals()

void MSVehicle::Influencer::setSignals ( int  signals)
inline

Definition at line 1586 of file MSVehicle.h.

References myTraCISignals.

Referenced by MSVehicle::setBlinkerInformation(), and LIBSUMO_NAMESPACE::Vehicle::setSignals().

Here is the caller graph for this function:

◆ setSpeedMode()

void MSVehicle::Influencer::setSpeedMode ( int  speedMode)

Sets speed-constraining behaviors.

Parameters
[in]valuea bitset controlling the different modes

Definition at line 780 of file MSVehicle.cpp.

Referenced by MSDevice_Bluelight::notifyMove(), MSCFModel_CC::setParameter(), and LIBSUMO_NAMESPACE::Vehicle::setSpeedMode().

Here is the caller graph for this function:

◆ setSpeedTimeLine()

void MSVehicle::Influencer::setSpeedTimeLine ( const std::vector< std::pair< SUMOTime, double > > &  speedTimeLine)

Sets a new velocity timeline.

Parameters
[in]speedTimeLineThe time line of speeds to use

Definition at line 399 of file MSVehicle.cpp.

Referenced by MSDevice_GLOSA::adaptSpeed(), MSDevice_ToC::MRMExecutionStep(), MSDevice_Bluelight::notifyMove(), LIBSUMO_NAMESPACE::Vehicle::setAcceleration(), LIBSUMO_NAMESPACE::Vehicle::setSpeed(), and LIBSUMO_NAMESPACE::Vehicle::slowDown().

Here is the caller graph for this function:

◆ setSublaneChange()

void MSVehicle::Influencer::setSublaneChange ( double  latDist)

Sets a new sublane-change request.

Parameters
[in]latDistThe lateral distance for changing

Definition at line 434 of file MSVehicle.cpp.

Referenced by LIBSUMO_NAMESPACE::Vehicle::changeSublane(), and MSLaneChangerSublane::startChangeSublane().

Here is the caller graph for this function:

◆ updateRemoteControlRoute()

void MSVehicle::Influencer::updateRemoteControlRoute ( MSVehicle v)

update route if provided by remote control

Definition at line 827 of file MSVehicle.cpp.

References MSLane::getEdge(), MSRoute::getEdges(), Named::getID(), MSVehicle::getLane(), MSBaseVehicle::getRoute(), MSBaseVehicle::replaceRouteEdges(), SIMSTEP, toString(), and MSVehicle::updateBestLanes().

Referenced by MSVehicle::planMove().

Here is the caller graph for this function:

Field Documentation

◆ myConsiderMaxAcceleration

bool MSVehicle::Influencer::myConsiderMaxAcceleration
private

Whether the maximum acceleration shall be regarded.

Definition at line 1629 of file MSVehicle.h.

◆ myConsiderMaxDeceleration

bool MSVehicle::Influencer::myConsiderMaxDeceleration
private

Whether the maximum deceleration shall be regarded.

Definition at line 1632 of file MSVehicle.h.

◆ myConsiderSafeVelocity

bool MSVehicle::Influencer::myConsiderSafeVelocity
private

Whether the safe velocity shall be regarded.

Definition at line 1626 of file MSVehicle.h.

Referenced by considerSafeVelocity().

◆ myCooperativeLC

LaneChangeMode MSVehicle::Influencer::myCooperativeLC
private

lane changing with the intent to help other vehicles

Definition at line 1657 of file MSVehicle.h.

◆ myEmergencyBrakeRedLight

bool MSVehicle::Influencer::myEmergencyBrakeRedLight
private

Whether red lights are a reason to brake.

Definition at line 1638 of file MSVehicle.h.

Referenced by getEmergencyBrakeRedLight().

◆ myExtraImpatience

double MSBaseVehicle::BaseInfluencer::myExtraImpatience = 0
protectedinherited

◆ myGapControlState

std::shared_ptr<GapControlState> MSVehicle::Influencer::myGapControlState
private

The gap control state.

Definition at line 1614 of file MSVehicle.h.

◆ myLaneTimeLine

std::vector<std::pair<SUMOTime, int> > MSVehicle::Influencer::myLaneTimeLine
private

The lane usage time line to apply.

Definition at line 1611 of file MSVehicle.h.

◆ myLastRemoteAccess

SUMOTime MSVehicle::Influencer::myLastRemoteAccess
private

Definition at line 1650 of file MSVehicle.h.

Referenced by getLastAccessTimeStep().

◆ myLatDist

double MSVehicle::Influencer::myLatDist
private

The requested lateral change.

Definition at line 1620 of file MSVehicle.h.

Referenced by getLatDist(), and resetLatDist().

◆ myOriginalSpeed

double MSVehicle::Influencer::myOriginalSpeed
private

The velocity before influence.

Definition at line 1617 of file MSVehicle.h.

◆ myRemoteAngle

double MSVehicle::Influencer::myRemoteAngle
private

Definition at line 1647 of file MSVehicle.h.

◆ myRemoteEdgeOffset

int MSVehicle::Influencer::myRemoteEdgeOffset
private

Definition at line 1648 of file MSVehicle.h.

◆ myRemoteLane

MSLane* MSVehicle::Influencer::myRemoteLane
private

Definition at line 1644 of file MSVehicle.h.

◆ myRemotePos

double MSVehicle::Influencer::myRemotePos
private

Definition at line 1645 of file MSVehicle.h.

◆ myRemotePosLat

double MSVehicle::Influencer::myRemotePosLat
private

Definition at line 1646 of file MSVehicle.h.

◆ myRemoteRoute

ConstMSEdgeVector MSVehicle::Influencer::myRemoteRoute
private

Definition at line 1649 of file MSVehicle.h.

◆ myRemoteXYPos

Position MSVehicle::Influencer::myRemoteXYPos
private

Definition at line 1643 of file MSVehicle.h.

◆ myRespectJunctionLeaderPriority

bool MSVehicle::Influencer::myRespectJunctionLeaderPriority
private

Whether the junction priority rules are respected (within)

Definition at line 1641 of file MSVehicle.h.

Referenced by getRespectJunctionLeaderPriority().

◆ myRespectJunctionPriority

bool MSVehicle::Influencer::myRespectJunctionPriority
private

Whether the junction priority rules are respected (approaching)

Definition at line 1635 of file MSVehicle.h.

Referenced by getRespectJunctionPriority().

◆ myRightDriveLC

LaneChangeMode MSVehicle::Influencer::myRightDriveLC
private

changing to the rightmost lane

Definition at line 1661 of file MSVehicle.h.

◆ mySpeedAdaptationStarted

bool MSVehicle::Influencer::mySpeedAdaptationStarted
private

Whether influencing the speed has already started.

Definition at line 1623 of file MSVehicle.h.

◆ mySpeedGainLC

LaneChangeMode MSVehicle::Influencer::mySpeedGainLC
private

lane changing to travel with higher speed

Definition at line 1659 of file MSVehicle.h.

◆ mySpeedTimeLine

std::vector<std::pair<SUMOTime, double> > MSVehicle::Influencer::mySpeedTimeLine
private

The velocity time line to apply.

Definition at line 1608 of file MSVehicle.h.

◆ myStrategicLC

LaneChangeMode MSVehicle::Influencer::myStrategicLC
private

lane changing which is necessary to follow the current route

Definition at line 1655 of file MSVehicle.h.

◆ mySublaneLC

LaneChangeMode MSVehicle::Influencer::mySublaneLC
private

changing to the prefered lateral alignment

Definition at line 1663 of file MSVehicle.h.

◆ myTraciLaneChangePriority

TraciLaneChangePriority MSVehicle::Influencer::myTraciLaneChangePriority
private

flags for determining the priority of traci lane change requests

Definition at line 1666 of file MSVehicle.h.

Referenced by ignoreOverlap().

◆ myTraCISignals

int MSVehicle::Influencer::myTraCISignals
private

Definition at line 1669 of file MSVehicle.h.

Referenced by getSignals(), and setSignals().


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