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 1352 of file MSVehicle.h.

Constructor & Destructor Documentation

◆ Influencer()

MSVehicle::Influencer::Influencer ( )

Constructor.

Definition at line 363 of file MSVehicle.cpp.

◆ ~Influencer()

MSVehicle::Influencer::~Influencer ( )

Destructor.

Definition at line 385 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 404 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 425 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 771 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 393 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 1538 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 412 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 512 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 1524 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 877 of file MSBaseVehicle.h.

References MSBaseVehicle::BaseInfluencer::myExtraImpatience.

◆ getLaneChangeMode()

int MSVehicle::Influencer::getLaneChangeMode ( ) const

return the current lane change mode

Definition at line 450 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 460 of file MSVehicle.cpp.

Referenced by MSLaneChanger::changeOpposite().

Here is the caller graph for this function:

◆ getLaneTimeLineEnd()

SUMOTime MSVehicle::Influencer::getLaneTimeLineEnd ( )

Definition at line 473 of file MSVehicle.cpp.

◆ getLastAccessTimeStep()

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

Definition at line 1562 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 1590 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 665 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 1532 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 1516 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 1586 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 438 of file MSVehicle.cpp.

◆ ignoreOverlap()

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

Definition at line 1598 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 947 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 919 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 676 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 483 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 388 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 820 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 814 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 1594 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 884 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 790 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 419 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 670 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 801 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 1582 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 779 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 398 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 433 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 826 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 1625 of file MSVehicle.h.

◆ myConsiderMaxDeceleration

bool MSVehicle::Influencer::myConsiderMaxDeceleration
private

Whether the maximum deceleration shall be regarded.

Definition at line 1628 of file MSVehicle.h.

◆ myConsiderSafeVelocity

bool MSVehicle::Influencer::myConsiderSafeVelocity
private

Whether the safe velocity shall be regarded.

Definition at line 1622 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 1653 of file MSVehicle.h.

◆ myEmergencyBrakeRedLight

bool MSVehicle::Influencer::myEmergencyBrakeRedLight
private

Whether red lights are a reason to brake.

Definition at line 1634 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 1610 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 1607 of file MSVehicle.h.

◆ myLastRemoteAccess

SUMOTime MSVehicle::Influencer::myLastRemoteAccess
private

Definition at line 1646 of file MSVehicle.h.

Referenced by getLastAccessTimeStep().

◆ myLatDist

double MSVehicle::Influencer::myLatDist
private

The requested lateral change.

Definition at line 1616 of file MSVehicle.h.

Referenced by getLatDist(), and resetLatDist().

◆ myOriginalSpeed

double MSVehicle::Influencer::myOriginalSpeed
private

The velocity before influence.

Definition at line 1613 of file MSVehicle.h.

◆ myRemoteAngle

double MSVehicle::Influencer::myRemoteAngle
private

Definition at line 1643 of file MSVehicle.h.

◆ myRemoteEdgeOffset

int MSVehicle::Influencer::myRemoteEdgeOffset
private

Definition at line 1644 of file MSVehicle.h.

◆ myRemoteLane

MSLane* MSVehicle::Influencer::myRemoteLane
private

Definition at line 1640 of file MSVehicle.h.

◆ myRemotePos

double MSVehicle::Influencer::myRemotePos
private

Definition at line 1641 of file MSVehicle.h.

◆ myRemotePosLat

double MSVehicle::Influencer::myRemotePosLat
private

Definition at line 1642 of file MSVehicle.h.

◆ myRemoteRoute

ConstMSEdgeVector MSVehicle::Influencer::myRemoteRoute
private

Definition at line 1645 of file MSVehicle.h.

◆ myRemoteXYPos

Position MSVehicle::Influencer::myRemoteXYPos
private

Definition at line 1639 of file MSVehicle.h.

◆ myRespectJunctionLeaderPriority

bool MSVehicle::Influencer::myRespectJunctionLeaderPriority
private

Whether the junction priority rules are respected (within)

Definition at line 1637 of file MSVehicle.h.

Referenced by getRespectJunctionLeaderPriority().

◆ myRespectJunctionPriority

bool MSVehicle::Influencer::myRespectJunctionPriority
private

Whether the junction priority rules are respected (approaching)

Definition at line 1631 of file MSVehicle.h.

Referenced by getRespectJunctionPriority().

◆ myRightDriveLC

LaneChangeMode MSVehicle::Influencer::myRightDriveLC
private

changing to the rightmost lane

Definition at line 1657 of file MSVehicle.h.

◆ mySpeedAdaptationStarted

bool MSVehicle::Influencer::mySpeedAdaptationStarted
private

Whether influencing the speed has already started.

Definition at line 1619 of file MSVehicle.h.

◆ mySpeedGainLC

LaneChangeMode MSVehicle::Influencer::mySpeedGainLC
private

lane changing to travel with higher speed

Definition at line 1655 of file MSVehicle.h.

◆ mySpeedTimeLine

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

The velocity time line to apply.

Definition at line 1604 of file MSVehicle.h.

◆ myStrategicLC

LaneChangeMode MSVehicle::Influencer::myStrategicLC
private

lane changing which is necessary to follow the current route

Definition at line 1651 of file MSVehicle.h.

◆ mySublaneLC

LaneChangeMode MSVehicle::Influencer::mySublaneLC
private

changing to the prefered lateral alignment

Definition at line 1659 of file MSVehicle.h.

◆ myTraciLaneChangePriority

TraciLaneChangePriority MSVehicle::Influencer::myTraciLaneChangePriority
private

flags for determining the priority of traci lane change requests

Definition at line 1662 of file MSVehicle.h.

Referenced by ignoreOverlap().

◆ myTraCISignals

int MSVehicle::Influencer::myTraCISignals
private

Definition at line 1665 of file MSVehicle.h.

Referenced by getSignals(), and setSignals().


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