Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MSVehicle Class Reference

Representation of a vehicle in the micro simulation. More...

#include <MSVehicle.h>

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

Data Structures

struct  DriveProcessItem
 Drive process items represent bounds on the safe velocity corresponding to the upcoming links. More...
 
class  Influencer
 Changes the wished vehicle speed / lanes. More...
 
struct  LaneQ
 A structure representing the best lanes for continuing the current route starting at 'lane'. More...
 
class  Manoeuvre
 Container for manouevering time associated with stopping. More...
 
class  State
 Container that holds the vehicles driving state (position+speed). More...
 
class  WaitingTimeCollector
 Stores the waiting intervals over the previous seconds (memory is to be specified in ms.). More...
 

Public Types

enum  ChangeRequest { REQUEST_NONE , REQUEST_LEFT , REQUEST_RIGHT , REQUEST_HOLD }
 Requests set via TraCI. More...
 
enum  ManoeuvreType { MANOEUVRE_ENTRY , MANOEUVRE_EXIT , MANOEUVRE_NONE }
 flag identifying which, if any, manoeuvre is in progress More...
 
typedef long long int NumericalID
 
enum  RouteValidity {
  ROUTE_VALID = 0 , ROUTE_UNCHECKED = 1 << 0 , ROUTE_INVALID = 1 << 1 , ROUTE_START_INVALID_PERMISSIONS = 1 << 2 ,
  ROUTE_START_INVALID_LANE = 1 << 3
}
 

Public Member Functions

double accelThresholdForWaiting () const
 maximum acceleration to consider a vehicle as 'waiting' at low speed
 
virtual void activateReminders (const MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
 "Activates" all current move reminder
 
void adaptToJunctionLeader (const std::pair< const MSVehicle *, double > leaderInfo, const double seen, DriveProcessItem *const lastLink, const MSLane *const lane, double &v, double &vLinkPass, double distToCrossing=-1) const
 
void adaptToOncomingLeader (const std::pair< const MSVehicle *, double > leaderInfo, DriveProcessItem *const lastLink, double &v, double &vLinkPass) const
 
void addReminder (MSMoveReminder *rem)
 Adds a MoveReminder dynamically.
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container.
 
void addToOdometer (double value)
 Manipulate the odometer.
 
bool addTraciStop (SUMOVehicleParameter::Stop stop, std::string &errorMsg)
 
void addTransportable (MSTransportable *transportable)
 Adds a person or container to this vehicle.
 
bool allowsBoarding (const MSTransportable *t) const
 whether the given transportable is allowed to board this vehicle
 
void checkLinkLeader (const MSLink *link, const MSLane *lane, double seen, DriveProcessItem *const lastLink, double &v, double &vLinkPass, double &vLinkWait, bool &setRequest, bool isShadowLink=false) const
 checks for link leaders on the given link
 
void createDevice (const std::string &deviceName)
 create device of the given type
 
void fixPosition ()
 repair errors in vehicle position after changing between internal edges
 
virtual int getArrivalLane () const
 
virtual double getArrivalPos () const
 Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
 
const Position getBackPosition () const
 
BaseInfluencergetBaseInfluencer ()
 Returns the velocity/lane influencer.
 
const BaseInfluencergetBaseInfluencer () const
 
PositionVector getBoundingBox (double offset=0) const
 get bounding rectangle
 
PositionVector getBoundingPoly (double offset=0) const
 get bounding polygon
 
double getBrakeGap (bool delayed=false) const
 get distance for coming to a stop (used for rerouting checks)
 
const MSCFModelgetCarFollowModel () const
 Returns the vehicle's car following model definition.
 
MSCFModel::VehicleVariablesgetCarFollowVariables () const
 Returns the vehicle's car following model variables.
 
double getChosenSpeedFactor () const
 Returns the precomputed factor by which the driver wants to be faster than the speed limit.
 
int getContainerNumber () const
 Returns the number of containers.
 
const std::vector< MSTransportable * > & getContainers () const
 retrieve riding containers
 
const MSRouteIteratorgetCurrentRouteEdge () const
 Returns an iterator pointing to the current edge in this vehicles route.
 
SUMOTime getDepartDelay () const
 Returns the depart delay.
 
double getDepartPos () const
 Returns this vehicle's real departure position.
 
SUMOTime getDeparture () const
 Returns this vehicle's real departure time.
 
MSDevicegetDevice (const std::type_info &type) const
 Returns a device of the given type if it exists, nullptr otherwise.
 
std::string getDeviceParameter (const std::string &deviceName, const std::string &key) const
 try to retrieve the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists
 
const std::vector< MSVehicleDevice * > & getDevices () const
 Returns this vehicle's devices.
 
double getDistanceToPosition (double destPos, const MSLane *destLane) const
 
std::shared_ptr< MSSimpleDriverStategetDriverState () const
 Returns the vehicle driver's state.
 
const MSEdgegetEdge () const
 Returns the edge the vehicle is currently at.
 
std::pair< const MSVehicle *const, double > getFollower (double dist=0) const
 Returns the follower of the vehicle looking for a fixed distance.
 
double getFriction () const
 Returns the current friction on the road as perceived by the friction device.
 
const std::string & getID () const
 Returns the id.
 
double getImpatience () const
 Returns this vehicles impatience.
 
InfluencergetInfluencer ()
 
const InfluencergetInfluencer () const
 
int getLaneIndex () const
 
std::pair< const MSLane *, double > getLanePosAfterDist (double distance) const
 return lane and position along bestlanes at the given distance
 
std::pair< const MSVehicle *const, double > getLeader (double dist=0) const
 Returns the leader of the vehicle looking for a fixed distance.
 
int getLeavingPersonNumber () const
 Returns the number of leaving persons.
 
double getLength () const
 Returns the vehicle's length.
 
MSVehicle::ManoeuvreType getManoeuvreType () const
 accessor function to myManoeuvre equivalent
 
double getMaxSpeed () const
 Returns the maximum speed (the minimum of desired and technical maximum speed)
 
int getNumberReroutes () const
 Returns the number of new routes this vehicle got.
 
double getOdometer () const
 Returns the distance that was already driven by this vehicle.
 
const SUMOVehicleParametergetParameter () const
 Returns the vehicle's parameter (including departure definition)
 
std::vector< std::string > getPersonIDList () const
 Returns the list of persons.
 
int getPersonNumber () const
 Returns the number of persons.
 
const std::vector< MSTransportable * > & getPersons () const
 retrieve riding persons
 
std::string getPrefixedParameter (const std::string &key, std::string &error) const
 retrieve parameters of devices, models and the vehicle itself
 
const MSLanegetPreviousLane (const MSLane *current, int &furtherIndex) const
 
virtual const MSEdgegetRerouteDestination () const
 Returns the end point for reroutes (usually the last edge of the route)
 
const MSRoutegetRoute () const
 Returns the current route.
 
int getRoutePosition () const
 return index of edge within route
 
ConstMSRoutePtr getRoutePtr () const
 Returns the current route.
 
int getRouteValidity (bool update=true, bool silent=false, std::string *msgReturn=nullptr)
 check for route validity at first insertion attempt
 
MSVehicleTypegetSingularType ()
 Replaces the current vehicle type with a new one used by this vehicle only.
 
double getSpeedWithoutTraciInfluence () const
 Returns the uninfluenced velocity.
 
double getTimeGapOnLane () const
 Returns the time gap in seconds to the leader of the vehicle on the same lane.
 
const std::set< SUMOTrafficObject::NumericalIDgetUpcomingEdgeIDs () const
 returns the numerical ids of edges to travel
 
SUMOVehicleClass getVClass () const
 Returns the vehicle's access class.
 
const MSVehicleTypegetVehicleType () const
 Returns the vehicle's type definition.
 
const SUMOVTypeParametergetVTypeParameter () const
 Returns the vehicle's type parameter.
 
double getWaitingSeconds () const
 Returns the number of seconds waited (speed was lesser than 0.1m/s)
 
double getWidth () const
 Returns the vehicle's width.
 
bool handleCollisionStop (MSStop &stop, const double distToStop)
 
bool hasDeparted () const
 Returns whether this vehicle has already departed.
 
bool hasDevice (const std::string &deviceName) const
 check whether the vehicle is equiped with a device of the given name
 
bool hasDriverState () const
 Whether this vehicle is equipped with a MSDriverState.
 
bool hasInfluencer () const
 whether the vehicle is individually influenced (via TraCI or special parameters)
 
bool hasJump (const MSRouteIterator &it) const
 check wether the vehicle has jump at the given part of its route
 
bool hasValidRoute (std::string &msg, ConstMSRoutePtr route=0) const
 Validates the current or given route.
 
bool hasValidRouteStart (std::string &msg)
 checks wether the vehicle can depart on the first edge
 
bool ignoreCollision () const
 whether this vehicle is except from collision checks
 
bool ignoreFoe (const SUMOTrafficObject *foe) const
 decide whether a given foe object may be ignored
 
bool ignoreRed (const MSLink *link, bool canBrake) const
 decide whether a red (or yellow light) may be ignored
 
bool ignoreTransientPermissions () const
 Returns whether this object is ignoring transient permission changes (during routing)
 
int influenceChangeDecision (int state)
 allow TraCI to influence a lane change decision
 
void initDevices ()
 
virtual bool isContainer () const
 Whether it is a container.
 
bool isLeader (const MSLink *link, const MSVehicle *veh, const double gap) const
 whether the given vehicle must be followed at the given junction
 
bool isLineStop (double position) const
 returns whether the vehicle serves a public transport line that serves the given stop
 
virtual bool isPerson () const
 Whether it is a person.
 
bool isVehicle () const
 Whether it is a vehicle.
 
bool manoeuvreIsComplete () const
 accessor function to myManoeuvre equivalent
 
 MSVehicle (SUMOVehicleParameter *pars, ConstMSRoutePtr route, MSVehicleType *type, const double speedFactor)
 Constructor.
 
void onDepart ()
 Called when the vehicle is inserted into the network.
 
bool passingMinor () const
 decide whether the vehicle is passing a minor link or has comitted to do so
 
double processNextStop (double currentVelocity)
 Processes stops, returns the velocity needed to reach the stop.
 
void removeReminder (MSMoveReminder *rem)
 Removes a MoveReminder dynamically.
 
void removeTransportable (MSTransportable *t)
 removes a person or container
 
void replaceParameter (const SUMOVehicleParameter *newParameter)
 replace the vehicle parameter (deleting the old one)
 
bool replaceRouteEdges (ConstMSEdgeVector &edges, double cost, double savings, const std::string &info, bool onInit=false, bool check=false, bool removeStops=true, std::string *msgReturn=nullptr)
 Replaces the current route by the given edges.
 
void replaceVehicleType (MSVehicleType *type)
 Replaces the current vehicle type by the one given.
 
bool reroute (SUMOTime t, const std::string &info, SUMOAbstractRouter< MSEdge, SUMOVehicle > &router, const bool onInit=false, const bool withTaz=false, const bool silent=false, const MSEdge *sink=nullptr)
 Performs a rerouting using the given router.
 
bool rerouteParkingArea (const std::string &parkingAreaID, std::string &errorMsg)
 
void resetRoutePosition (int index, DepartLaneDefinition departLaneProcedure)
 reset index of edge within route
 
bool resumeFromStopping ()
 
virtual void setArrivalPos (double arrivalPos)
 Sets this vehicle's desired arrivalPos for its current route.
 
void setCarFollowModelParameter (const std::string &key, const std::string &value)
 set individual carFollow model parameters (not type related)
 
void setChosenSpeedFactor (const double factor)
 Returns the precomputed factor by which the driver wants to be faster than the speed limit.
 
void setDeviceParameter (const std::string &deviceName, const std::string &key, const std::string &value)
 try to set the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists
 
bool setExitManoeuvre ()
 accessor function to myManoeuvre equivalent
 
void setID (const std::string &newID)
 set the id (inherited from Named but forbidden for vehicles)
 
void setJunctionModelParameter (const std::string &key, const std::string &value)
 set individual junction model paramete (not type related)
 
void setManoeuvreType (const MSVehicle::ManoeuvreType mType)
 accessor function to myManoeuvre equivalent
 
void setRemoteState (Position xyPos)
 sets position outside the road network
 
bool stopsAt (MSStoppingPlace *stop) const
 Returns whether the vehicle stops at the given stopping place.
 
bool stopsAtEdge (const MSEdge *edge) const
 Returns whether the vehicle stops at the given edge.
 
const MSEdgesuccEdge (int nSuccs) const
 Returns the nSuccs'th successor of edge the vehicle is currently at.
 
bool unsafeLinkAhead (const MSLane *lane) const
 whether the vehicle may safely move to the given lane with regard to upcoming links
 
double updateFurtherLanes (std::vector< MSLane * > &furtherLanes, std::vector< double > &furtherLanesPosLat, const std::vector< MSLane * > &passedLanes)
 update a vector of further lanes and return the new backPos
 
void updateParkingState ()
 update state while parking
 
virtual ~MSVehicle ()
 Destructor.
 
insertion/removal
void onRemovalFromNet (const MSMoveReminder::Notification reason)
 Called when the vehicle is removed from the network.
 
interaction with the route
bool hasArrived () const
 Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge)
 
bool replaceRoute (ConstMSRoutePtr route, const std::string &info, bool onInit=false, int offset=0, bool addStops=true, bool removeStops=true, std::string *msgReturn=nullptr)
 Replaces the current route by the given one.
 
state setter/getter
double getPositionOnLane () const
 Get the vehicle's position along the lane.
 
double getLastStepDist () const
 Get the distance the vehicle covered in the previous timestep.
 
double getPositionOnLane (const MSLane *lane) const
 Get the vehicle's front position relative to the given lane.
 
double getBackPositionOnLane (const MSLane *lane) const
 Get the vehicle's position relative to the given lane.
 
double getBackPositionOnLane () const
 Get the vehicle's position relative to its current lane.
 
double getLateralPositionOnLane () const
 Get the vehicle's lateral position on the lane.
 
void setLateralPositionOnLane (double posLat)
 
void invalidateCachedPosition ()
 
double getRightSideOnLane () const
 Get the lateral position of the vehicles right side on the lane:
 
double getLeftSideOnLane () const
 Get the lateral position of the vehicles left side on the lane:
 
double getRightSideOnLane (const MSLane *lane) const
 Get the lateral position of the vehicles right side on the lane:
 
double getLeftSideOnLane (const MSLane *lane) const
 Get the lateral position of the vehicles left side on the lane:
 
double lateralDistanceToLane (const int offset) const
 Get the minimal lateral distance required to move fully onto the lane at given offset.
 
double getLateralOverlap () const
 return the amount by which the vehicle extends laterally outside it's primary lane
 
double getLateralOverlap (const MSLane *lane) const
 
double getLateralOverlap (double posLat, const MSLane *lane) const
 
double getLeftSideOnEdge (const MSLane *lane=0) const
 Get the vehicle's lateral position on the edge of the given lane (or its current edge if lane == 0)
 
double getRightSideOnEdge (const MSLane *lane=0) const
 Get the vehicle's lateral position on the edge of the given lane (or its current edge if lane == 0)
 
double getCenterOnEdge (const MSLane *lane=0) const
 Get the vehicle's lateral position on the edge of the given lane (or its current edge if lane == 0)
 
double getLatOffset (const MSLane *lane) const
 Get the offset that that must be added to interpret myState.myPosLat for the given lane.
 
double getSpeed () const
 Returns the vehicle's current speed.
 
double getPreviousSpeed () const
 Returns the vehicle's speed before the previous time step.
 
void setPreviousSpeed (double prevSpeed, double prevAcceleration)
 Sets the influenced previous speed.
 
double getAcceleration () const
 Returns the vehicle's acceleration in m/s (this is computed as the last step's mean acceleration in case that a stop occurs within the middle of the time-step)
 
double getCurrentApparentDecel () const
 get apparent deceleration based on vType parameters and current acceleration
 
SUMOTime getActionStepLength () const
 Returns the vehicle's action step length in millisecs, i.e. the interval between two action points.
 
double getActionStepLengthSecs () const
 Returns the vehicle's action step length in secs, i.e. the interval between two action points.
 
SUMOTime getLastActionTime () const
 Returns the time of the vehicle's last action point.
 
strategical/tactical lane choosing methods
const std::vector< LaneQ > & getBestLanes () const
 Returns the description of best lanes to use in order to continue the route.
 
void updateBestLanes (bool forceRebuild=false, const MSLane *startLane=0)
 computes the best lanes to use in order to continue the route
 
void updateLaneBruttoSum ()
 Update the lane brutto occupancy after a change in minGap.
 
const std::vector< MSLane * > & getBestLanesContinuation () const
 Returns the best sequence of lanes to continue the route starting at myLane.
 
const std::vector< MSLane * > & getBestLanesContinuation (const MSLane *const l) const
 Returns the best sequence of lanes to continue the route starting at the given lane.
 
const std::vector< const MSLane * > getUpcomingLanesUntil (double distance) const
 Returns the upcoming (best followed by default 0) sequence of lanes to continue the route starting at the current lane.
 
const std::vector< const MSLane * > getPastLanesUntil (double distance) const
 Returns the sequence of past lanes (right-most on edge) based on the route starting at the current lane.
 
const std::vector< MSLane * > getUpstreamOppositeLanes () const
 Returns the sequence of opposite lanes corresponding to past lanes.
 
int getBestLaneOffset () const
 
double getBestLaneDist () const
 returns the distance that can be driven without lane change
 
void adaptBestLanesOccupation (int laneIndex, double density)
 update occupation from MSLaneChanger
 
vehicle stops definitions and i/o
SUMOTime remainingStopDuration () const
 Returns the remaining stop duration for a stopped vehicle or 0.
 
bool willStop () const
 Returns whether the vehicle will stop on the current edge.
 
bool isStoppedOnLane () const
 
bool keepStopping (bool afterProcessing=false) const
 Returns whether the vehicle is stopped and must continue to do so.
 
SUMOTime collisionStopTime () const
 Returns the remaining time a vehicle needs to stop due to a collision. A negative value indicates that the vehicle is not stopping due to a collision (or at all)
 
bool brokeDown () const
 Returns how long the vehicle has been stopped already due to lack of energy.
 
bool isRemoteControlled () const
 Returns the information whether the vehicle is fully controlled via TraCI.
 
bool wasRemoteControlled (SUMOTime lookBack=DELTA_T) const
 Returns the information whether the vehicle is fully controlled via TraCI within the lookBack time.
 
double nextStopDist () const
 return the distance to the next stop or doubleMax if there is none.
 
state io
void saveState (OutputDevice &out)
 Saves the states of a vehicle.
 
void loadState (const SUMOSAXAttributes &attrs, const SUMOTime offset)
 Loads the state of this vehicle from the given description.
 
void loadPreviousApproaching (MSLink *link, bool setRequest, SUMOTime arrivalTime, double arrivalSpeed, double arrivalSpeedBraking, double dist, double leaveSpeed)
 
Helper methods for parsing parameters from the object itself, it's type or the global OptionsCont
std::string getStringParam (const std::string &paramName, const bool required=false, const std::string &deflt="") const
 Retrieve a string parameter for the traffic object.
 
double getFloatParam (const std::string &paramName, const bool required=false, const double deflt=INVALID_DOUBLE) const
 Retrieve a floating point parameter for the traffic object.
 
bool getBoolParam (const std::string &paramName, const bool required=false, const bool deflt=false) const
 Retrieve a boolean parameter for the traffic object.
 
SUMOTime getTimeParam (const std::string &paramName, const bool required=false, const SUMOTime deflt=SUMOTime_MIN) const
 Retrieve a time parameter for the traffic object.
 

Static Public Member Functions

template<class T >
static std::string getIDSecure (const T *obj, const std::string &fallBack="NULL")
 get an identifier for Named-like object which may be Null
 
static int nextLinkPriority (const std::vector< MSLane * > &conts)
 get a numerical value for the priority of the upcoming link
 

Data Fields

Manoeuvre myManoeuvre
 

Protected Types

typedef std::vector< DriveProcessItemDriveItemVector
 Container for used Links/visited Lanes during planMove() and executeMove.
 

Protected Member Functions

void adaptToLeader (const std::pair< const MSVehicle *, double > leaderInfo, double seen, DriveProcessItem *const lastLink, double &v, double &vLinkPass) const
 
void adaptToLeaderDistance (const MSLeaderDistanceInfo &ahead, double latOffset, double seen, DriveProcessItem *const lastLink, double &v, double &vLinkPass) const
 
void adaptToLeaders (const MSLeaderInfo &ahead, double latOffset, const double seen, DriveProcessItem *const lastLink, const MSLane *const lane, double &v, double &vLinkPass) const
 
bool betterContinuation (const LaneQ *bestConnectedNext, const LaneQ &m) const
 comparison between different continuations from the same lane
 
void boardTransportables (MSStop &stop)
 board persons and load transportables at the given stop
 
bool brakeForOverlap (const MSLink *link, const MSLane *lane) const
 handle with transitions
 
void checkLinkLeaderCurrentAndParallel (const MSLink *link, const MSLane *lane, double seen, DriveProcessItem *const lastLink, double &v, double &vLinkPass, double &vLinkWait, bool &setRequest) const
 checks for link leaders of the current link as well as the parallel link (if there is one)
 
double checkReversal (bool &canReverse, double speedThreshold=SUMO_const_haltingSpeed, double seen=0) const
 
void checkRewindLinkLanes (const double lengthsInFront, DriveItemVector &lfLinks) const
 runs heuristic for keeping the intersection clear in case of downstream jamming
 
void cleanupFurtherLanes ()
 remove vehicle from further lanes (on leaving the network)
 
void computeFurtherLanes (MSLane *enteredLane, double pos, bool collision=false)
 updates myFurtherLanes on lane insertion or after collision
 
virtual void drawOutsideNetwork (bool)
 register vehicle for drawing while outside the network
 
std::pair< double, double > estimateTimeToNextStop () const
 return time (s) and distance to the next stop
 
SUMOTime getArrivalTime (SUMOTime t, double seen, double v, double arrivalSpeed) const
 
double getBackPositionOnLane (const MSLane *lane, bool calledByGetPosition) const
 
double getDistanceToLeaveJunction () const
 get the distance from the start of this lane to the start of the next normal lane (or 0 if this lane is a normal lane)
 
bool hasArrivedInternal (bool oppositeTransformed=true) const
 Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge) method is called in the context of excecuteMove where opposite-direction vehicles are transformed temporarily to their forward lane and additional opposite-direction driving checks do not apply.
 
void interpolateLateralZ (Position &pos, double offset, double posLat) const
 perform lateral z interpolation in elevated networks
 
bool isOppositeLane (const MSLane *lane) const
 whether the give lane is reverse direction of the current route or not
 
bool joinTrainPart (MSVehicle *veh)
 try joining the given vehicle to the rear of this one (to resolve joinTriggered)
 
bool joinTrainPartFront (MSVehicle *veh)
 try joining the given vehicle to the front of this one (to resolve joinTriggered)
 
bool keepClear (const MSLink *link) const
 decide whether the given link must be kept clear
 
void planMoveInternal (const SUMOTime t, MSLeaderInfo ahead, DriveItemVector &lfLinks, double &myStopDist, std::pair< double, const MSLink * > &myNextTurn) const
 
void processLaneAdvances (std::vector< MSLane * > &passedLanes, std::string &emergencyReason)
 This method checks if the vehicle has advanced over one or several lanes along its route and triggers the corresponding actions for the lanes and the vehicle. and adapts the given in/out parameters to the appropriate values.
 
void processLinkApproaches (double &vSafe, double &vSafeMin, double &vSafeMinDist)
 This method iterates through the driveprocess items for the vehicle and adapts the given in/out parameters to the appropriate values.
 
double processTraCISpeedControl (double vSafe, double vNext)
 Check for speed advices from the traci client and adjust the speed vNext in the current (euler) / after the current (ballistic) simstep accordingly.
 
void removeApproachingInformation (const DriveItemVector &lfLinks) const
 unregister approach from all upcoming links
 
void removePassedDriveItems ()
 Erase passed drive items from myLFLinkLanes (and unregister approaching information for corresponding links). Further, myNextDriveItem is reset.
 
void setBlinkerInformation ()
 sets the blue flashing light for emergency vehicles
 
void setBrakingSignals (double vNext)
 sets the braking lights on/off
 
void setEmergencyBlueLight (SUMOTime currentTime)
 sets the blue flashing light for emergency vehicles
 
double slowDownForSchedule (double vMinComfortable) const
 optionally return an upper bound on speed to stay within the schedule
 
void updateOccupancyAndCurrentBestLane (const MSLane *startLane)
 updates LaneQ::nextOccupation and myCurrentLaneInBestLanes
 
void updateState (double vNext)
 updates the vehicles state, given a next value for its speed. This value can be negative in case of the ballistic update to indicate a stop within the next timestep. (You can call this a 'hack' to emulate reasoning based on accelerations: The assumed constant acceleration a within the next time step is then a = (vNext - vCurrent)/TS )
 
void updateTimeLoss (double vNext)
 Updates the vehicle's time loss.
 
void updateWaitingTime (double vNext)
 Updates the vehicle's waiting time counters (accumulated and consecutive)
 
Position validatePosition (Position result, double offset=0) const
 ensure that a vehicle-relative position is not invalid
 

Protected Attributes

double myAcceleration
 The current acceleration after dawdling in m/s.
 
bool myActionStep
 The flag myActionStep indicates whether the current time step is an action point for the vehicle.
 
bool myAmIdling
 Whether the vehicle is trying to enter the network (eg after parking so engine is running)
 
bool myAmOnNet
 Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived)
 
bool myAmRegisteredAsWaiting = false
 Whether this vehicle is registered as waiting for a person or container (for deadlock-recognition)
 
bool myAmReversed = false
 
double myAngle
 the angle in radians (
 
int myArrivalLane
 The destination lane where the vehicle stops.
 
double myArrivalPos
 The position on the destination lane where the vehicle stops.
 
std::vector< std::vector< LaneQ > > myBestLanes
 
Position myCachedPosition
 
StoppingPlaceMemorymyChargingMemory = nullptr
 
SUMOTime myCollisionImmunity
 amount of time for which the vehicle is immune from collisions
 
MSDevice_TransportablemyContainerDevice
 The containers this vehicle may have.
 
std::vector< LaneQ >::iterator myCurrentLaneInBestLanes
 
double myDepartPos
 The real depart position.
 
SUMOTime myDeparture
 The real departure time.
 
std::vector< MSVehicleDevice * > myDevices
 The devices this vehicle has.
 
MSDevice_DriverStatemyDriverState
 This vehicle's driver state.
 
EnergyParamsmyEnergyParams
 The emission parameters this vehicle may have.
 
MSDevice_FrictionmyFrictionDevice
 This vehicle's friction perception.
 
std::vector< MSLane * > myFurtherLanes
 The information into which lanes the vehicle laps into.
 
std::vector< double > myFurtherLanesPosLat
 lateral positions on further lanes
 
const MSLinkmyHaveStoppedFor
 
bool myHaveToWaitOnNextLink
 
std::string myID
 The name of the object.
 
SUMOTime myJunctionConflictEntryTime
 
SUMOTime myJunctionEntryTime
 time at which the current junction was entered
 
SUMOTime myJunctionEntryTimeNeverYield
 
MSLanemyLane
 The lane the vehicle is on.
 
MSAbstractLaneChangeModelmyLaneChangeModel
 
SUMOTime myLastActionTime
 Action offset (actions are taken at time myActionOffset + N*getActionStepLength()) Initialized to 0, to be set at insertion.
 
const MSEdgemyLastBestLanesEdge
 
const MSLanemyLastBestLanesInternalLane
 
DriveItemVector myLFLinkLanes
 container for the planned speeds in the current step
 
DriveItemVector myLFLinkLanesPrev
 planned speeds from the previous step for un-registering from junctions after the new container is filled
 
DriveItemVector::iterator myNextDriveItem
 iterator pointing to the next item in myLFLinkLanes
 
std::pair< double, const MSLink * > myNextTurn
 the upcoming turn for the vehicle
 
int myNumberParkingReroutes = 0
 
int myNumberReroutes
 The number of reroutings.
 
double myOdometer
 A simple odometer to keep track of the length of the route already driven.
 
StoppingPlaceMemorymyParkingMemory = nullptr
 memory for parking search
 
MSDevice_TransportablemyPersonDevice
 The passengers this vehicle may have.
 
int myRouteValidity
 status of the current vehicle route
 
int myRoutingMode
 routing mode (see TraCIConstants.h)
 
int mySignals
 State of things of the vehicle that can be on or off.
 
State myState
 This Vehicles driving state (pos and speed)
 
double myStopDist
 distance to the next stop or doubleMax if there is none
 
SUMOTime myStopUntilOffset
 The offset when adding route stops with 'until' on route replacement.
 
double myTimeLoss
 the time loss in seconds due to driving with less than maximum speed
 
SUMOTime myTimeSinceStartup
 duration of driving (speed > SUMO_const_haltingSpeed) after the last halting episode
 
SUMOTime myWaitingTime
 The time the vehicle waits (is not faster than 0.1m/s) in seconds.
 
WaitingTimeCollector myWaitingTimeCollector
 

Static Protected Attributes

static std::vector< MSLane * > myEmptyLaneVector
 
static std::vector< MSTransportable * > myEmptyTransportableVector
 
static const SUMOTime NOT_YET_DEPARTED = SUMOTime_MAX
 

Private Member Functions

MSEdgeWeightsStorage_getWeightsStorage () const
 
void checkRouteRemoval ()
 remove route at the end of the simulation
 
std::string getFlowID () const
 reconstruct flow id from vehicle id
 
void initTransientModelParams ()
 init model parameters from generic params
 
bool insertJump (int nextStopIndex, MSRouteIterator itStart, std::string &errorMsg)
 helper function
 
 MSVehicle ()
 invalidated default constructor
 
 MSVehicle (const MSVehicle &)
 invalidated copy constructor
 
MSVehicleoperator= (const MSVehicle &)
 invalidated assignment operator
 
void setSkips (MSStop &stop, int prevActiveStops)
 patch stop.pars.index to record the number of skipped candidate edges before stop.edge (in a looped route)
 

Private Attributes

MSCFModel::VehicleVariablesmyCFVariables
 The per vehicle variables of the car following model.
 
MSEdgeWeightsStoragemyEdgeWeights
 
InfluencermyInfluencer
 An instance of a velocity/lane influencing instance; built in "getInfluencer".
 
const NumericalID myNumericalID
 

Static Private Attributes

static NumericalID myCurrentNumericalIndex = 0
 

Friends

class MSLaneChanger
 the lane changer sets myLastLaneChangeOffset
 
class MSLaneChangerSublane
 

Access to bool signals

enum  Signalling {
  VEH_SIGNAL_NONE = 0 , VEH_SIGNAL_BLINKER_RIGHT = 1 , VEH_SIGNAL_BLINKER_LEFT = 2 , VEH_SIGNAL_BLINKER_EMERGENCY = 4 ,
  VEH_SIGNAL_BRAKELIGHT = 8 , VEH_SIGNAL_FRONTLIGHT = 16 , VEH_SIGNAL_FOGLIGHT = 32 , VEH_SIGNAL_HIGHBEAM = 64 ,
  VEH_SIGNAL_BACKDRIVE = 128 , VEH_SIGNAL_WIPER = 256 , VEH_SIGNAL_DOOR_OPEN_LEFT = 512 , VEH_SIGNAL_DOOR_OPEN_RIGHT = 1024 ,
  VEH_SIGNAL_EMERGENCY_BLUE = 2048 , VEH_SIGNAL_EMERGENCY_RED = 4096 , VEH_SIGNAL_EMERGENCY_YELLOW = 8192
}
 Some boolean values which describe the state of some vehicle parts. More...
 
enum  LaneChangeMode { LC_NEVER = 0 , LC_NOCONFLICT = 1 , LC_ALWAYS = 2 }
 modes for resolving conflicts between external control (traci) and vehicle control over lane changing. Each level of the lane-changing hierarchy (strategic, cooperative, speedGain, keepRight) can be controlled separately More...
 
enum  TraciLaneChangePriority { LCP_ALWAYS = 0 , LCP_NOOVERLAP = 1 , LCP_URGENT = 2 , LCP_OPPORTUNISTIC = 3 }
 modes for prioritizing traci lane change requests More...
 
void switchOnSignal (int signal)
 Switches the given signal on.
 
void switchOffSignal (int signal)
 Switches the given signal off.
 
int getSignals () const
 Returns the signals.
 
bool signalSet (int which) const
 Returns whether the given signal is on.
 

Move reminder structures

typedef std::vector< std::pair< MSMoveReminder *, double > > MoveReminderCont
 Definition of a move reminder container.
 
MoveReminderCont myMoveReminders
 Currently relevant move reminders.
 

state io

const SUMOVehicleParametermyParameter
 This vehicle's parameter.
 
ConstMSRoutePtr myRoute
 This vehicle's route.
 
MSVehicleTypemyType
 This vehicle's type.
 
MSRouteIterator myCurrEdge
 Iterator to current route-edge.
 
double myChosenSpeedFactor
 A precomputed factor by which the driver wants to be faster than the speed limit.
 
std::list< MSStopmyStops
 The vehicle's list of stops.
 
std::vector< SUMOVehicleParameter::StopmyPastStops
 The list of stops that the vehicle has already reached.
 
bool isStopped () const
 Returns whether the vehicle is at a stop.
 
bool isParking () const
 Returns whether the vehicle is parking.
 
bool isJumping () const
 Returns whether the vehicle is perform a jump.
 
bool isReversed () const
 Returns whether the logical state of the vehicle is reversed - for drawing.
 
bool isStoppedTriggered () const
 Returns whether the vehicle is on a triggered stop.
 
bool isStoppedParking () const
 Returns whether the vehicle is on a parking stop.
 
bool isStoppedInRange (const double pos, const double tolerance, bool checkFuture=false) const
 return whether the given position is within range of the current stop
 
bool hasStops () const
 Returns whether the vehicle has to stop somewhere.
 
bool replaceParkingArea (MSParkingArea *parkingArea, std::string &errorMsg)
 replace the current parking area stop with a new stop with merge duration
 
MSParkingAreagetNextParkingArea ()
 get the upcoming parking area stop or nullptr
 
MSParkingAreagetCurrentParkingArea ()
 get the current parking area stop or nullptr
 
const std::vector< std::string > & getParkingBadges () const
 get the valid parking access rights (vehicle settings override vehicle type settings)
 
double basePos (const MSEdge *edge) const
 departure position where the vehicle fits fully onto the edge (if possible)
 
bool addStop (const SUMOVehicleParameter::Stop &stopPar, std::string &errorMsg, SUMOTime untilOffset=0, MSRouteIterator *searchStart=nullptr)
 Adds a stop.
 
void addStops (const bool ignoreStopErrors, MSRouteIterator *searchStart=nullptr, bool addRouteStops=true)
 Adds stops to the built vehicle.
 
bool haveValidStopEdges (bool silent=false) const
 check whether all stop.edge MSRouteIterators are valid and in order
 
const ConstMSEdgeVector getStopEdges (double &firstPos, double &lastPos, std::set< int > &jumps) const
 Returns the list of still pending stop edges also returns the first and last stop position.
 
std::vector< std::pair< int, double > > getStopIndices () const
 return list of route indices for the remaining stops
 
const std::list< MSStop > & getStops () const
 
const std::vector< SUMOVehicleParameter::Stop > & getPastStops () const
 
MSStopgetNextStop ()
 
SUMOTime getStopDuration () const
 get remaining stop duration or 0 if the vehicle isn't stopped
 
MSStopgetStop (int nextStopIndex)
 
const SUMOVehicleParameter::StopgetNextStopParameter () const
 return parameters for the next stop (SUMOVehicle Interface)
 
void unregisterWaiting ()
 mark vehicle as active
 
bool abortNextStop (int nextStopIndex=0)
 deletes the next stop at the given index if it exists
 
bool replaceStop (int nextStopIndex, SUMOVehicleParameter::Stop stop, const std::string &info, bool teleport, std::string &errorMsg)
 
bool rerouteBetweenStops (int nextStopIndex, const std::string &info, bool teleport, std::string &errorMsg)
 
bool insertStop (int nextStopIndex, SUMOVehicleParameter::Stop stop, const std::string &info, bool teleport, std::string &errorMsg)
 
virtual bool isSelected () const
 whether this vehicle is selected in the GUI
 
int getRNGIndex () const
 
SumoRNGgetRNG () const
 
NumericalID getNumericalID () const
 return the numerical ID which is only for internal usage
 
const MSDevice_TransportablegetPersonDevice () const
 
const MSDevice_TransportablegetContainerDevice () const
 
EnergyParamsgetEmissionParameters () const
 retrieve parameters for the energy consumption model
 
void rememberBlockedParkingArea (const MSStoppingPlace *pa, bool local)
 
SUMOTime sawBlockedParkingArea (const MSStoppingPlace *pa, bool local) const
 
void rememberBlockedChargingStation (const MSStoppingPlace *cs, bool local)
 
SUMOTime sawBlockedChargingStation (const MSStoppingPlace *cs, bool local) const
 
void rememberParkingAreaScore (const MSStoppingPlace *pa, const std::string &score)
 score only needed when running with gui
 
void resetParkingAreaScores ()
 
void rememberChargingStationScore (const MSStoppingPlace *cs, const std::string &score)
 
void resetChargingStationScores ()
 
int getNumberParkingReroutes () const
 
void setNumberParkingReroutes (int value)
 
const StoppingPlaceMemorygetParkingMemory () const
 
const StoppingPlaceMemorygetChargingMemory () const
 

Interaction with move reminders

void workOnMoveReminders (double oldPos, double newPos, double newSpeed)
 Processes active move reminder.
 
void workOnIdleReminders ()
 cycle through vehicle devices invoking notifyIdle
 
bool checkActionStep (const SUMOTime t)
 Returns whether the vehicle is supposed to take action in the current simulation step Updates myActionStep and myLastActionTime in case that the current simstep is an action step.
 
void resetActionOffset (const SUMOTime timeUntilNextAction=0)
 Resets the action offset for the vehicle.
 
void updateActionOffset (const SUMOTime oldActionStepLength, const SUMOTime newActionStepLength)
 Process an updated action step length value (only affects the vehicle's action offset, The actionStepLength is stored in the (singular) vtype)
 
void planMove (const SUMOTime t, const MSLeaderInfo &ahead, const double lengthsInFront)
 Compute safe velocities for the upcoming lanes based on positions and speeds from the last time step. Also registers ApproachingVehicleInformation for all links.
 
void setApproachingForAllLinks (const SUMOTime t)
 Register junction approaches for all link items in the current plan.
 
void registerInsertionApproach (MSLink *link, double dist)
 register approach on insertion
 
bool executeMove ()
 Executes planned vehicle movements with regards to right-of-way.
 
void executeFractionalMove (double dist)
 move vehicle forward by the given distance during insertion
 
double getDeltaPos (const double accel) const
 calculates the distance covered in the next integration step given an acceleration and assuming the current velocity. (gives different results for different integration methods, e.g., euler vs. ballistic)
 
void adaptLaneEntering2MoveReminder (const MSLane &enteredLane)
 Adapts the vehicle's entering of a new lane.
 

Other getter methods

double getSlope () const
 Returns the slope of the road at vehicle's position in degrees.
 
Position getPosition (const double offset=0) const
 Return current position (x/y, cartesian)
 
Position getPositionAlongBestLanes (double offset) const
 Return the (x,y)-position, which the vehicle would reach if it continued along its best continuation lanes from the current for a distance of offset m.
 
const MSLanegetLane () const
 Returns the lane the vehicle is on.
 
MSLanegetMutableLane () const
 Returns the lane the vehicle is on Non const version indicates that something volatile is going on.
 
const MSLanegetBackLane () const
 Returns the lane the where the rear of the object is currently at.
 
double getMaxSpeedOnLane () const
 Returns the maximal speed for the vehicle on its current lane (including speed factor and deviation, i.e., not necessarily the allowed speed limit)
 
bool isOnRoad () const
 Returns the information whether the vehicle is on a road (is simulated)
 
void setIdling (bool amIdling)
 access function for Idling flag used to record whether vehicle is waiting to enter lane (after parking)
 
bool isIdling () const
 Returns whether a sim vehicle is waiting to enter a lane (after parking has completed)
 
bool isActive () const
 Returns whether the current simulation step is an action point for the vehicle.
 
bool isActionStep (SUMOTime t) const
 Returns whether the next simulation step will be an action point for the vehicle.
 
bool isFrontOnLane (const MSLane *lane) const
 Returns the information whether the front of the vehicle is on the given lane.
 
const MSEdgegetCurrentEdge () const
 Returns the edge the vehicle is currently at (possibly an internal edge or nullptr)
 
const MSEdgegetNextEdgePtr () const
 returns the next edge (possibly an internal edge)
 
ConstMSEdgeVector::const_iterator getRerouteOrigin () const
 Returns the starting point for reroutes (usually the current edge)
 
SUMOTime getWaitingTime (const bool accumulated=false) const
 Returns the SUMOTime waited (speed was lesser than 0.1m/s)
 
SUMOTime getWaitingTimeFor (const MSLink *link) const
 getWaitingTime, but taking into account having stopped for a stop-link
 
SUMOTime getTimeSinceStartup () const
 Returns the SUMOTime spent driving since startup (speed was larger than 0.1m/s)
 
double getTimeSinceStartupSeconds () const
 
SUMOTime getTimeLoss () const
 Returns the SUMOTime lost (speed was lesser maximum speed)
 
double getAccumulatedWaitingSeconds () const
 Returns the number of seconds waited (speed was lesser than 0.1m/s) within the last millisecs.
 
double getTimeLossSeconds () const
 Returns the time loss in seconds.
 
double getStopDelay () const
 Returns the public transport stop delay in seconds.
 
double getStopArrivalDelay () const
 Returns the estimated public transport stop arrival delay in seconds.
 
double getAngle () const
 Returns the vehicle's direction in radians.
 
Position getVelocityVector () const
 Returns the vehicle's direction in radians.
 
double computeAngle () const
 compute the current vehicle angle
 
void setAngle (double angle, bool straightenFurther=false)
 Set a custom vehicle angle in rad, optionally updates furtherLanePosLat.
 
void setActionStepLength (double actionStepLength, bool resetActionOffset=true)
 Sets the action steplength of the vehicle.
 
bool congested () const
 
void enterLaneAtMove (MSLane *enteredLane, bool onTeleporting=false)
 Update when the vehicle enters a new lane in the move step.
 
void enterLaneAtInsertion (MSLane *enteredLane, double pos, double speed, double posLat, MSMoveReminder::Notification notification)
 Update when the vehicle enters a new lane in the emit step.
 
void setTentativeLaneAndPosition (MSLane *lane, double pos, double posLat=0)
 set tentative lane and position during insertion to ensure that all cfmodels work (some of them require veh->getLane() to return a valid lane) Once the vehicle is successfully inserted the lane is set again (see enterLaneAtInsertion)
 
void enterLaneAtLaneChange (MSLane *enteredLane)
 Update when the vehicle enters a new lane in the laneChange step.
 
void leaveLane (const MSMoveReminder::Notification reason, const MSLane *approachedLane=0)
 Update of members if vehicle leaves a new lane in the lane change step or at arrival.
 
void leaveLaneBack (const MSMoveReminder::Notification reason, const MSLane *leftLane)
 Update of reminders if vehicle back leaves a lane during (during forward movement.
 
void updateDriveItems ()
 Check whether the drive items (myLFLinkLanes) are up to date, and update them if required.
 
const std::pair< double, const MSLink * > & getNextTurn ()
 Get the distance and direction of the next upcoming turn for the vehicle (within its look-ahead range)
 
MSAbstractLaneChangeModelgetLaneChangeModel ()
 
const MSAbstractLaneChangeModelgetLaneChangeModel () const
 
const std::vector< MSLane * > & getFurtherLanes () const
 
const std::vector< double > & getFurtherLanesPosLat () const
 
bool onFurtherEdge (const MSEdge *edge) const
 whether this vehicle has its back (and no its front) on the given edge
 
bool isBidiOn (const MSLane *lane) const
 whether this vehicle is driving against lane
 
static bool overlap (const MSVehicle *veh1, const MSVehicle *veh2)
 

Emission retrieval

template<PollutantsInterface::EmissionType ET>
double getEmissions () const
 Returns emissions of the current state The value is always per 1s, so multiply by step length if necessary.
 
double getStateOfCharge () const
 Returns actual state of charge of battery (Wh) RICE_CHECK: This may be a misnomer, SOC is typically percentage of the maximum battery capacity.
 
double getRelativeStateOfCharge () const
 Returns actual relative state of charge of battery (-)
 
double getChargedEnergy () const
 Returns the energy charged to the battery in the current time step (Wh)
 
double getMaxChargeRate () const
 Returns the maximum charge rate allowed by the battery in the current time step (W)
 
double getElecHybridCurrent () const
 Returns actual current (A) of ElecHybrid device RICE_CHECK: Is this the current consumed from the overhead wire or the current driving the powertrain of the vehicle? RICE_REV_JS: It is the current drawn from the overhead wire (value if the vehicle is not connected to overhead wire?)
 
double getHarmonoise_NoiseEmissions () const
 Returns noise emissions of the current state.
 
int getRoutingMode () const
 return routing mode (configures router choice but also handling of transient permission changes)
 
void setRoutingMode (int value)
 Sets routing behavior.
 
SUMOAbstractRouter< MSEdge, SUMOVehicle > & getRouterTT () const
 
const MSEdgeWeightsStoragegetWeightsStorage () const
 Returns the vehicle's internal edge travel times/efforts container.
 
MSEdgeWeightsStoragegetWeightsStorage ()
 
void calculateArrivalParams (bool onInit)
 (Re-)Calculates the arrival position and lane from the vehicle parameters
 
void setDepartAndArrivalEdge ()
 apply departEdge and arrivalEdge attributes
 
static MSLaneinterpretOppositeStop (SUMOVehicleParameter::Stop &stop)
 interpret stop lane on opposite side of the road
 

Detailed Description

Representation of a vehicle in the micro simulation.

Definition at line 77 of file MSVehicle.h.

Member Typedef Documentation

◆ DriveItemVector

typedef std::vector< DriveProcessItem > MSVehicle::DriveItemVector
protected

Container for used Links/visited Lanes during planMove() and executeMove.

Definition at line 2007 of file MSVehicle.h.

◆ MoveReminderCont

typedef std::vector< std::pair<MSMoveReminder*, double> > MSBaseVehicle::MoveReminderCont
protectedinherited

Definition of a move reminder container.

Definition at line 1045 of file MSBaseVehicle.h.

◆ NumericalID

typedef long long int SUMOTrafficObject::NumericalID
inherited

Definition at line 56 of file SUMOTrafficObject.h.

Member Enumeration Documentation

◆ ChangeRequest

Requests set via TraCI.

Enumerator
REQUEST_NONE 

vehicle doesn't want to change

REQUEST_LEFT 

vehicle want's to change to left lane

REQUEST_RIGHT 

vehicle want's to change to right lane

REQUEST_HOLD 

vehicle want's to keep the current lane

Definition at line 191 of file MSVehicle.h.

◆ LaneChangeMode

modes for resolving conflicts between external control (traci) and vehicle control over lane changing. Each level of the lane-changing hierarchy (strategic, cooperative, speedGain, keepRight) can be controlled separately

Enumerator
LC_NEVER 
LC_NOCONFLICT 
LC_ALWAYS 

Definition at line 1142 of file MSVehicle.h.

◆ ManoeuvreType

flag identifying which, if any, manoeuvre is in progress

Enumerator
MANOEUVRE_ENTRY 

Manoeuvre into stopping place.

MANOEUVRE_EXIT 

Manoeuvre out of stopping place.

MANOEUVRE_NONE 

not manouevring

Definition at line 1245 of file MSVehicle.h.

◆ RouteValidity

Enumerator
ROUTE_VALID 
ROUTE_UNCHECKED 
ROUTE_INVALID 

route was checked and is valid

ROUTE_START_INVALID_PERMISSIONS 
ROUTE_START_INVALID_LANE 

Definition at line 72 of file MSBaseVehicle.h.

◆ Signalling

Some boolean values which describe the state of some vehicle parts.

Enumerator
VEH_SIGNAL_NONE 

Everything is switched off.

VEH_SIGNAL_BLINKER_RIGHT 

Right blinker lights are switched on.

VEH_SIGNAL_BLINKER_LEFT 

Left blinker lights are switched on.

VEH_SIGNAL_BLINKER_EMERGENCY 

Blinker lights on both sides are switched on.

VEH_SIGNAL_BRAKELIGHT 

The brake lights are on.

VEH_SIGNAL_FRONTLIGHT 

The front lights are on (no visualisation)

VEH_SIGNAL_FOGLIGHT 

The fog lights are on (no visualisation)

VEH_SIGNAL_HIGHBEAM 

The high beam lights are on (no visualisation)

VEH_SIGNAL_BACKDRIVE 

The backwards driving lights are on (no visualisation)

VEH_SIGNAL_WIPER 

The wipers are on.

VEH_SIGNAL_DOOR_OPEN_LEFT 

One of the left doors is opened.

VEH_SIGNAL_DOOR_OPEN_RIGHT 

One of the right doors is opened.

VEH_SIGNAL_EMERGENCY_BLUE 

A blue emergency light is on.

VEH_SIGNAL_EMERGENCY_RED 

A red emergency light is on.

VEH_SIGNAL_EMERGENCY_YELLOW 

A yellow emergency light is on.

Definition at line 1104 of file MSVehicle.h.

◆ TraciLaneChangePriority

modes for prioritizing traci lane change requests

Enumerator
LCP_ALWAYS 
LCP_NOOVERLAP 
LCP_URGENT 
LCP_OPPORTUNISTIC 

Definition at line 1150 of file MSVehicle.h.

Constructor & Destructor Documentation

◆ MSVehicle() [1/3]

MSVehicle::MSVehicle ( SUMOVehicleParameter pars,
ConstMSRoutePtr  route,
MSVehicleType type,
const double  speedFactor 
)

Constructor.

Parameters
[in]parsThe vehicle description
[in]routeThe vehicle's route
[in]typeThe vehicle's type
[in]speedFactorThe factor for driven lane's speed limits
Exceptions
ProcessErrorIf a value is wrong

Definition at line 984 of file MSVehicle.cpp.

References MSCFModel::createVehicleVariables(), MSVehicleType::getCarFollowModel(), myCFVariables, myLFLinkLanes, and myNextDriveItem.

◆ ~MSVehicle()

◆ MSVehicle() [2/3]

MSVehicle::MSVehicle ( )
private

invalidated default constructor

◆ MSVehicle() [3/3]

MSVehicle::MSVehicle ( const MSVehicle )
private

invalidated copy constructor

Member Function Documentation

◆ _getWeightsStorage()

MSEdgeWeightsStorage & MSBaseVehicle::_getWeightsStorage ( ) const
privateinherited

Definition at line 2162 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myEdgeWeights.

Referenced by MSBaseVehicle::getWeightsStorage(), and MSBaseVehicle::getWeightsStorage().

Here is the caller graph for this function:

◆ abortNextStop()

bool MSBaseVehicle::abortNextStop ( int  nextStopIndex = 0)
virtualinherited

deletes the next stop at the given index if it exists

Implements SUMOVehicle.

Definition at line 1711 of file MSBaseVehicle.cpp.

References MSBaseVehicle::hasDeparted(), MSBaseVehicle::hasStops(), MSBaseVehicle::isStopped(), MSBaseVehicle::myParameter, MSBaseVehicle::myStops, MSBaseVehicle::resumeFromStopping(), and SUMOVehicleParameter::stops.

Referenced by MSDevice_StationFinder::notifyMove(), and LIBSUMO_NAMESPACE::Vehicle::replaceStop().

Here is the caller graph for this function:

◆ accelThresholdForWaiting()

double MSVehicle::accelThresholdForWaiting ( ) const
inline

maximum acceleration to consider a vehicle as 'waiting' at low speed

Definition at line 2064 of file MSVehicle.h.

References getCarFollowModel(), and MSCFModel::getMaxAccel().

Referenced by executeMove(), MSDevice_Tripinfo::lowAcceleration(), and updateWaitingTime().

Here is the caller graph for this function:

◆ activateReminders()

void MSBaseVehicle::activateReminders ( const MSMoveReminder::Notification  reason,
const MSLane enteredLane = 0 
)
virtualinherited

"Activates" all current move reminder

For all move reminder stored in "myMoveReminders", their method "MSMoveReminder::notifyEnter" is called.

Parameters
[in]reasonThe reason for changing the reminders' states
[in]enteredLaneThe lane, which is entered (if applicable)
See also
MSMoveReminder
MSMoveReminder::notifyEnter
MSMoveReminder::Notification

Definition at line 846 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myMoveReminders.

Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), MSIdling_TaxiStand::idle(), MESegment::receive(), and MELoop::teleportVehicle().

Here is the caller graph for this function:

◆ adaptBestLanesOccupation()

void MSVehicle::adaptBestLanesOccupation ( int  laneIndex,
double  density 
)

update occupation from MSLaneChanger

Definition at line 6527 of file MSVehicle.cpp.

References myBestLanes.

Referenced by MSLaneChanger::change(), and MSLaneChangerSublane::change().

Here is the caller graph for this function:

◆ adaptLaneEntering2MoveReminder()

void MSVehicle::adaptLaneEntering2MoveReminder ( const MSLane enteredLane)
protected

Adapts the vehicle's entering of a new lane.

All offsets already stored in "myOldLaneMoveReminderOffsets" are increased by the length that has been left. All still active move reminders from "myMoveReminders" are put into "myOldLaneMoveReminders" and the offset to the last lane is added to "myOldLaneMoveReminderOffsets" for each of these.

Move reminder from the given lane are set into "myMoveReminders".

"myLane" must still be the left lane!

Parameters
[in]enteredLane
See also
MSMoveReminder
MSLane::getMoveReminder

Definition at line 1202 of file MSVehicle.cpp.

References MSBaseVehicle::addReminder(), MSLane::getLength(), MSLane::getMoveReminders(), myLane, and MSBaseVehicle::myMoveReminders.

Referenced by enterLaneAtMove().

Here is the caller graph for this function:

◆ adaptToJunctionLeader()

void MSVehicle::adaptToJunctionLeader ( const std::pair< const MSVehicle *, double >  leaderInfo,
const double  seen,
DriveProcessItem *const  lastLink,
const MSLane *const  lane,
double &  v,
double &  vLinkPass,
double  distToCrossing = -1 
) const

◆ adaptToLeader()

void MSVehicle::adaptToLeader ( const std::pair< const MSVehicle *, double >  leaderInfo,
double  seen,
DriveProcessItem *const  lastLink,
double &  v,
double &  vLinkPass 
) const
protected

◆ adaptToLeaderDistance()

void MSVehicle::adaptToLeaderDistance ( const MSLeaderDistanceInfo ahead,
double  latOffset,
double  seen,
DriveProcessItem *const  lastLink,
double &  v,
double &  vLinkPass 
) const
protected

Definition at line 3142 of file MSVehicle.cpp.

References adaptToLeader(), DEBUG_COND, Named::getID(), getLane(), getPositionOnLane(), MSLeaderInfo::getSubLanes(), SIMTIME, and MSLeaderDistanceInfo::toString().

Referenced by planMoveInternal().

Here is the caller graph for this function:

◆ adaptToLeaders()

◆ adaptToOncomingLeader()

void MSVehicle::adaptToOncomingLeader ( const std::pair< const MSVehicle *, double >  leaderInfo,
DriveProcessItem *const  lastLink,
double &  v,
double &  vLinkPass 
) const

◆ addReminder()

void MSBaseVehicle::addReminder ( MSMoveReminder rem)
inherited

Adds a MoveReminder dynamically.

Parameters
[in]remthe reminder to add
See also
MSMoveReminder

Definition at line 819 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myMoveReminders.

Referenced by adaptLaneEntering2MoveReminder(), MESegment::Queue::addReminders(), enterLaneAtInsertion(), enterLaneAtLaneChange(), and MSDriveWay::loadState().

Here is the caller graph for this function:

◆ addStop()

bool MSBaseVehicle::addStop ( const SUMOVehicleParameter::Stop stopPar,
std::string &  errorMsg,
SUMOTime  untilOffset = 0,
MSRouteIterator searchStart = nullptr 
)
virtualinherited

Adds a stop.

The stop is put into the sorted list.

Parameters
[in]stopThe stop to add
Returns
Whether the stop could be added

Implements SUMOVehicle.

Definition at line 1192 of file MSBaseVehicle.cpp.

References MSParkingArea::accepts(), MSBaseVehicle::addStop(), MSLane::allowsVehicleClass(), SUMOVehicleParameter::Stop::arrival, BASE, MSBaseVehicle::basePos(), MSStop::busstop, MSStop::chargingStation, SUMOVehicleParameter::Stop::collision, MSStop::containerstop, DEBUG_COND, DEFAULT, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, MSEdge::dictionary(), MSLane::dictionary(), MSStop::edge, SUMOVehicleParameter::Stop::edge, SUMOVehicleParameter::Stop::ended, SUMOVehicleParameter::Stop::endPos, MSStop::getArrival(), SUMOVehicle::getBrakeGap(), MSStop::getDescription(), MSBaseVehicle::getEdge(), MSLane::getEdge(), MSStop::getEndPos(), MSEdge::getFirstAllowed(), Named::getID(), MSNet::getInstance(), SUMOTrafficObject::getLane(), MSBaseVehicle::getLength(), MSLane::getLength(), MSVehicleType::getLength(), MSLane::getNextNormal(), MSEdge::getNormalBefore(), MSEdge::getOppositeEdge(), MSBaseVehicle::getParameter(), SUMOTrafficObject::getPositionOnLane(), MELoop::getSegmentForEdge(), MSStop::getUntil(), MSBaseVehicle::getVClass(), MSVehicleType::getVehicleClass(), GIVEN, MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, MSGlobals::gUseStopEnded, MSBaseVehicle::handleCollisionStop(), MSBaseVehicle::hasDeparted(), SUMOVehicleParameter::id, SUMOVehicleParameter::Stop::index, MSStop::initPars(), MSBaseVehicle::interpretOppositeStop(), MSEdge::isInternal(), MSLane::isInternal(), MSEdge::isNormal(), MSStop::isOpposite, MSStop::lane, SUMOVehicleParameter::Stop::lane, MIN2(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::myStops, MSBaseVehicle::myType, MSStop::overheadWireSegment, MSStop::parkingarea, MSStop::pars, MSStop::segment, MSBaseVehicle::setSkips(), SUMOVehicleParameter::Stop::startPos, STOP_INDEX_END, STOP_INDEX_FIT, STOP_INDEX_REPEAT, MSRailSignalConstraint::storeTripId(), time2string(), toString(), SUMOVehicleParameter::Stop::tripId, SUMOVehicleParameter::Stop::until, and MSNet::warnOnce().

Referenced by MSBaseVehicle::addStop(), MSBaseVehicle::addStops(), MSBaseVehicle::addTraciStop(), MSBaseVehicle::replaceRoute(), and GUIVehicle::rerouteDRTStop().

Here is the caller graph for this function:

◆ addStops()

void MSBaseVehicle::addStops ( const bool  ignoreStopErrors,
MSRouteIterator searchStart = nullptr,
bool  addRouteStops = true 
)
inherited

Adds stops to the built vehicle.

This code needs to be separated from the MSBaseVehicle constructor since it is not allowed to call virtual functions from a constructor

Parameters
[in]ignoreStopErrorswhether invalid stops trigger a warning only

Definition at line 1504 of file MSBaseVehicle.cpp.

References MSBaseVehicle::addStop(), SUMOVehicleParameter::depart, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, SUMOVehicleParameter::repetitionOffset, SUMOVehicleParameter::repetitionsDone, SUMOVehicleParameter::stops, and WRITE_WARNING.

Referenced by MSVehicleControl::initVehicle(), MEVehicle::loadState(), loadState(), and MSBaseVehicle::replaceRoute().

Here is the caller graph for this function:

◆ addTo()

void Named::addTo ( const StoringVisitor cont) const
inlineinherited

Adds this object to the given container.

Parameters
[in,filled]cont The container to add this item to

Definition at line 118 of file Named.h.

References Named::StoringVisitor::add().

◆ addToOdometer()

void MSBaseVehicle::addToOdometer ( double  value)
inlineinherited

Manipulate the odometer.

Definition at line 443 of file MSBaseVehicle.h.

References MSBaseVehicle::myOdometer.

Referenced by LIBSUMO_NAMESPACE::Vehicle::moveTo().

Here is the caller graph for this function:

◆ addTraciStop()

bool MSVehicle::addTraciStop ( SUMOVehicleParameter::Stop  stop,
std::string &  errorMsg 
)
virtual

schedule a new stop for the vehicle; each time a stop is reached, the vehicle will wait for the given duration before continuing on its route

Parameters
[in]stopStop parameters
[out]errorMsgreturned error message

Reimplemented from MSBaseVehicle.

Definition at line 7194 of file MSVehicle.cpp.

References MSBaseVehicle::addTraciStop(), myLane, MSBaseVehicle::myStops, and updateBestLanes().

Referenced by GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdToggleStop().

Here is the caller graph for this function:

◆ addTransportable()

void MSVehicle::addTransportable ( MSTransportable transportable)
virtual

Adds a person or container to this vehicle.

Parameters
[in]transportableThe person/container to add

Reimplemented from MSBaseVehicle.

Definition at line 6621 of file MSVehicle.cpp.

References MSBaseVehicle::addTransportable(), Named::getID(), MSTransportable::isPerson(), and MSBaseVehicle::myStops.

◆ allowsBoarding()

bool MSBaseVehicle::allowsBoarding ( const MSTransportable t) const
virtualinherited

◆ basePos()

double MSBaseVehicle::basePos ( const MSEdge edge) const
inherited

departure position where the vehicle fits fully onto the edge (if possible)

Definition at line 1163 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getLength(), MSEdge::getLength(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::hasStops(), MAX2(), MIN2(), MSBaseVehicle::myRoute, and MSBaseVehicle::myStops.

Referenced by MSBaseVehicle::addStop(), and MSLane::insertVehicle().

Here is the caller graph for this function:

◆ betterContinuation()

bool MSVehicle::betterContinuation ( const LaneQ bestConnectedNext,
const LaneQ m 
) const
protected

comparison between different continuations from the same lane

Definition at line 6271 of file MSVehicle.cpp.

References MSVehicle::LaneQ::bestLaneOffset, MSLane::getBidiLane(), MSLane::getIndex(), SUMOVTypeParameter::getLCParam(), MSVehicleType::getParameter(), MSBaseVehicle::getRNG(), MSBaseVehicle::getVehicleType(), MSVehicle::LaneQ::lane, MSVehicle::LaneQ::length, RandHelper::rand(), and SUMO_ATTR_LCA_CONTRIGHT.

Referenced by updateBestLanes().

Here is the caller graph for this function:

◆ boardTransportables()

◆ brakeForOverlap()

bool MSVehicle::brakeForOverlap ( const MSLink link,
const MSLane lane 
) const
protected

◆ brokeDown()

bool MSVehicle::brokeDown ( ) const

Returns how long the vehicle has been stopped already due to lack of energy.

Definition at line 1620 of file MSVehicle.cpp.

References MSBaseVehicle::isStopped(), and MSBaseVehicle::myStops.

Referenced by MSLane::executeMovements().

Here is the caller graph for this function:

◆ calculateArrivalParams()

◆ checkActionStep()

bool MSVehicle::checkActionStep ( const SUMOTime  t)

Returns whether the vehicle is supposed to take action in the current simulation step Updates myActionStep and myLastActionTime in case that the current simstep is an action step.

Parameters
[in]t

Definition at line 2066 of file MSVehicle.cpp.

References isActionStep(), myActionStep, and myLastActionTime.

Referenced by planMove(), and setApproachingForAllLinks().

Here is the caller graph for this function:

◆ checkLinkLeader()

◆ checkLinkLeaderCurrentAndParallel()

void MSVehicle::checkLinkLeaderCurrentAndParallel ( const MSLink link,
const MSLane lane,
double  seen,
DriveProcessItem *const  lastLink,
double &  v,
double &  vLinkPass,
double &  vLinkWait,
bool &  setRequest 
) const
protected

checks for link leaders of the current link as well as the parallel link (if there is one)

Definition at line 3442 of file MSVehicle.cpp.

References checkLinkLeader(), MSLink::getParallelLink(), MSVehicle::Influencer::getRespectJunctionLeaderPriority(), MSAbstractLaneChangeModel::getShadowDirection(), MSAbstractLaneChangeModel::getShadowLane(), MSGlobals::gUsingInternalLanes, myInfluencer, and myLaneChangeModel.

Referenced by planMoveInternal().

Here is the caller graph for this function:

◆ checkReversal()

◆ checkRewindLinkLanes()

void MSVehicle::checkRewindLinkLanes ( const double  lengthsInFront,
DriveItemVector lfLinks 
) const
protected

runs heuristic for keeping the intersection clear in case of downstream jamming

Definition at line 5109 of file MSVehicle.cpp.

References ACCEL2SPEED, MSVehicle::DriveProcessItem::availableSpace, MSCFModel::brakeGap(), DEBUG_COND, getBackPositionOnLane(), MSLane::getBidiLane(), getBrakeGap(), MSLane::getBruttoVehLenSum(), getCarFollowModel(), MSLane::getEdge(), MSLane::getFirstFullVehicle(), MSCFModel::getHeadwayTime(), Named::getID(), Named::getIDSecure(), MSBaseVehicle::getImpatience(), MSLink::getLane(), MSLane::getLastAnyVehicle(), getLateralPositionOnLane(), MSVehicle::DriveProcessItem::getLeaveSpeed(), MSBaseVehicle::getLength(), MSLane::getLength(), MSVehicleType::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), getPositionOnLane(), MSVehicle::Influencer::getRespectJunctionPriority(), MSLane::getSpaceTillLastStanding(), getSpeed(), MSBaseVehicle::getVehicleType(), MSLink::getViaLane(), MSLink::getViaLaneOrLane(), getWaitingTime(), MSGlobals::gUsingInternalLanes, MSVehicle::DriveProcessItem::hadStoppedVehicle, MSLink::havePriority(), MSLink::haveRed(), MSLink::isCont(), MSLink::isExitLink(), MSEdge::isInternal(), MSLink::isInternalJunctionLink(), MSAbstractLaneChangeModel::isOpposite(), MSEdge::isRoundabout(), MSBaseVehicle::isStopped(), keepClear(), MIN2(), MSVehicle::DriveProcessItem::myArrivalSpeed, MSVehicle::DriveProcessItem::myArrivalTime, MSVehicle::DriveProcessItem::myDistance, myHaveToWaitOnNextLink, myInfluencer, myLane, myLaneChangeModel, MSVehicle::DriveProcessItem::myLink, MSVehicle::DriveProcessItem::mySetRequest, MSVehicle::State::mySpeed, myState, MSVehicle::DriveProcessItem::myVLinkPass, MSVehicle::DriveProcessItem::myVLinkWait, MSLink::opened(), signalSet(), SIMSTEP, SIMTIME, STEPS2TIME, and VEH_SIGNAL_BRAKELIGHT.

Referenced by planMove().

Here is the caller graph for this function:

◆ checkRouteRemoval()

void MSBaseVehicle::checkRouteRemoval ( )
privateinherited

remove route at the end of the simulation

Definition at line 154 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getFlowID(), MSNet::getInstance(), MSNet::hasInstance(), and MSBaseVehicle::myRoute.

Referenced by MSBaseVehicle::replaceRoute(), and MSBaseVehicle::~MSBaseVehicle().

Here is the caller graph for this function:

◆ cleanupFurtherLanes()

void MSVehicle::cleanupFurtherLanes ( )
protected

remove vehicle from further lanes (on leaving the network)

Definition at line 1031 of file MSVehicle.cpp.

References MSAbstractLaneChangeModel::cleanupShadowLane(), MSAbstractLaneChangeModel::cleanupTargetLane(), MSBaseVehicle::getVClass(), isRailway(), myFurtherLanes, myFurtherLanesPosLat, myLaneChangeModel, myLFLinkLanes, and removeApproachingInformation().

Referenced by onRemovalFromNet(), and ~MSVehicle().

Here is the caller graph for this function:

◆ collisionStopTime()

SUMOTime MSVehicle::collisionStopTime ( ) const

Returns the remaining time a vehicle needs to stop due to a collision. A negative value indicates that the vehicle is not stopping due to a collision (or at all)

Definition at line 1614 of file MSVehicle.cpp.

References MAX2(), myCollisionImmunity, and MSBaseVehicle::myStops.

Referenced by MSLane::executeMovements(), MSLane::handleCollisionBetween(), and MSLane::handleIntermodalCollisionBetween().

Here is the caller graph for this function:

◆ computeAngle()

◆ computeFurtherLanes()

void MSVehicle::computeFurtherLanes ( MSLane enteredLane,
double  pos,
bool  collision = false 
)
protected

◆ congested()

bool MSVehicle::congested ( ) const

Returns true if vehicle's speed is below 60km/h. This is only relevant on highways. Overtaking on the right is allowed then.

Definition at line 1473 of file MSVehicle.cpp.

References MSLane::getSpeedLimit(), myLane, MSVehicle::State::mySpeed, and myState.

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

Here is the caller graph for this function:

◆ createDevice()

void MSBaseVehicle::createDevice ( const std::string &  deviceName)
inherited

◆ drawOutsideNetwork()

virtual void MSVehicle::drawOutsideNetwork ( bool  )
inlineprotectedvirtual

register vehicle for drawing while outside the network

Reimplemented in GUIVehicle.

Definition at line 1831 of file MSVehicle.h.

Referenced by MSVehicle::Influencer::postProcessRemoteControl().

Here is the caller graph for this function:

◆ enterLaneAtInsertion()

void MSVehicle::enterLaneAtInsertion ( MSLane enteredLane,
double  pos,
double  speed,
double  posLat,
MSMoveReminder::Notification  notification 
)

Update when the vehicle enters a new lane in the emit step.

Parameters
[in]enteredLaneThe lane the vehicle enters
[in]posThe position the vehicle was inserted into the lane
[in]speedThe speed with which the vehicle was inserted into the lane
[in]posLatThe lateral position the vehicle was inserted into the lane
[in]notificationThe cause of insertion (i.e. departure, teleport, parking)

Definition at line 5645 of file MSVehicle.cpp.

References MSBaseVehicle::activateReminders(), MSBaseVehicle::addReminder(), computeAngle(), computeFurtherLanes(), DELTA_T, MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSBaseVehicle::getLength(), MSLane::getMoveReminders(), MSBaseVehicle::getVehicleType(), MSGlobals::gLaneChangeDuration, MSGlobals::gLateralResolution, MSBaseVehicle::hasDeparted(), Position::INVALID, MSAbstractLaneChangeModel::isOpposite(), M_PI, myAmOnNet, myAngle, myCachedPosition, MSBaseVehicle::myDeparture, myLane, myLaneChangeModel, myLastActionTime, myLastBestLanesEdge, myLastBestLanesInternalLane, MSVehicle::State::myPos, MSVehicle::State::myPreviousSpeed, MSVehicle::State::mySpeed, myState, MSBaseVehicle::NOT_YET_DEPARTED, MSMoveReminder::NOTIFICATION_LOAD_STATE, MSMoveReminder::NOTIFICATION_TELEPORT, MSBaseVehicle::onDepart(), MSAbstractLaneChangeModel::resetState(), MSAbstractLaneChangeModel::updateShadowLane(), and MSAbstractLaneChangeModel::updateTargetLane().

Referenced by MSLane::incorporateVehicle().

Here is the caller graph for this function:

◆ enterLaneAtLaneChange()

◆ enterLaneAtMove()

void MSVehicle::enterLaneAtMove ( MSLane enteredLane,
bool  onTeleporting = false 
)

Update when the vehicle enters a new lane in the move step.

Parameters
[in]enteredLaneThe lane the vehicle enters
[in]onTeleportingWhether the lane was entered while being teleported
Returns
Whether the vehicle's route has ended (due to vaporization, or because the destination was reached)

Definition at line 5419 of file MSVehicle.cpp.

References MSBaseVehicle::activateReminders(), adaptLaneEntering2MoveReminder(), MSVehicle::Influencer::adaptLaneTimeLine(), MSLane::getBidiLane(), MSLane::getEdge(), Named::getID(), MSLane::getIndex(), getLateralOverlap(), MSLink::getLateralShift(), MSLane::getLinkTo(), MSLane::getPermissions(), MSBaseVehicle::getVClass(), MSBaseVehicle::getVehicleType(), MSLane::getWidth(), MSVehicleType::getWidth(), MSGlobals::gLateralResolution, MSBaseVehicle::haveValidStopEdges(), Position::INVALID, MSEdge::isInternal(), MSAbstractLaneChangeModel::isOpposite(), isRailway(), MAX2(), myAmOnNet, myCachedPosition, MSBaseVehicle::myCurrEdge, myFurtherLanesPosLat, myInfluencer, myLane, myLaneChangeModel, myLastBestLanesEdge, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_TELEPORT, overlap(), MSLane::setPartialOccupation(), and SUMOVehicleParameter::via.

Referenced by MSVehicleTransfer::add(), MSVehicleTransfer::checkInsertions(), MSDevice_Bluelight::notifyMove(), and processLaneAdvances().

Here is the caller graph for this function:

◆ estimateTimeToNextStop()

◆ executeFractionalMove()

void MSVehicle::executeFractionalMove ( double  dist)

◆ executeMove()

bool MSVehicle::executeMove ( )

Executes planned vehicle movements with regards to right-of-way.

This method goes through all DriveProcessItems in myLFLinkLanes in order to find a speed that is safe for all upcoming links.

Using this speed the position is updated and the vehicle is moved to the next lane (myLane is updated) if the end of the current lane is reached (this may happen multiple times in this method)

The vehicle also sets the lanes it is in-lapping into and informs them about it.

Returns
Whether the vehicle has moved to the next edge

Definition at line 4499 of file MSVehicle.cpp.

References ACCEL2SPEED, MSDevice_ElecHybrid::acceleration(), accelThresholdForWaiting(), MSAbstractLaneChangeModel::changedToOpposite(), computeAngle(), MSDevice_ElecHybrid::consumption(), DEBUG_COND, DELTA_T, MSNet::EMERGENCYSTOP, MSCFModel::finalizeSpeed(), gDebugFlag1, MSAbstractLaneChangeModel::getAngleOffset(), getBackLane(), getCarFollowModel(), MSDevice_ElecHybrid::getConsum(), MSBaseVehicle::getDevice(), MSLane::getEdge(), Named::getID(), Named::getIDSecure(), MSLane::getIndex(), MSNet::getInstance(), MSEdge::getLanes(), getLateralOverlap(), getLateralPositionOnLane(), MSBaseVehicle::getLength(), MSLane::getLength(), MSBaseVehicle::getNextStop(), MSEdge::getNumLanes(), MSLane::getOpposite(), MSEdge::getOppositeEdge(), MSLane::getOppositePos(), MSLane::getParallelOpposite(), MSDevice_ElecHybrid::getParameterDouble(), getPositionOnLane(), MSAbstractLaneChangeModel::getShadowLane(), getSpeed(), MSCFModel::getStartupDelay(), MSBaseVehicle::getVClass(), MSVehicleType::getVehicleClass(), MSNet::getVehicleControl(), MSGlobals::gLateralResolution, MSGlobals::gSemiImplicitEulerUpdate, MSGlobals::gStartupWaitThreshold, hasArrivedInternal(), MSAbstractLaneChangeModel::hasBlueLight(), MSNet::informVehicleStateListener(), Position::INVALID, MSAbstractLaneChangeModel::isOpposite(), isRailway(), MSBaseVehicle::isStopped(), MSEdge::isVaporizing(), leaveLaneBack(), MAX2(), MIN2(), myAcceleration, myActionStep, myAngle, MSVehicle::State::myBackPos, myCachedPosition, myCollisionImmunity, myFurtherLanes, myFurtherLanesPosLat, myLane, myLaneChangeModel, MSVehicle::State::myLastCoveredDist, MSVehicle::State::myPos, MSVehicle::State::mySpeed, myState, myStopDist, myTimeSinceStartup, MSBaseVehicle::myType, MSMoveReminder::NOTIFICATION_JUNCTION, NUMERICAL_EPS_SPEED, MSAbstractLaneChangeModel::prepareStep(), processLaneAdvances(), processLinkApproaches(), processTraCISpeedControl(), MSVehicleControl::registerEmergencyStop(), MSAbstractLaneChangeModel::resetSpeedLat(), setBlinkerInformation(), setBrakingSignals(), MSDevice_ElecHybrid::setConsum(), setEmergencyBlueLight(), MSAbstractLaneChangeModel::setPreviousAngleOffset(), SIMSTEP, SIMTIME, SOFT_ASSERT, SPEED2ACCEL, SUMO_ATTR_MAXIMUMPOWER, SVC_EMERGENCY, time2string(), TL, toString(), TS, updateBestLanes(), updateFurtherLanes(), MSAbstractLaneChangeModel::updateShadowLane(), updateState(), MSAbstractLaneChangeModel::updateTargetLane(), updateTimeLoss(), updateWaitingTime(), workOnMoveReminders(), and WRITE_WARNINGF.

Referenced by MSLane::executeMovements().

Here is the caller graph for this function:

◆ fixPosition()

void MSVehicle::fixPosition ( )

repair errors in vehicle position after changing between internal edges

Definition at line 6535 of file MSVehicle.cpp.

References MSGlobals::gLaneChangeDuration, MSAbstractLaneChangeModel::isChangingLanes(), myLaneChangeModel, MSVehicle::State::myPosLat, and myState.

Referenced by MSAbstractLaneChangeModel::endLaneChangeManeuver().

Here is the caller graph for this function:

◆ getAcceleration()

◆ getAccumulatedWaitingSeconds()

double MSVehicle::getAccumulatedWaitingSeconds ( ) const
inline

Returns the number of seconds waited (speed was lesser than 0.1m/s) within the last millisecs.

Returns
The time the vehicle was standing within the last t millisecs

Definition at line 714 of file MSVehicle.h.

References getWaitingTime(), and STEPS2TIME.

Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), GUIBaseVehicle::getScaleValue(), and keepClear().

Here is the caller graph for this function:

◆ getActionStepLength()

SUMOTime MSVehicle::getActionStepLength ( ) const
inline

Returns the vehicle's action step length in millisecs, i.e. the interval between two action points.

Returns
The current action step length in ms.

Definition at line 525 of file MSVehicle.h.

References MSVehicleType::getActionStepLength(), and MSBaseVehicle::myType.

Referenced by MSLaneChanger::checkChange(), MSLeaderInfo::getSubLanes(), isActionStep(), loadState(), processNextStop(), setActionStepLength(), and MSLaneChangerSublane::startChangeSublane().

Here is the caller graph for this function:

◆ getActionStepLengthSecs()

◆ getAngle()

double MSVehicle::getAngle ( ) const
inlinevirtual

Returns the vehicle's direction in radians.

Returns
The vehicle's current angle

Implements SUMOVehicle.

Definition at line 735 of file MSVehicle.h.

References myAngle.

Referenced by computeAngle(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), GUIVehicle::getAngle(), MSStageDriving::getAngle(), getBoundingBox(), MSCFModel_CC::getParameter(), MSLane::handleCollisionBetween(), MSLink::isInFront(), and MSLaneChangerSublane::startChangeSublane().

Here is the caller graph for this function:

◆ getArrivalLane()

virtual int MSBaseVehicle::getArrivalLane ( ) const
inlinevirtualinherited

Definition at line 401 of file MSBaseVehicle.h.

References MSBaseVehicle::myArrivalLane.

Referenced by GUIBaseVehicle::drawStopLabels().

Here is the caller graph for this function:

◆ getArrivalPos()

virtual double MSBaseVehicle::getArrivalPos ( ) const
inlinevirtualinherited

Returns this vehicle's desired arrivalPos for its current route (may change on reroute)

Returns
This vehicle's real arrivalPos

Implements SUMOVehicle.

Definition at line 397 of file MSBaseVehicle.h.

References MSBaseVehicle::myArrivalPos.

Referenced by MSLCM_SL2015::_wantsChangeSublane(), GUIBaseVehicle::drawStopLabels(), MSBaseVehicle::insertStop(), MSLane::isInsertionSuccess(), MSBaseVehicle::replaceStop(), MSBaseVehicle::rerouteBetweenStops(), and rerouteParkingArea().

Here is the caller graph for this function:

◆ getArrivalTime()

SUMOTime MSVehicle::getArrivalTime ( SUMOTime  t,
double  seen,
double  v,
double  arrivalSpeed 
) const
protected

Definition at line 3043 of file MSVehicle.cpp.

References DELTA_T, getCarFollowModel(), MSCFModel::getMinimalArrivalTime(), MSGlobals::gSemiImplicitEulerUpdate, MSBaseVehicle::isStopped(), MAX2(), MSVehicle::State::mySpeed, myState, and MSBaseVehicle::myStops.

Referenced by planMoveInternal().

Here is the caller graph for this function:

◆ getBackLane()

const MSLane * MSVehicle::getBackLane ( ) const
virtual

Returns the lane the where the rear of the object is currently at.

Returns
The current back lane or nullptr if the object is not on a lane

Implements SUMOTrafficObject.

Definition at line 4903 of file MSVehicle.cpp.

References myFurtherLanes, and myLane.

Referenced by executeMove().

Here is the caller graph for this function:

◆ getBackPosition()

◆ getBackPositionOnLane() [1/3]

double MSVehicle::getBackPositionOnLane ( ) const
inline

Get the vehicle's position relative to its current lane.

Returns
The back position of the vehicle (in m from the current lane's begin)

Definition at line 405 of file MSVehicle.h.

References getBackPositionOnLane(), and myLane.

Referenced by checkReversal(), getBackPosition(), getBackPositionOnLane(), getBackPositionOnLane(), getPositionOnLane(), and joinTrainPart().

Here is the caller graph for this function:

◆ getBackPositionOnLane() [2/3]

double MSVehicle::getBackPositionOnLane ( const MSLane lane) const
inlinevirtual

Get the vehicle's position relative to the given lane.

Returns
The back position of the vehicle (in m from the given lane's begin)
Note
It is assumed that this function is only called for a vehicle that has a relation to the lane which makes it 'directly' relevant for car-following behavior on that lane, i.e., either it occupies part of the lanes surface (regular or partial vehicle for the lane), or (for the sublane model) it issued a maneuver reservation for a lane change.

Implements SUMOTrafficObject.

Definition at line 398 of file MSVehicle.h.

References getBackPositionOnLane().

Referenced by adaptToLeaders(), MSLane::addLeaders(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), MSLaneChangerSublane::checkChangeToNewLane(), checkRewindLinkLanes(), MSDevice_SSM::classifyEncounter(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::freeInsertion(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSLane::getLeader(), getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), LIBSUMO_NAMESPACE::Vehicle::getNeighbors(), MSLane::getOppositeFollower(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSPModel_Striping::getVehicleObstacles(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), joinTrainPartFront(), MSLane::lastInsertion(), MSLane::vehicle_position_sorter::operator()(), MSLane::vehicle_natural_position_sorter::operator()(), MSLaneChangerSublane::outputLCEnded(), MSLaneChangerSublane::outputLCStarted(), and MSLane::safeInsertionSpeed().

Here is the caller graph for this function:

◆ getBackPositionOnLane() [3/3]

◆ getBaseInfluencer() [1/2]

MSVehicle::BaseInfluencer & MSVehicle::getBaseInfluencer ( )
virtual

Returns the velocity/lane influencer.

If no influencer was existing before, one is built, first

Returns
Reference to this vehicle's speed influencer

Implements MSBaseVehicle.

Definition at line 7305 of file MSVehicle.cpp.

References getInfluencer().

◆ getBaseInfluencer() [2/2]

const MSVehicle::BaseInfluencer * MSVehicle::getBaseInfluencer ( ) const
virtual

Implements MSBaseVehicle.

Definition at line 7316 of file MSVehicle.cpp.

References myInfluencer.

◆ getBestLaneDist()

double MSVehicle::getBestLaneDist ( ) const

returns the distance that can be driven without lane change

Definition at line 6516 of file MSVehicle.cpp.

References myBestLanes.

Referenced by MSLane::isInsertionSuccess().

Here is the caller graph for this function:

◆ getBestLaneOffset()

int MSVehicle::getBestLaneOffset ( ) const

Definition at line 6507 of file MSVehicle.cpp.

References myBestLanes.

Referenced by MSLCM_LC2013::changed(), MSLCM_SL2015::changed(), GUIVehicle::getColorValue(), GUIBaseVehicle::getScaleValue(), and MSLane::isInsertionSuccess().

Here is the caller graph for this function:

◆ getBestLanes()

const std::vector< MSVehicle::LaneQ > & MSVehicle::getBestLanes ( ) const

Returns the description of best lanes to use in order to continue the route.

Returns
The LaneQ for all lanes of the current edge

Definition at line 5828 of file MSVehicle.cpp.

References myBestLanes.

Referenced by MSLane::appropriate(), MSLaneChanger::avoidDeadlock(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLaneChangerSublane::checkChangeHelper(), MSDevice_ToC::checkDynamicToC(), LIBSUMO_NAMESPACE::Vehicle::getBestLanes(), MSLaneChanger::getBestLanesOpposite(), MSEdge::getDepartLane(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().

Here is the caller graph for this function:

◆ getBestLanesContinuation() [1/2]

const std::vector< MSLane * > & MSVehicle::getBestLanesContinuation ( ) const

◆ getBestLanesContinuation() [2/2]

const std::vector< MSLane * > & MSVehicle::getBestLanesContinuation ( const MSLane *const  l) const

Returns the best sequence of lanes to continue the route starting at the given lane.

Returns
The bestContinuations of the LaneQ for the given lane (see LaneQ)

Definition at line 6345 of file MSVehicle.cpp.

References MSLane::getEdge(), MSLane::getLinkCont(), MSEdge::isInternal(), myBestLanes, and myEmptyLaneVector.

◆ getBoolParam()

bool SUMOTrafficObject::getBoolParam ( const std::string &  paramName,
const bool  required = false,
const bool  deflt = false 
) const
inherited

Retrieve a boolean parameter for the traffic object.

Parameters
paramNamethe parameter name
requiredwhether it is an error if the parameter is not set
defltthe default value to take if the parameter is not set (the default in the OptionsCont takes precedence)
Returns
the bool value

Definition at line 76 of file SUMOTrafficObject.cpp.

References Named::getID(), SUMOTrafficObject::getStringParam(), SUMOTrafficObject::isPerson(), SUMOTrafficObject::isVehicle(), TL, StringUtils::toBool(), toString(), and WRITE_ERRORF.

Referenced by MSDevice_GLOSA::buildVehicleDevices(), and MSDevice_ToC::buildVehicleDevices().

Here is the caller graph for this function:

◆ getBoundingBox()

PositionVector MSVehicle::getBoundingBox ( double  offset = 0) const
virtual

◆ getBoundingPoly()

PositionVector MSVehicle::getBoundingPoly ( double  offset = 0) const

◆ getBrakeGap()

double MSVehicle::getBrakeGap ( bool  delayed = false) const
virtual

get distance for coming to a stop (used for rerouting checks)

Implements SUMOVehicle.

Definition at line 2060 of file MSVehicle.cpp.

References MSCFModel::brakeGap(), getCarFollowModel(), and getSpeed().

Referenced by MSLaneChanger::avoidDeadlock(), checkRewindLinkLanes(), MSVehicle::Influencer::gapControlSpeed(), planMoveInternal(), and MSLane::safeInsertionSpeed().

Here is the caller graph for this function:

◆ getCarFollowModel()

const MSCFModel & MSVehicle::getCarFollowModel ( ) const
inline

Returns the vehicle's car following model definition.

This is simply a wrapper around the vehicle type's car-following model retrieval for a shorter access.

Returns
The vehicle's car following model definition

Definition at line 969 of file MSVehicle.h.

References MSVehicleType::getCarFollowModel(), and MSBaseVehicle::myType.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), accelThresholdForWaiting(), MSDevice_GLOSA::adaptSpeed(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToJunctionLeader(), adaptToLeader(), adaptToLeaders(), adaptToOncomingLeader(), MSPModel_Striping::addCrossingVehs(), MSCriticalFollowerDistanceInfo::addFollower(), MSLane::addLeaders(), MSLCM_LC2013::anticipateFollowSpeed(), MSLCHelper::canSaveBlockerLength(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), MSLCM_LC2013_CC::checkChangeBeforeCommitting(), MSLane::checkFailure(), MSLane::checkForPedestrians(), MSLaneChanger::checkOppositeStop(), checkReversal(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLCM_SL2015::commitFollowSpeed(), MSLCM_SL2015::commitManoeuvre(), MSLaneChanger::computeOvertakingTime(), MSLaneChanger::computeSafeOppositeLength(), MSLaneChanger::computeSurplusGap(), MSLink::couldBrakeForLeader(), MSLane::detectCollisionBetween(), MSDevice_GLOSA::distance_at_continuous_accel(), MSDevice_GLOSA::earliest_arrival(), MSDevice_SSM::estimateConflictTimes(), estimateTimeToNextStop(), executeMove(), MSLane::freeInsertion(), getArrivalTime(), getBrakeGap(), MSAbstractLaneChangeModel::getCarFollowModel(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), getCurrentApparentDecel(), getFollower(), LIBSUMO_NAMESPACE::Vehicle::getFollowSpeed(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), MSLane::getLeader(), getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLaneChanger::getMaxOvertakingSpeed(), MSLane::getMissingRearGap(), LIBSUMO_NAMESPACE::Vehicle::getNeighbors(), MSBaseVehicle::getPrefixedParameter(), MSLaneChanger::getRealLeader(), getRerouteOrigin(), MSCFModel_CACC::getSecureGap(), LIBSUMO_NAMESPACE::Vehicle::getSecureGap(), MSLCHelper::getSpeedPreservingSecureGap(), LIBSUMO_NAMESPACE::Vehicle::getStopSpeed(), GUIVehicle::getTypeParameterWindow(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), handleCollisionStop(), MSLane::handleIntermodalCollisionBetween(), MSIdling_Stop::idle(), MSVehicle::Influencer::implicitSpeedRemote(), MSLCM_DK2008::informBlocker(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeaders(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), isLeader(), MSLane::lastInsertion(), MSDevice_Bluelight::notifyMove(), MSDevice_StationFinder::notifyMove(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdToggleStop(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), planMoveInternal(), MSLCM_SL2015::preventSliding(), processLinkApproaches(), processNextStop(), registerInsertionApproach(), MSAbstractLaneChangeModel::remainingTime(), MSDevice_ToC::requestToC(), MSLane::safeInsertionSpeed(), GUIVehicle::selectBlockingFoes(), setBlinkerInformation(), MSBaseVehicle::setCarFollowModelParameter(), MSAbstractLaneChangeModel::setFollowerGaps(), MSAbstractLaneChangeModel::setLeaderGaps(), MSAbstractLaneChangeModel::setOrigLeaderGaps(), MSDevice_ToC::setState(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), slowDownForSchedule(), MSCFModel_CACC::speedGapControl(), MSDevice_GLOSA::time_to_junction_at_continuous_accel(), unsafeLinkAhead(), updateBestLanes(), MSLCHelper::updateBlockerLength(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), updateState(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().

◆ getCarFollowVariables()

MSCFModel::VehicleVariables * MSVehicle::getCarFollowVariables ( ) const
inline

Returns the vehicle's car following model variables.

Returns
The vehicle's car following model variables

Definition at line 990 of file MSVehicle.h.

References myCFVariables.

Referenced by MSCFModel_CC::_acc(), MSCFModel_CC::_cacc(), MSCFModel_CC::_cc(), MSCFModel_CC::_consensus(), MSCFModel_CC::_flatbed(), MSCFModel_CC::_ploeg(), MSCFModel_EIDM::_v(), MSCFModel_ACC::_v(), MSCFModel_IDM::_v(), MSCFModel_CACC::_v(), MSCFModel_CC::_v(), MSCFModel_Kerner::_v(), MSCFModel_Wiedemann::_v(), MSCFModel_SmartSK::_vsafe(), MSCFModel_CC::changeWholePlatoonLane(), MSCFModel_CC::commitToLaneChange(), MSCFModel_CC::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSCFModel_IDM::finalizeSpeed(), MSCFModel_Kerner::finalizeSpeed(), MSCFModel_PWag2009::finalizeSpeed(), MSCFModel_SmartSK::finalizeSpeed(), MSCFModel_Wiedemann::finalizeSpeed(), MSCFModel_CC::followSpeed(), MSCFModel_EIDM::followSpeed(), MSCFModel_PWag2009::followSpeed(), MSCFModel_SmartSK::followSpeed(), MSCFModel_CACC::freeSpeed(), MSCFModel_CC::freeSpeed(), MSCFModel_EIDM::freeSpeed(), MSCFModel_CC::getACCAcceleration(), MSCFModel_CC::getActiveController(), MSCFModel_CC::getCACCConstantSpacing(), MSCFModel_CACC::getParameter(), MSCFModel_CC::getParameter(), MSCFModel_CC::getSecureGap(), MSCFModel_CC::getVehicleInformation(), MSCFModel_CC::interactionGap(), MSCFModel_EIDM::internalsecuregap(), MSCFModel_EIDM::internalspeedlimit(), MSCFModel_CC::isLeader(), MSCFModel_CC::isPlatoonLaneChangeSafe(), MSCFModel_CC::maxNextSpeed(), MSCFModel_CC::minNextSpeed(), MSCFModel_Krauss::patchSpeedBeforeLC(), MSCFModel_CC::performPlatoonLaneChange(), MSCFModel_CC::recomputeParameters(), MSCFModel_CC::resetConsensus(), MSCFModel_CC::setLeader(), MSCFModel_CACC::setParameter(), MSCFModel_CC::setParameter(), MSCFModel_EIDM::stopSpeed(), MSCFModel_CC::stopSpeed(), MSCFModel_SmartSK::stopSpeed(), MSCFModel_CC::switchOnACC(), and MSCFModel_SmartSK::updateMyHeadway().

◆ getCenterOnEdge()

double MSVehicle::getCenterOnEdge ( const MSLane lane = 0) const

◆ getChargedEnergy()

double MSBaseVehicle::getChargedEnergy ( ) const
inherited

Returns the energy charged to the battery in the current time step (Wh)

Returns
The energy charged to the battery in the current time step.

Definition at line 2105 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getDevice(), MSDevice_Battery::getEnergyCharged(), and MSDevice_ElecHybrid::getEnergyCharged().

Referenced by GUIVehicle::getColorValue(), and GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getChargingMemory()

const StoppingPlaceMemory * MSBaseVehicle::getChargingMemory ( ) const
inlineinherited

Definition at line 1009 of file MSBaseVehicle.h.

References MSBaseVehicle::myChargingMemory.

Referenced by GUIBaseVehicle::drawChargingInfo(), and MSDevice_StationFinder::findChargingStation().

Here is the caller graph for this function:

◆ getChosenSpeedFactor()

double MSBaseVehicle::getChosenSpeedFactor ( ) const
inlinevirtualinherited

Returns the precomputed factor by which the driver wants to be faster than the speed limit.

Returns
Speed limit factor

Implements SUMOTrafficObject.

Definition at line 569 of file MSBaseVehicle.h.

References MSBaseVehicle::myChosenSpeedFactor.

Referenced by MSLane::getDepartSpeed(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), MSCFModel_EIDM::internalspeedlimit(), MSDevice_GLOSA::MSDevice_GLOSA(), MSDevice_GLOSA::notifyMove(), GUISUMOViewParent::onUpdSpeedFactor(), and slowDownForSchedule().

Here is the caller graph for this function:

◆ getContainerDevice()

const MSDevice_Transportable * MSBaseVehicle::getContainerDevice ( ) const
inlineinherited

Definition at line 807 of file MSBaseVehicle.h.

References MSBaseVehicle::myContainerDevice.

Referenced by GUIBaseVehicle::getNumContainers().

Here is the caller graph for this function:

◆ getContainerNumber()

int MSBaseVehicle::getContainerNumber ( ) const
virtualinherited

Returns the number of containers.

Returns
The number of contaiers on-board

Implements SUMOVehicle.

Definition at line 2204 of file MSBaseVehicle.cpp.

References SUMOVehicleParameter::containerNumber, MSBaseVehicle::myContainerDevice, MSBaseVehicle::myParameter, and MSDevice_Transportable::size().

Referenced by MSBaseVehicle::allowsBoarding(), MEVehicle::checkStop(), GUIVehicle::getParameterWindow(), leaveLane(), MEVehicle::mayProceed(), processNextStop(), MEVehicle::processStop(), and MSXMLRawOut::writeVehicle().

Here is the caller graph for this function:

◆ getContainers()

const std::vector< MSTransportable * > & MSBaseVehicle::getContainers ( ) const
virtualinherited

retrieve riding containers

Implements SUMOVehicle.

Definition at line 2233 of file MSBaseVehicle.cpp.

References MSDevice_Transportable::getTransportables(), MSBaseVehicle::myContainerDevice, and MSBaseVehicle::myEmptyTransportableVector.

Referenced by GUIBaseVehicle::getPopUpMenu(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdSelectTransported(), and MSXMLRawOut::writeVehicle().

Here is the caller graph for this function:

◆ getCurrentApparentDecel()

double MSVehicle::getCurrentApparentDecel ( ) const

get apparent deceleration based on vType parameters and current acceleration

Definition at line 7738 of file MSVehicle.cpp.

References MSCFModel::getApparentDecel(), and getCarFollowModel().

◆ getCurrentEdge()

const MSEdge * MSVehicle::getCurrentEdge ( ) const
virtual

Returns the edge the vehicle is currently at (possibly an internal edge or nullptr)

Reimplemented from MSBaseVehicle.

Definition at line 8077 of file MSVehicle.cpp.

References MSBaseVehicle::getEdge(), MSLane::getEdge(), and myLane.

Referenced by joinTrainPartFront().

Here is the caller graph for this function:

◆ getCurrentParkingArea()

MSParkingArea * MSBaseVehicle::getCurrentParkingArea ( )
inherited

get the current parking area stop or nullptr

Definition at line 1143 of file MSBaseVehicle.cpp.

References MSBaseVehicle::isParking(), and MSBaseVehicle::myStops.

Referenced by MSVehicleTransfer::checkInsertions(), and MSVehicle::Manoeuvre::configureExitManoeuvre().

Here is the caller graph for this function:

◆ getCurrentRouteEdge()

const MSRouteIterator & MSBaseVehicle::getCurrentRouteEdge ( ) const
inlinevirtualinherited

Returns an iterator pointing to the current edge in this vehicles route.

Returns
The current route pointer

Implements SUMOVehicle.

Definition at line 301 of file MSBaseVehicle.h.

References MSBaseVehicle::myCurrEdge.

Referenced by GUIBaseVehicle::drawStopLabels(), MSDevice_SSM::findFoeConflictLane(), MSLane::getLeaderOnConsecutive(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), MSIdling_Stop::idle(), MSBaseVehicle::insertStop(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), MSBaseVehicle::replaceStop(), MSBaseVehicle::rerouteBetweenStops(), and LIBSUMO_NAMESPACE::TrafficLight::updateConstraints().

Here is the caller graph for this function:

◆ getDeltaPos()

double MSVehicle::getDeltaPos ( const double  accel) const

calculates the distance covered in the next integration step given an acceleration and assuming the current velocity. (gives different results for different integration methods, e.g., euler vs. ballistic)

Parameters
[in]accelthe assumed acceleration
Returns
distance covered in next integration step

Definition at line 3596 of file MSVehicle.cpp.

References ACCEL2SPEED, MSGlobals::gSemiImplicitEulerUpdate, MAX2(), MSVehicle::State::mySpeed, myState, and SPEED2DIST.

Referenced by updateState().

Here is the caller graph for this function:

◆ getDepartDelay()

SUMOTime MSBaseVehicle::getDepartDelay ( ) const
virtualinherited

Returns the depart delay.

Implements SUMOVehicle.

Definition at line 643 of file MSBaseVehicle.cpp.

References SUMOVehicleParameter::depart, MSBaseVehicle::getDeparture(), MSBaseVehicle::getParameter(), MSBaseVehicle::hasDeparted(), and SIMSTEP.

Referenced by GUIVehicle::getColorValue(), GUIMEVehicle::getColorValue(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), GUIBaseVehicle::getScaleValue(), and MSLane::insertVehicle().

Here is the caller graph for this function:

◆ getDepartPos()

double MSBaseVehicle::getDepartPos ( ) const
inlinevirtualinherited

Returns this vehicle's real departure position.

Returns
This vehicle's real departure position

Implements SUMOVehicle.

Definition at line 389 of file MSBaseVehicle.h.

References MSBaseVehicle::myDepartPos.

◆ getDeparture()

SUMOTime MSBaseVehicle::getDeparture ( ) const
inlinevirtualinherited

Returns this vehicle's real departure time.

Returns
This vehicle's real departure time

Implements SUMOVehicle.

Definition at line 365 of file MSBaseVehicle.h.

References MSBaseVehicle::myDeparture.

Referenced by MSBaseVehicle::getDepartDelay(), LIBSUMO_NAMESPACE::Vehicle::getDeparture(), MSDevice_GLOSA::notifyEnter(), and MSVehicle::Influencer::postProcessRemoteControl().

Here is the caller graph for this function:

◆ getDevice()

◆ getDeviceParameter()

std::string MSBaseVehicle::getDeviceParameter ( const std::string &  deviceName,
const std::string &  key 
) const
inherited

try to retrieve the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists

Definition at line 2293 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myDevices, and TLF.

Referenced by MSBaseVehicle::getPrefixedParameter().

Here is the caller graph for this function:

◆ getDevices()

const std::vector< MSVehicleDevice * > & MSBaseVehicle::getDevices ( ) const
inlinevirtualinherited

Returns this vehicle's devices.

Returns
This vehicle's devices

Implements SUMOVehicle.

Definition at line 481 of file MSBaseVehicle.h.

References MSBaseVehicle::myDevices.

Referenced by GUIBaseVehicle::getDeviceDescription().

Here is the caller graph for this function:

◆ getDistanceToLeaveJunction()

double MSVehicle::getDistanceToLeaveJunction ( ) const
protected

get the distance from the start of this lane to the start of the next normal lane (or 0 if this lane is a normal lane)

Definition at line 1304 of file MSVehicle.cpp.

References MSLane::getCanonicalSuccessorLane(), MSBaseVehicle::getLength(), MSLane::getLength(), getPositionOnLane(), MSLane::isInternal(), MSLane::isNormal(), MAX2(), and myLane.

Referenced by adaptToOncomingLeader().

Here is the caller graph for this function:

◆ getDistanceToPosition()

double MSVehicle::getDistanceToPosition ( double  destPos,
const MSLane destLane 
) const

Compute distance that will be covered, if the vehicle moves to a given position on its route, starting at its current position.

Parameters
destPosposition on the destination edge that shall be reached
destLanedestination lane that shall be reached
Returns
distance from the vehicles current position to the destination position, or a near infinite real value if the destination position is not contained within the vehicles route or the vehicle is not active

Definition at line 6559 of file MSVehicle.cpp.

References getPositionOnLane(), isOnRoad(), myLane, and MSBaseVehicle::myRoute.

Referenced by MSVehicle::Influencer::gapControlSpeed(), MSVehicle::Influencer::implicitDeltaPosRemote(), MSVehicle::Influencer::implicitSpeedRemote(), and MSDevice_StationFinder::notifyMove().

Here is the caller graph for this function:

◆ getDriverState()

std::shared_ptr< MSSimpleDriverState > MSVehicle::getDriverState ( ) const

Returns the vehicle driver's state.

Returns
The vehicle driver's state

Definition at line 7714 of file MSVehicle.cpp.

References MSDevice_DriverState::getDriverState(), and myDriverState.

Referenced by MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), MSCFModel::applyOwnSpeedPerceptionError(), and MSDevice_ToC::setAwareness().

Here is the caller graph for this function:

◆ getEdge()

const MSEdge * MSBaseVehicle::getEdge ( ) const
virtualinherited

Returns the edge the vehicle is currently at.

Returns
The current edge in the vehicle's route

Implements SUMOTrafficObject.

Definition at line 222 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myCurrEdge.

Referenced by MSVehicleTransfer::add(), MSBaseVehicle::addStop(), MELoop::changeSegment(), MELoop::checkCar(), MSVehicleTransfer::checkInsertions(), GUIBaseVehicle::drawOnPos(), enterLaneAtLaneChange(), estimateTimeToNextStop(), METriggeredCalibrator::execute(), MSLane::executeMovements(), MSDevice_SSM::findFoeConflictLane(), LIBSUMO_NAMESPACE::Vehicle::getAllowedSpeed(), MEVehicle::getAngle(), MEVehicle::getAverageSpeed(), GUIMEVehicle::getCenteringBoundary(), MSBaseVehicle::getCurrentEdge(), getCurrentEdge(), LIBSUMO_NAMESPACE::Vehicle::getDrivingDistance(), LIBSUMO_NAMESPACE::Vehicle::getDrivingDistance2D(), GUIMEVehicle::getEdgeID(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), MEVehicle::getPosition(), MEVehicle::getRightSideOnEdge(), MSBaseVehicle::getRNG(), MSBaseVehicle::getRNGIndex(), LIBSUMO_NAMESPACE::Vehicle::getRoadID(), GUIBaseVehicle::getScaleValue(), MEVehicle::getSlope(), MSLCM_SL2015::getVehicleCenter(), MSBaseVehicle::isJumping(), TraCIServerAPI_Vehicle::processSet(), MESegment::receive(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::reroute(), rerouteParkingArea(), MELoop::teleportVehicle(), MEVehicle::updateDetectors(), MSFCDExport::write(), and MSBatteryExport::write().

Here is the caller graph for this function:

◆ getElecHybridCurrent()

double MSBaseVehicle::getElecHybridCurrent ( ) const
inherited

Returns actual current (A) of ElecHybrid device RICE_CHECK: Is this the current consumed from the overhead wire or the current driving the powertrain of the vehicle? RICE_REV_JS: It is the current drawn from the overhead wire (value if the vehicle is not connected to overhead wire?)

Returns
The current of ElecHybrid device

Definition at line 2130 of file MSBaseVehicle.cpp.

References MSDevice_ElecHybrid::getCurrentFromOverheadWire(), and MSBaseVehicle::getDevice().

Referenced by GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getEmissionParameters()

EnergyParams * MSBaseVehicle::getEmissionParameters ( ) const
inlinevirtualinherited

retrieve parameters for the energy consumption model

Implements SUMOVehicle.

Definition at line 812 of file MSBaseVehicle.h.

References MSBaseVehicle::getEmissionParameters(), MSBaseVehicle::getVehicleType(), and MSBaseVehicle::myEnergyParams.

Referenced by MSBaseVehicle::getEmissionParameters(), MSBaseVehicle::getEmissions(), and MSBaseVehicle::initDevices().

Here is the caller graph for this function:

◆ getEmissions()

double MSBaseVehicle::getEmissions ( ) const
inlineinherited

◆ getFloatParam()

double SUMOTrafficObject::getFloatParam ( const std::string &  paramName,
const bool  required = false,
const double  deflt = INVALID_DOUBLE 
) const
inherited

Retrieve a floating point parameter for the traffic object.

Parameters
paramNamethe parameter name
requiredwhether it is an error if the parameter is not set
defltthe default value to take if the parameter is not set (the default in the OptionsCont takes precedence)
Returns
the float value

Definition at line 58 of file SUMOTrafficObject.cpp.

References Named::getID(), SUMOTrafficObject::getStringParam(), SUMOTrafficObject::isPerson(), Distribution_Parameterized::isValid(), SUMOTrafficObject::isVehicle(), Distribution_Parameterized::sample(), TL, toString(), and WRITE_ERRORF.

Referenced by MSDevice_Bluelight::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_Friction::buildVehicleDevices(), MSDevice_GLOSA::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Taxi::dispatchShared(), MSPModel_JuPedSim::execute(), MSDevice_ToC::getDynamicMRMProbability(), MSDevice_ToC::getOpenGapParams(), MSPModel_Striping::moveInDirectionOnLane(), MSDevice_GLOSA::notifyEnter(), MSDevice_Bluelight::notifyMove(), and MSDevice_Battery::readParameterValue().

Here is the caller graph for this function:

◆ getFlowID()

std::string MSBaseVehicle::getFlowID ( ) const
privateinherited

reconstruct flow id from vehicle id

Definition at line 164 of file MSBaseVehicle.cpp.

References Named::getID().

Referenced by MSBaseVehicle::checkRouteRemoval().

Here is the caller graph for this function:

◆ getFollower()

std::pair< const MSVehicle *const, double > MSVehicle::getFollower ( double  dist = 0) const
virtual

Returns the follower of the vehicle looking for a fixed distance.

If the distance is not given it is set to the value of MSCFModel::brakeGap(2*roadSpeed, 4.5, 0) The gap returned does not include the minGap. If there are multiple followers, the one that maximizes the term (getSecureGap - gap) is returned.

Parameters
distup to which distance to look at least for a leader
Returns
The leading vehicle together with the gap; (0, -1) if no leader was found.

Reimplemented from MSBaseVehicle.

Definition at line 6598 of file MSVehicle.cpp.

References MSCFModel::brakeGap(), MSLane::FOLLOW_NEVER, getCarFollowModel(), MSLane::getEdge(), MSLane::getFollower(), getPositionOnLane(), MSEdge::getSpeedLimit(), and myLane.

Referenced by MSLaneChanger::yieldToDeadlockOncoming(), and MSLaneChanger::yieldToOppositeWaiting().

Here is the caller graph for this function:

◆ getFriction()

double MSVehicle::getFriction ( ) const

Returns the current friction on the road as perceived by the friction device.

Returns
The vehicle's perceived friction

Definition at line 7720 of file MSVehicle.cpp.

References MSDevice_Friction::getMeasuredFriction(), and myFrictionDevice.

Referenced by MSCFModel::finalizeSpeed().

Here is the caller graph for this function:

◆ getFurtherLanes()

const std::vector< MSLane * > & MSVehicle::getFurtherLanes ( ) const
inline

Definition at line 835 of file MSVehicle.h.

References myFurtherLanes.

Referenced by MSLane::detectCollisionBetween(), getBackPositionOnLane(), MSLane::getFollowersOnConsecutive(), MSAbstractLaneChangeModel::updateShadowLane(), and MSAbstractLaneChangeModel::updateTargetLane().

Here is the caller graph for this function:

◆ getFurtherLanesPosLat()

const std::vector< double > & MSVehicle::getFurtherLanesPosLat ( ) const
inline

Definition at line 839 of file MSVehicle.h.

References myFurtherLanesPosLat.

Referenced by MSAbstractLaneChangeModel::updateShadowLane().

Here is the caller graph for this function:

◆ getHarmonoise_NoiseEmissions()

double MSBaseVehicle::getHarmonoise_NoiseEmissions ( ) const
inherited

Returns noise emissions of the current state.

Returns
The noise produced

Definition at line 2140 of file MSBaseVehicle.cpp.

References HelpersHarmonoise::computeNoise(), MSBaseVehicle::getAcceleration(), MSVehicleType::getEmissionClass(), SUMOTrafficObject::getSpeed(), SUMOVehicle::isIdling(), MSBaseVehicle::isOnRoad(), and MSBaseVehicle::myType.

Referenced by GUIVehicle::getColorValue(), LIBSUMO_NAMESPACE::Vehicle::getNoiseEmission(), and GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getID()

const std::string & Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Definition at line 74 of file Named.h.

References Named::myID.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSDriveWay::_saveState(), MSCFModel_EIDM::_v(), MSCFModel_ACC::_v(), MSCFModel_IDM::_v(), MSCFModel_CACC::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChangerSublane::abortLCManeuver(), MSTransportable::abortStage(), MSDevice_GLOSA::adaptSpeed(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToJunctionLeader(), adaptToLeader(), adaptToLeaderDistance(), adaptToLeaders(), adaptToOncomingLeader(), MSVehicleTransfer::add(), MSDetectorControl::add(), MSPModel_JuPedSim::add(), MSPModel_Striping::add(), PCPolyContainer::add(), ShapeContainer::add(), PCPolyContainer::add(), ShapeContainer::add(), MSDetectorControl::add(), MSDetectorControl::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSDriveWay::addBidiFoes(), MSTractionSubstation::addChargeValueForOutput(), MSChargingStation::addChargeValueForOutput(), MSOverheadWire::addChargeValueForOutput(), NBNodeCont::addCluster2Join(), NLHandler::addConflict(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), NIXMLEdgesHandler::addEdge(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSLane::addLeaders(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), MSLaneChangerSublane::addOutsideLeaders(), MSTractionSubstation::addOverheadWireClampToCircuit(), MSTractionSubstation::addOverheadWireInnerSegmentToCircuit(), MSTractionSubstation::addOverheadWireSegmentToCircuit(), MSDriveWay::addParallelFoes(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), MSDevice_Taxi::addReservation(), MSDispatch::addReservation(), MSRouteHandler::addRideOrTransport(), RONet::addRouteDef(), MSDriveWay::addSidings(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), RORouteHandler::addStop(), ROVehicle::addStop(), MSBaseVehicle::addStop(), MSNet::addStoppingPlace(), MSRouteHandler::addTranship(), addTransportable(), AGActivityTripWriter::addTrip(), MSPModel_JuPedSim::addWaitingSet(), NIXMLConnectionsHandler::addWalkingArea(), MSBaseVehicle::allowsBoarding(), MSTransportable::appendStage(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilterLateralDistanceSinglePass(), libsumo::Helper::applySubscriptionFilters(), libsumo::Helper::applySubscriptionFilterTurn(), MSLaneChanger::avoidDeadlock(), MSDevice_ToC::awarenessRecoveryStep(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Interacting::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), boardTransportables(), brakeForOverlap(), NIVisumTL::build(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), MSTransportableDevice_Routing::buildDevices(), MSTransportableDevice_BTreceiver::buildDevices(), MSTransportableDevice_BTsender::buildDevices(), MSTransportableDevice_FCD::buildDevices(), MSTransportableDevice_FCDReplay::buildDevices(), NIImporter_VISUM::buildDistrictNode(), MSDriveWay::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), NLDetectorBuilder::buildInductLoop(), NBEdge::buildInnerEdges(), NLTriggerBuilder::buildInnerOverheadWireSegments(), GNETLSEditorFrame::buildInternalLanes(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), NBOwnTLDef::buildNemaPhases(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSPModel_JuPedSim::buildPedestrianNetwork(), MSDriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), libsumo::Helper::buildStopParameters(), MSDriveWay::buildSubFoe(), MSDevice_Bluelight::buildVehicleDevices(), MSVehicleDevice_BTreceiver::buildVehicleDevices(), MSVehicleDevice_BTsender::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_FCDReplay::buildVehicleDevices(), MSDevice_Friction::buildVehicleDevices(), MSDevice_GLOSA::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSDevice_SSM::buildVehicleDevices(), MSDevice_Taxi::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Transportable::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), NEMALogic::calculateInitialPhases170(), MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSDevice_Taxi::cancelCurrentCustomers(), MSDevice_Taxi::cancelCustomer(), MSStageDriving::canLeaveVehicle(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLCHelper::canSaveBlockerLength(), MSDriveWay::canUseSiding(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLCM_SL2015::changed(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), LIBSUMO_NAMESPACE::Vehicle::changeTarget(), MSCFModel_CC::changeWholePlatoonLane(), MSTLLogicControl::check2Switch(), MSEdge::checkAndRegisterBiDirEdge(), MSLaneChanger::checkChange(), MSLaneChanger::checkChangeOpposite(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), NBEdgeCont::checkConsistency(), MSDriveWay::checkCrossingFlanks(), MSDevice_ToC::checkDynamicToC(), MSLane::checkFailure(), MSDriveWay::checkFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), checkLinkLeader(), MSE2Collector::checkPositioning(), MSRoute::checkRemoval(), checkReversal(), checkRewindLinkLanes(), MEVehicle::checkStop(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSLink::checkWalkingAreaFoe(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), MSDevice_SSM::closeEncounter(), RORouteHandler::closeRouteDistribution(), MSRouteHandler::closeVehicle(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), MSLCM_SL2015::commitManoeuvre(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), ROJTRRouter::compute(), computeAngle(), MSDispatch::computeDetourTime(), MSDispatch_GreedyClosest::computeDispatch(), NBNodeShapeComputer::computeEdgeBoundaries(), computeFurtherLanes(), MSDevice_SSM::computeGlobalMeasures(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), NBRampsComputer::computeRamps(), RODFNet::computeRoutesFor(), MSLaneChanger::computeSafeOppositeLength(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), MSLCM_LC2013::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), MSDevice_SSM::computeSSMs(), MSLaneChanger::computeSurplusGap(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSDriveWay::conflictLaneOccupied(), NGNet::connect(), MSRailSignal::constraintsAllow(), NEMALogic::constructTimingAndPhaseDefs(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), libsumo::Helper::convertCartesianToRoadMap(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), NBLoadedSUMOTLDef::copyIndices(), NBOwnTLDef::correctConflicting(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GNETLSEditorFrame::TLSDefinition::createTLS(), GUINet::createTLWrapper(), MSDevice_Taxi::customerArrived(), NBNodeCont::customTLID(), MSDevice_ToC::deactivateDeliberateLCs(), libsumo::Helper::debugPrint(), MSLCM_SL2015::decideDirection(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSVehicleControl::deleteVehicle(), MSDevice_ElecHybrid::deleteVehicleFromCircuit(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSE3Collector::detectorUpdate(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSEdge::dictionaryHint(), NBNodeCont::discardTrafficLights(), MSDispatch_Greedy::dispatch(), MSDispatch_GreedyShared::dispatch(), MSDispatch_RouteExtension::dispatch(), MSDevice_Taxi::dispatchShared(), GUILane::drawGL(), MSDevice_SSM::Encounter::Encounter(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), MSE3Collector::enter(), NEMAPhase::enter(), MSParkingArea::enter(), enterLaneAtLaneChange(), enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), MSTransportableControl::erase(), NEMALogic::error_handle_not_set(), MSStoppingPlaceRerouter::evaluateDestination(), METriggeredCalibrator::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitches::execute(), Command_SaveTLSSwitchStates::execute(), Command_RouteReplacement::execute(), MSDevice_BTreceiver::BTreceiverUpdate::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSCalibrator::execute(), MSPModel_JuPedSim::execute(), executeFractionalMove(), executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), MSDevice_SSM::filterByConflictType(), LIBSUMO_NAMESPACE::Person::filterReservation(), NBLoadedSUMOTLDef::finalChecks(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSLaneChanger::findCandidate(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), MSRailSignalControl::findDeadlockFoes(), MSDriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), MSDevice_SSM::flushGlobalMeasures(), MSDriveWay::foeDriveWayOccupied(), MSCFModel_CACC::followSpeed(), MSCFModel_EIDM::followSpeed(), MSCFModel_W99::followSpeed(), NBTrafficLightDefinition::forbids(), MSLaneChanger::foundHilltop(), MSCFModel_EIDM::freeSpeed(), NBNodeCont::generateNodeClusters(), MSDevice_Tripinfo::generateOutput(), MSDevice_StationFinder::generateOutput(), MSStopOut::generateOutputForUnfinished(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), getBackPosition(), getBackPositionOnLane(), LIBSUMO_NAMESPACE::Vehicle::getBestLanes(), MSLaneChanger::getBestLanesOpposite(), NBOwnTLDef::getBestPair(), LIBSUMO_NAMESPACE::Edge::getBidiEdge(), LIBSUMO_NAMESPACE::Lane::getBidiLane(), SUMOTrafficObject::getBoolParam(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSDriveWay::getClickableTLLinkID(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSActuatedTrafficLightLogic::getConditions(), LIBSUMO_NAMESPACE::TrafficLight::getConstraintsByFoe(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), MSCalibrator::getCurrentStateInterval(), NBNodeShapeComputer::getDefaultRadius(), MSDriveWay::getDepartureDriveway(), MSLink::getDescription(), MSStop::getDescription(), MSRailSignalConstraint_Predecessor::getDescription(), NBTrafficLightDefinition::getDescription(), MSStageTrip::getDestinationDescription(), GUIPerson::getDestinationEdgeID(), GUIPerson::getDestinationStopID(), MSDevice_SSM::getDetectionRange(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), MSRailSignal::LinkInfo::getDriveWay(), MSRailSignal::LinkInfo::getDriveWay(), GUIVehicle::getDriveWays(), MSSimpleTrafficLightLogic::getEarliest(), GUIPerson::getEdgeID(), GUIMEVehicle::getEdgeID(), MSMeanData::getEdgeID(), LIBSUMO_NAMESPACE::RouteProbe::getEdgeID(), MSDevice_SSM::getExtraTime(), MSLane::getFirstVehicleInformation(), SUMOTrafficObject::getFloatParam(), MSBaseVehicle::getFlowID(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSPModel_InteractingState::getID(), MSPModel_Striping::PStateVehicle::getID(), NBEdge::getID(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), MSDriveWay::getJunctionLinkID(), LIBSUMO_NAMESPACE::Calibrator::getLaneID(), NEMALogic::getLaneInfoFromNEMAState(), MSParkingArea::getLastFreePos(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSSimpleTrafficLightLogic::getLatest(), getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSDevice_BTsender::getLocation(), MSDevice_SSM::getMDRAC_PRT(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNeighboringObstacles(), MSRailSignal::getNewDrivewayID(), MSCalibrator::getNewVehicleID(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSStageTrip::getOriginDescription(), MSDevice_SSM::getOutputFilename(), MSDevice_ElecHybrid::getOverheadWireSegmentID(), MSOverheadWire::getOverheadWireSegmentName(), MSDevice_StationFinder::getParameter(), MSDevice_ToC::getParameter(), MSActuatedTrafficLightLogic::getParameter(), NEMALogic::getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIContainer::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSimpleDriverState::getPerceivedHeadway(), MSSimpleDriverState::getPerceivedSpeedDifference(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), MSBaseVehicle::getPrefixedParameter(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), LIBSUMO_NAMESPACE::Vehicle::getRoadID(), MSLCHelper::getRoundaboutDistBonus(), LIBSUMO_NAMESPACE::Vehicle::getRouteID(), LIBSUMO_NAMESPACE::Calibrator::getRouteProbeID(), MSBaseVehicle::getRouteValidity(), GUIBaseVehicle::getScaleValue(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), LIBSUMO_NAMESPACE::Person::getStage(), MSStageDriving::getStageSummary(), MSStageTranship::getStageSummary(), MSStageWaiting::getStageSummary(), MSStageWalking::getStageSummary(), MSDevice_Taxi::getStopLane(), MSNet::getStoppingPlaceID(), SUMOTrafficObject::getStringParam(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), LIBSUMO_NAMESPACE::Vehicle::getTeleportingIDList(), SUMOTrafficObject::getTimeParam(), MSDriveWay::getTLLinkID(), NIImporter_OpenDrive::getTLSSecure(), MSDevice_ElecHybrid::getTractionSubstationID(), PedestrianEdge< E, L, N, V >::getTravelTime(), getUpcomingLanesUntil(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSRailSignalConstraint::getVeh(), LIBSUMO_NAMESPACE::Person::getVehicle(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), GUIPerson::getVehicleID(), MSPModel_Striping::getVehicleObstacles(), MSStageTrip::getVehicles(), MSDevice_SSM::getVehiclesOnJunction(), MSStageDriving::getWaitingDescription(), MSEdge::getWaitingVehicle(), MSStoppingPlaceRerouter::getWeight(), MSLink::getZipperSpeed(), GNEEdge::GNEEdge(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), MSRailSignal::hasInsertionConstraint(), MSDriveWay::hasJoin(), MSDriveWay::hasLinkConflict(), MSBaseVehicle::hasValidRouteStart(), hasValidRouteStart(), MSRailSignalControl::haveDeadlock(), MSBaseVehicle::haveValidStopEdges(), LIBSUMO_NAMESPACE::POI::highlight(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSIdling_Stop::idle(), MSIdling_RandomCircling::idle(), MSIdling_TaxiStand::idle(), MSLink::ignoreFoe(), ignoreFoe(), ignoreRed(), MSVehicle::Influencer::implicitDeltaPosRemote(), NBNode::indirectLeftShape(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSCalibrator::init(), NBEdge::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSRailSignal::init(), NEMALogic::init(), MSActuatedTrafficLightLogic::initAttributeOverride(), MSE2Collector::initAuxiliaries(), MESegment::initialise(), MSPModel_JuPedSim::initialize(), MSTrafficLightLogic::initMesoTLSPenalties(), NBOwnTLDef::initNeedsContRelation(), PolygonDynamics::initTrackedPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NIImporter_OpenStreetMap::insertEdge(), MSCFModel_IDM::insertionFollowSpeed(), MSBaseVehicle::insertStop(), MSLane::insertVehicle(), MSEdge::insertVehicle(), MSPModel_Striping::insertWalkArePaths(), MSLane::integrateNewVehicles(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isAllowed(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSBaseVehicle::isJumping(), isLeader(), MESegment::isOpen(), MSCFModel_CC::isPlatoonLaneChangeSafe(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), RORoute::isValid(), MSStageDriving::isWaitingFor(), MESegment::jamThresholdForSpeed(), NBNodeCont::joinNodeCluster(), joinTrainPartFront(), MSAbstractLaneChangeModel::laneChangeOutput(), lateralDistanceToLane(), MSE3Collector::leave(), MSE3Collector::leaveFront(), leaveLane(), leaveLaneBack(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), MSStopOut::loadedContainers(), MSStopOut::loadedPersons(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), loadState(), MSVehicleTransfer::loadState(), MSActuatedTrafficLightLogic::loadState(), ODDistrictCont::makeDistricts(), MSE2Collector::makeMoveNotification(), MSE2Collector::makeVehicleInfo(), NWWriter_OpenDrive::mapmatchRoadObjects(), MSDriveWay::match(), MEVehicle::mayProceed(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSDevice_FCDReplay::move(), MSTransportableDevice_FCDReplay::move(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveTo(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSDevice_ToC::MRMExecutionStep(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSDevice_ElecHybrid::MSDevice_ElecHybrid(), MSDevice_Taxi::MSDevice_Taxi(), MSDevice_ToC::MSDevice_ToC(), MSE2Collector::MSE2Collector(), MSE2Collector::MSE2Collector(), MSLCM_LC2013::MSLCM_LC2013(), MSParkingArea::MSParkingArea(), MSSimpleDriverState::MSSimpleDriverState(), MSLCM_SL2015::mustOvertakeStopped(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSStateHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSDevice_FCDReplay::FCDHandler::myStartElement(), MSPModel_Interacting::nextBlocking(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSDevice_ElecHybrid::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_GLOSA::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSDriveWay::notifyEnter(), MSDevice_ElecHybrid::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDriveWay::notifyLeave(), MSDriveWay::notifyLeaveBack(), MSDevice_ElecHybrid::notifyMove(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_GLOSA::notifyMove(), MSDevice_SSM::notifyMove(), MSE2Collector::notifyMove(), MSInductLoop::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_Battery::notifyMove(), MSDevice_StationFinder::notifyMove(), MSDevice_ToC::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSDefinition::onCmdResetCurrentProgram(), onRemovalFromNet(), MSLink::opened(), RORouteHandler::openRoute(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), MSEdge::transportable_by_position_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), RODFNet::idComp::operator()(), MSLaneChangerSublane::outputLCStarted(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildOverheadWireSection(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSRoutingEngine::patchSpeedForTurns(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSCFModel_CC::performAutoLaneChange(), planMove(), planMoveInternal(), MSLane::planMovements(), PolygonDynamics::PolygonDynamics(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), MSVehicle::Influencer::postProcessRemoteControl(), MSLCM_SL2015::prepareStep(), MSDevice_Taxi::prepareStop(), MSLCM_SL2015::preventSliding(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSStageDriving::proceed(), MSDevice_SSM::processEncounters(), processLaneAdvances(), processLinkApproaches(), processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), processTraCISpeedControl(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), NBNodeCont::pruneSlipLaneNodes(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::PState(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdge::reduceGeometry(), MSNet::registerCollision(), MSPModel_Striping::registerCrossingApproach(), MSLink::removeApproaching(), MSLink::removeApproachingPerson(), LIBSUMO_NAMESPACE::TrafficLight::removeConstraints(), removePassedDriveItems(), MSCalibrator::removePending(), MSDispatch::removeReservation(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), NBTrafficLightLogicCont::rename(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSBaseVehicle::replaceParkingArea(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::replaceStop(), MSTransportable::replaceVehicleType(), MSPerson::replaceWalk(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSDevice_SSM::requestsTrajectories(), MSDevice_ToC::requestToC(), MSStageTrip::reroute(), MSStoppingPlaceRerouter::reroute(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), rerouteParkingArea(), MSTransportable::rerouteParkingArea(), MSDevice_StationFinder::rerouteToChargingStation(), MSDriveWay::reserve(), MSDevice_ToC::resetDeliberateLCs(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), MSDevice_Bluelight::resetVehicle(), MSLaneChanger::resolveDeadlock(), LIBSUMO_NAMESPACE::Vehicle::resume(), MEVehicle::resumeFromStopping(), resumeFromStopping(), MSRailSignal::retrieveDriveWay(), NIImporter_OpenDrive::retrieveSignalEdges(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSStageDriving::routeOutput(), MSStageTranship::routeOutput(), MSStageTrip::routeOutput(), MSStageWaiting::routeOutput(), MSStageWalking::routeOutput(), MSLane::safeInsertionSpeed(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSLCM_LC2013::saveBlockerLength(), MSLane::saveState(), MESegment::saveState(), MSDevice::saveState(), MSDevice_Routing::saveState(), MSDevice_Transportable::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSTransportableDevice_Routing::saveState(), MSDevice_Battery::saveState(), MSDevice_StationFinder::saveState(), MSSimpleTrafficLightLogic::saveState(), MSStageDriving::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), setAngle(), MSLink::setApproaching(), MSLink::setApproaching(), setApproachingForAllLinks(), NBNodeCont::setAsTLControlled(), GNEJunction::setAttribute(), MSSimpleDriverState::setAwareness(), MSLane::setBidiLane(), MSEdge::setBidiLanes(), NLEdgeControlBuilder::setDefaultStopOffset(), MSBaseVehicle::setDepartAndArrivalEdge(), MSCalibrator::setFlow(), NBEdge::setGeometry(), MSBaseVehicle::setJunctionModelParameter(), MSTransportable::setJunctionModelParameter(), MSAbstractLaneChangeModel::setManeuverDist(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), MSDevice_Battery::setMaximumChargeRate(), NBEdge::setNodeBorder(), MSLane::setOpposite(), MSLCM_SL2015::setOwnState(), MSDevice_ToC::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSSimpleTrafficLightLogic::setParameter(), NEMALogic::setParameter(), MSCFModel_CACC::setParameter(), MSCFModel_CC::setParameter(), MSLane::setPartialOccupation(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), libsumo::Helper::setRemoteControlled(), libsumo::Helper::setRemoteControlled(), MSLink::setRequestInformation(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), LIBSUMO_NAMESPACE::Vehicle::setRouteID(), MSDevice_Battery::setStoppingThreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), MSStageDriving::setVehicle(), MSOverheadWire::setVoltage(), NBEdge::shiftPositionAtNode(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), slowDownForSchedule(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSCFModel_EIDM::stopSpeed(), MSStopOut::stopStarted(), MSRailSignal::storeTraCIVehicles(), MSLane::succLinkSec(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), MSDevice_ToC::switchHolderType(), GNETLSEditorFrame::TLSDefinition::switchProgram(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_StationFinder::teleportToChargingStation(), MELoop::teleportVehicle(), MSDevice_ToC::ToCPreparationStep(), libsumo::Helper::TransportableStateListener::transportableStateChanged(), TraCIServer::transportableStateChanged(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSTriggeredRerouter::triggerRouting(), MSDevice_ToC::triggerUpwardToC(), MSTransportable::tripInfoOutput(), MSPerson::MSPersonStage_Access::tripInfoOutput(), METriggeredCalibrator::tryEmit(), MSPModel_JuPedSim::tryPedestrianInsertion(), MSSOTLTrafficLightLogic::trySwitch(), MSActuatedTrafficLightLogic::trySwitch(), NEMALogic::trySwitch(), MSStopOut::unloadedContainers(), MSStopOut::unloadedPersons(), MSPModel_Interacting::unregisterCrossingApproach(), MSDevice_SSM::update(), MSSimpleDriverState::update(), PolygonDynamics::update(), MSDevice_SSM::updateAndWriteOutput(), updateBestLanes(), MSLCHelper::updateBlockerLength(), MSLCM_SL2015::updateCFRelated(), MSDevice_StationFinder::updateChargeLimit(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffset(), MSRailSignal::updateCurrentPhase(), updateDriveItems(), MSDevice_SSM::updateEncounter(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), updateFurtherLanes(), MSLCM_SL2015::updateGaps(), GNENetHelper::AttributeCarriers::updateJunctionID(), MSDevice_Taxi::updateMove(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSVehicle::Influencer::updateRemoteControlRoute(), MSDispatch::updateReservationFromPos(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateShadowLane(), updateState(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSDevice_SSM::useGeoCoords(), NEMALogic::validate_timing(), NBNodeTypeComputer::validateRailCrossings(), libsumo::Helper::VehicleStateListener::vehicleStateChanged(), TraCIServer::vehicleStateChanged(), MSDynamicShapeUpdater::vehicleStateChanged(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSInstantInductLoop::write(), NBParking::write(), MSElecHybridExport::write(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSRailSignalConstraint_Predecessor::write(), MSElecHybridExport::writeAggregated(), MSLink::writeApproaching(), MSDriveWay::writeBlocks(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), MSDriveWay::writeDepatureBlocks(), NWWriter_SUMO::writeDistrict(), MSMeanData::writeEdge(), NWWriter_SUMO::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), MSRoute::writeEdgeIDs(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), ROMAAssignments::writeInterval(), NWWriter_SUMO::writeJunction(), MSFullExport::writeLane(), MSQueueExport::writeLane(), MSXMLRawOut::writeLane(), MSDevice_SSM::writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSTractionSubstation::writeOut(), MSDevice_ToC::writeOutput(), MSNet::writeOutput(), MSDevice_Vehroutes::writeOutput(), MSOverheadWire::writeOverheadWireSegmentOutput(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_SUMO::writeRoundabout(), NWWriter_OpenDrive::writeSignals(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_SUMO::writeTrafficLight(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSXMLRawOut::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSXMLRawOut::writeVehicle(), MSAmitranTrajectories::writeVehicle(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), MSRouteProbe::writeXMLOutput(), MSLaneChanger::yieldToDeadlockOncoming(), MSLaneChanger::yieldToOppositeWaiting(), MSCalibrator::~MSCalibrator(), MSDevice_Transportable::~MSDevice_Transportable(), MSLaneSpeedTrigger::~MSLaneSpeedTrigger(), MSTriggeredRerouter::~MSTriggeredRerouter(), and RONet::~RONet().

◆ getIDSecure()

template<class T >
static std::string Named::getIDSecure ( const T *  obj,
const std::string &  fallBack = "NULL" 
)
inlinestaticinherited

get an identifier for Named-like object which may be Null

Definition at line 67 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDriveWay::addSidings(), MSLaneChanger::avoidDeadlock(), MSDriveWay::canUseSiding(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChangeOpposite(), MSDriveWay::checkFlanks(), checkReversal(), checkRewindLinkLanes(), AFRouter< E, N, V >::compute(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), AFBuild< E, N, V >::computeArcFlagsAux(), AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree(), NBOwnTLDef::computeLogicAndConts(), Node2EdgeRouter< E, N, V >::computeNode2Edge(), Node2EdgeRouter< E, N, V >::computeNode2Edges(), MSDriveWay::conflictLaneOccupied(), NBPTLineCont::constructRoute(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), enterLaneAtLaneChange(), executeMove(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), NBPTLineCont::findWay(), MSDriveWay::foeDriveWayOccupied(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), MSStopOut::generateOutputForUnfinished(), getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), LIBSUMO_NAMESPACE::Person::getLaneID(), getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getOncomingOppositeVehicle(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), MSDevice_SSM::getVehiclesOnJunction(), NBEdgeCont::guessRoundabouts(), MSDriveWay::hasLinkConflict(), MSCFModel_IDM::insertionFollowSpeed(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), libsumo::Helper::moveToXYMap_matchingRoutePosition(), MSDevice_Bluelight::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSDriveWay::notifyLeave(), MSDriveWay::notifyLeaveBack(), MSVehicle::Influencer::postProcessRemoteControl(), processNextStop(), MSBaseVehicle::replaceRoute(), MSStoppingPlaceRerouter::reroute(), MSBaseVehicle::reroute(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), toString(), toString(), MSTriggeredRerouter::triggerRouting(), updateBestLanes(), MSLCHelper::updateBlockerLength(), MSAbstractLaneChangeModel::updateShadowLane(), MSPModel_Striping::PState::walk(), and MSLaneChanger::yieldToDeadlockOncoming().

◆ getImpatience()

◆ getInfluencer() [1/2]

MSVehicle::Influencer & MSVehicle::getInfluencer ( )

Definition at line 7297 of file MSVehicle.cpp.

References myInfluencer.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDevice_GLOSA::adaptSpeed(), LIBSUMO_NAMESPACE::Vehicle::changeLane(), LIBSUMO_NAMESPACE::Vehicle::changeLaneRelative(), MSLaneChanger::changeOpposite(), LIBSUMO_NAMESPACE::Vehicle::changeSublane(), MSLCM_SL2015::checkBlocking(), MSAbstractLaneChangeModel::checkTraCICommands(), MSDevice_ToC::deactivateDeliberateLCs(), LIBSUMO_NAMESPACE::Vehicle::deactivateGapControl(), MSLane::detectCollisionBetween(), GUIVehicle::drawRouteHelper(), getBaseInfluencer(), GUIVehicle::getLaneChangeMode(), GUIVehicle::getParameterWindow(), GUIVehicle::getSpeedMode(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), influenceChangeDecision(), MSLCM_SL2015::keepLatGap(), MSDevice_ToC::MRMExecutionStep(), MSDevice_Bluelight::notifyMove(), LIBSUMO_NAMESPACE::Vehicle::openGap(), MSDevice_ToC::requestToC(), MSDevice_ToC::resetDeliberateLCs(), LIBSUMO_NAMESPACE::Vehicle::setAcceleration(), LIBSUMO_NAMESPACE::Vehicle::setLaneChangeMode(), MSCFModel_CC::setParameter(), libsumo::Helper::setRemoteControlled(), LIBSUMO_NAMESPACE::Vehicle::setSignals(), LIBSUMO_NAMESPACE::Vehicle::setSpeed(), LIBSUMO_NAMESPACE::Vehicle::setSpeedMode(), MSDevice_ToC::setState(), LIBSUMO_NAMESPACE::Vehicle::slowDown(), MSLaneChangerSublane::startChangeSublane(), and updateWaitingTime().

Here is the caller graph for this function:

◆ getInfluencer() [2/2]

const MSVehicle::Influencer * MSVehicle::getInfluencer ( ) const

Definition at line 7311 of file MSVehicle.cpp.

References myInfluencer.

◆ getLane()

const MSLane * MSVehicle::getLane ( ) const
inlinevirtual

Returns the lane the vehicle is on.

Returns
The vehicle's current lane

Implements SUMOTrafficObject.

Definition at line 581 of file MSVehicle.h.

References myLane.

Referenced by MSLCM_LC2013::_patchSpeed(), MSCFModel_EIDM::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDevice_GLOSA::adaptSpeed(), adaptToLeaderDistance(), adaptToLeaders(), adaptToOncomingLeader(), MSLane::addLeaders(), MSLaneChangerSublane::addOutsideLeaders(), MSLCM_LC2013::anticipateFollowSpeed(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilters(), libsumo::Helper::applySubscriptionFilterTurn(), MSLaneChanger::avoidDeadlock(), MSLaneChangerSublane::change(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), MSLaneChangerSublane::checkChangeToNewLane(), MSDevice_ToC::checkDynamicToC(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), checkLinkLeader(), MSLaneChanger::checkOppositeStop(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), MSLCM_SL2015::commitManoeuvre(), MSTrainHelper::computeCarriages(), MSDevice_SSM::computeGlobalMeasures(), MSLaneChanger::computeOvertakingTime(), MSLCM_SL2015::computeSpeedGain(), MSLaneChanger::computeSurplusGap(), MSAbstractLaneChangeModel::congested(), MSLaneChanger::continueChange(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSAbstractLaneChangeModel::determineTargetLane(), MSLCHelper::divergentRoute(), MSVTypeProbe::execute(), MSLane::executeMovements(), MSCFModel::finalizeSpeed(), MSCFModel_CC::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_IDM::finalizeSpeed(), MSLaneChangerSublane::findClosestLeader(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSCFModel_ACC::followSpeed(), MSCFModel_CACC::followSpeed(), MSCFModel_IDM::followSpeed(), MSCFModel_IDM::freeSpeed(), MSVehicle::Influencer::gapControlSpeed(), MSLaneChanger::getBestLanesOpposite(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSLCM_SL2015::getDesiredAlignment(), MSLane::getFollowersOnConsecutive(), MSAbstractLaneChangeModel::getForwardPos(), LIBSUMO_NAMESPACE::Vehicle::getLaneIndex(), MSLCM_SL2015::getLateralDrift(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLCM_SL2015::getLeftBorder(), LIBSUMO_NAMESPACE::Vehicle::getNeighbors(), MSLCM_SL2015::getNeighRight(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), MSAbstractLaneChangeModel::getNormalizedLaneIndex(), MSLaneChanger::getOncomingOppositeVehicle(), MSCFModel_CC::getParameter(), getPositionAlongBestLanes(), MSLCHelper::getRoundaboutDistBonus(), GUIBaseVehicle::getScaleValue(), MSAbstractLaneChangeModel::getShadowDirection(), MSVTKExport::getSpeed(), MSLCM_SL2015::getSublaneWidth(), MSLCM_SL2015::getVehicleCenter(), MSPModel_Striping::getVehicleObstacles(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), MSVehicle::Influencer::implicitSpeedRemote(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSCFModel::interactionGap(), MSCFModel_EIDM::interactionGap(), MSCFModel_IDM::interactionGap(), MSCFModel_EIDM::internalspeedlimit(), MSLCM_SL2015::isBidi(), MSLCHelper::isBidiFollower(), MSLCHelper::isBidiLeader(), isLeader(), joinTrainPart(), joinTrainPartFront(), MSLCM_SL2015::keepLatGap(), leaveLane(), MSLeaderDistanceInfo::moveSamePosTo(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSLCM_SL2015::mustOvertakeStopped(), MSDevice_GLOSA::notifyEnter(), MSDevice_Vehroutes::notifyEnter(), MSDevice_Bluelight::notifyMove(), MSDevice_GLOSA::notifyMove(), MSDevice_StationFinder::notifyMove(), MSDevice_ToC::notifyMove(), MSLCM_SL2015::outsideEdge(), MSLCM_DK2008::patchSpeed(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSCFModel_Krauss::patchSpeedBeforeLC(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSLCM_LC2013::prepareStep(), MSLCM_SL2015::prepareStep(), MSLeaderInfo::removeOpposite(), MSLane::removeVehicle(), LIBSUMO_NAMESPACE::Vehicle::replaceStop(), MSLaneChanger::resolveDeadlock(), MSLane::safeInsertionSpeed(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSAbstractLaneChangeModel::saveNeighbors(), setApproachingForAllLinks(), setBlinkerInformation(), MSLaneChangerSublane::startChangeSublane(), MSCFModel_IDM::stopSpeed(), MSLCM_SL2015::tieBrakeLeader(), MSLCM_SL2015::updateCFRelated(), MSLaneChangerSublane::updateChanger(), updateDriveItems(), MSDevice_SSM::updateEncounter(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSVehicle::Influencer::updateRemoteControlRoute(), MSAbstractLaneChangeModel::updateShadowLane(), MSAbstractLaneChangeModel::updateTargetLane(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), workOnIdleReminders(), MSElecHybridExport::write(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSElecHybridExport::writeAggregated(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().

◆ getLaneChangeModel() [1/2]

MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel ( )

Definition at line 5810 of file MSVehicle.cpp.

References myLaneChangeModel.

Referenced by MSLaneChangerSublane::abortLCManeuver(), adaptToLeaders(), MSVehicleTransfer::add(), MSLaneChangerSublane::addOutsideLeaders(), libsumo::Helper::applySubscriptionFilterLateralDistance(), MSLaneChanger::applyTraCICommands(), MSLane::appropriate(), MSLaneChanger::avoidDeadlock(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeHelper(), MSLaneChanger::checkChangeOpposite(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), MSLaneChangerSublane::checkChangeToNewLane(), MSLaneChanger::checkOppositeStop(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSDevice_SSM::classifyEncounter(), MSTrainHelper::computeCarriages(), MSLaneChanger::computeOvertakingTime(), MSLaneChanger::computeSafeOppositeLength(), MSLaneChanger::computeSurplusGap(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), MSLane::detectCollisionBetween(), MSLane::executeMovements(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSLaneChanger::getBestLanesOpposite(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), GUIVehicle::getDynamicAlignment(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLastLaneChangeOffset(), GUIVehicle::getLCStateCenter(), GUIVehicle::getLCStateLeft(), GUIVehicle::getLCStateRight(), MSLane::getLeader(), MSLink::getLeaderInfo(), GUIVehicle::getManeuverDist(), LIBSUMO_NAMESPACE::Vehicle::getNeighbors(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), GUIVehicle::getParameterWindow(), MSBaseVehicle::getPrefixedParameter(), MSLCHelper::getRoundaboutDistBonus(), GUIBaseVehicle::getScaleValue(), MSCFModel::getSecureGap(), GUIVehicle::getShadowLaneID(), MSLeaderInfo::getSubLanes(), GUIVehicle::getTargetLaneID(), GUIVehicle::getTypeParameterWindow(), MSLane::handleCollisionBetween(), MSLCM_SL2015::inform(), MSAbstractLaneChangeModel::MSLCMessager::informLeader(), MSAbstractLaneChangeModel::MSLCMessager::informNeighFollower(), MSAbstractLaneChangeModel::MSLCMessager::informNeighLeader(), MSLane::isInsertionSuccess(), isLeader(), lateralDistanceToLane(), MSDevice_Bluelight::notifyMove(), MSLaneChangerSublane::outputLCEnded(), MSLaneChangerSublane::outputLCStarted(), MSLaneChanger::registerUnchanged(), MSLeaderInfo::removeOpposite(), MSLane::resetPartialOccupation(), MSDevice_Bluelight::resetVehicle(), MSLaneChanger::resolveDeadlock(), GUIVehicle::selectBlockingFoes(), setApproachingForAllLinks(), MSLaneChanger::startChange(), MSLaneChangerSublane::startChangeSublane(), MSLCHelper::updateBlockerLength(), MSLaneChangerSublane::updateChanger(), MSLCM_SL2015::updateGaps(), MSFCDExport::write(), and MSXMLRawOut::writeVehicle().

◆ getLaneChangeModel() [2/2]

const MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel ( ) const

Definition at line 5816 of file MSVehicle.cpp.

References myLaneChangeModel.

◆ getLaneIndex()

int MSVehicle::getLaneIndex ( ) const

Definition at line 6713 of file MSVehicle.cpp.

References MSLane::getIndex(), and myLane.

Referenced by MSLane::appropriate(), LIBSUMO_NAMESPACE::Vehicle::changeLaneRelative(), MSCFModel_CC::changeWholePlatoonLane(), influenceChangeDecision(), and MSCFModel_CC::performPlatoonLaneChange().

Here is the caller graph for this function:

◆ getLanePosAfterDist()

std::pair< const MSLane *, double > MSVehicle::getLanePosAfterDist ( double  distance) const

return lane and position along bestlanes at the given distance

Definition at line 6542 of file MSVehicle.cpp.

References getPositionOnLane(), getUpcomingLanesUntil(), and myLane.

Referenced by MSIdling_Stop::idle(), MSDevice_StationFinder::notifyMove(), and GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdToggleStop().

Here is the caller graph for this function:

◆ getLastActionTime()

SUMOTime MSVehicle::getLastActionTime ( ) const
inlinevirtual

Returns the time of the vehicle's last action point.

Returns
The time of the last action point

Implements SUMOVehicle.

Definition at line 541 of file MSVehicle.h.

References myLastActionTime.

Referenced by LIBSUMO_NAMESPACE::Vehicle::getLastActionTime(), MSLink::getZipperSpeed(), and MSLane::loadState().

Here is the caller graph for this function:

◆ getLastStepDist()

double MSVehicle::getLastStepDist ( ) const
inline

Get the distance the vehicle covered in the previous timestep.

Returns
The distance covered in the last timestep (in m)

Definition at line 381 of file MSVehicle.h.

References MSVehicle::State::lastCoveredDist(), and myState.

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

Here is the caller graph for this function:

◆ getLateralOverlap() [1/3]

double MSVehicle::getLateralOverlap ( ) const

return the amount by which the vehicle extends laterally outside it's primary lane

Definition at line 6950 of file MSVehicle.cpp.

References getLateralOverlap(), getLateralPositionOnLane(), and myLane.

Referenced by brakeForOverlap(), MSLCM_SL2015::checkStrategicChange(), MSLane::detectCollisionBetween(), enterLaneAtMove(), executeMove(), getLateralOverlap(), getLateralOverlap(), MSAbstractLaneChangeModel::getShadowLane(), MSLCM_SL2015::mustOvertakeStopped(), planMoveInternal(), MSLCM_LC2013::prepareStep(), and MSAbstractLaneChangeModel::updateShadowLane().

Here is the caller graph for this function:

◆ getLateralOverlap() [2/3]

double MSVehicle::getLateralOverlap ( const MSLane lane) const

Definition at line 6945 of file MSVehicle.cpp.

References getLateralOverlap(), and getLateralPositionOnLane().

◆ getLateralOverlap() [3/3]

double MSVehicle::getLateralOverlap ( double  posLat,
const MSLane lane 
) const

◆ getLateralPositionOnLane()

double MSVehicle::getLateralPositionOnLane ( ) const
inlinevirtual

Get the vehicle's lateral position on the lane.

Returns
The lateral position of the vehicle (in m relative to the centerline of the lane)

Reimplemented from MSBaseVehicle.

Definition at line 413 of file MSVehicle.h.

References MSVehicle::State::myPosLat, and myState.

Referenced by MSLCM_SL2015::_wantsChangeSublane(), libsumo::Helper::applySubscriptionFilterLateralDistance(), brakeForOverlap(), MSLaneChangerSublane::checkChangeToNewLane(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLink::checkWalkingAreaFoe(), MSDevice_SSM::classifyEncounter(), MSTrainHelper::computeCarriages(), MSLaneChanger::continueChange(), MSAbstractLaneChangeModel::determineTargetLane(), executeFractionalMove(), executeMove(), MSLane::getCriticalLeader(), MSLane::getFollowersOnConsecutive(), getLateralOverlap(), getLateralOverlap(), getLatOffset(), MSLink::getLeaderInfo(), MSLCM_SL2015::getNeighRight(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), getPosition(), getPositionAlongBestLanes(), MSLCM_SL2015::getPosLat(), MSAbstractLaneChangeModel::getShadowLane(), MSLeaderInfo::getSubLanes(), MSLCM_SL2015::getVehicleCenter(), MSPModel_Striping::getVehicleObstacles(), GUIVehicle::getVisualPosition(), MSLCM_SL2015::keepLatGap(), lateralDistanceToLane(), MSLane::loadState(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), MSDevice_Vehroutes::notifyEnter(), MSDevice_Bluelight::notifyMove(), MSLane::vehicle_natural_position_sorter::operator()(), planMove(), planMoveInternal(), MSLCM_LC2013::prepareStep(), MSLCM_SL2015::prepareStep(), MSAbstractLaneChangeModel::primaryLaneChanged(), processLinkApproaches(), GUIVehicle::selectBlockingFoes(), setAngle(), setApproachingForAllLinks(), MSLaneChangerSublane::startChangeSublane(), validatePosition(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), and MSXMLRawOut::writeVehicle().

◆ getLatOffset()

◆ getLeader()

std::pair< const MSVehicle *const, double > MSVehicle::getLeader ( double  dist = 0) const
virtual

Returns the leader of the vehicle looking for a fixed distance.

If the distance is not given it is calculated from the brake gap. The gap returned does not include the minGap.

Parameters
distup to which distance to look at least for a leader
Returns
The leading vehicle together with the gap; (0, -1) if no leader was found.

Reimplemented from MSBaseVehicle.

Definition at line 6568 of file MSVehicle.cpp.

References MSCFModel::brakeGap(), getBackPositionOnLane(), getBestLanesContinuation(), getCarFollowModel(), MSLane::getLeaderOnConsecutive(), MSLane::getLength(), MSVehicleType::getMinGap(), getPositionOnLane(), getSpeed(), MSLane::getVehiclesSecure(), MSBaseVehicle::getVehicleType(), myLane, and MSLane::releaseVehicles().

Referenced by MSCFModel_EIDM::_v(), MSDevice_SSM::computeGlobalMeasures(), MSVehicle::Influencer::gapControlSpeed(), getTimeGapOnLane(), and MSFCDExport::write().

Here is the caller graph for this function:

◆ getLeavingPersonNumber()

int MSBaseVehicle::getLeavingPersonNumber ( ) const
inherited

◆ getLeftSideOnEdge()

double MSVehicle::getLeftSideOnEdge ( const MSLane lane = 0) const

Get the vehicle's lateral position on the edge of the given lane (or its current edge if lane == 0)

Returns
The lateral position of the vehicle (in m distance between left side of vehicle and right side of edge

Definition at line 6758 of file MSVehicle.cpp.

References getCenterOnEdge(), MSBaseVehicle::getVehicleType(), and MSVehicleType::getWidth().

Referenced by MSLCM_SL2015::outsideEdge().

Here is the caller graph for this function:

◆ getLeftSideOnLane() [1/2]

double MSVehicle::getLeftSideOnLane ( ) const

Get the lateral position of the vehicles left side on the lane:

Returns
The lateral position of the vehicle (in m distance between left side of vehicle and right side of the lane it is on

Definition at line 6734 of file MSVehicle.cpp.

References MSBaseVehicle::getVehicleType(), MSLane::getWidth(), MSVehicleType::getWidth(), myLane, MSVehicle::State::myPosLat, and myState.

Referenced by MSLaneChangerSublane::addOutsideLeaders(), MSLane::getFollowersOnConsecutive(), MSLaneChangerSublane::getLeaders(), planMoveInternal(), and MSLaneChangerSublane::updateChanger().

Here is the caller graph for this function:

◆ getLeftSideOnLane() [2/2]

double MSVehicle::getLeftSideOnLane ( const MSLane lane) const

Get the lateral position of the vehicles left side on the lane:

Returns
The lateral position of the vehicle (in m distance between left side of vehicle and right side of the lane it is on

Definition at line 6746 of file MSVehicle.cpp.

References MSBaseVehicle::getVehicleType(), MSLane::getWidth(), MSVehicleType::getWidth(), MSVehicle::State::myPosLat, and myState.

◆ getLength()

double MSBaseVehicle::getLength ( ) const
inlinevirtualinherited

Returns the vehicle's length.

Returns
vehicle's length

Implements SUMOVehicle.

Definition at line 553 of file MSBaseVehicle.h.

References MSVehicleType::getLength(), and MSBaseVehicle::myType.

Referenced by MSBaseVehicle::addStop(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilters(), MSBaseVehicle::basePos(), MSAbstractLaneChangeModel::calcAngleOffset(), MSDevice_SSM::checkConflictEntryAndExit(), checkRewindLinkLanes(), MSDevice_SSM::classifyEncounter(), computeAngle(), MSTrainHelper::computeCarriages(), MSLane::detectCollisionBetween(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determineTTCandDRACandPPETandMDRAC(), GUIMEVehicle::drawAction_drawCarriageClass(), GUIVehicle::drawAction_drawLinkItems(), enterLaneAtInsertion(), executeMove(), MSDevice_SSM::findSurroundingVehicles(), MSVehicle::Influencer::gapControlSpeed(), MEVehicle::getBoundingBox(), getBoundingBox(), GUIMEVehicle::getCenteringBoundary(), getDistanceToLeaveJunction(), MSLane::getFollowersOnConsecutive(), LIBSUMO_NAMESPACE::Edge::getLastStepLength(), MSLink::getLeaderInfo(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSEdge::getOccupancy(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSLane::insertVehicle(), isLeader(), MSDevice_Bluelight::notifyMove(), planMoveInternal(), processNextStop(), MSBaseVehicle::replaceRoute(), MSLane::safeInsertionSpeed(), unsafeLinkAhead(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), updateFurtherLanes(), and MSDevice_SSM::updatePassedEncounter().

Here is the caller graph for this function:

◆ getManoeuvreType()

MSVehicle::ManoeuvreType MSVehicle::getManoeuvreType ( ) const

accessor function to myManoeuvre equivalent

Definition at line 7800 of file MSVehicle.cpp.

References MSVehicle::Manoeuvre::getManoeuvreType(), and myManoeuvre.

Referenced by planMove().

Here is the caller graph for this function:

◆ getMaxChargeRate()

double MSBaseVehicle::getMaxChargeRate ( ) const
inherited

Returns the maximum charge rate allowed by the battery in the current time step (W)

Returns
The maximum charge rate in the current time step.

Definition at line 2120 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getDevice(), and MSDevice_Battery::getMaximumChargeRate().

Referenced by GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getMaxSpeed()

double MSBaseVehicle::getMaxSpeed ( ) const
virtualinherited

◆ getMaxSpeedOnLane()

double MSVehicle::getMaxSpeedOnLane ( ) const

Returns the maximal speed for the vehicle on its current lane (including speed factor and deviation, i.e., not necessarily the allowed speed limit)

Returns
The vehicle's max speed

Definition at line 1385 of file MSVehicle.cpp.

References MSVehicleType::getMaxSpeed(), MSLane::getVehicleMaxSpeed(), myLane, and MSBaseVehicle::myType.

Referenced by MSDevice_SSM::estimateConflictTimes(), and MSLCM_LC2013::informFollower().

Here is the caller graph for this function:

◆ getMutableLane()

MSLane * MSVehicle::getMutableLane ( ) const
inline

Returns the lane the vehicle is on Non const version indicates that something volatile is going on.

Returns
The vehicle's current lane

Definition at line 589 of file MSVehicle.h.

References myLane.

Referenced by MSLaneChanger::changeOpposite(), MSLaneChanger::checkChangeOpposite(), MSVehicleTransfer::checkInsertions(), MSLane::detectCollisions(), MSLane::executeMovements(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdRemoveObject(), GUIViewTraffic::onGamingClick(), MSVehicle::Influencer::postProcessRemoteControl(), LIBSUMO_NAMESPACE::Vehicle::remove(), MSVehicleTransfer::remove(), and MSCalibrator::removePending().

Here is the caller graph for this function:

◆ getNextEdgePtr()

const MSEdge * MSVehicle::getNextEdgePtr ( ) const
virtual

◆ getNextParkingArea()

MSParkingArea * MSBaseVehicle::getNextParkingArea ( )
virtualinherited

get the upcoming parking area stop or nullptr

Implements SUMOVehicle.

Definition at line 1129 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myStops, MSStop::parkingarea, and MSStop::reached.

Referenced by rerouteParkingArea().

Here is the caller graph for this function:

◆ getNextStop()

◆ getNextStopParameter()

const SUMOVehicleParameter::Stop * MSBaseVehicle::getNextStopParameter ( ) const
virtualinherited

return parameters for the next stop (SUMOVehicle Interface)

Implements SUMOVehicle.

Definition at line 1666 of file MSBaseVehicle.cpp.

References MSBaseVehicle::hasStops(), and MSBaseVehicle::myStops.

Referenced by MSTrainHelper::computeCarriages(), MSDriveWay::conflictLaneOccupied(), and MSLane::insertVehicle().

Here is the caller graph for this function:

◆ getNextTurn()

const std::pair< double, const MSLink * > & MSVehicle::getNextTurn ( )
inline

Get the distance and direction of the next upcoming turn for the vehicle (within its look-ahead range)

Returns
The first entry of the returned pair is the distance for the upcoming turn, the second is the link direction

Definition at line 827 of file MSVehicle.h.

References myNextTurn.

Referenced by MSLCM_SL2015::_wantsChangeSublane(), and MSLCM_SL2015::getDesiredAlignment().

Here is the caller graph for this function:

◆ getNumberParkingReroutes()

int MSBaseVehicle::getNumberParkingReroutes ( ) const
inlinevirtualinherited

Implements SUMOVehicle.

Definition at line 998 of file MSBaseVehicle.h.

References MSBaseVehicle::myNumberParkingReroutes.

Referenced by GUIBaseVehicle::drawOnPos(), and MSBaseVehicle::getPrefixedParameter().

Here is the caller graph for this function:

◆ getNumberReroutes()

int MSBaseVehicle::getNumberReroutes ( ) const
inlinevirtualinherited

Returns the number of new routes this vehicle got.

Returns
the number of new routes this vehicle got

Implements SUMOVehicle.

Definition at line 450 of file MSBaseVehicle.h.

References MSBaseVehicle::myNumberReroutes.

Referenced by GUIBaseVehicle::drawGLAdditional(), GUIVehicle::getColorValue(), GUIMEVehicle::getColorValue(), and GUIBaseVehicle::getScaleValue().

Here is the caller graph for this function:

◆ getNumericalID()

NumericalID MSBaseVehicle::getNumericalID ( ) const
inlinevirtualinherited

return the numerical ID which is only for internal usage

Implements SUMOTrafficObject.

Definition at line 799 of file MSBaseVehicle.h.

References MSBaseVehicle::myNumericalID.

Referenced by MSLane::vehicle_position_sorter::operator()(), and MSVehicleTransfer::VehicleInformation::operator<().

Here is the caller graph for this function:

◆ getOdometer()

double MSBaseVehicle::getOdometer ( ) const
virtualinherited

Returns the distance that was already driven by this vehicle.

Returns
the distance driven [m]

Implements SUMOVehicle.

Definition at line 673 of file MSBaseVehicle.cpp.

References SUMOTrafficObject::getPositionOnLane(), MSBaseVehicle::hasArrived(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myDepartPos, and MSBaseVehicle::myOdometer.

Referenced by LIBSUMO_NAMESPACE::Vehicle::getDistance(), GUIVehicle::getParameterWindow(), and GUIMEVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getParameter()

const SUMOVehicleParameter & MSBaseVehicle::getParameter ( ) const
virtualinherited

Returns the vehicle's parameter (including departure definition)

Returns
The vehicle's parameter

Implements SUMOTrafficObject.

Definition at line 188 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myParameter.

Referenced by MSCFModel_CACC::_v(), MSLCM_SL2015::_wantsChangeSublane(), MSBaseVehicle::addStop(), checkLinkLeader(), computeAngle(), GUIVehicle::drawAction_drawCarriageClass(), GUIBaseVehicle::drawOnPos(), GUIBaseVehicle::drawStopLabels(), MSCFModel_CACC::freeSpeed(), MSBaseVehicle::getDepartDelay(), MSEdge::getDepartLane(), MSEdge::getDepartPosBound(), MSLane::getDepartPosLat(), MSLane::getDepartSpeed(), LIBSUMO_NAMESPACE::TrafficLight::getFutureTripIds(), MSLane::getInsertionChecks(), LIBSUMO_NAMESPACE::Vehicle::getLine(), GUIBaseVehicle::getOptionalName(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), MSBaseVehicle::getPrefixedParameter(), GUIBaseVehicle::getScaleValue(), LIBSUMO_NAMESPACE::Vehicle::getVia(), MSRailSignal::hasInsertionConstraint(), ignoreFoe(), MSBaseVehicle::initTransientModelParams(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), MSAbstractLaneChangeModel::laneChangeOutput(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), GUIViewTraffic::onGamingClick(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), processNextStop(), rerouteParkingArea(), MSDevice_Bluelight::resetVehicle(), MSBaseVehicle::setCarFollowModelParameter(), GUIBaseVehicle::setFunctionalColor(), MSBaseVehicle::setJunctionModelParameter(), LIBSUMO_NAMESPACE::Vehicle::setLine(), LIBSUMO_NAMESPACE::Vehicle::setVia(), METriggeredCalibrator::tryEmit(), and LIBSUMO_NAMESPACE::TrafficLight::updateConstraints().

Here is the caller graph for this function:

◆ getParkingBadges()

const std::vector< std::string > & MSBaseVehicle::getParkingBadges ( ) const
inherited

get the valid parking access rights (vehicle settings override vehicle type settings)

Definition at line 1153 of file MSBaseVehicle.cpp.

References MSVehicleType::getParkingBadges(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::myParameter, SUMOVehicleParameter::parkingBadges, VEHPARS_PARKING_BADGES_SET, and SUMOVehicleParameter::wasSet().

Referenced by MSParkingArea::accepts(), and GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getParkingMemory()

const StoppingPlaceMemory * MSBaseVehicle::getParkingMemory ( ) const
inlineinherited

Definition at line 1005 of file MSBaseVehicle.h.

References MSBaseVehicle::myParkingMemory.

Referenced by GUIBaseVehicle::drawParkingInfo(), and MSBaseVehicle::getPrefixedParameter().

Here is the caller graph for this function:

◆ getPastLanesUntil()

const std::vector< const MSLane * > MSVehicle::getPastLanesUntil ( double  distance) const

Returns the sequence of past lanes (right-most on edge) based on the route starting at the current lane.

Parameters
[in]distanceThe upstream distance to cover
Returns
The myRoute-based past lanes (right-most on edge) up until the given distance has been covered
Note
includes internal lanes if applicable

Definition at line 6433 of file MSVehicle.cpp.

References MSEdge::getInternalFollowingEdge(), MSEdge::getLanes(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLogicalPredecessorLane(), MSLane::getOppositePos(), MSLane::getParallelOpposite(), getPositionOnLane(), MSBaseVehicle::getVClass(), MSLane::isInternal(), MSAbstractLaneChangeModel::isOpposite(), MSBaseVehicle::myCurrEdge, myLane, myLaneChangeModel, and MSBaseVehicle::myRoute.

Referenced by libsumo::Helper::applySubscriptionFilterLateralDistance(), and getUpstreamOppositeLanes().

Here is the caller graph for this function:

◆ getPastStops()

const std::vector< SUMOVehicleParameter::Stop > & MSBaseVehicle::getPastStops ( ) const
inlineinherited

Definition at line 711 of file MSBaseVehicle.h.

References MSBaseVehicle::myPastStops.

Referenced by MSVehicleTransfer::add(), LIBSUMO_NAMESPACE::Vehicle::getStopParameter(), and LIBSUMO_NAMESPACE::Vehicle::getStops().

Here is the caller graph for this function:

◆ getPersonDevice()

const MSDevice_Transportable * MSBaseVehicle::getPersonDevice ( ) const
inlineinherited

Definition at line 803 of file MSBaseVehicle.h.

References MSBaseVehicle::myPersonDevice.

Referenced by GUIBaseVehicle::getNumPassengers().

Here is the caller graph for this function:

◆ getPersonIDList()

std::vector< std::string > MSBaseVehicle::getPersonIDList ( ) const
virtualinherited

Returns the list of persons.

Returns
The list of passengers on-board

Implements SUMOVehicle.

Definition at line 2194 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getPersons().

Referenced by LIBSUMO_NAMESPACE::Vehicle::getPersonIDList().

Here is the caller graph for this function:

◆ getPersonNumber()

int MSBaseVehicle::getPersonNumber ( ) const
virtualinherited

Returns the number of persons.

Returns
The number of passengers on-board

Implements SUMOVehicle.

Definition at line 2173 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myParameter, MSBaseVehicle::myPersonDevice, SUMOVehicleParameter::personNumber, and MSDevice_Transportable::size().

Referenced by MSBaseVehicle::allowsBoarding(), MEVehicle::checkStop(), GUIVehicle::getParameterWindow(), LIBSUMO_NAMESPACE::Vehicle::getPersonNumber(), leaveLane(), MEVehicle::mayProceed(), processNextStop(), MEVehicle::processStop(), and MSXMLRawOut::writeVehicle().

Here is the caller graph for this function:

◆ getPersons()

const std::vector< MSTransportable * > & MSBaseVehicle::getPersons ( ) const
virtualinherited

◆ getPosition()

Position MSVehicle::getPosition ( const double  offset = 0) const
virtual

Return current position (x/y, cartesian)

If the vehicle's myLane is 0, Position::INVALID.

Parameters
[in]offsetoptional offset in longitudinal direction
Returns
The current position (in cartesian coordinates)
See also
myLane

Implements SUMOTrafficObject.

Definition at line 1251 of file MSVehicle.cpp.

References MSLane::geometryPositionAtOffset(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSNet::getInstance(), MSEdge::getLanes(), getLateralPositionOnLane(), getPositionOnLane(), MSGlobals::gLefthand, MSGlobals::gSublane, MSLane::interpolateLanePosToGeometryPos(), interpolateLateralZ(), Position::INVALID, MSAbstractLaneChangeModel::isChangingLanes(), MSBaseVehicle::isParking(), MSVehicle::Influencer::isRemoteAffected(), PositionVector::move2side(), myCachedPosition, myInfluencer, myLane, myLaneChangeModel, MSVehicle::State::myPos, myState, MSBaseVehicle::myStops, PositionVector::positionAtOffset(), SUMO_const_laneWidth, and validatePosition().

Referenced by MSCFModel_CC::_v(), MSLaneChanger::changeOpposite(), MSLink::checkWalkingAreaFoe(), computeAngle(), MSDevice_SSM::computeGlobalMeasures(), MSDevice_SSM::determineConflictPoint(), getBoundingBox(), getBoundingPoly(), MSLane::getLeadersOnConsecutive(), MSCFModel_CC::getParameter(), GUIVehicle::getPosition(), MSVTKExport::getPositions(), getSlope(), MSCFModel_CC::getVehicleInformation(), MSVehicle::Influencer::implicitDeltaPosRemote(), MSVehicle::Influencer::implicitSpeedRemote(), MSLink::isInFront(), MSLink::isOnComingPed(), MSAbstractLaneChangeModel::laneChangeOutput(), MSPModel_Striping::moveInDirection(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSDevice_Bluelight::notifyMove(), MSDevice_SSM::updateEncounter(), and MSBatteryExport::write().

Here is the caller graph for this function:

◆ getPositionAlongBestLanes()

Position MSVehicle::getPositionAlongBestLanes ( double  offset) const

Return the (x,y)-position, which the vehicle would reach if it continued along its best continuation lanes from the current for a distance of offset m.

Parameters
offset
Returns
(x,y)-Position
See also
getPosition()

Definition at line 1319 of file MSVehicle.cpp.

References MSLane::geometryPositionAtOffset(), getBestLanesContinuation(), getLane(), getLateralPositionOnLane(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLinkTo(), MSLane::getParallelOpposite(), MSLink::getViaLaneOrLane(), MSGlobals::gUsingInternalLanes, Position::INVALID, MSLane::isInternal(), isOnRoad(), MSAbstractLaneChangeModel::isOpposite(), myLane, myLaneChangeModel, MSVehicle::State::myPos, and myState.

Referenced by MSDevice_SSM::determineConflictPoint().

Here is the caller graph for this function:

◆ getPositionOnLane() [1/2]

double MSVehicle::getPositionOnLane ( ) const
inlinevirtual

Get the vehicle's position along the lane.

Returns
The position of the vehicle (in m from the lane's begin)

Implements SUMOTrafficObject.

Definition at line 374 of file MSVehicle.h.

References MSVehicle::State::myPos, and myState.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToLeaderDistance(), adaptToLeaders(), adaptToOncomingLeader(), MSLaneChangerSublane::addOutsideLeaders(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilters(), libsumo::Helper::applySubscriptionFilterTurn(), MSLaneChanger::avoidDeadlock(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeOpposite(), MSDevice_ToC::checkDynamicToC(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), computeAngle(), MSTrainHelper::computeCarriages(), MSDevice_SSM::computeGlobalMeasures(), MSLaneChanger::computeSafeOppositeLength(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), estimateTimeToNextStop(), executeFractionalMove(), executeMove(), MSLane::executeMovements(), MSLaneChanger::findCandidate(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSLane::freeInsertion(), MSVehicle::Influencer::gapControlSpeed(), MSLane::getBruttoOccupancy(), MSLaneChanger::getCloserFollower(), MSLaneChanger::getColumnleader(), MSEdge::getDepartPosBound(), getDistanceToLeaveJunction(), getDistanceToPosition(), MSLane::getFirstAnyVehicle(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), getFollower(), MSLane::getFollowersOnConsecutive(), MSAbstractLaneChangeModel::getForwardPos(), MSEdge::getFreeLane(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), getLanePosAfterDist(), MSLane::getLastVehicleInformation(), MSLane::getLeader(), getLeader(), MSLaneChangerSublane::getLeaders(), LIBSUMO_NAMESPACE::Vehicle::getNeighbors(), MSLane::getNettoOccupancy(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSCFModel_CC::getParameter(), GUIVehicle::getParameterWindow(), MSLane::getPartialBehind(), getPastLanesUntil(), getPosition(), MSEdge::getProbableLane(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSLCHelper::getRoundaboutDistBonus(), getSlope(), MSVTKExport::getSpeed(), getUpcomingLanesUntil(), GUIVehicle::getVisualAngle(), GUIVehicle::getVisualPosition(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), MSLane::insertVehicle(), MSCFModel_EIDM::internalspeedlimit(), MSLane::isInsertionSuccess(), joinTrainPart(), joinTrainPartFront(), MSAbstractLaneChangeModel::laneChangeOutput(), MSLane::loadState(), MSVehicleTransfer::loadState(), MSLeaderDistanceInfo::moveSamePosTo(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSLCM_SL2015::mustOvertakeStopped(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSDevice_GLOSA::notifyEnter(), MSDevice_Bluelight::notifyMove(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), planMove(), planMoveInternal(), MSAbstractLaneChangeModel::primaryLaneChanged(), processNextStop(), MSCalibrator::remainingVehicleCapacity(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), setBlinkerInformation(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLCM_SL2015::tieBrakeLeader(), unsafeLinkAhead(), MSLCM_SL2015::updateCFRelated(), MSDevice_SSM::updateEncounter(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLane::updateLeaderInfo(), updateParkingState(), validatePosition(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().

◆ getPositionOnLane() [2/2]

double MSVehicle::getPositionOnLane ( const MSLane lane) const

Get the vehicle's front position relative to the given lane.

Returns
The front position of the vehicle (in m from the given lane's begin)

Definition at line 5097 of file MSVehicle.cpp.

References getBackPositionOnLane(), MSVehicleType::getLength(), and MSBaseVehicle::myType.

◆ getPrefixedParameter()

std::string MSBaseVehicle::getPrefixedParameter ( const std::string &  key,
std::string &  error 
) const
inherited

◆ getPreviousLane()

const MSLane * MSVehicle::getPreviousLane ( const MSLane current,
int &  furtherIndex 
) const

Definition at line 8098 of file MSVehicle.cpp.

References MSNet::getInstance(), MSEdge::getLanes(), MSBaseVehicle::getRoutePosition(), MSGlobals::gUsingInternalLanes, MSLane::isInternal(), myFurtherLanes, myLane, and MSBaseVehicle::myRoute.

Referenced by MSTrainHelper::computeCarriages().

Here is the caller graph for this function:

◆ getPreviousSpeed()

double MSVehicle::getPreviousSpeed ( ) const
inlinevirtual

Returns the vehicle's speed before the previous time step.

Returns
The vehicle's speed before the previous time step

Reimplemented from MSBaseVehicle.

Definition at line 498 of file MSVehicle.h.

References MSVehicle::State::myPreviousSpeed, and myState.

Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and checkReversal().

Here is the caller graph for this function:

◆ getRelativeStateOfCharge()

double MSBaseVehicle::getRelativeStateOfCharge ( ) const
inherited

Returns actual relative state of charge of battery (-)

Returns
The actual relative battery state of charge, normalised to the maximum battery capacity.

Definition at line 2090 of file MSBaseVehicle.cpp.

References MSDevice_Battery::getActualBatteryCapacity(), MSDevice_ElecHybrid::getActualBatteryCapacity(), MSBaseVehicle::getDevice(), MSDevice_Battery::getMaximumBatteryCapacity(), and MSDevice_ElecHybrid::getMaximumBatteryCapacity().

Referenced by GUIVehicle::getColorValue(), and GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getRerouteDestination()

virtual const MSEdge * MSBaseVehicle::getRerouteDestination ( ) const
inlinevirtualinherited

Returns the end point for reroutes (usually the last edge of the route)

Returns
The rerouting end point

Implements SUMOTrafficObject.

Definition at line 275 of file MSBaseVehicle.h.

References MSBaseVehicle::myRoute.

◆ getRerouteOrigin()

ConstMSEdgeVector::const_iterator MSVehicle::getRerouteOrigin ( ) const
virtual

Returns the starting point for reroutes (usually the current edge)

This differs from *myCurrEdge only if the vehicle is on an internal edge or very close to the junction

Returns
The rerouting start point

Reimplemented from MSBaseVehicle.

Definition at line 1415 of file MSVehicle.cpp.

References getCarFollowModel(), MSLane::getEdge(), MSLane::getIndex(), MSLane::getLength(), MSBaseVehicle::getVClass(), MSEdge::hasChangeProhibitions(), MSLane::isInternal(), MSBaseVehicle::myCurrEdge, myLane, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, and myState.

◆ getRightSideOnEdge()

double MSVehicle::getRightSideOnEdge ( const MSLane lane = 0) const
virtual

Get the vehicle's lateral position on the edge of the given lane (or its current edge if lane == 0)

Returns
The lateral position of the vehicle (in m distance between right side of vehicle and right side of edge

Reimplemented from MSBaseVehicle.

Definition at line 6752 of file MSVehicle.cpp.

References getCenterOnEdge(), MSBaseVehicle::getVehicleType(), and MSVehicleType::getWidth().

Referenced by MSLCM_SL2015::checkBlockingVehicles(), MSLane::detectCollisions(), GUIVehicle::getLeftSideOnEdge(), GUIVehicle::getRightSideOnEdge2(), GUIVehicle::getRightSublaneOnEdge(), and MSLCM_SL2015::outsideEdge().

Here is the caller graph for this function:

◆ getRightSideOnLane() [1/2]

double MSVehicle::getRightSideOnLane ( ) const

Get the lateral position of the vehicles right side on the lane:

Returns
The lateral position of the vehicle (in m distance between right side of vehicle and right side of the lane it is on

Definition at line 6728 of file MSVehicle.cpp.

References MSBaseVehicle::getVehicleType(), MSLane::getWidth(), MSVehicleType::getWidth(), myLane, MSVehicle::State::myPosLat, and myState.

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSLaneChangerSublane::addOutsideLeaders(), MSLaneChanger::checkChange(), MSLane::checkForPedestrians(), MSLane::getFollowersOnConsecutive(), MSLaneChangerSublane::getLeaders(), planMoveInternal(), and MSLaneChangerSublane::updateChanger().

Here is the caller graph for this function:

◆ getRightSideOnLane() [2/2]

double MSVehicle::getRightSideOnLane ( const MSLane lane) const

Get the lateral position of the vehicles right side on the lane:

Returns
The lateral position of the vehicle (in m distance between right side of vehicle and right side of the lane it is on

Definition at line 6740 of file MSVehicle.cpp.

References MSBaseVehicle::getVehicleType(), MSLane::getWidth(), MSVehicleType::getWidth(), MSVehicle::State::myPosLat, and myState.

◆ getRNG()

◆ getRNGIndex()

int MSBaseVehicle::getRNGIndex ( ) const
virtualinherited
Returns
The index of the vehicle's associated RNG

Implements SUMOTrafficObject.

Definition at line 2425 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getEdge(), SUMOTrafficObject::getLane(), MSEdge::getLanes(), and MSLane::getRNGIndex().

Referenced by MSBaseVehicle::getRouterTT(), GUIVehicle::rerouteDRTStop(), and LIBSUMO_NAMESPACE::Vehicle::rerouteEffort().

Here is the caller graph for this function:

◆ getRoute()

◆ getRoutePosition()

◆ getRoutePtr()

ConstMSRoutePtr MSBaseVehicle::getRoutePtr ( ) const
inlinevirtualinherited

Returns the current route.

Returns
The route the vehicle uses

Implements SUMOVehicle.

Definition at line 146 of file MSBaseVehicle.h.

References MSBaseVehicle::myRoute.

Referenced by GUIBaseVehicle::drawRoute(), and MSCFModel_CC::getParameter().

Here is the caller graph for this function:

◆ getRouterTT()

◆ getRouteValidity()

int MSBaseVehicle::getRouteValidity ( bool  update = true,
bool  silent = false,
std::string *  msgReturn = nullptr 
)
virtualinherited

◆ getRoutingMode()

int MSBaseVehicle::getRoutingMode ( ) const
inlinevirtualinherited

return routing mode (configures router choice but also handling of transient permission changes)

Implements SUMOTrafficObject.

Definition at line 926 of file MSBaseVehicle.h.

References MSBaseVehicle::myRoutingMode.

Referenced by LIBSUMO_NAMESPACE::Vehicle::getRoutingMode(), MSNet::getTravelTime(), MSBaseVehicle::ignoreTransientPermissions(), and LIBSUMO_NAMESPACE::Vehicle::rerouteTraveltime().

Here is the caller graph for this function:

◆ getSignals()

int MSVehicle::getSignals ( ) const
inline

Returns the signals.

Returns
The signals' states

Definition at line 1177 of file MSVehicle.h.

References mySignals.

Referenced by MSFCDExport::write().

Here is the caller graph for this function:

◆ getSingularType()

MSVehicleType & MSBaseVehicle::getSingularType ( )
inherited

Replaces the current vehicle type with a new one used by this vehicle only.

If the currently used vehicle type is already marked as being used by this vehicle only, no new type is created.

Returns
The new modifiable vehicle type
See also
MSBaseVehicle::myType

Definition at line 2414 of file MSBaseVehicle.cpp.

References MSVehicleType::buildSingularType(), MSVehicleType::getID(), Named::getID(), MSVehicleType::isVehicleSpecific(), MSBaseVehicle::myType, and MSBaseVehicle::replaceVehicleType().

Referenced by joinTrainPart(), joinTrainPartFront(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), setActionStepLength(), MSDevice_ToC::setState(), and MSDevice_ToC::triggerMRM().

Here is the caller graph for this function:

◆ getSlope()

double MSVehicle::getSlope ( ) const
virtual

◆ getSpeed()

double MSVehicle::getSpeed ( ) const
inlinevirtual

Returns the vehicle's current speed.

Returns
The vehicle's speed

Implements SUMOTrafficObject.

Definition at line 490 of file MSVehicle.h.

References MSVehicle::State::mySpeed, and myState.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSCFModel_EIDM::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDevice_GLOSA::adaptSpeed(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToJunctionLeader(), adaptToLeader(), adaptToLeaders(), adaptToOncomingLeader(), MSPModel_Striping::addCrossingVehs(), MSCriticalFollowerDistanceInfo::addFollower(), MSAbstractLaneChangeModel::addLCSpeedAdvice(), MSLane::addLeaders(), MSLCM_LC2013::anticipateFollowSpeed(), MSCFModel::applyStartupDelay(), MSAbstractLaneChangeModel::calcAngleOffset(), MSLCHelper::canSaveBlockerLength(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_ToC::checkDynamicToC(), GUIApplicationWindow::checkGamingEvents(), GUIApplicationWindow::checkGamingEventsDRT(), MSLaneChanger::checkOppositeStop(), checkReversal(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLCM_SL2015::commitFollowSpeed(), MSLCM_SL2015::commitManoeuvre(), MSDevice_SSM::computeDRAC(), MSDevice_SSM::computeGlobalMeasures(), MSLaneChanger::computeOvertakingTime(), MSLaneChanger::computeSafeOppositeLength(), MSLCM_LC2013::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), MSLink::couldBrakeForLeader(), MSLane::detectCollisions(), MSDevice_SSM::determineTTCandDRACandPPETandMDRAC(), MSDevice_GLOSA::earliest_arrival(), MSDevice_SSM::estimateConflictTimes(), estimateTimeToNextStop(), executeFractionalMove(), executeMove(), MSCFModel::finalizeSpeed(), MSCFModel_CC::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSCFModel_PWag2009::finalizeSpeed(), MSCFModel_Wiedemann::finalizeSpeed(), MSLane::forceVehicleInsertion(), MSLane::freeInsertion(), MSVehicle::Influencer::gapControlSpeed(), MSCFModel_CC::getACCAcceleration(), getBrakeGap(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSLane::getDepartSpeed(), MSLane::getFollowersOnConsecutive(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), MSLCM_SL2015::getLateralDrift(), MSLane::getLeader(), getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLane::getMissingRearGap(), LIBSUMO_NAMESPACE::Vehicle::getNeighbors(), MSCFModel_CC::getParameter(), GUIVehicle::getParameterWindow(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealLeader(), MSVTKExport::getSpeed(), MSLCHelper::getSpeedPreservingSecureGap(), getTimeGapOnLane(), MSCFModel_CC::getVehicleInformation(), MSPModel_Striping::getVehicleObstacles(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), handleCollisionStop(), MSLane::handleIntermodalCollisionBetween(), MSIdling_Stop::idle(), MSLCM_DK2008::informBlocker(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeaders(), MSLane::insertVehicle(), MSCFModel::interactionGap(), MSCFModel_EIDM::interactionGap(), MSCFModel_IDM::interactionGap(), MSLane::isInsertionSuccess(), isLeader(), keepStopping(), MSAbstractLaneChangeModel::laneChangeOutput(), MSLane::lastInsertion(), MSLane::loadState(), MSVehicleTransfer::loadState(), MSDevice_ToC::MRMExecutionStep(), MSDevice_Bluelight::notifyMove(), MSDevice_StationFinder::notifyMove(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdToggleStop(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSCFModel_Krauss::patchSpeedBeforeLC(), MSCFModel_KraussX::patchSpeedBeforeLC(), MSCFModel_SmartSK::patchSpeedBeforeLC(), planMove(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSAbstractLaneChangeModel::predInteraction(), MSLCM_LC2013::prepareStep(), MSLCM_SL2015::preventSliding(), processLinkApproaches(), processNextStop(), registerInsertionApproach(), MSAbstractLaneChangeModel::remainingTime(), MSLane::safeInsertionSpeed(), LIBSUMO_NAMESPACE::Vehicle::setAcceleration(), setBrakingSignals(), MSAbstractLaneChangeModel::setFollowerGaps(), MSAbstractLaneChangeModel::setLeaderGaps(), MSAbstractLaneChangeModel::setOrigLeaderGaps(), LIBSUMO_NAMESPACE::Vehicle::slowDown(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLCM_SL2015::tieBrakeLeader(), unsafeLinkAhead(), MSSimpleDriverState::updateAssumedGaps(), MSLCHelper::updateBlockerLength(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLCM_SL2015::updateGaps(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().

◆ getSpeedWithoutTraciInfluence()

double MSVehicle::getSpeedWithoutTraciInfluence ( ) const

Returns the uninfluenced velocity.

If no influencer exists (myInfluencer==0) the vehicle's current speed is returned. Otherwise the speed returned from myInfluencer->getOriginalSpeed().

Returns
The vehicle's velocity as it would without an influence
See also
Influencer::getOriginalSpeed

Definition at line 7322 of file MSVehicle.cpp.

References MSVehicle::Influencer::getOriginalSpeed(), myInfluencer, MSVehicle::State::mySpeed, and myState.

◆ getStateOfCharge()

double MSBaseVehicle::getStateOfCharge ( ) const
inherited

Returns actual state of charge of battery (Wh) RICE_CHECK: This may be a misnomer, SOC is typically percentage of the maximum battery capacity.

Returns
The actual battery state of charge

Definition at line 2075 of file MSBaseVehicle.cpp.

References MSDevice_Battery::getActualBatteryCapacity(), MSDevice_ElecHybrid::getActualBatteryCapacity(), and MSBaseVehicle::getDevice().

Referenced by GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getStop()

MSStop & MSBaseVehicle::getStop ( int  nextStopIndex)
inherited

returns the upcoming stop with the given index in the stop queue

Returns
an upcoming stop

Definition at line 1655 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myStops, and TLF.

Referenced by LIBSUMO_NAMESPACE::Vehicle::getStopParameter(), MSIdling_TaxiStand::idle(), MSDevice_StationFinder::notifyMove(), and LIBSUMO_NAMESPACE::Vehicle::setStopParameter().

Here is the caller graph for this function:

◆ getStopArrivalDelay()

double MSVehicle::getStopArrivalDelay ( ) const
virtual

Returns the estimated public transport stop arrival delay in seconds.

Reimplemented from MSBaseVehicle.

Definition at line 8061 of file MSVehicle.cpp.

References SUMOVehicleParameter::Stop::arrival, estimateTimeToNextStop(), MSNet::getInstance(), MSBaseVehicle::hasStops(), INVALID_DOUBLE, MSBaseVehicle::myStops, MSStop::pars, MSStop::reached, SUMOVehicleParameter::Stop::started, and STEPS2TIME.

Referenced by GUIVehicle::getColorValue().

Here is the caller graph for this function:

◆ getStopDelay()

double MSVehicle::getStopDelay ( ) const
virtual

Returns the public transport stop delay in seconds.

Reimplemented from MSBaseVehicle.

Definition at line 8039 of file MSVehicle.cpp.

References DELTA_T, MSStop::duration, SUMOVehicleParameter::Stop::duration, estimateTimeToNextStop(), MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSBaseVehicle::hasStops(), MAX2(), MSBaseVehicle::myStops, MSStop::pars, MSStop::reached, STEPS2TIME, TIME2STEPS, and SUMOVehicleParameter::Stop::until.

Referenced by GUIVehicle::getColorValue().

Here is the caller graph for this function:

◆ getStopDuration()

SUMOTime MSBaseVehicle::getStopDuration ( ) const
inherited

get remaining stop duration or 0 if the vehicle isn't stopped

Definition at line 1645 of file MSBaseVehicle.cpp.

References MSBaseVehicle::isStopped(), and MSBaseVehicle::myStops.

Referenced by MSLaneChanger::computeOvertakingTime().

Here is the caller graph for this function:

◆ getStopEdges()

const ConstMSEdgeVector MSBaseVehicle::getStopEdges ( double &  firstPos,
double &  lastPos,
std::set< int > &  jumps 
) const
inherited

Returns the list of still pending stop edges also returns the first and last stop position.

Definition at line 1583 of file MSBaseVehicle.cpp.

References MSStop::edge, MSStop::getEndPos(), MSBaseVehicle::haveValidStopEdges(), INVALID_DOUBLE, MSStop::lane, MAX2(), and MSBaseVehicle::myStops.

Referenced by MSBaseVehicle::reroute().

Here is the caller graph for this function:

◆ getStopIndices()

std::vector< std::pair< int, double > > MSBaseVehicle::getStopIndices ( ) const
virtualinherited

return list of route indices for the remaining stops

Implements SUMOVehicle.

Definition at line 1627 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myRoute, and MSBaseVehicle::myStops.

◆ getStops()

const std::list< MSStop > & MSBaseVehicle::getStops ( ) const
inlinevirtualinherited

returns the list of stops not yet reached in the stop queue

Returns
the list of upcoming stops

Implements SUMOVehicle.

Definition at line 707 of file MSBaseVehicle.h.

References MSBaseVehicle::myStops.

Referenced by GUIBaseVehicle::drawStopLabels(), MSCFModel_CC::finalizeSpeed(), LIBSUMO_NAMESPACE::TrafficLight::getFutureTripIds(), getSlope(), LIBSUMO_NAMESPACE::Vehicle::getStopParameter(), LIBSUMO_NAMESPACE::Vehicle::getStops(), MSIdling_TaxiStand::idle(), MSDevice_StationFinder::teleportToChargingStation(), and LIBSUMO_NAMESPACE::TrafficLight::updateConstraints().

Here is the caller graph for this function:

◆ getStringParam()

std::string SUMOTrafficObject::getStringParam ( const std::string &  paramName,
const bool  required = false,
const std::string &  deflt = "" 
) const
inherited

Retrieve a string parameter for the traffic object.

Parameters
paramNamethe parameter name
requiredwhether it is an error if the parameter is not set
defltthe default value to take if the parameter is not set (the default in the OptionsCont takes precedence)
Returns
the string value

Definition at line 33 of file SUMOTrafficObject.cpp.

References OptionsCont::exists(), Named::getID(), OptionsCont::getOptions(), SUMOTrafficObject::getParameter(), Parameterised::getParameter(), OptionsCont::getValueString(), SUMOTrafficObject::getVTypeParameter(), SUMOTrafficObject::isPerson(), OptionsCont::isSet(), SUMOTrafficObject::isVehicle(), and TLF.

Referenced by MSDevice_ToC::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), SUMOTrafficObject::getBoolParam(), SUMOTrafficObject::getFloatParam(), MSDevice_Taxi::getParameter(), SUMOTrafficObject::getTimeParam(), MSBaseVehicle::initTransientModelParams(), MSDevice_Taxi::MSDevice_Taxi(), MSTransportableDevice_Routing::MSTransportableDevice_Routing(), and MSDevice_Taxi::prepareStop().

Here is the caller graph for this function:

◆ getTimeGapOnLane()

double MSVehicle::getTimeGapOnLane ( ) const

Returns the time gap in seconds to the leader of the vehicle on the same lane.

If the distance is too big -1 is returned. The gap returned takes the minGap into account.

Returns
The time gap in seconds; -1 if no leader was found or speed is 0.

Definition at line 6610 of file MSVehicle.cpp.

References getLeader(), getSpeed(), and MSBaseVehicle::getVehicleType().

Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and GUIBaseVehicle::getScaleValue().

Here is the caller graph for this function:

◆ getTimeLoss()

SUMOTime MSVehicle::getTimeLoss ( ) const
inlinevirtual

Returns the SUMOTime lost (speed was lesser maximum speed)

Note
Intentional stopping does not count towards this time.
speedFactor is included so time loss can never be negative. The value is that of a driver who compares his travel time when the road is clear (which includes speed factor) with the actual travel time.
includes time lost due to low departSpeed and decelerating/accelerating for planned stops
Returns
The time the vehicle lost due to various effects

Implements SUMOVehicle.

Definition at line 704 of file MSVehicle.h.

References myTimeLoss, and TIME2STEPS.

◆ getTimeLossSeconds()

double MSVehicle::getTimeLossSeconds ( ) const
inlinevirtual

Returns the time loss in seconds.

Reimplemented from MSBaseVehicle.

Definition at line 720 of file MSVehicle.h.

References myTimeLoss.

Referenced by GUIVehicle::getColorValue(), and GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getTimeParam()

SUMOTime SUMOTrafficObject::getTimeParam ( const std::string &  paramName,
const bool  required = false,
const SUMOTime  deflt = SUMOTime_MIN 
) const
inherited

Retrieve a time parameter for the traffic object.

Parameters
paramNamethe parameter name
requiredwhether it is an error if the parameter is not set
defltthe default value to take if the parameter is not set (the default in the OptionsCont takes precedence)
Returns
the time value

Definition at line 89 of file SUMOTrafficObject.cpp.

References Named::getID(), SUMOTrafficObject::getStringParam(), SUMOTrafficObject::isPerson(), SUMOTrafficObject::isVehicle(), string2time(), time2string(), TL, and WRITE_ERRORF.

Referenced by MSTransportableDevice_Routing::buildDevices(), and MSDevice_Routing::buildVehicleDevices().

Here is the caller graph for this function:

◆ getTimeSinceStartup()

SUMOTime MSVehicle::getTimeSinceStartup ( ) const
inline

Returns the SUMOTime spent driving since startup (speed was larger than 0.1m/s)

The value is reset if the vehicle halts (moves slower than 0.1m/s) Intentional stopping does not reset the time

Returns
The time the vehicle is standing

Definition at line 687 of file MSVehicle.h.

References myTimeSinceStartup.

Referenced by MSCFModel::applyStartupDelay(), MSCFModel_EIDM::finalizeSpeed(), and MSCFModel_EIDM::slowToStartTerm().

Here is the caller graph for this function:

◆ getTimeSinceStartupSeconds()

double MSVehicle::getTimeSinceStartupSeconds ( ) const
inline

Definition at line 691 of file MSVehicle.h.

References myTimeSinceStartup, and STEPS2TIME.

Referenced by GUIVehicle::getParameterWindow().

Here is the caller graph for this function:

◆ getUpcomingEdgeIDs()

const std::set< SUMOTrafficObject::NumericalID > MSBaseVehicle::getUpcomingEdgeIDs ( ) const
virtualinherited

returns the numerical ids of edges to travel

Implements SUMOTrafficObject.

Definition at line 228 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.

◆ getUpcomingLanesUntil()

const std::vector< const MSLane * > MSVehicle::getUpcomingLanesUntil ( double  distance) const

Returns the upcoming (best followed by default 0) sequence of lanes to continue the route starting at the current lane.

Parameters
[in]distanceThe downstream distance to cover
Returns
The bestContinuations of the LaneQ for myLane (see LaneQ) concatenated with default following lanes up until the given distance has been covered
Note
includes internal lanes if applicable

Definition at line 6364 of file MSVehicle.cpp.

References getBestLanesContinuation(), MSLane::getEdge(), Named::getID(), MSLane::getInternalFollowingLane(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getOppositePos(), MSLane::getParallelOpposite(), getPositionOnLane(), hasArrived(), MSLane::isInternal(), MSAbstractLaneChangeModel::isOpposite(), MSBaseVehicle::myCurrEdge, myLane, myLaneChangeModel, and MSBaseVehicle::myRoute.

Referenced by libsumo::Helper::applySubscriptionFilterLateralDistance(), executeFractionalMove(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), getLanePosAfterDist(), and MSDevice_Bluelight::notifyMove().

Here is the caller graph for this function:

◆ getUpstreamOppositeLanes()

const std::vector< MSLane * > MSVehicle::getUpstreamOppositeLanes ( ) const

Returns the sequence of opposite lanes corresponding to past lanes.

Returns
The myRoute-based past lanes (right-most on edge) up to getMaximumBrakeDist
Note
includes internal lanes if applicable

Definition at line 6491 of file MSVehicle.cpp.

References MSLane::getMaximumBrakeDist(), MSLane::getOpposite(), getPastLanesUntil(), and myLane.

Referenced by MSLane::addLeaders().

Here is the caller graph for this function:

◆ getVClass()

SUMOVehicleClass MSBaseVehicle::getVClass ( ) const
inlinevirtualinherited

Returns the vehicle's access class.

Returns
The vehicle's access class

Implements SUMOTrafficObject.

Definition at line 167 of file MSBaseVehicle.h.

References MSVehicleType::getParameter(), MSBaseVehicle::myType, and SUMOVTypeParameter::vehicleClass.

Referenced by MSBaseVehicle::addStop(), MSLaneChangerSublane::change(), MSLaneChanger::changeOpposite(), MELoop::checkCar(), GUIApplicationWindow::checkGamingEvents(), checkReversal(), MSLCM_SL2015::checkStrategicChange(), cleanupFurtherLanes(), MSTrainHelper::computeCarriages(), computeFurtherLanes(), GUIVehicle::drawRouteHelper(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), MSLane::executeMovements(), LIBSUMO_NAMESPACE::Simulation::findRoute(), getNextEdgePtr(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), GUIVehicle::getParameterWindow(), getPastLanesUntil(), getRerouteOrigin(), MSBaseVehicle::getRouterTT(), MSLane::getVehicleStopOffset(), MESegment::hasSpaceFor(), hasValidRouteStart(), MSLane::incorporateVehicle(), MSBaseVehicle::insertJump(), MSBaseVehicle::insertStop(), MSPedestrianPushButton::isActiveForEdge(), MSLane::isInsertionSuccess(), leaveLane(), MSLaneChanger::mayChange(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSLCM_SL2015::mustOvertakeStopped(), MSDevice_Bluelight::notifyMove(), planMoveInternal(), processLaneAdvances(), processNextStop(), MSBaseVehicle::replaceStop(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), setApproachingForAllLinks(), setBlinkerInformation(), updateBestLanes(), and updateFurtherLanes().

Here is the caller graph for this function:

◆ getVehicleType()

const MSVehicleType & MSBaseVehicle::getVehicleType ( ) const
inlinevirtualinherited

Returns the vehicle's type definition.

Returns
The vehicle's type definition

Implements SUMOTrafficObject.

Definition at line 153 of file MSBaseVehicle.h.

References MSBaseVehicle::myType.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToJunctionLeader(), adaptToLeaders(), MSPModel_Striping::addCrossingVehs(), MSLane::addLeaders(), MSLaneChangerSublane::addOutsideLeaders(), MSBaseVehicle::allowsBoarding(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilters(), MSLaneChanger::avoidDeadlock(), MSAbstractLaneChangeModel::avoidOvertakeRight(), MSBaseVehicle::basePos(), betterContinuation(), brakeForOverlap(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeToNewLane(), MSLane::checkFailure(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), checkLinkLeader(), MSLaneChanger::checkOppositeStop(), checkRewindLinkLanes(), MSLink::checkWalkingAreaFoe(), MSDevice_SSM::classifyEncounter(), MSLCM_SL2015::commitManoeuvre(), computeAngle(), MSTrainHelper::computeCarriages(), MSLaneChanger::computeOvertakingTime(), MSAbstractLaneChangeModel::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), MSTrainHelper::computeTrainDimensions(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), GUIVehicle::drawAction_drawCarriageClass(), GUIVehicle::drawAction_drawLinkItems(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBrakeLight(), GUIEdge::drawMesoVehicles(), GUIBaseVehicle::drawOnPos(), MSLane::enteredByLaneChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), MSDevice_SSM::estimateConflictTimes(), MSDevice_StationFinder::estimateConsumption(), MSAbstractLaneChangeModel::estimateLCDuration(), MEVehicle::estimateLeaveSpeed(), estimateTimeToNextStop(), MSLane::executeMovements(), MSLaneChangerSublane::findClosestLeader(), MSCFModel_Rail::followSpeed(), MSLane::freeInsertion(), MSVehicle::Influencer::gapControlSpeed(), MEVehicle::getBackPositionOnLane(), MSLane::getBruttoOccupancy(), GUIBaseVehicle::getCenteringBoundary(), GUIMEVehicle::getCenteringBoundary(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSEdge::getDepartLane(), MSEdge::getDepartPosBound(), MSLane::getDepartPosLat(), MSAbstractLaneChangeModel::getDesiredAlignment(), LIBSUMO_NAMESPACE::Vehicle::getDrivingDistance2D(), MSBaseVehicle::getEmissionParameters(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSBaseVehicle::getImpatience(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), getLateralOverlap(), MSLane::getLeader(), getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), GUIVehicle::getLeftSideOnEdge(), getLeftSideOnEdge(), getLeftSideOnLane(), getLeftSideOnLane(), MSLCM_SL2015::getLongest(), MSAbstractLaneChangeModel::getMaxSpeedLat2(), MSLane::getNettoOccupancy(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSBaseVehicle::getParkingBadges(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MEVehicle::getRightSideOnEdge(), getRightSideOnEdge(), getRightSideOnLane(), getRightSideOnLane(), MSLane::getSpaceTillLastStanding(), MSLeaderInfo::getSubLanes(), getTimeGapOnLane(), GUIVehicle::getTypeParameterWindow(), MSPModel_Striping::getVehicleObstacles(), libsumo::Helper::getVehicleType(), GUIBaseVehicle::getVType(), MSLCM_SL2015::getWidth(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MESegment::hasSpaceFor(), ignoreRed(), MSLane::incorporateVehicle(), MSLCM_SL2015::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeaders(), MSLane::insertVehicle(), MSLink::isInFront(), MSLane::isInsertionSuccess(), isLeader(), MESegment::isOpen(), joinTrainPart(), joinTrainPartFront(), keepClear(), MSLCM_SL2015::keepLatGap(), MSAbstractLaneChangeModel::laneChangeOutput(), MSLane::lastInsertion(), MSLane::leftByLaneChange(), MESegment::loadState(), MEVehicle::mayProceed(), MSPModel_Striping::moveInDirection(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSLCM_SL2015::mustOvertakeStopped(), MSDevice_Bluelight::notifyMove(), MSDevice_GLOSA::notifyMove(), LIBSUMO_NAMESPACE::Vehicle::openGap(), overlap(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), MSCFModel_Krauss::patchSpeedBeforeLC(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSLCM_LC2013::prepareStep(), MSLCM_SL2015::preventSliding(), processLinkApproaches(), processNextStop(), processTraCISpeedControl(), MESegment::receive(), MSLaneChanger::ChangeElem::registerHop(), MSLaneChanger::registerUnchanged(), MSAbstractLaneChangeModel::remainingTime(), MESegment::Queue::remove(), MSLane::removeVehicle(), MSLaneChanger::resolveDeadlock(), MSLane::safeInsertionSpeed(), MSBaseVehicle::saveState(), GUIVehicle::selectBlockingFoes(), MESegment::send(), MSVehicleType::setActionStepLength(), MSAbstractLaneChangeModel::setFollowerGaps(), GUIBaseVehicle::setFunctionalColor(), MSAbstractLaneChangeModel::setLeaderGaps(), MSAbstractLaneChangeModel::setLeaderGaps(), MSAbstractLaneChangeModel::setOrigLeaderGaps(), MSAbstractLaneChangeModel::setOrigLeaderGaps(), setTentativeLaneAndPosition(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), slowDownForSchedule(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), updateBestLanes(), MSLCHelper::updateBlockerLength(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSFCDExport::write(), MSQueueExport::writeLane(), and MSLaneChanger::yieldToDeadlockOncoming().

◆ getVelocityVector()

Position MSVehicle::getVelocityVector ( ) const
inline

Returns the vehicle's direction in radians.

Returns
The vehicle's current angle

Definition at line 743 of file MSVehicle.h.

References myAngle, myState, and MSVehicle::State::speed().

Referenced by MSCFModel_CC::_consensus(), MSCFModel_CC::getParameter(), and MSDevice_SSM::updateEncounter().

Here is the caller graph for this function:

◆ getVTypeParameter()

const SUMOVTypeParameter & MSBaseVehicle::getVTypeParameter ( ) const
inlinevirtualinherited

Returns the vehicle's type parameter.

Returns
The vehicle's type parameter

Implements SUMOTrafficObject.

Definition at line 160 of file MSBaseVehicle.h.

References MSVehicleType::getParameter(), and MSBaseVehicle::myType.

◆ getWaitingSeconds()

double MSBaseVehicle::getWaitingSeconds ( ) const
inlineinherited

Returns the number of seconds waited (speed was lesser than 0.1m/s)

The value is reset if the vehicle moves faster than 0.1m/s Intentional stopping does not count towards this time.

Returns
The time the vehicle is standing

Definition at line 292 of file MSBaseVehicle.h.

References SUMOTrafficObject::getWaitingTime(), and STEPS2TIME.

Referenced by MSLaneChanger::avoidDeadlock(), MSLaneChanger::changeOpposite(), MSLaneChanger::computeSurplusGap(), GUIVehicle::getColorValue(), GUIMEVehicle::getColorValue(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), GUIBaseVehicle::getScaleValue(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_LC2013::informLeader(), MSPedestrianPushButton::isActiveForEdge(), MSLaneChanger::resolveDeadlock(), workOnMoveReminders(), MSEmissionExport::write(), MSQueueExport::writeLane(), MSFullExport::writeVehicles(), MSLaneChanger::yieldToDeadlockOncoming(), and MSLaneChanger::yieldToOppositeWaiting().

Here is the caller graph for this function:

◆ getWaitingTime()

SUMOTime MSVehicle::getWaitingTime ( const bool  accumulated = false) const
inlinevirtual

Returns the SUMOTime waited (speed was lesser than 0.1m/s)

The value is reset if the vehicle moves faster than 0.1m/s Intentional stopping does not count towards this time. If accumulated is true the time is aggregated over a configurable interval.

Returns
The time the vehicle is standing

Implements SUMOTrafficObject.

Definition at line 670 of file MSVehicle.h.

References MSVehicle::WaitingTimeCollector::cumulatedWaitingTime(), MSGlobals::gWaitingTimeMemory, myWaitingTime, and myWaitingTimeCollector.

Referenced by checkLinkLeader(), checkRewindLinkLanes(), MSLane::executeMovements(), getAccumulatedWaitingSeconds(), MSLink::getLeaderInfo(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSPModel_Striping::getVehicleObstacles(), getWaitingTimeFor(), MSDevice_Bluelight::notifyMove(), planMoveInternal(), GUIVehicle::selectBlockingFoes(), and MSLaneChanger::yieldToOppositeWaiting().

Here is the caller graph for this function:

◆ getWaitingTimeFor()

SUMOTime MSVehicle::getWaitingTimeFor ( const MSLink link) const

getWaitingTime, but taking into account having stopped for a stop-link

Definition at line 8151 of file MSVehicle.cpp.

References getWaitingTime(), myHaveStoppedFor, and SUMOTime_MAX.

Referenced by processLinkApproaches(), and setApproachingForAllLinks().

Here is the caller graph for this function:

◆ getWeightsStorage() [1/2]

MSEdgeWeightsStorage & MSBaseVehicle::getWeightsStorage ( )
inherited

Definition at line 2156 of file MSBaseVehicle.cpp.

References MSBaseVehicle::_getWeightsStorage().

◆ getWeightsStorage() [2/2]

const MSEdgeWeightsStorage & MSBaseVehicle::getWeightsStorage ( ) const
inherited

Returns the vehicle's internal edge travel times/efforts container.

If the vehicle does not have such a container, it is built.

Returns
The vehicle's knowledge about edge weights

Definition at line 2150 of file MSBaseVehicle.cpp.

References MSBaseVehicle::_getWeightsStorage().

Referenced by LIBSUMO_NAMESPACE::Vehicle::getAdaptedTraveltime(), MSNet::getEffort(), LIBSUMO_NAMESPACE::Vehicle::getEffort(), MSNet::getTravelTime(), LIBSUMO_NAMESPACE::Vehicle::setAdaptedTraveltime(), and LIBSUMO_NAMESPACE::Vehicle::setEffort().

Here is the caller graph for this function:

◆ getWidth()

double MSBaseVehicle::getWidth ( ) const
inlineinherited

◆ handleCollisionStop()

◆ hasArrived()

bool MSVehicle::hasArrived ( ) const
virtual

Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge)

Reimplemented from MSBaseVehicle.

Definition at line 1110 of file MSVehicle.cpp.

References hasArrivedInternal().

Referenced by MSLane::executeMovements(), and getUpcomingLanesUntil().

Here is the caller graph for this function:

◆ hasArrivedInternal()

bool MSVehicle::hasArrivedInternal ( bool  oppositeTransformed = true) const
protected

Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge) method is called in the context of excecuteMove where opposite-direction vehicles are transformed temporarily to their forward lane and additional opposite-direction driving checks do not apply.

Definition at line 1116 of file MSVehicle.cpp.

References SUMOVehicleParameter::arrivalEdge, MSLane::getLength(), MSBaseVehicle::getRoutePosition(), MSAbstractLaneChangeModel::isOpposite(), isRemoteControlled(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, myLane, myLaneChangeModel, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSBaseVehicle::myRoute, myState, and MSBaseVehicle::myStops.

Referenced by executeMove(), hasArrived(), and processLaneAdvances().

Here is the caller graph for this function:

◆ hasDeparted()

◆ hasDevice()

bool MSBaseVehicle::hasDevice ( const std::string &  deviceName) const
inherited

check whether the vehicle is equiped with a device of the given name

Definition at line 2263 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myDevices.

Referenced by MSBaseVehicle::createDevice(), and MSBaseVehicle::getPrefixedParameter().

Here is the caller graph for this function:

◆ hasDriverState()

bool MSVehicle::hasDriverState ( ) const
inline

Whether this vehicle is equipped with a MSDriverState.

Definition at line 996 of file MSVehicle.h.

References myDriverState.

Referenced by MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), MSCFModel::applyOwnSpeedPerceptionError(), and planMove().

Here is the caller graph for this function:

◆ hasInfluencer()

bool MSVehicle::hasInfluencer ( ) const
inlinevirtual

whether the vehicle is individually influenced (via TraCI or special parameters)

Implements MSBaseVehicle.

Definition at line 1680 of file MSVehicle.h.

References myInfluencer.

Referenced by MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSAbstractLaneChangeModel::checkTraCICommands(), LIBSUMO_NAMESPACE::Vehicle::deactivateGapControl(), MSLane::detectCollisionBetween(), GUIVehicle::drawRouteHelper(), GUIVehicle::getParameterWindow(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), influenceChangeDecision(), MSLCM_SL2015::keepLatGap(), and updateWaitingTime().

Here is the caller graph for this function:

◆ hasJump()

bool MSBaseVehicle::hasJump ( const MSRouteIterator it) const
inherited

check wether the vehicle has jump at the given part of its route

Definition at line 721 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myStops.

Referenced by MSBaseVehicle::hasValidRoute().

Here is the caller graph for this function:

◆ hasStops()

◆ hasValidRoute()

bool MSBaseVehicle::hasValidRoute ( std::string &  msg,
ConstMSRoutePtr  route = 0 
) const
virtualinherited

Validates the current or given route.

Parameters
[out]msgDescription why the route is not valid (if it is the case)
[in]routeThe route to check (or 0 if the current route shall be checked)
Returns
Whether the vehicle's current route is valid

Implements SUMOVehicle.

Definition at line 734 of file MSBaseVehicle.cpp.

References MSVehicleType::getVehicleClass(), MSBaseVehicle::hasJump(), MSEdge::hasTransientPermissions(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, MSBaseVehicle::myRoutingMode, MSBaseVehicle::myType, libsumo::ROUTING_MODE_IGNORE_TRANSIENT_PERMISSIONS, and TLF.

Referenced by MSBaseVehicle::getRouteValidity(), MESegment::initialise(), LIBSUMO_NAMESPACE::Vehicle::isRouteValid(), MSBaseVehicle::replaceRouteEdges(), and LIBSUMO_NAMESPACE::Vehicle::setRouteID().

Here is the caller graph for this function:

◆ hasValidRouteStart()

◆ haveValidStopEdges()

bool MSBaseVehicle::haveValidStopEdges ( bool  silent = false) const
inherited

check whether all stop.edge MSRouteIterators are valid and in order

Definition at line 1530 of file MSBaseVehicle.cpp.

References Named::getID(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, MSBaseVehicle::myStops, SIMSTEP, time2string(), toString(), and WRITE_ERRORF.

Referenced by enterLaneAtMove(), MSBaseVehicle::getStopEdges(), replaceRoute(), MSBaseVehicle::replaceRouteEdges(), and GUIVehicle::rerouteDRTStop().

Here is the caller graph for this function:

◆ ignoreCollision()

bool MSVehicle::ignoreCollision ( ) const

whether this vehicle is except from collision checks

Definition at line 1626 of file MSVehicle.cpp.

References myCollisionImmunity.

Referenced by MSLane::handleCollisionBetween(), and MSLane::handleIntermodalCollisionBetween().

Here is the caller graph for this function:

◆ ignoreFoe()

bool MSVehicle::ignoreFoe ( const SUMOTrafficObject foe) const

decide whether a given foe object may be ignored

Definition at line 7418 of file MSVehicle.cpp.

References MSVehicleType::getID(), Named::getID(), MSBaseVehicle::getParameter(), StringTokenizer::getVector(), SUMOTrafficObject::getVehicleType(), SUMO_ATTR_CF_IGNORE_IDS, SUMO_ATTR_CF_IGNORE_TYPES, toString(), and VEHPARS_CFMODEL_PARAMS_SET.

Referenced by adaptToJunctionLeader(), adaptToLeader(), and adaptToOncomingLeader().

Here is the caller graph for this function:

◆ ignoreRed()

bool MSVehicle::ignoreRed ( const MSLink link,
bool  canBrake 
) const

◆ ignoreTransientPermissions()

bool MSBaseVehicle::ignoreTransientPermissions ( ) const
virtualinherited

Returns whether this object is ignoring transient permission changes (during routing)

Reimplemented from SUMOTrafficObject.

Definition at line 201 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getRoutingMode(), and libsumo::ROUTING_MODE_IGNORE_TRANSIENT_PERMISSIONS.

◆ influenceChangeDecision()

int MSVehicle::influenceChangeDecision ( int  state)

◆ initDevices()

◆ initTransientModelParams()

void MSBaseVehicle::initTransientModelParams ( )
privateinherited

init model parameters from generic params

Definition at line 2346 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getParameter(), Parameterised::getParametersMap(), SUMOTrafficObject::getStringParam(), libsumo::ROUTING_MODE_DEFAULT, MSBaseVehicle::setCarFollowModelParameter(), MSBaseVehicle::setJunctionModelParameter(), MSBaseVehicle::setRoutingMode(), StringUtils::startsWith(), TLF, and StringUtils::toInt().

Referenced by MSBaseVehicle::MSBaseVehicle().

Here is the caller graph for this function:

◆ insertJump()

bool MSBaseVehicle::insertJump ( int  nextStopIndex,
MSRouteIterator  itStart,
std::string &  errorMsg 
)
privateinherited

◆ insertStop()

bool MSBaseVehicle::insertStop ( int  nextStopIndex,
SUMOVehicleParameter::Stop  stop,
const std::string &  info,
bool  teleport,
std::string &  errorMsg 
)
inherited

insert stop at the given index with the given stop parameters will wait for the given duration before continuing on its route The route will be adapted to pass the new stop edge but only from the previous stop (or start) to the new stop and only up to the next stop (or end).

Parameters
[in]nextStopIndexThe replacement index
[in]stopStop parameters
[in]infoThe rerouting info
[in]teleportWhether to cover the route to the new stop via teleporting
[out]errorMsgreturned error message

Definition at line 1966 of file MSBaseVehicle.cpp.

References MSParkingArea::accepts(), MSLane::allowsVehicleClass(), SUMOAbstractRouter< E, V >::compute(), MSLane::dictionary(), MSStop::edge, SUMOVehicleParameter::Stop::edge, SUMOVehicleParameter::Stop::endPos, MSBaseVehicle::getArrivalPos(), MSBaseVehicle::getCurrentRouteEdge(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSRoute::getEdges(), MSStop::getEndPos(), Named::getID(), MSNet::getInstance(), SUMOTrafficObject::getLane(), SUMOTrafficObject::getPositionOnLane(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRouterTT(), MELoop::getSegmentForEdge(), MSNet::getStoppingPlace(), MSBaseVehicle::getVClass(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, MSBaseVehicle::hasDeparted(), MSStop::initPars(), MSLane::isInternal(), MSBaseVehicle::isStopped(), MSStop::lane, SUMOVehicleParameter::Stop::lane, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::myRoutingMode, MSBaseVehicle::myStops, SUMOVehicleParameter::Stop::parkingarea, SUMOAbstractRouter< E, V >::recomputeCosts(), MSBaseVehicle::replaceRouteEdges(), MSStop::segment, SUMOVehicleParameter::stops, SUMO_TAG_PARKING_AREA, TL, and TLF.

Referenced by MSIdling_TaxiStand::idle(), LIBSUMO_NAMESPACE::Vehicle::insertStop(), MSDevice_StationFinder::notifyMove(), MSDevice_StationFinder::rerouteToChargingStation(), and MSDevice_StationFinder::teleportToChargingStation().

Here is the caller graph for this function:

◆ interpolateLateralZ()

void MSVehicle::interpolateLateralZ ( Position pos,
double  offset,
double  posLat 
) const
protected

perform lateral z interpolation in elevated networks

Definition at line 1288 of file MSVehicle.cpp.

References MSLane::geometryPositionAtOffset(), MSAbstractLaneChangeModel::getShadowLane(), MSLane::getWidth(), Position::INVALID, MAX2(), myLane, myLaneChangeModel, Position::setz(), and Position::z().

Referenced by getBackPosition(), and getPosition().

Here is the caller graph for this function:

◆ interpretOppositeStop()

MSLane * MSBaseVehicle::interpretOppositeStop ( SUMOVehicleParameter::Stop stop)
staticinherited

interpret stop lane on opposite side of the road

Definition at line 1175 of file MSBaseVehicle.cpp.

References MSEdge::dictionary(), SUMOVehicleParameter::Stop::edge, SUMOXMLDefinitions::getEdgeIDFromLane(), SUMOXMLDefinitions::getIndexFromLane(), MSEdge::getLanes(), MSEdge::getNumLanes(), MSEdge::getOppositeEdge(), and SUMOVehicleParameter::Stop::lane.

Referenced by MSRouteHandler::addStop(), and MSBaseVehicle::addStop().

Here is the caller graph for this function:

◆ invalidateCachedPosition()

void MSVehicle::invalidateCachedPosition ( )
inline

Definition at line 421 of file MSVehicle.h.

References Position::INVALID, and myCachedPosition.

Referenced by MSVehicleTransfer::checkInsertions().

Here is the caller graph for this function:

◆ isActionStep()

bool MSVehicle::isActionStep ( SUMOTime  t) const
inline

Returns whether the next simulation step will be an action point for the vehicle.

Returns
Whether the vehicle has scheduled an action point for the next step.

Definition at line 635 of file MSVehicle.h.

References getActionStepLength(), and myLastActionTime.

Referenced by checkActionStep(), GUIVehicle::getColorValue(), and loadState().

Here is the caller graph for this function:

◆ isActive()

bool MSVehicle::isActive ( ) const
inline

Returns whether the current simulation step is an action point for the vehicle.

Returns
Whether the vehicle has an action point in the current step.

Definition at line 628 of file MSVehicle.h.

References myActionStep.

Referenced by MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLaneChangerSublane::checkChangeToNewLane(), GUIVehicle::getColorValue(), MSLink::getZipperSpeed(), and MSLCM_SL2015::setOwnState().

Here is the caller graph for this function:

◆ isBidiOn()

bool MSVehicle::isBidiOn ( const MSLane lane) const

whether this vehicle is driving against lane

Definition at line 7110 of file MSVehicle.cpp.

References MSLane::getBidiLane(), MSLane::getEdge(), myLane, and onFurtherEdge().

Referenced by MSLane::detectCollisionBetween(), MSLane::getFollowersOnConsecutive(), and MSLink::getLeaderInfo().

Here is the caller graph for this function:

◆ isContainer()

virtual bool SUMOTrafficObject::isContainer ( ) const
inlinevirtualinherited

Whether it is a container.

Returns
true for containers, false otherwise

Reimplemented in MSTransportable.

Definition at line 81 of file SUMOTrafficObject.h.

◆ isFrontOnLane()

bool MSVehicle::isFrontOnLane ( const MSLane lane) const
virtual

Returns the information whether the front of the vehicle is on the given lane.

Returns
Whether the vehicle's front is on that lane

Reimplemented from MSBaseVehicle.

Definition at line 5103 of file MSVehicle.cpp.

References MSLane::getBidiLane(), MSAbstractLaneChangeModel::getShadowLane(), myLane, and myLaneChangeModel.

Referenced by MSLaneChanger::findCandidate(), MSLane::getFirstVehicleInformation(), MSLane::getFollowersOnConsecutive(), MSLink::getLeaderInfo(), MSLane::getLeadersOnConsecutive(), MSLane::getPartialBehind(), MSLane::getPartialBeyond(), and MSLane::getSpaceTillLastStanding().

Here is the caller graph for this function:

◆ isIdling()

bool MSVehicle::isIdling ( ) const
inlinevirtual

Returns whether a sim vehicle is waiting to enter a lane (after parking has completed)

Returns
true if the vehicle is waiting

Implements SUMOVehicle.

Definition at line 621 of file MSVehicle.h.

References myAmIdling.

Referenced by updateWaitingTime().

Here is the caller graph for this function:

◆ isJumping()

bool MSBaseVehicle::isJumping ( ) const
inherited

Returns whether the vehicle is perform a jump.

Returns
whether the vehicle is starting to jump

Definition at line 1057 of file MSBaseVehicle.cpp.

References MSBaseVehicle::getEdge(), Named::getID(), MSBaseVehicle::myPastStops, and SIMSTEP.

Referenced by MSVehicleTransfer::add(), and MSLane::executeMovements().

Here is the caller graph for this function:

◆ isLeader()

bool MSVehicle::isLeader ( const MSLink link,
const MSVehicle veh,
const double  gap 
) const

whether the given vehicle must be followed at the given junction

Definition at line 7452 of file MSVehicle.cpp.

References ACCEL2SPEED, MSCFModel::brakeGap(), DEBUG_COND, MSLink::fromInternalLane(), getCarFollowModel(), MSLink::getCorrespondingEntryLink(), MSLane::getEdge(), MSLane::getEntryLink(), MSEdge::getFromJunction(), MSCFModel::getHeadwayTime(), Named::getID(), MSLane::getIncomingLanes(), MSLink::getIndex(), MSLink::getInternalLaneBefore(), MSLink::getJunction(), getLane(), getLaneChangeModel(), MSBaseVehicle::getLength(), MSJunction::getLogic(), MSLane::getLogicalPredecessorLane(), MSCFModel::getMaxAccel(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSLane::getNormalPredecessorLane(), MSJunctionLogic::getResponseFor(), getSpeed(), MSLink::getState(), MSEdge::getToJunction(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), MSAbstractLaneChangeModel::hasBlueLight(), MSLink::havePriority(), MSLink::haveRed(), MSLink::haveYellow(), MSLink::isExitLinkAfterInternalJunction(), MSLink::isIndirect(), MSLane::isInternal(), myJunctionConflictEntryTime, myJunctionEntryTime, myJunctionEntryTimeNeverYield, myLane, SIMTIME, SUMO_const_haltingSpeed, and toString().

Referenced by checkLinkLeader(), MSLane::detectCollisions(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), GUIVehicle::selectBlockingFoes(), and MSCFModel_CC::setLeader().

Here is the caller graph for this function:

◆ isLineStop()

bool MSBaseVehicle::isLineStop ( double  position) const
virtualinherited

returns whether the vehicle serves a public transport line that serves the given stop

Implements SUMOVehicle.

Definition at line 2243 of file MSBaseVehicle.cpp.

References SUMOVehicleParameter::line, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, and SUMOVehicleParameter::stops.

◆ isOnRoad()

◆ isOppositeLane()

bool MSVehicle::isOppositeLane ( const MSLane lane) const
protected

whether the give lane is reverse direction of the current route or not

Definition at line 5821 of file MSVehicle.cpp.

References MSLane::getEdge(), MSLane::getLinkCont(), MSLane::isInternal(), and MSBaseVehicle::myCurrEdge.

Referenced by updateBestLanes().

Here is the caller graph for this function:

◆ isParking()

◆ isPerson()

virtual bool SUMOTrafficObject::isPerson ( ) const
inlinevirtualinherited

◆ isRemoteControlled()

bool MSVehicle::isRemoteControlled ( ) const
virtual

Returns the information whether the vehicle is fully controlled via TraCI.

Returns
Whether the vehicle is remote-controlled

Reimplemented from MSBaseVehicle.

Definition at line 7351 of file MSVehicle.cpp.

References MSVehicle::Influencer::isRemoteControlled(), and myInfluencer.

Referenced by hasArrivedInternal(), processLinkApproaches(), MSLaneChanger::startChange(), MSLaneChangerSublane::startChangeSublane(), updateState(), and MSBatteryExport::write().

Here is the caller graph for this function:

◆ isReversed()

bool MSBaseVehicle::isReversed ( ) const
inlineinherited

Returns whether the logical state of the vehicle is reversed - for drawing.

Returns
whether the logical state of the vehicle is reversed

Definition at line 632 of file MSBaseVehicle.h.

References MSBaseVehicle::myAmReversed.

Referenced by MSTrainHelper::computeCarriages(), GUIVehicle::drawAction_drawCarriageClass(), and GUIBaseVehicle::drawReversed().

Here is the caller graph for this function:

◆ isSelected()

virtual bool MSBaseVehicle::isSelected ( ) const
inlinevirtualinherited

whether this vehicle is selected in the GUI

Implements SUMOTrafficObject.

Reimplemented in GUIVehicle.

Definition at line 789 of file MSBaseVehicle.h.

Referenced by MSCFModel_EIDM::_v(), MSCFModel_Wiedemann::_v(), MSLink::checkWalkingAreaFoe(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), GUIBaseVehicle::drawOnPos(), MSCFModel_EIDM::finalizeSpeed(), MSCFModel_EIDM::followSpeed(), MSCFModel_EIDM::freeSpeed(), GUIBaseVehicle::getScaleValue(), MSLink::isInFront(), MSLink::isOnComingPed(), and MSCFModel_EIDM::stopSpeed().

Here is the caller graph for this function:

◆ isStopped()

bool MSBaseVehicle::isStopped ( ) const
virtualinherited

Returns whether the vehicle is at a stop.

Returns
Whether the vehicle has stopped

Implements SUMOVehicle.

Definition at line 1043 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myStops.

Referenced by MSBaseVehicle::abortNextStop(), MSBaseVehicle::allowsBoarding(), brokeDown(), MSLaneChanger::changeOpposite(), MELoop::checkCar(), GUIApplicationWindow::checkGamingEvents(), GUIApplicationWindow::checkGamingEventsDRT(), checkLinkLeader(), checkRewindLinkLanes(), MSLaneChanger::computeSafeOppositeLength(), MSLaneChanger::computeSurplusGap(), MSDriveWay::conflictLaneOccupied(), GUIBaseVehicle::drawAction_drawVehicleAsPolyWithCarriagges(), executeMove(), MSLane::executeMovements(), getArrivalTime(), GUIVehicle::getColorValue(), MSLink::getLeaderInfo(), GUIBaseVehicle::getPopUpMenu(), GUIBaseVehicle::getScaleValue(), MEVehicle::getSpeed(), MSBaseVehicle::getStopDuration(), GUIVehicle::getStopInfo(), GUIMEVehicle::getStopInfo(), LIBSUMO_NAMESPACE::Vehicle::getStopState(), MSLCM_LC2013::informLeader(), MSBaseVehicle::insertStop(), MSLane::insertVehicle(), MSBaseVehicle::isParking(), MSBaseVehicle::isStoppedInRange(), isStoppedOnLane(), MSBaseVehicle::isStoppedParking(), MSBaseVehicle::isStoppedTriggered(), joinTrainPart(), joinTrainPartFront(), keepStopping(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdToggleStop(), planMoveInternal(), MEVehicle::processStop(), MESegment::receive(), remainingStopDuration(), MSBaseVehicle::replaceStop(), MSBaseVehicle::reroute(), MSBaseVehicle::rerouteBetweenStops(), MEVehicle::resumeFromStopping(), resumeFromStopping(), saveState(), MESegment::send(), setBrakingSignals(), updateTimeLoss(), updateWaitingTime(), willStop(), and workOnMoveReminders().

◆ isStoppedInRange()

bool MSBaseVehicle::isStoppedInRange ( const double  pos,
const double  tolerance,
bool  checkFuture = false 
) const
virtualinherited

return whether the given position is within range of the current stop

Implements SUMOVehicle.

Definition at line 1075 of file MSBaseVehicle.cpp.

References SUMOVehicleParameter::Stop::endPos, MSBaseVehicle::hasStops(), MSBaseVehicle::isStopped(), MSBaseVehicle::myStops, MSStop::pars, and SUMOVehicleParameter::Stop::startPos.

◆ isStoppedOnLane()

bool MSVehicle::isStoppedOnLane ( ) const

Definition at line 1586 of file MSVehicle.cpp.

References MSBaseVehicle::isStopped(), myLane, and MSBaseVehicle::myStops.

Referenced by MSLaneChanger::change(), and MSLaneChangerSublane::change().

Here is the caller graph for this function:

◆ isStoppedParking()

bool MSBaseVehicle::isStoppedParking ( ) const
virtualinherited

Returns whether the vehicle is on a parking stop.

Returns
whether the vehicle is on a parking stop

Implements SUMOVehicle.

Definition at line 1069 of file MSBaseVehicle.cpp.

References MSBaseVehicle::isStopped(), MSBaseVehicle::myStops, and OFFROAD.

◆ isStoppedTriggered()

bool MSBaseVehicle::isStoppedTriggered ( ) const
virtualinherited

Returns whether the vehicle is on a triggered stop.

Returns
whether the vehicle is on a triggered stop

Implements SUMOVehicle.

Definition at line 1063 of file MSBaseVehicle.cpp.

References MSBaseVehicle::isStopped(), and MSBaseVehicle::myStops.

Referenced by MELoop::changeSegment(), GUIBaseVehicle::drawStopLabels(), and keepStopping().

Here is the caller graph for this function:

◆ isVehicle()

bool MSBaseVehicle::isVehicle ( ) const
inlinevirtualinherited

Whether it is a vehicle.

Returns
true for vehicles, false otherwise

Reimplemented from SUMOTrafficObject.

Definition at line 99 of file MSBaseVehicle.h.

◆ joinTrainPart()

bool MSVehicle::joinTrainPart ( MSVehicle veh)
protected

try joining the given vehicle to the rear of this one (to resolve joinTriggered)

Definition at line 1986 of file MSVehicle.cpp.

References DELTA_T, getBackPositionOnLane(), MSNet::getInstance(), getLane(), MSVehicleType::getLength(), getPositionOnLane(), MSBaseVehicle::getSingularType(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::isStopped(), MSBaseVehicle::myAmRegisteredAsWaiting, myFurtherLanes, myLane, MSBaseVehicle::myStops, MSBaseVehicle::myType, MSVehicleType::setLength(), and MSVehicleControl::unregisterOneWaiting().

Referenced by processNextStop().

Here is the caller graph for this function:

◆ joinTrainPartFront()

◆ keepClear()

bool MSVehicle::keepClear ( const MSLink link) const
protected

decide whether the given link must be kept clear

Definition at line 7363 of file MSVehicle.cpp.

References getAccumulatedWaitingSeconds(), SUMOVTypeParameter::getJMParam(), MSVehicleType::getParameter(), MSBaseVehicle::getVehicleType(), MSLink::hasFoes(), MSLink::keepClear(), and SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME.

Referenced by checkRewindLinkLanes().

Here is the caller graph for this function:

◆ keepStopping()

bool MSVehicle::keepStopping ( bool  afterProcessing = false) const

Returns whether the vehicle is stopped and must continue to do so.

Definition at line 1591 of file MSVehicle.cpp.

References DELTA_T, getSpeed(), MSBaseVehicle::isStopped(), MSBaseVehicle::isStoppedTriggered(), MIN2(), MSVehicle::State::myPos, myState, MSBaseVehicle::myStops, ONROAD, and SUMO_const_haltingSpeed.

Referenced by MSVehicleTransfer::checkInsertions(), planMoveInternal(), processNextStop(), and processTraCISpeedControl().

Here is the caller graph for this function:

◆ lateralDistanceToLane()

double MSVehicle::lateralDistanceToLane ( const int  offset) const

Get the minimal lateral distance required to move fully onto the lane at given offset.

Returns
The lateral distance to be covered to move the vehicle fully onto the lane (in m)

Definition at line 6894 of file MSVehicle.cpp.

References DEBUG_COND, Named::getID(), getLaneChangeModel(), getLateralPositionOnLane(), MSLane::getParallelLane(), MSLane::getParallelOpposite(), MSBaseVehicle::getWidth(), MSLane::getWidth(), MSAbstractLaneChangeModel::isOpposite(), myLane, and SIMTIME.

Referenced by MSLCM_SL2015::_wantsChangeSublane(), and MSAbstractLaneChangeModel::checkTraCICommands().

Here is the caller graph for this function:

◆ leaveLane()

void MSVehicle::leaveLane ( const MSMoveReminder::Notification  reason,
const MSLane approachedLane = 0 
)

Update of members if vehicle leaves a new lane in the lane change step or at arrival.

Definition at line 5685 of file MSVehicle.cpp.

References MSStopOut::active(), MSStop::busstop, MSStop::chargingStation, MSStop::containerstop, DEBUG_COND, MSStoppingPlace::enter(), MSLane::getBidiLane(), MSBaseVehicle::getContainerNumber(), MSLane::getEdge(), Named::getID(), MSNet::getInstance(), MSStopOut::getInstance(), getLane(), MSLane::getLength(), MSLane::getPermissions(), MSBaseVehicle::getPersonNumber(), MSBaseVehicle::getVClass(), isRailway(), myAmOnNet, MSBaseVehicle::myCurrEdge, myFurtherLanes, myFurtherLanesPosLat, myLane, MSBaseVehicle::myMoveReminders, MSBaseVehicle::myOdometer, MSBaseVehicle::myPastStops, MSVehicle::State::myPos, myState, myStopDist, MSBaseVehicle::myStops, myWaitingTime, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSMoveReminder::NOTIFICATION_PARKING, MSMoveReminder::NOTIFICATION_TELEPORT, MSMoveReminder::NOTIFICATION_TELEPORT_CONTINUATION, OFFROAD, SUMOVehicleParameter::Stop::parking, MSStop::pars, MSStop::reached, MSLane::resetPartialOccupation(), resumeFromStopping(), SIMTIME, MSStopOut::stopStarted(), SVC_RAIL_CLASSES, time2string(), TL, and WRITE_WARNINGF.

Referenced by MSVehicleTransfer::checkInsertions(), MSDevice_Bluelight::notifyMove(), onRemovalFromNet(), MSAbstractLaneChangeModel::primaryLaneChanged(), processLaneAdvances(), and MSLane::removeVehicle().

Here is the caller graph for this function:

◆ leaveLaneBack()

void MSVehicle::leaveLaneBack ( const MSMoveReminder::Notification  reason,
const MSLane leftLane 
)

Update of reminders if vehicle back leaves a lane during (during forward movement.

Definition at line 5779 of file MSVehicle.cpp.

References DEBUG_COND, Named::getID(), MSBaseVehicle::myMoveReminders, and SIMTIME.

Referenced by executeMove().

Here is the caller graph for this function:

◆ loadPreviousApproaching()

void MSVehicle::loadPreviousApproaching ( MSLink link,
bool  setRequest,
SUMOTime  arrivalTime,
double  arrivalSpeed,
double  arrivalSpeedBraking,
double  dist,
double  leaveSpeed 
)

Definition at line 7702 of file MSVehicle.cpp.

References myLFLinkLanes.

Referenced by MSStateHandler::myStartElement().

Here is the caller graph for this function:

◆ loadState()

◆ manoeuvreIsComplete()

bool MSVehicle::manoeuvreIsComplete ( ) const

accessor function to myManoeuvre equivalent

Definition at line 7938 of file MSVehicle.cpp.

References MSVehicle::Manoeuvre::manoeuvreIsComplete(), and myManoeuvre.

Referenced by computeAngle(), planMove(), and planMoveInternal().

Here is the caller graph for this function:

◆ nextLinkPriority()

int MSVehicle::nextLinkPriority ( const std::vector< MSLane * > &  conts)
static

get a numerical value for the priority of the upcoming link

Definition at line 6298 of file MSVehicle.cpp.

References MSLink::havePriority().

Referenced by updateBestLanes().

Here is the caller graph for this function:

◆ nextStopDist()

double MSVehicle::nextStopDist ( ) const
inline

return the distance to the next stop or doubleMax if there is none.

Definition at line 1035 of file MSVehicle.h.

References myStopDist.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkOppositeStop(), MSLaneChanger::computeSafeOppositeLength(), MSLaneChanger::getBestLanesOpposite(), and MSLaneChanger::hasOppositeStop().

Here is the caller graph for this function:

◆ onDepart()

void MSBaseVehicle::onDepart ( )
virtualinherited

Called when the vehicle is inserted into the network.

Sets optional information about departure time, informs the vehicle control about a further running vehicle.

Implements SUMOVehicle.

Definition at line 635 of file MSBaseVehicle.cpp.

References MSNet::getCurrentTimeStep(), MSNet::getInstance(), SUMOTrafficObject::getPositionOnLane(), MSNet::getVehicleControl(), MSBaseVehicle::myDepartPos, MSBaseVehicle::myDeparture, and MSVehicleControl::vehicleDeparted().

Referenced by enterLaneAtInsertion(), MSVehicle::Influencer::postProcessRemoteControl(), and MESegment::receive().

Here is the caller graph for this function:

◆ onFurtherEdge()

bool MSVehicle::onFurtherEdge ( const MSEdge edge) const

whether this vehicle has its back (and no its front) on the given edge

Definition at line 7099 of file MSVehicle.cpp.

References myFurtherLanes.

Referenced by MSLane::getFollowersOnConsecutive(), and isBidiOn().

Here is the caller graph for this function:

◆ onRemovalFromNet()

void MSVehicle::onRemovalFromNet ( const MSMoveReminder::Notification  reason)
virtual

Called when the vehicle is removed from the network.

Moves along work reminders and informs all devices about quitting. Calls "leaveLane" then.

Parameters
[in]reasonwhy the vehicle leaves (reached its destination, parking, teleport)

Reimplemented from MSBaseVehicle.

Definition at line 1052 of file MSVehicle.cpp.

References cleanupFurtherLanes(), DEBUG_COND, Named::getID(), MSVehicleTransfer::getInstance(), leaveLane(), myLFLinkLanes, MSMoveReminder::NOTIFICATION_VAPORIZED_COLLISION, MSVehicleTransfer::remove(), removeApproachingInformation(), SIMTIME, and toString().

Referenced by MSVehicleTransfer::add(), MSLane::detectCollisions(), MSLane::executeMovements(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdRemoveObject(), MSVehicle::Influencer::postProcessRemoteControl(), and MSCalibrator::removePending().

Here is the caller graph for this function:

◆ operator=()

MSVehicle & MSVehicle::operator= ( const MSVehicle )
private

invalidated assignment operator

◆ overlap()

static bool MSVehicle::overlap ( const MSVehicle veh1,
const MSVehicle veh2 
)
inlinestatic

Returns true if the two vehicles overlap.

Definition at line 763 of file MSVehicle.h.

References MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myPos, and myState.

Referenced by brakeForOverlap(), and enterLaneAtMove().

Here is the caller graph for this function:

◆ passingMinor()

bool MSVehicle::passingMinor ( ) const

decide whether the vehicle is passing a minor link or has comitted to do so

Definition at line 7436 of file MSVehicle.cpp.

References MSLane::getEdge(), MSLink::getFoeVisibilityDistance(), MSLane::getIncomingLanes(), MSLink::havePriority(), MSEdge::isInternal(), myLane, and myLFLinkLanes.

Referenced by MSCFModel_Krauss::patchSpeedBeforeLC().

Here is the caller graph for this function:

◆ planMove()

void MSVehicle::planMove ( const SUMOTime  t,
const MSLeaderInfo ahead,
const double  lengthsInFront 
)

Compute safe velocities for the upcoming lanes based on positions and speeds from the last time step. Also registers ApproachingVehicleInformation for all links.

This method goes through the best continuation lanes of the current lane and computes the safe velocities for passing/stopping at the next link as a DriveProcessItem

Afterwards it checks if any DriveProcessItem should be discarded to avoid blocking a junction (checkRewindLinkLanes).

Finally the ApproachingVehicleInformation is registered for all links that shall be passed

Parameters
[in]tThe current timeStep
[in]aheadThe leaders (may be 0)
[in]lengthsInFrontSum of vehicle lengths in front of the vehicle

Definition at line 2101 of file MSVehicle.cpp.

References checkActionStep(), checkRewindLinkLanes(), DEBUG_COND, MSDevice_DriverState::getDriverState(), Named::getID(), getLateralPositionOnLane(), getManoeuvreType(), getPositionOnLane(), getSpeed(), MSGlobals::gModelParkingManoeuver, gPrecision, hasDriverState(), MANOEUVRE_EXIT, MANOEUVRE_NONE, manoeuvreIsComplete(), myDriverState, myInfluencer, myLane, myLaneChangeModel, myLFLinkLanes, myLFLinkLanesPrev, myNextDriveItem, myNextTurn, myStopDist, planMoveInternal(), removePassedDriveItems(), MSAbstractLaneChangeModel::resetChanged(), setActionStepLength(), setManoeuvreType(), SIMTIME, STEPS2TIME, MSDevice_DriverState::update(), and MSVehicle::Influencer::updateRemoteControlRoute().

◆ planMoveInternal()

void MSVehicle::planMoveInternal ( const SUMOTime  t,
MSLeaderInfo  ahead,
DriveItemVector lfLinks,
double &  myStopDist,
std::pair< double, const MSLink * > &  myNextTurn 
) const
protected
Todo:
: documentation

Definition at line 2206 of file MSVehicle.cpp.

References MSVehicle::DriveProcessItem::adaptLeaveSpeed(), adaptToLeaderDistance(), adaptToLeaders(), MSLeaderInfo::addLeader(), MSLeaderDistanceInfo::addLeader(), SUMOVehicleParameter::arrivalEdge, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, brakeForOverlap(), MSCFModel::brakeGap(), checkLinkLeaderCurrentAndParallel(), checkReversal(), MSLeaderInfo::clear(), MSVehicle::Influencer::considerSafeVelocity(), CRLL_LOOK_AHEAD, MSCFModel::CURRENT_WAIT, DEBUG_COND, DIST_TO_STOPLINE_EXPECT_PRIORITY, SUMOVehicleParameter::Stop::endPos, MSCFModel::estimateSpeedAfterDistance(), MSLeaderDistanceInfo::fixOppositeGaps(), MSLane::FOLLOW_NEVER, MSCFModel::freeSpeed(), MSCFModel::FUTURE, MSVehicle::Influencer::gapControlSpeed(), getArrivalTime(), getBestLanesContinuation(), MSLane::getBidiLane(), getBrakeGap(), getCarFollowModel(), MSAbstractLaneChangeModel::getCommittedSpeed(), MSLink::getCorrespondingEntryLink(), MSBaseVehicle::getDevice(), MSLane::getEdge(), MSCFModel::getEmergencyDecel(), MSStop::getEndPos(), MSLane::getFollowersOnConsecutive(), Named::getID(), MSBaseVehicle::getImpatience(), getLane(), MSAbstractLaneChangeModel::getLaneChangeCompletion(), MSParkingArea::getLastFreePosWithReservation(), MSLink::getLastStateChange(), MSLane::getLastVehicleInformation(), getLateralOverlap(), getLateralPositionOnLane(), getLeftSideOnLane(), MSBaseVehicle::getLength(), MSLane::getLength(), MSVehicleType::getLength(), MSLane::getLinkCont(), MSCFModel::getMaxAccel(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSCFModel::getMinimalArrivalSpeed(), MSCFModel::getMinimalArrivalSpeedEuler(), MSLane::getOppositePos(), MSLane::getParallelLane(), MSLane::getParallelOpposite(), MSBaseVehicle::getParameter(), MSVehicleType::getParameter(), MSEdge::getPersons(), getPositionOnLane(), MSLane::getRightSideOnEdge(), getRightSideOnLane(), MSBaseVehicle::getRNG(), MSBaseVehicle::getRoutePosition(), MSAbstractLaneChangeModel::getShadowDirection(), MSAbstractLaneChangeModel::getShadowLane(), MSStop::getSpeed(), getSpeed(), MSLane::getSpeedLimit(), MSLane::getStopWatch(), MSEdge::getToJunction(), MSStop::getUntil(), MSBaseVehicle::getVClass(), MSLane::getVehicleMaxSpeed(), MSLane::getVehicleNumber(), MSLane::getVehicleNumberWithPartials(), MSLane::getVehiclesSecure(), MSLane::getVehicleStopOffset(), MSBaseVehicle::getVehicleType(), getWaitingTime(), MSBaseVehicle::getWidth(), MSEdge::getWidth(), MSLane::getWidth(), GIVEN, MSGlobals::gLateralResolution, MSGlobals::gModelParkingManoeuver, MSGlobals::gSemiImplicitEulerUpdate, MSGlobals::gSublane, MSGlobals::gTLSYellowMinDecel, MSAbstractLaneChangeModel::hasBlueLight(), MSLane::hasPedestrians(), MSBaseVehicle::hasStops(), MSLeaderInfo::hasVehicles(), MSLink::haveRed(), ignoreRed(), MSVehicle::Influencer::influenceSpeed(), MSAbstractLaneChangeModel::isChangingLanes(), MSEdge::isFringe(), MSEdge::isInternal(), MSLane::isInternal(), MSLane::isLinkEnd(), MSAbstractLaneChangeModel::isOpposite(), isRailway(), MSBaseVehicle::isStopped(), keepStopping(), MSStop::lane, LEFT, LINKSTATE_ALLWAY_STOP, LINKSTATE_EQUAL, manoeuvreIsComplete(), MAX2(), MSCFModel::maximumLaneSpeedCF(), MSCFModel::maximumSafeStopSpeed(), MSCFModel::maxNextSpeed(), MIN2(), MSCFModel::minNextSpeed(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, myFurtherLanes, myInfluencer, myLane, myLaneChangeModel, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myStops, MSVehicle::DriveProcessItem::myVLinkWait, myWaitingTime, MSLane::nextBlocking(), NODIR, NUMERICAL_EPS_SPEED, MSLeaderInfo::numSublanes(), MSStop::parkingarea, MSStop::pars, RAIL_SIGNAL, RandHelper::rand(), MSStop::reached, MSLane::releaseVehicles(), MSAbstractLaneChangeModel::remainingTime(), MSLeaderInfo::removeOpposite(), RIGHT, MSPModel::SAFETY_GAP, MSLeaderInfo::setSublaneOffset(), SIMTIME, slowDownForSchedule(), SPEED2DIST, SUMOVTypeParameter::speedFactorPremature, SUMOVehicleParameter::Stop::startPos, STEPS2TIME, MSCFModel::stopSpeed(), STRAIGHT, MSLane::succLinkSec(), SUMO_ATTR_JM_DRIVE_RED_SPEED, SUMO_ATTR_JM_STOPLINE_CROSSING_GAP, SUMO_ATTR_JM_STOPLINE_GAP, SUMO_ATTR_JM_STOPLINE_GAP_MINOR, TIME2STEPS, TL, MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), toString(), TS, and WRITE_WARNINGF.

Referenced by planMove().

Here is the caller graph for this function:

◆ processLaneAdvances()

void MSVehicle::processLaneAdvances ( std::vector< MSLane * > &  passedLanes,
std::string &  emergencyReason 
)
protected

This method checks if the vehicle has advanced over one or several lanes along its route and triggers the corresponding actions for the lanes and the vehicle. and adapts the given in/out parameters to the appropriate values.

Parameters
[out]passedLanesLanes, which the vehicle touched at some moment of the executed simstep
[out]emergencyReasonReason for a possible emergency stop

Definition at line 4334 of file MSVehicle.cpp.

References MSEdgeControl::checkCollisionForInactive(), checkReversal(), DEBUG_COND, MSAbstractLaneChangeModel::endLaneChangeManeuver(), enterLaneAtMove(), MSLane::getBidiLane(), MSNet::getCurrentTimeStep(), MSLink::getDirection(), MSLane::getEdge(), MSNet::getEdgeControl(), MSVehicle::Influencer::getEmergencyBrakeRedLight(), Named::getID(), MSNet::getInstance(), MSLink::getLane(), MSLink::getLaneBefore(), MSLane::getLength(), MSVehicleType::getLength(), MSLane::getLinkCont(), MSLane::getLinkTo(), MSBaseVehicle::getNextStop(), MSBaseVehicle::getVClass(), MSLane::getVehicleStopOffset(), MSLink::getViaLane(), MSLink::getViaLaneOrLane(), hasArrivedInternal(), MSBaseVehicle::hasStops(), MSLink::haveRed(), ignoreRed(), MSAbstractLaneChangeModel::isChangingLanes(), MSLink::isConflictEntryLink(), MSLink::isEntryLink(), MSLink::isExitLink(), MSLane::isInternal(), MSEdge::isVaporizing(), leaveLane(), LEFT, MSLane::mustCheckJunctionCollisions(), MSBaseVehicle::myAmReversed, MSBaseVehicle::myCurrEdge, myFurtherLanes, myHaveStoppedFor, myInfluencer, myJunctionConflictEntryTime, myJunctionEntryTime, myJunctionEntryTimeNeverYield, myLane, myLaneChangeModel, myLFLinkLanes, myNextDriveItem, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myType, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_VAPORIZED_VAPORIZER, RIGHT, SIMTIME, SUMOTime_MAX, SVC_RAIL_CLASSES, time2string(), and WRITE_WARNING.

Referenced by executeFractionalMove(), and executeMove().

Here is the caller graph for this function:

◆ processLinkApproaches()

void MSVehicle::processLinkApproaches ( double &  vSafe,
double &  vSafeMin,
double &  vSafeMinDist 
)
protected

This method iterates through the driveprocess items for the vehicle and adapts the given in/out parameters to the appropriate values.

Parameters
[in/out]vSafe The maximal safe (or admissible) velocity.
[in/out]vSafeMin The minimal safe (or admissible) velocity (used her for ensuring the clearing of junctions in time).
[in/out]vSafeMinDist The distance to the next link, which should either be crossed this step, or in front of which the vehicle need to stop.

Definition at line 3618 of file MSVehicle.cpp.

References ACCEL2SPEED, MSCFModel::brakeGap(), DEBUG_COND, DIST2SPEED, gDebugFlag1, getBestLanesContinuation(), getCarFollowModel(), MSLane::getEdge(), MSLane::getFirstAnyVehicle(), MSLink::getFoeVisibilityDistance(), Named::getID(), MSBaseVehicle::getImpatience(), MSLink::getInternalLaneBefore(), MSLink::getJunction(), MSLink::getLaneBefore(), getLateralPositionOnLane(), MSVehicleType::getLength(), MSCFModel::getMaxDecel(), MSLink::getParallelLink(), MSVehicle::Influencer::getRespectJunctionPriority(), MSAbstractLaneChangeModel::getShadowDirection(), MSAbstractLaneChangeModel::getShadowLane(), getSpeed(), MSLink::getState(), MSLink::getTLLogic(), MSEdge::getToJunction(), MSLane::getVehicleStopOffset(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), getWaitingTimeFor(), MSLane::getWidth(), MSLink::getZipperSpeed(), MSGlobals::gSemiImplicitEulerUpdate, MSLink::havePriority(), MSLink::haveYellow(), ignoreRed(), MSLink::isCont(), MSLane::isInternal(), isRemoteControlled(), MSEdge::isRoundabout(), MSLink::lastWasContMajor(), LINKSTATE_ZIPPER, MAX2(), MIN2(), MIN3(), MSLink::mustStop(), myHaveStoppedFor, myHaveToWaitOnNextLink, myInfluencer, myJunctionConflictEntryTime, myJunctionEntryTime, myLane, myLaneChangeModel, myLFLinkLanes, MSVehicle::State::mySpeed, myState, MSLink::opened(), SIMTIME, SUMO_const_haltingSpeed, SUMOTime_MAX, and updateBestLanes().

Referenced by executeMove().

Here is the caller graph for this function:

◆ processNextStop()

double MSVehicle::processNextStop ( double  currentVelocity)

Processes stops, returns the velocity needed to reach the stop.

Returns
The velocity in dependence to the next/current stop
Todo:
Describe more detailed
See also
Stop
MSStoppingPlace
MSStoppingPlace

Definition at line 1632 of file MSVehicle.cpp.

References MSStopOut::active(), MSInsertionControl::add(), MSEdge::addWaiting(), MSDevice_Transportable::anyLeavingAtStop(), boardTransportables(), MSStop::busstop, MSDevice_Taxi::cancelCurrentCustomers(), MSStop::chargingStation, MSStop::containerstop, MSStop::containerTriggered, DEBUG_COND, DELTA_T, SUMOVehicleParameter::departPosProcedure, MSStop::duration, MSStop::edge, MSStop::endBoarding, SUMOVehicleParameter::Stop::endPos, MSParkingArea::enter(), MSStoppingPlace::enter(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), SUMOVehicleParameter::Stop::extension, MSStoppingPlace::fits(), getActionStepLength(), MSStoppingPlace::getBeginLanePosition(), MSParkingArea::getCapacity(), getCarFollowModel(), MSNet::getContainerControl(), MSBaseVehicle::getContainerNumber(), MSNet::getCurrentTimeStep(), MSBaseVehicle::getDevice(), MSLane::getEdge(), MSStop::getEdge(), MSRoute::getEdges(), Named::getID(), Named::getIDSecure(), MSNet::getInsertionControl(), MSNet::getInstance(), MSStopOut::getInstance(), MSBaseVehicle::getLength(), MSVehicleType::getLength(), MSParkingArea::getLotIndex(), MSCFModel::getMaxDecel(), MSStop::getMinDuration(), MSVehicleType::getMinGap(), MSLane::getMoveReminders(), MSBaseVehicle::getNextStop(), MSParkingArea::getOccupancy(), MSParkingArea::getOccupancyIncludingBlocked(), MSBaseVehicle::getParameter(), MSVehicleType::getParameter(), MSNet::getPersonControl(), MSBaseVehicle::getPersonNumber(), getPositionOnLane(), MSStop::getReachedThreshold(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRoutePosition(), MSBaseVehicle::getSingularType(), MSStop::getSpeed(), getSpeed(), MSStop::getUntil(), MSBaseVehicle::getVClass(), MSVehicleControl::getVehicle(), MSNet::getVehicleControl(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSGlobals::gModelParkingManoeuver, MSGlobals::gSemiImplicitEulerUpdate, MSTransportableControl::hasAnyWaiting(), MSNet::hasContainers(), MSBaseVehicle::hasDeparted(), MSNet::hasPersons(), MSBaseVehicle::hasStops(), MSNet::informVehicleStateListener(), INVALID_DOUBLE, isOnRoad(), isRailway(), SUMOVehicleParameter::Stop::join, joinTrainPart(), joinTrainPartFront(), MSStop::joinTriggered, keepStopping(), MSStop::lane, SUMOVehicleParameter::Stop::line, SUMOVTypeParameter::locomotiveLength, MAX2(), MSBaseVehicle::myAmRegisteredAsWaiting, MSBaseVehicle::myArrivalPos, MSVehicle::State::myBackPos, myCollisionImmunity, MSBaseVehicle::myContainerDevice, MSBaseVehicle::myCurrEdge, myLane, myManoeuvre, MSBaseVehicle::myParameter, MSBaseVehicle::myPersonDevice, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, myStopDist, MSBaseVehicle::myStops, MSBaseVehicle::myType, MSMoveReminder::NOTIFICATION_PARKING_REROUTE, OFFROAD, SUMOVehicleParameter::Stop::onDemand, SUMOVehicleParameter::Stop::parking, MSStop::parkingarea, MSParkingArea::parkOnRoad(), MSStop::pars, MSVehicle::State::pos(), SUMOVehicleParameter::Stop::posLat, MSStop::reached, MSVehicleControl::registerOneWaiting(), MSVehicleControl::registerStopStarted(), resumeFromStopping(), MSVehicleType::setLength(), SIMSTEP, SIMTIME, MSStop::skipOnDemand, SUMOVehicleParameter::Stop::split, SPLIT_FRONT, SUMOVehicleParameter::Stop::started, MSStop::startedFromState, MSNet::STARTING_STOP, SUMOVehicleParameter::Stop::startPos, STEPS2TIME, STOPPING_PLACE_OFFSET, MSCFModel::stopSpeed(), MSStopOut::stopStarted(), SUMO_const_haltingSpeed, SUMOTime_MAX, TIME2STEPS, time2string(), TL, MSDevice_Transportable::transferAtSplitOrJoin(), MSStop::triggered, SUMOVehicleParameter::Stop::tripId, MSVehicleControl::unregisterOneWaiting(), SUMOVehicleParameter::Stop::waitUntil, and WRITE_WARNINGF.

Referenced by MSVehicleTransfer::checkInsertions(), MSCFModel::finalizeSpeed(), MSCFModel_CC::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSLane::loadState(), and MSVehicleTransfer::loadState().

Here is the caller graph for this function:

◆ processTraCISpeedControl()

double MSVehicle::processTraCISpeedControl ( double  vSafe,
double  vNext 
)
protected

Check for speed advices from the traci client and adjust the speed vNext in the current (euler) / after the current (ballistic) simstep accordingly.

Parameters
[in]vSafeThe maximal safe (or admissible) velocity as determined from stops, junction approaches, car following, lane changing, etc.
[in]vNextThe next speed (possibly subject to traci influence)
Returns
updated vNext

Definition at line 3891 of file MSVehicle.cpp.

References DEBUG_COND2, MSVehicleType::getCarFollowModel(), Named::getID(), MSNet::getInstance(), MSVehicle::Influencer::getOriginalSpeed(), MSBaseVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MSVehicle::Influencer::implicitSpeedRemote(), MSVehicle::Influencer::influenceSpeed(), MSVehicle::Influencer::isRemoteControlled(), keepStopping(), MAX2(), MSCFModel::maxNextSpeed(), MSCFModel::minNextSpeed(), myInfluencer, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myStops, MSVehicle::Influencer::setOriginalSpeed(), and SIMTIME.

Referenced by executeMove(), and MSVehicle::Influencer::postProcessRemoteControl().

Here is the caller graph for this function:

◆ registerInsertionApproach()

void MSVehicle::registerInsertionApproach ( MSLink link,
double  dist 
)

register approach on insertion

Definition at line 5407 of file MSVehicle.cpp.

References getCarFollowModel(), MSRailSignalControl::getInstance(), MSCFModel::getMinimalArrivalSpeedEuler(), getSpeed(), MSVehicle::DriveProcessItem::myDistance, myLFLinkLanes, MSVehicle::DriveProcessItem::myLink, MSRailSignalControl::notifyApproach(), MSLink::setApproaching(), and SUMOTime_MAX.

Referenced by MSLane::isInsertionSuccess().

Here is the caller graph for this function:

◆ remainingStopDuration()

SUMOTime MSVehicle::remainingStopDuration ( ) const
virtual

Returns the remaining stop duration for a stopped vehicle or 0.

Implements SUMOVehicle.

Definition at line 1605 of file MSVehicle.cpp.

References MSBaseVehicle::isStopped(), and MSBaseVehicle::myStops.

Referenced by MSVehicle::Manoeuvre::configureExitManoeuvre().

Here is the caller graph for this function:

◆ rememberBlockedChargingStation()

void MSBaseVehicle::rememberBlockedChargingStation ( const MSStoppingPlace cs,
bool  local 
)
virtualinherited

◆ rememberBlockedParkingArea()

void MSBaseVehicle::rememberBlockedParkingArea ( const MSStoppingPlace pa,
bool  local 
)
virtualinherited

◆ rememberChargingStationScore()

void MSBaseVehicle::rememberChargingStationScore ( const MSStoppingPlace cs,
const std::string &  score 
)
virtualinherited

◆ rememberParkingAreaScore()

void MSBaseVehicle::rememberParkingAreaScore ( const MSStoppingPlace pa,
const std::string &  score 
)
virtualinherited

score only needed when running with gui

Implements SUMOVehicle.

Definition at line 2560 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myParkingMemory, and StoppingPlaceMemory::rememberStoppingPlaceScore().

◆ removeApproachingInformation()

void MSVehicle::removeApproachingInformation ( const DriveItemVector lfLinks) const
protected

unregister approach from all upcoming links

Definition at line 6956 of file MSVehicle.cpp.

References myLaneChangeModel, and MSAbstractLaneChangeModel::removeShadowApproachingInformation().

Referenced by cleanupFurtherLanes(), onRemovalFromNet(), and setApproachingForAllLinks().

Here is the caller graph for this function:

◆ removePassedDriveItems()

void MSVehicle::removePassedDriveItems ( )
protected

Erase passed drive items from myLFLinkLanes (and unregister approaching information for corresponding links). Further, myNextDriveItem is reset.

Note
This is called in planMove() if the vehicle has no actionstep. All items until the position myNextDriveItem are deleted. This can happen if myNextDriveItem was increased in processLaneAdvances() of the previous step.

Definition at line 3924 of file MSVehicle.cpp.

References DEBUG_COND, Named::getID(), myLFLinkLanes, myNextDriveItem, and SIMTIME.

Referenced by planMove().

Here is the caller graph for this function:

◆ removeReminder()

void MSBaseVehicle::removeReminder ( MSMoveReminder rem)
inherited

Removes a MoveReminder dynamically.

Parameters
[in]remthe reminder to remove
See also
MSMoveReminder

Definition at line 830 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myMoveReminders.

◆ removeTransportable()

void MSBaseVehicle::removeTransportable ( MSTransportable t)
virtualinherited

removes a person or container

Implements SUMOVehicle.

Definition at line 2211 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myContainerDevice, MSBaseVehicle::myPersonDevice, and MSDevice_Transportable::removeTransportable().

◆ replaceParameter()

void MSBaseVehicle::replaceParameter ( const SUMOVehicleParameter newParameter)
virtualinherited

replace the vehicle parameter (deleting the old one)

Implements SUMOVehicle.

Definition at line 194 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myParameter.

Referenced by rerouteParkingArea().

Here is the caller graph for this function:

◆ replaceParkingArea()

bool MSBaseVehicle::replaceParkingArea ( MSParkingArea parkingArea,
std::string &  errorMsg 
)
virtualinherited

◆ replaceRoute()

bool MSVehicle::replaceRoute ( ConstMSRoutePtr  route,
const std::string &  info,
bool  onInit = false,
int  offset = 0,
bool  addStops = true,
bool  removeStops = true,
std::string *  msgReturn = nullptr 
)
virtual

Replaces the current route by the given one.

It is possible that the new route is not accepted, if it does not contain the vehicle's current edge.

Parameters
[in]routeThe new route to pass
[in]infoInformation regarding the replacement
[in]removeStopsWhether stops should be removed if they do not fit onto the new route
Returns
Whether the new route was accepted

Reimplemented from MSBaseVehicle.

Definition at line 1125 of file MSVehicle.cpp.

References MSBaseVehicle::haveValidStopEdges(), myLastBestLanesEdge, myLastBestLanesInternalLane, myStopDist, MSBaseVehicle::myStops, MSBaseVehicle::replaceRoute(), and updateBestLanes().

◆ replaceRouteEdges()

bool MSBaseVehicle::replaceRouteEdges ( ConstMSEdgeVector edges,
double  cost,
double  savings,
const std::string &  info,
bool  onInit = false,
bool  check = false,
bool  removeStops = true,
std::string *  msgReturn = nullptr 
)
virtualinherited

Replaces the current route by the given edges.

It is possible that the new route is not accepted, if a) it does not contain the vehicle's current edge, or b) something fails on insertion into the routes container (see in-line comments).

Parameters
[in]edgesThe new list of edges to pass
[in]onInitWhether the vehicle starts with this route
[in]checkWhether the route should be checked for validity
[in]removeStopsWhether stops should be removed if they do not fit onto the new route
Returns
Whether the new route was accepted

Implements SUMOVehicle.

Definition at line 424 of file MSBaseVehicle.cpp.

References RGBColor::DEFAULT_COLOR, MSRoute::dictionary(), MSGlobals::gCheckRoutes, Named::getID(), MSBaseVehicle::getRerouteOrigin(), MSRoute::hasRoute(), MSBaseVehicle::hasValidRoute(), MSBaseVehicle::haveValidStopEdges(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, MSBaseVehicle::replaceRoute(), MSRoute::setCosts(), MSRoute::setSavings(), TL, toString(), and WRITE_WARNINGF.

Referenced by MSBaseVehicle::insertStop(), MSVehicle::Influencer::postProcessRemoteControl(), MSBaseVehicle::replaceStop(), MSBaseVehicle::reroute(), MSBaseVehicle::rerouteBetweenStops(), GUIVehicle::rerouteDRTStop(), rerouteParkingArea(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), and MSVehicle::Influencer::updateRemoteControlRoute().

Here is the caller graph for this function:

◆ replaceStop()

bool MSBaseVehicle::replaceStop ( int  nextStopIndex,
SUMOVehicleParameter::Stop  stop,
const std::string &  info,
bool  teleport,
std::string &  errorMsg 
)
inherited

replace the next stop at the given index with the given stop parameters will wait for the given duration before continuing on its route The route between start other stops and destination will be kept unchanged and only the part around the replacement index will be adapted according to the new stop location

Parameters
[in]nextStopIndexThe replacement index
[in]stopStop parameters
[in]infoThe rerouting info
[in]teleportWhether to cover the route to the replacement stop via teleporting
[out]errorMsgreturned error message

Definition at line 1734 of file MSBaseVehicle.cpp.

References MSParkingArea::accepts(), MSLane::allowsVehicleClass(), SUMOAbstractRouter< E, V >::compute(), MSLane::dictionary(), MSStop::edge, SUMOVehicleParameter::Stop::edge, SUMOVehicleParameter::Stop::endPos, MSBaseVehicle::getArrivalPos(), MSBaseVehicle::getCurrentRouteEdge(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSRoute::getEdges(), MSStop::getEndPos(), Named::getID(), MSNet::getInstance(), SUMOTrafficObject::getLane(), SUMOTrafficObject::getPositionOnLane(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRouterTT(), MELoop::getSegmentForEdge(), MSNet::getStoppingPlace(), MSBaseVehicle::getVClass(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, MSBaseVehicle::hasDeparted(), MSStop::initPars(), MSBaseVehicle::insertJump(), MSLane::isInternal(), MSBaseVehicle::isStopped(), MSStop::lane, SUMOVehicleParameter::Stop::lane, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::myRoutingMode, MSBaseVehicle::myStops, SUMOVehicleParameter::Stop::parkingarea, MSStop::pars, SUMOAbstractRouter< E, V >::recomputeCosts(), MSBaseVehicle::replaceRouteEdges(), MSStop::segment, SUMOVehicleParameter::stops, SUMO_TAG_PARKING_AREA, TL, and TLF.

Referenced by LIBSUMO_NAMESPACE::Vehicle::replaceStop(), and MSDevice_StationFinder::rerouteToChargingStation().

Here is the caller graph for this function:

◆ replaceVehicleType()

void MSVehicle::replaceVehicleType ( MSVehicleType type)
virtual

Replaces the current vehicle type by the one given.

Parameters
[in]typeThe new vehicle type
See also
MSBaseVehicle::replaceVehicleType

Reimplemented from MSBaseVehicle.

Definition at line 4895 of file MSVehicle.cpp.

References MSCFModel::createVehicleVariables(), MSVehicleType::getCarFollowModel(), myCFVariables, and MSBaseVehicle::replaceVehicleType().

Referenced by MSDevice_Bluelight::resetVehicle(), and MSDevice_ToC::switchHolderType().

Here is the caller graph for this function:

◆ reroute()

bool MSBaseVehicle::reroute ( SUMOTime  t,
const std::string &  info,
SUMOAbstractRouter< MSEdge, SUMOVehicle > &  router,
const bool  onInit = false,
const bool  withTaz = false,
const bool  silent = false,
const MSEdge sink = nullptr 
)
virtualinherited

Performs a rerouting using the given router.

Tries to find a new route between the current edge and the destination edge, first. Tries to replace the current route by the new one using replaceRoute.

Parameters
[in]tThe time for which the route is computed
[in]routerThe router to use
[in]sink(optionally) a new destination edge
See also
replaceRoute

Implements SUMOVehicle.

Definition at line 265 of file MSBaseVehicle.cpp.

References MSEdge::allowedLanes(), SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, MSBaseVehicle::calculateArrivalParams(), SUMOAbstractRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::computeLooped(), DEBUG_COND, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, MSInsertionControl::descheduleDeparture(), MSEdge::dictionary(), SUMOVehicleParameter::Stop::endPos, SUMOVehicleParameter::fromTaz, MSGlobals::gCheckRoutes, SUMOVehicle::getBrakeGap(), MSBaseVehicle::getEdge(), Named::getID(), Named::getIDSecure(), MSNet::getInsertionControl(), MSNet::getInstance(), SUMOTrafficObject::getLane(), MSBaseVehicle::getNextStop(), SUMOTrafficObject::getPositionOnLane(), MSBaseVehicle::getRerouteOrigin(), MSBaseVehicle::getStopEdges(), MSBaseVehicle::getVClass(), GIVEN, MSGlobals::gUseMesoSim, INVALID_DOUBLE, MSBaseVehicle::isStopped(), MSEdge::isTazConnector(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::myStops, MSStop::pars, SUMOAbstractRouter< E, V >::recomputeCosts(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::setDepartAndArrivalEdge(), SIMTIME, TL, TLF, toString(), SUMOVehicleParameter::toTaz, SUMOVehicleParameter::via, WRITE_WARNING, and WRITE_WARNINGF.

Referenced by LIBSUMO_NAMESPACE::Vehicle::changeTarget(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), GUIVehicle::rerouteDRTStop(), LIBSUMO_NAMESPACE::Vehicle::rerouteEffort(), and LIBSUMO_NAMESPACE::Vehicle::rerouteTraveltime().

Here is the caller graph for this function:

◆ rerouteBetweenStops()

bool MSBaseVehicle::rerouteBetweenStops ( int  nextStopIndex,
const std::string &  info,
bool  teleport,
std::string &  errorMsg 
)
inherited

reroute between stops nextStopIndex - 1 and nextStopIndex (defaults to current position / final edge) if the respective stops do not exist

Parameters
[in]nextStopIndexThe replacement index
[in]infoThe rerouting info
[in]teleportWhether to cover the route between stops via teleporting
[out]errorMsgreturned error message

Definition at line 1857 of file MSBaseVehicle.cpp.

References SUMOAbstractRouter< E, V >::compute(), MSBaseVehicle::getArrivalPos(), MSBaseVehicle::getCurrentRouteEdge(), MSNet::getCurrentTimeStep(), MSRoute::getEdges(), MSNet::getInstance(), SUMOTrafficObject::getLane(), SUMOTrafficObject::getPositionOnLane(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRouterTT(), MSBaseVehicle::hasDeparted(), MSBaseVehicle::insertJump(), MSLane::isInternal(), MSBaseVehicle::isStopped(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myStops, SUMOAbstractRouter< E, V >::recomputeCosts(), MSBaseVehicle::replaceRouteEdges(), TL, and TLF.

Referenced by LIBSUMO_NAMESPACE::Vehicle::replaceStop().

Here is the caller graph for this function:

◆ rerouteParkingArea()

◆ resetActionOffset()

void MSVehicle::resetActionOffset ( const SUMOTime  timeUntilNextAction = 0)

Resets the action offset for the vehicle.

Parameters
[in]timeUntilNextActiontime interval from now for the next action, defaults to 0, which implies an immediate action point in the current step.

Definition at line 2076 of file MSVehicle.cpp.

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

Referenced by MSLane::loadState(), MSVehicleType::setActionStepLength(), setActionStepLength(), and updateActionOffset().

Here is the caller graph for this function:

◆ resetChargingStationScores()

void MSBaseVehicle::resetChargingStationScores ( )
virtualinherited

◆ resetParkingAreaScores()

void MSBaseVehicle::resetParkingAreaScores ( )
virtualinherited

◆ resetRoutePosition()

void MSBaseVehicle::resetRoutePosition ( int  index,
DepartLaneDefinition  departLaneProcedure 
)
inherited

reset index of edge within route

Definition at line 665 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, and MSBaseVehicle::myRoute.

Referenced by MSCalibrator::execute(), and LIBSUMO_NAMESPACE::Vehicle::moveTo().

Here is the caller graph for this function:

◆ resumeFromStopping()

bool MSVehicle::resumeFromStopping ( )
virtual

resumes a vehicle from stopping

Returns
true on success, the resuming fails if the vehicle wasn't parking in the first place

Implements MSBaseVehicle.

Definition at line 7232 of file MSVehicle.cpp.

References MSStopOut::active(), MSStop::busstop, MSStop::chargingStation, SUMOVehicleParameter::Stop::collision, MSLane::COLLISION_ACTION_WARN, MSStop::containerstop, MSStop::edge, SUMOVehicleParameter::Stop::ended, MSNet::ENDING_STOP, MSLane::getCollisionAction(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), Named::getID(), MSNet::getInstance(), MSStopOut::getInstance(), MSStop::getSpeed(), MSNet::getVehicleControl(), MSGlobals::gLateralResolution, MSNet::informVehicleStateListener(), INVALID_DOUBLE, MSBaseVehicle::isStopped(), MSStop::lane, MSParkingArea::leaveFrom(), MSStoppingPlace::leaveFrom(), MSBaseVehicle::myAmRegisteredAsWaiting, myCollisionImmunity, myLane, MSBaseVehicle::myMoveReminders, MSBaseVehicle::myPastStops, MSVehicle::State::myPosLat, MSBaseVehicle::myRoute, myState, myStopDist, MSBaseVehicle::myStops, myWaitingTime, MSStop::parkingarea, MSStop::pars, SUMOVehicleParameter::Stop::posLat, MSVehicleControl::registerStopEnded(), MSEdge::removeWaiting(), SUMOVehicleParameter::Stop::started, MSStopOut::stopEnded(), TIME2STEPS, MSVehicleControl::unregisterOneWaiting(), and updateBestLanes().

Referenced by MSLane::executeMovements(), leaveLane(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdToggleStop(), processNextStop(), and LIBSUMO_NAMESPACE::Vehicle::resume().

Here is the caller graph for this function:

◆ saveState()

◆ sawBlockedChargingStation()

SUMOTime MSBaseVehicle::sawBlockedChargingStation ( const MSStoppingPlace cs,
bool  local 
) const
virtualinherited

◆ sawBlockedParkingArea()

SUMOTime MSBaseVehicle::sawBlockedParkingArea ( const MSStoppingPlace pa,
bool  local 
) const
virtualinherited

◆ setActionStepLength()

void MSVehicle::setActionStepLength ( double  actionStepLength,
bool  resetActionOffset = true 
)

Sets the action steplength of the vehicle.

Parameters
actionStepLengthNew value
resetActionOffsetwhether the action offset should be reset to zero, i.e., the next action step should follow immediately.

Definition at line 1456 of file MSVehicle.cpp.

References getActionStepLength(), MSBaseVehicle::getSingularType(), SUMOVehicleParserHelper::processActionStepLength(), resetActionOffset(), MSVehicleType::setActionStepLength(), and updateActionOffset().

Referenced by planMove().

Here is the caller graph for this function:

◆ setAngle()

void MSVehicle::setAngle ( double  angle,
bool  straightenFurther = false 
)

Set a custom vehicle angle in rad, optionally updates furtherLanePosLat.

Definition at line 1432 of file MSVehicle.cpp.

References DEBUG_COND, Named::getID(), getLateralPositionOnLane(), MSLink::getLateralShift(), MSLane::getLinkTo(), myAngle, myFurtherLanes, myFurtherLanesPosLat, myLane, and SIMTIME.

Referenced by MSLaneChangerSublane::abortLCManeuver(), MSVehicle::Influencer::postProcessRemoteControl(), and MSLaneChangerSublane::startChangeSublane().

Here is the caller graph for this function:

◆ setApproachingForAllLinks()

◆ setArrivalPos()

virtual void MSBaseVehicle::setArrivalPos ( double  arrivalPos)
inlinevirtualinherited

Sets this vehicle's desired arrivalPos for its current route.

Implements SUMOVehicle.

Definition at line 407 of file MSBaseVehicle.h.

References MSBaseVehicle::myArrivalPos.

◆ setBlinkerInformation()

◆ setBrakingSignals()

void MSVehicle::setBrakingSignals ( double  vNext)
protected

sets the braking lights on/off

Definition at line 4138 of file MSVehicle.cpp.

References ACCEL2SPEED, getSpeed(), MSBaseVehicle::isStopped(), SUMO_const_haltingSpeed, switchOffSignal(), switchOnSignal(), and VEH_SIGNAL_BRAKELIGHT.

Referenced by executeMove(), and MSVehicle::Influencer::postProcessRemoteControl().

Here is the caller graph for this function:

◆ setCarFollowModelParameter()

void MSBaseVehicle::setCarFollowModelParameter ( const std::string &  key,
const std::string &  value 
)
inherited

set individual carFollow model parameters (not type related)

Definition at line 2328 of file MSBaseVehicle.cpp.

References getCarFollowModel(), MSBaseVehicle::getParameter(), SUMOVehicleParameter::parametersSet, MSCFModel::setParameter(), SUMO_ATTR_CF_IGNORE_IDS, SUMO_ATTR_CF_IGNORE_TYPES, toString(), and VEHPARS_CFMODEL_PARAMS_SET.

Referenced by MSBaseVehicle::initTransientModelParams().

Here is the caller graph for this function:

◆ setChosenSpeedFactor()

void MSBaseVehicle::setChosenSpeedFactor ( const double  factor)
inlinevirtualinherited

Returns the precomputed factor by which the driver wants to be faster than the speed limit.

Returns
Speed limit factor

Implements SUMOVehicle.

Definition at line 576 of file MSBaseVehicle.h.

References MSBaseVehicle::myChosenSpeedFactor.

Referenced by MSDevice_GLOSA::adaptSpeed(), MSCFModel_CC::finalizeSpeed(), LIBSUMO_NAMESPACE::Simulation::findRoute(), MSDevice_GLOSA::notifyEnter(), MSDevice_GLOSA::notifyMove(), and GUISUMOViewParent::onCmdSpeedFactor().

Here is the caller graph for this function:

◆ setDepartAndArrivalEdge()

void MSBaseVehicle::setDepartAndArrivalEdge ( )
inherited

apply departEdge and arrivalEdge attributes

Definition at line 959 of file MSBaseVehicle.cpp.

References SUMOVehicleParameter::arrivalEdge, SUMOVehicleParameter::arrivalEdgeProcedure, DEFAULT, SUMOVehicleParameter::departEdge, SUMOVehicleParameter::departEdgeProcedure, Named::getID(), GIVEN, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, RandHelper::rand(), RANDOM, TL, toString(), and WRITE_WARNINGF.

Referenced by MSBaseVehicle::MSBaseVehicle(), and MSBaseVehicle::reroute().

Here is the caller graph for this function:

◆ setDeviceParameter()

void MSBaseVehicle::setDeviceParameter ( const std::string &  deviceName,
const std::string &  key,
const std::string &  value 
)
inherited

try to set the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists

Definition at line 2304 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myDevices, and TLF.

◆ setEmergencyBlueLight()

void MSVehicle::setEmergencyBlueLight ( SUMOTime  currentTime)
protected

sets the blue flashing light for emergency vehicles

Definition at line 6699 of file MSVehicle.cpp.

References signalSet(), switchOffSignal(), switchOnSignal(), and VEH_SIGNAL_EMERGENCY_BLUE.

Referenced by executeMove().

Here is the caller graph for this function:

◆ setExitManoeuvre()

bool MSVehicle::setExitManoeuvre ( )

accessor function to myManoeuvre equivalent

Note
Setup of exit manoeuvre is invoked from MSVehicleTransfer

Definition at line 7745 of file MSVehicle.cpp.

References MSVehicle::Manoeuvre::configureExitManoeuvre(), and myManoeuvre.

Referenced by MSVehicleTransfer::checkInsertions().

Here is the caller graph for this function:

◆ setID()

void MSBaseVehicle::setID ( const std::string &  newID)
virtualinherited

set the id (inherited from Named but forbidden for vehicles)

Reimplemented from Named.

Definition at line 183 of file MSBaseVehicle.cpp.

References TL.

◆ setIdling()

void MSVehicle::setIdling ( bool  amIdling)
inline

access function for Idling flag used to record whether vehicle is waiting to enter lane (after parking)

Definition at line 613 of file MSVehicle.h.

References myAmIdling.

Referenced by MSVehicleTransfer::checkInsertions().

Here is the caller graph for this function:

◆ setJunctionModelParameter()

void MSBaseVehicle::setJunctionModelParameter ( const std::string &  key,
const std::string &  value 
)
inherited

set individual junction model paramete (not type related)

Definition at line 2316 of file MSBaseVehicle.cpp.

References Named::getID(), MSBaseVehicle::getParameter(), SUMOVehicleParameter::parametersSet, SUMO_ATTR_JM_IGNORE_IDS, SUMO_ATTR_JM_IGNORE_TYPES, TLF, toString(), and VEHPARS_JUNCTIONMODEL_PARAMS_SET.

Referenced by MSBaseVehicle::initTransientModelParams().

Here is the caller graph for this function:

◆ setLateralPositionOnLane()

void MSVehicle::setLateralPositionOnLane ( double  posLat)
inline

Definition at line 417 of file MSVehicle.h.

References MSVehicle::State::myPosLat, and myState.

Referenced by MSVehicleTransfer::checkInsertions(), MSLCM_LC2013::prepareStep(), and LIBSUMO_NAMESPACE::Vehicle::setLateralLanePosition().

Here is the caller graph for this function:

◆ setManoeuvreType()

void MSVehicle::setManoeuvreType ( const MSVehicle::ManoeuvreType  mType)

accessor function to myManoeuvre equivalent

Definition at line 7806 of file MSVehicle.cpp.

References myManoeuvre, and MSVehicle::Manoeuvre::setManoeuvreType().

Referenced by planMove().

Here is the caller graph for this function:

◆ setNumberParkingReroutes()

void MSBaseVehicle::setNumberParkingReroutes ( int  value)
inlinevirtualinherited

Implements SUMOVehicle.

Definition at line 1001 of file MSBaseVehicle.h.

References MSBaseVehicle::myNumberParkingReroutes.

◆ setPreviousSpeed()

void MSVehicle::setPreviousSpeed ( double  prevSpeed,
double  prevAcceleration 
)

Sets the influenced previous speed.

Parameters
[in]Adouble value with the speed that overwrites the previous speed
[in]Adouble value with the acceleration that overwrites the previous acceleration

Definition at line 7726 of file MSVehicle.cpp.

References MAX2(), myAcceleration, MSVehicle::State::myPreviousSpeed, MSVehicle::State::mySpeed, myState, and SPEED2ACCEL.

Referenced by LIBSUMO_NAMESPACE::Vehicle::setPreviousSpeed().

Here is the caller graph for this function:

◆ setRemoteState()

void MSVehicle::setRemoteState ( Position  xyPos)

sets position outside the road network

Definition at line 7345 of file MSVehicle.cpp.

References myCachedPosition.

Referenced by MSVehicle::Influencer::postProcessRemoteControl().

Here is the caller graph for this function:

◆ setRoutingMode()

void MSBaseVehicle::setRoutingMode ( int  value)
inlineinherited

Sets routing behavior.

Parameters
[in]valuean enum value controlling the different modes

Definition at line 933 of file MSBaseVehicle.h.

References MSBaseVehicle::myRoutingMode.

Referenced by LIBSUMO_NAMESPACE::Simulation::findRoute(), MSBaseVehicle::initTransientModelParams(), LIBSUMO_NAMESPACE::Vehicle::rerouteTraveltime(), and LIBSUMO_NAMESPACE::Vehicle::setRoutingMode().

Here is the caller graph for this function:

◆ setSkips()

void MSBaseVehicle::setSkips ( MSStop stop,
int  prevActiveStops 
)
privateinherited

patch stop.pars.index to record the number of skipped candidate edges before stop.edge (in a looped route)

Definition at line 1455 of file MSBaseVehicle.cpp.

References SUMOVehicleParameter::departEdge, MSStop::edge, SUMOVehicleParameter::Stop::endPos, MSBaseVehicle::hasDeparted(), MSBaseVehicle::myDepartPos, MSBaseVehicle::myParameter, MSBaseVehicle::myPastStops, MSBaseVehicle::myRoute, MSBaseVehicle::myStops, MSStop::pars, and STOP_INDEX_END.

Referenced by MSBaseVehicle::addStop(), and MSBaseVehicle::replaceRoute().

Here is the caller graph for this function:

◆ setTentativeLaneAndPosition()

void MSVehicle::setTentativeLaneAndPosition ( MSLane lane,
double  pos,
double  posLat = 0 
)

set tentative lane and position during insertion to ensure that all cfmodels work (some of them require veh->getLane() to return a valid lane) Once the vehicle is successfully inserted the lane is set again (see enterLaneAtInsertion)

Definition at line 6719 of file MSVehicle.cpp.

References MSVehicleType::getLength(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myBackPos, myLane, MSVehicle::State::myPos, MSVehicle::State::myPosLat, and myState.

Referenced by MSLane::freeInsertion(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSVehicleTransfer::loadState(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), MSDevice_Bluelight::notifyMove(), and MSAbstractLaneChangeModel::primaryLaneChanged().

Here is the caller graph for this function:

◆ signalSet()

bool MSVehicle::signalSet ( int  which) const
inline

Returns whether the given signal is on.

Parameters
[in]signalThe signal to return the value of
Returns
Whether the given signal is on

Definition at line 1186 of file MSVehicle.h.

References mySignals.

Referenced by MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBlueLight(), GUIVehicle::drawAction_drawVehicleBrakeLight(), and setEmergencyBlueLight().

Here is the caller graph for this function:

◆ slowDownForSchedule()

double MSVehicle::slowDownForSchedule ( double  vMinComfortable) const
protected

◆ stopsAt()

bool MSBaseVehicle::stopsAt ( MSStoppingPlace stop) const
virtualinherited

Returns whether the vehicle stops at the given stopping place.

Implements SUMOVehicle.

Definition at line 238 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myStops.

◆ stopsAtEdge()

bool MSBaseVehicle::stopsAtEdge ( const MSEdge edge) const
virtualinherited

Returns whether the vehicle stops at the given edge.

Implements SUMOVehicle.

Definition at line 254 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myRoute, and MSBaseVehicle::myStops.

◆ succEdge()

const MSEdge * MSBaseVehicle::succEdge ( int  nSuccs) const
virtualinherited

Returns the nSuccs'th successor of edge the vehicle is currently at.

If the rest of the route (counted from the current edge) has less than nSuccs edges, 0 is returned.

Parameters
[in]nSuccsThe number of edge to look forward
Returns
The nSuccs'th following edge in the vehicle's route

Implements SUMOVehicle.

Definition at line 212 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.

Referenced by MSVehicleTransfer::add(), MSLane::appropriate(), MELoop::checkCar(), MSVehicleTransfer::checkInsertions(), MSLane::executeMovements(), MESegment::getLink(), getNextEdgePtr(), MSBaseVehicle::hasArrived(), MESegment::hasSpaceFor(), MSPedestrianPushButton::isActiveForEdge(), and MELoop::nextSegment().

Here is the caller graph for this function:

◆ switchOffSignal()

void MSVehicle::switchOffSignal ( int  signal)
inline

Switches the given signal off.

Parameters
[in]signalThe signal to mark as being switched off

Definition at line 1169 of file MSVehicle.h.

References mySignals.

Referenced by MSAbstractLaneChangeModel::endLaneChangeManeuver(), setBlinkerInformation(), setBrakingSignals(), setEmergencyBlueLight(), LIBSUMO_NAMESPACE::Vehicle::setSignals(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().

Here is the caller graph for this function:

◆ switchOnSignal()

void MSVehicle::switchOnSignal ( int  signal)
inline

Switches the given signal on.

Parameters
[in]signalThe signal to mark as being switched on

Definition at line 1161 of file MSVehicle.h.

References mySignals.

Referenced by MSVehicleTransfer::checkInsertions(), setBlinkerInformation(), setBrakingSignals(), setEmergencyBlueLight(), LIBSUMO_NAMESPACE::Vehicle::setSignals(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().

Here is the caller graph for this function:

◆ unregisterWaiting()

void MSBaseVehicle::unregisterWaiting ( )
virtualinherited

◆ unsafeLinkAhead()

bool MSVehicle::unsafeLinkAhead ( const MSLane lane) const

whether the vehicle may safely move to the given lane with regard to upcoming links

Definition at line 6968 of file MSVehicle.cpp.

References MSCFModel::brakeGap(), getBestLanesContinuation(), getCarFollowModel(), MSLane::getEdge(), MSBaseVehicle::getLength(), MSLane::getLength(), getPositionOnLane(), getSpeed(), MSBaseVehicle::getVehicleType(), MSEdge::isInternal(), MSLane::isLinkEnd(), LINKSTATE_ZIPPER, myLane, myLFLinkLanes, and MSLane::succLinkSec().

Referenced by MSLaneChanger::checkChange().

Here is the caller graph for this function:

◆ updateActionOffset()

void MSVehicle::updateActionOffset ( const SUMOTime  oldActionStepLength,
const SUMOTime  newActionStepLength 
)

Process an updated action step length value (only affects the vehicle's action offset, The actionStepLength is stored in the (singular) vtype)

Parameters
[in]oldActionStepLengthThe action step length previous to the update
[in]actionStepLengthThe new action step length (stored in the vehicle's vtype).
Note
The current action step length is updated. This implies an immediate action point, if the new step length is smaller than the length of the currently running action interval (the difference between now and the last action time).

Definition at line 2082 of file MSVehicle.cpp.

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

Referenced by MSVehicleType::setActionStepLength(), and setActionStepLength().

Here is the caller graph for this function:

◆ updateBestLanes()

void MSVehicle::updateBestLanes ( bool  forceRebuild = false,
const MSLane startLane = 0 
)

computes the best lanes to use in order to continue the route

The information is rebuilt if the vehicle is on a different edge than the one stored in "myLastBestLanesEdge" or "forceRebuild" is true.

Otherwise, only the density changes on the stored lanes are adapted to the container only.

A rebuild must be done if the vehicle leaves a stop; then, another lane may become the best one.

If no starting lane ("startLane") is given, the vehicle's current lane ("myLane") is used as start of best lanes building.

Parameters
[in]forceRebuildWhether the best lanes container shall be rebuilt even if the vehicle's edge has not changed
[in]startLaneThe lane the process shall start at ("myLane" will be used if ==0)

Definition at line 5834 of file MSVehicle.cpp.

References MSEdge::allowedLanes(), MSVehicle::LaneQ::allowsContinuation, MSLane::allowsVehicleClass(), SUMOVehicleParameter::arrivalLaneProcedure, MSVehicle::LaneQ::bestContinuations, MSVehicle::LaneQ::bestLaneOffset, betterContinuation(), MSCFModel::brakeGap(), MSEdge::clear(), MSVehicle::LaneQ::currentLength, DEBUG_COND, MSStop::edge, getBestLanesContinuation(), getCarFollowModel(), MSBaseVehicle::getDevice(), MSLane::getEdge(), MSCFModel::getHeadwayTime(), Named::getID(), Named::getIDSecure(), MSNet::getInstance(), MSEdge::getLanes(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLogicalPredecessorLane(), MSBaseVehicle::getMaxSpeed(), MSVehicleType::getMinGap(), MSLane::getNextNormal(), MSLane::getNormalPredecessorLane(), MSEdge::getOppositeEdge(), MSStop::getSpeed(), MSNet::getStoppingPlaceID(), MSBaseVehicle::getVClass(), MSVehicleType::getVehicleClass(), MSBaseVehicle::getVehicleType(), GIVEN, MSEdge::isInternal(), MSLane::isInternal(), MSAbstractLaneChangeModel::isOpposite(), MSStop::isOpposite, isOppositeLane(), isRailway(), MSStop::lane, MSVehicle::LaneQ::lane, MSVehicle::LaneQ::length, MAX2(), MIN2(), MSBaseVehicle::myArrivalLane, MSBaseVehicle::myArrivalPos, myBestLanes, MSBaseVehicle::myCurrEdge, myCurrentLaneInBestLanes, myLane, myLaneChangeModel, myLastBestLanesEdge, myLastBestLanesInternalLane, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::myStops, MSBaseVehicle::myType, nextLinkPriority(), MSVehicle::LaneQ::nextOccupation, MSVehicle::LaneQ::occupation, MSStop::pars, SIMTIME, SUMOVehicleParameter::Stop::startPos, SUMO_TAG_OVERHEAD_WIRE_SEGMENT, toString(), updateBestLanes(), and updateOccupancyAndCurrentBestLane().

Referenced by addTraciStop(), MSLaneChanger::change(), MSLaneChangerSublane::change(), enterLaneAtLaneChange(), executeMove(), MSLane::forceVehicleInsertion(), MSEdge::getDepartLane(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLane::loadState(), MSDevice_GLOSA::notifyEnter(), MSVehicle::Influencer::postProcessRemoteControl(), processLinkApproaches(), replaceRoute(), LIBSUMO_NAMESPACE::Vehicle::replaceStop(), resumeFromStopping(), LIBSUMO_NAMESPACE::Vehicle::setType(), updateBestLanes(), LIBSUMO_NAMESPACE::Vehicle::updateBestLanes(), and MSVehicle::Influencer::updateRemoteControlRoute().

Here is the caller graph for this function:

◆ updateDriveItems()

void MSVehicle::updateDriveItems ( )

Check whether the drive items (myLFLinkLanes) are up to date, and update them if required.

Note
This is the case if a lane change was completed. Only the links corresponding to the drive items are updated to the corresponding parallel links.

Definition at line 3978 of file MSVehicle.cpp.

References DEBUG_COND, getBestLanesContinuation(), Named::getID(), getLane(), MSLink::getLaneBefore(), MSLane::getLinkCont(), MSLink::getParallelLink(), MSLink::getViaLaneOrLane(), MSLane::isInternal(), myLane, myLFLinkLanes, myNextDriveItem, MSLink::removeApproaching(), MSLink::setApproaching(), and SIMTIME.

Referenced by MSAbstractLaneChangeModel::primaryLaneChanged().

Here is the caller graph for this function:

◆ updateFurtherLanes()

double MSVehicle::updateFurtherLanes ( std::vector< MSLane * > &  furtherLanes,
std::vector< double > &  furtherLanesPosLat,
const std::vector< MSLane * > &  passedLanes 
)

update a vector of further lanes and return the new backPos

Definition at line 4913 of file MSVehicle.cpp.

References DEBUG_COND, MSLane::getBidiLane(), Named::getID(), MSBaseVehicle::getLength(), MSLane::getPermissions(), MSBaseVehicle::getVClass(), isRailway(), myFurtherLanes, myFurtherLanesPosLat, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, MSLane::resetPartialOccupation(), MSLane::setPartialOccupation(), SIMTIME, and toString().

Referenced by executeMove(), MSVehicle::Influencer::postProcessRemoteControl(), and MSAbstractLaneChangeModel::updateShadowLane().

Here is the caller graph for this function:

◆ updateLaneBruttoSum()

void MSVehicle::updateLaneBruttoSum ( )

Update the lane brutto occupancy after a change in minGap.

Definition at line 6264 of file MSVehicle.cpp.

References MSLane::markRecalculateBruttoSum(), and myLane.

Referenced by LIBSUMO_NAMESPACE::Vehicle::setType().

Here is the caller graph for this function:

◆ updateOccupancyAndCurrentBestLane()

void MSVehicle::updateOccupancyAndCurrentBestLane ( const MSLane startLane)
protected

updates LaneQ::nextOccupation and myCurrentLaneInBestLanes

Definition at line 6314 of file MSVehicle.cpp.

References DEBUG_COND, myBestLanes, and myCurrentLaneInBestLanes.

Referenced by updateBestLanes().

Here is the caller graph for this function:

◆ updateParkingState()

void MSVehicle::updateParkingState ( )

update state while parking

Definition at line 4879 of file MSVehicle.cpp.

References getPositionOnLane(), MSBaseVehicle::myContainerDevice, MSBaseVehicle::myDevices, MSBaseVehicle::myPersonDevice, MSDevice_Transportable::notifyMove(), and updateState().

Referenced by MSVehicleTransfer::checkInsertions().

Here is the caller graph for this function:

◆ updateState()

void MSVehicle::updateState ( double  vNext)
protected

updates the vehicles state, given a next value for its speed. This value can be negative in case of the ballistic update to indicate a stop within the next timestep. (You can call this a 'hack' to emulate reasoning based on accelerations: The assumed constant acceleration a within the next time step is then a = (vNext - vCurrent)/TS )

Parameters
[in]vNextspeed in the next time step

Definition at line 4825 of file MSVehicle.cpp.

References DEBUG_COND, MSGlobals::gEmergencyDecelWarningThreshold, getCarFollowModel(), getDeltaPos(), Named::getID(), MSNet::getInstance(), MSCFModel::getMaxDecel(), MSNet::getVehicleControl(), MSGlobals::gSemiImplicitEulerUpdate, MSVehicle::Influencer::implicitDeltaPosRemote(), Position::INVALID, isRemoteControlled(), MAX2(), myAcceleration, myCachedPosition, myInfluencer, myLane, MSVehicle::State::myLastCoveredDist, myNextTurn, MSVehicle::State::myPos, MSVehicle::State::myPreviousSpeed, MSVehicle::State::mySpeed, myState, MSVehicleControl::registerEmergencyBraking(), SIMSTEP, SIMTIME, SPEED2ACCEL, SPEED2DIST, time2string(), TL, and WRITE_WARNINGF.

Referenced by executeMove(), and updateParkingState().

Here is the caller graph for this function:

◆ updateTimeLoss()

void MSVehicle::updateTimeLoss ( double  vNext)
protected

Updates the vehicle's time loss.

Definition at line 4172 of file MSVehicle.cpp.

References MSLane::getVehicleMaxSpeed(), MSBaseVehicle::isStopped(), myLane, myTimeLoss, and TS.

Referenced by executeMove().

Here is the caller graph for this function:

◆ updateWaitingTime()

void MSVehicle::updateWaitingTime ( double  vNext)
protected

Updates the vehicle's waiting time counters (accumulated and consecutive)

Definition at line 4157 of file MSVehicle.cpp.

References accelThresholdForWaiting(), DELTA_T, getInfluencer(), hasInfluencer(), isIdling(), MSBaseVehicle::isStopped(), myAcceleration, myWaitingTime, myWaitingTimeCollector, MSVehicle::WaitingTimeCollector::passTime(), MSBaseVehicle::BaseInfluencer::setExtraImpatience(), and SUMO_const_haltingSpeed.

Referenced by executeMove(), MSVehicle::Influencer::postProcessRemoteControl(), and workOnIdleReminders().

Here is the caller graph for this function:

◆ validatePosition()

Position MSVehicle::validatePosition ( Position  result,
double  offset = 0 
) const
protected

ensure that a vehicle-relative position is not invalid

Definition at line 1394 of file MSVehicle.cpp.

References MSLane::geometryPositionAtOffset(), getLateralPositionOnLane(), MSLane::getLength(), getPositionOnLane(), Position::INVALID, and myFurtherLanes.

Referenced by getPosition().

Here is the caller graph for this function:

◆ wasRemoteControlled()

bool MSVehicle::wasRemoteControlled ( SUMOTime  lookBack = DELTA_T) const
virtual

Returns the information whether the vehicle is fully controlled via TraCI within the lookBack time.

Reimplemented from MSBaseVehicle.

Definition at line 7357 of file MSVehicle.cpp.

References MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSVehicle::Influencer::getLastAccessTimeStep(), and myInfluencer.

◆ willStop()

bool MSVehicle::willStop ( ) const

Returns whether the vehicle will stop on the current edge.

Definition at line 1581 of file MSVehicle.cpp.

References MSLane::getEdge(), MSBaseVehicle::isStopped(), myLane, and MSBaseVehicle::myStops.

Referenced by MSLink::getLeaderInfo(), and MSDevice_StationFinder::notifyMove().

Here is the caller graph for this function:

◆ workOnIdleReminders()

void MSVehicle::workOnIdleReminders ( )

cycle through vehicle devices invoking notifyIdle

This is only implemented on the emissions device implemented to allow capture of emissions when vehicle is not on net.

Definition at line 1186 of file MSVehicle.cpp.

References getLane(), MSLane::getMoveReminders(), MSBaseVehicle::myMoveReminders, and updateWaitingTime().

Referenced by MSVehicleTransfer::checkInsertions().

Here is the caller graph for this function:

◆ workOnMoveReminders()

void MSVehicle::workOnMoveReminders ( double  oldPos,
double  newPos,
double  newSpeed 
)

Processes active move reminder.

This method goes through all active move reminder, both those for the current lane, stored in "myMoveReminders" and those of prior lanes stored in "myOldLaneMoveReminders" calling "MSMoveReminder::notifyMove".

When processing move reminder from "myOldLaneMoveReminders", the offsets (prior lane lengths) are used, which are stored in "myOldLaneMoveReminderOffsets".

Each move reminder which is no longer active is removed from the container.

Parameters
[in]oldPosThe position the vehicle had before it has moved
[in]newPosThe position the vehicle has after it has moved
[in]newSpeedThe vehicle's speed within this move
See also
MSMoveReminder

Definition at line 1143 of file MSVehicle.cpp.

References EnergyParams::getDouble(), MSBaseVehicle::getNextStop(), MSBaseVehicle::getWaitingSeconds(), MSBaseVehicle::isParking(), MSBaseVehicle::isStopped(), MAX2(), MSBaseVehicle::myEnergyParams, MSBaseVehicle::myMoveReminders, EnergyParams::setDouble(), STEPS2TIME, SUMO_ATTR_DURATION, SUMO_ATTR_PARKING, and SUMO_ATTR_WAITINGTIME.

Referenced by executeFractionalMove(), and executeMove().

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ MSLaneChanger

friend class MSLaneChanger
friend

the lane changer sets myLastLaneChangeOffset

Definition at line 81 of file MSVehicle.h.

◆ MSLaneChangerSublane

friend class MSLaneChangerSublane
friend

Definition at line 82 of file MSVehicle.h.

Field Documentation

◆ myAcceleration

double MSVehicle::myAcceleration
protected

The current acceleration after dawdling in m/s.

Definition at line 1902 of file MSVehicle.h.

Referenced by executeMove(), getAcceleration(), loadState(), MSVehicle::Influencer::postProcessRemoteControl(), setPreviousSpeed(), updateState(), and updateWaitingTime().

◆ myActionStep

bool MSVehicle::myActionStep
protected

The flag myActionStep indicates whether the current time step is an action point for the vehicle.

Definition at line 1872 of file MSVehicle.h.

Referenced by checkActionStep(), executeMove(), and isActive().

◆ myAmIdling

bool MSVehicle::myAmIdling
protected

Whether the vehicle is trying to enter the network (eg after parking so engine is running)

Definition at line 1920 of file MSVehicle.h.

Referenced by isIdling(), and setIdling().

◆ myAmOnNet

bool MSVehicle::myAmOnNet
protected

Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived)

Definition at line 1917 of file MSVehicle.h.

Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), isOnRoad(), and leaveLane().

◆ myAmRegisteredAsWaiting

bool MSBaseVehicle::myAmRegisteredAsWaiting = false
protectedinherited

Whether this vehicle is registered as waiting for a person or container (for deadlock-recognition)

Definition at line 1093 of file MSBaseVehicle.h.

Referenced by boardTransportables(), joinTrainPart(), joinTrainPartFront(), MEVehicle::mayProceed(), processNextStop(), MEVehicle::resumeFromStopping(), resumeFromStopping(), and MSBaseVehicle::unregisterWaiting().

◆ myAmReversed

bool MSBaseVehicle::myAmReversed = false
protectedinherited

Definition at line 1105 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::isReversed(), and processLaneAdvances().

◆ myAngle

double MSVehicle::myAngle
protected

◆ myArrivalLane

int MSBaseVehicle::myArrivalLane
protectedinherited

The destination lane where the vehicle stops.

Definition at line 1073 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::calculateArrivalParams(), MSBaseVehicle::getArrivalLane(), and updateBestLanes().

◆ myArrivalPos

◆ myBestLanes

◆ myCachedPosition

◆ myCFVariables

MSCFModel::VehicleVariables* MSVehicle::myCFVariables
private

The per vehicle variables of the car following model.

Definition at line 2147 of file MSVehicle.h.

Referenced by getCarFollowVariables(), MSVehicle(), replaceVehicleType(), and ~MSVehicle().

◆ myChargingMemory

◆ myChosenSpeedFactor

double MSBaseVehicle::myChosenSpeedFactor
protectedinherited

A precomputed factor by which the driver wants to be faster than the speed limit.

Definition at line 1028 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getChosenSpeedFactor(), MSBaseVehicle::getMaxSpeed(), MSBaseVehicle::replaceVehicleType(), MSBaseVehicle::saveState(), and MSBaseVehicle::setChosenSpeedFactor().

◆ myCollisionImmunity

SUMOTime MSVehicle::myCollisionImmunity
protected

amount of time for which the vehicle is immune from collisions

Definition at line 1931 of file MSVehicle.h.

Referenced by collisionStopTime(), executeMove(), ignoreCollision(), processNextStop(), and resumeFromStopping().

◆ myContainerDevice

◆ myCurrEdge

◆ myCurrentLaneInBestLanes

std::vector<LaneQ>::iterator MSVehicle::myCurrentLaneInBestLanes
protected

Definition at line 1897 of file MSVehicle.h.

Referenced by updateBestLanes(), and updateOccupancyAndCurrentBestLane().

◆ myCurrentNumericalIndex

SUMOTrafficObject::NumericalID MSBaseVehicle::myCurrentNumericalIndex = 0
staticprivateinherited

Definition at line 1119 of file MSBaseVehicle.h.

◆ myDepartPos

double MSBaseVehicle::myDepartPos
protectedinherited

◆ myDeparture

SUMOTime MSBaseVehicle::myDeparture
protectedinherited

◆ myDevices

◆ myDriverState

MSDevice_DriverState* MSVehicle::myDriverState
protected

This vehicle's driver state.

See also
MSDriverState

Definition at line 1866 of file MSVehicle.h.

Referenced by getDriverState(), hasDriverState(), initDevices(), and planMove().

◆ myEdgeWeights

MSEdgeWeightsStorage* MSBaseVehicle::myEdgeWeights
mutableprivateinherited

◆ myEmptyLaneVector

std::vector< MSLane * > MSVehicle::myEmptyLaneVector
staticprotected

Definition at line 1899 of file MSVehicle.h.

Referenced by getBestLanesContinuation(), and getBestLanesContinuation().

◆ myEmptyTransportableVector

std::vector< MSTransportable * > MSBaseVehicle::myEmptyTransportableVector
staticprotectedinherited

Definition at line 1100 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getContainers(), and MSBaseVehicle::getPersons().

◆ myEnergyParams

EnergyParams* MSBaseVehicle::myEnergyParams
mutableprotectedinherited

The emission parameters this vehicle may have.

Definition at line 1061 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getEmissionParameters(), MSBaseVehicle::replaceVehicleType(), workOnMoveReminders(), and MSBaseVehicle::~MSBaseVehicle().

◆ myFrictionDevice

MSDevice_Friction* MSVehicle::myFrictionDevice
protected

This vehicle's friction perception.

Definition at line 1869 of file MSVehicle.h.

Referenced by getFriction(), and initDevices().

◆ myFurtherLanes

◆ myFurtherLanesPosLat

◆ myHaveStoppedFor

const MSLink* MSVehicle::myHaveStoppedFor
protected

Definition at line 1942 of file MSVehicle.h.

Referenced by getWaitingTimeFor(), processLaneAdvances(), and processLinkApproaches().

◆ myHaveToWaitOnNextLink

bool MSVehicle::myHaveToWaitOnNextLink
protected

Definition at line 1922 of file MSVehicle.h.

Referenced by checkRewindLinkLanes(), and processLinkApproaches().

◆ myID

std::string Named::myID
protectedinherited

The name of the object.

Definition at line 125 of file Named.h.

Referenced by MSDriveWay::addBidiFoes(), MSE2Collector::addDetectorToLanes(), MSDriveWay::addFoes(), MSDriveWay::addParallelFoes(), MSDriveWay::addReversalFoes(), MSDriveWay::addSwitchFoes(), RODFDetector::buildDestinationDistribution(), MSDriveWay::buildDriveWay(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), NEMALogic::constructTimingAndPhaseDefs(), MSE2Collector::detectorUpdate(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), Named::getID(), NBEdge::getLaneID(), NEMALogic::getPhaseObj(), ROEdge::getStoredEffort(), GNEPOI::getSumoBaseObject(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), NBEdge::init(), MSSOTLTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), NEMALogic::init(), MSLane::isInsertionSuccess(), NBNode::NBNode(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), NEMALogic::parseControllerType(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), NBEdge::setGeometry(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), Distribution_Parameterized::toStr(), MSChargingStation::writeAggregatedChargingStationOutput(), MSDriveWay::writeBlocks(), MSDriveWay::writeBlockVehicles(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), MSOverheadWire::writeOverheadWireSegmentOutput(), RODFDetector::writeSingleSpeedTrigger(), MSTractionSubstation::writeTractionSubstationOutput(), MEInductLoop::writeXMLOutput(), and MSE3Collector::writeXMLOutput().

◆ myInfluencer

◆ myJunctionConflictEntryTime

SUMOTime MSVehicle::myJunctionConflictEntryTime
protected

◆ myJunctionEntryTime

SUMOTime MSVehicle::myJunctionEntryTime
protected

time at which the current junction was entered

Definition at line 1936 of file MSVehicle.h.

Referenced by checkLinkLeader(), isLeader(), processLaneAdvances(), and processLinkApproaches().

◆ myJunctionEntryTimeNeverYield

SUMOTime MSVehicle::myJunctionEntryTimeNeverYield
protected

Definition at line 1937 of file MSVehicle.h.

Referenced by checkLinkLeader(), isLeader(), and processLaneAdvances().

◆ myLane

MSLane* MSVehicle::myLane
protected

The lane the vehicle is on.

Definition at line 1880 of file MSVehicle.h.

Referenced by adaptLaneEntering2MoveReminder(), adaptToJunctionLeader(), adaptToLeader(), adaptToLeaders(), adaptToOncomingLeader(), addTraciStop(), boardTransportables(), brakeForOverlap(), checkLinkLeader(), checkReversal(), checkRewindLinkLanes(), computeAngle(), computeFurtherLanes(), congested(), GUIVehicle::drawRouteHelper(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), estimateTimeToNextStop(), executeFractionalMove(), executeMove(), getBackLane(), getBackPosition(), getBackPositionOnLane(), getBackPositionOnLane(), getCenterOnEdge(), getCurrentEdge(), getDistanceToLeaveJunction(), getDistanceToPosition(), getFollower(), getLane(), GUIVehicle::getLaneID(), getLaneIndex(), getLanePosAfterDist(), getLateralOverlap(), getLatOffset(), getLeader(), getLeftSideOnLane(), GUIVehicle::getLeftSublaneOnEdge(), getMaxSpeedOnLane(), getMutableLane(), getNextEdgePtr(), getPastLanesUntil(), getPosition(), getPositionAlongBestLanes(), getPreviousLane(), getRerouteOrigin(), getRightSideOnLane(), GUIVehicle::getRightSublaneOnEdge(), getSlope(), getUpcomingLanesUntil(), getUpstreamOppositeLanes(), GUIVehicle::getVisualAngle(), GUIVehicle::getVisualPosition(), handleCollisionStop(), hasArrivedInternal(), influenceChangeDecision(), interpolateLateralZ(), isBidiOn(), isFrontOnLane(), isLeader(), isStoppedOnLane(), joinTrainPart(), joinTrainPartFront(), lateralDistanceToLane(), leaveLane(), passingMinor(), planMove(), planMoveInternal(), processLaneAdvances(), processLinkApproaches(), processNextStop(), rerouteParkingArea(), resumeFromStopping(), GUIVehicle::selectBlockingFoes(), setAngle(), setBlinkerInformation(), setTentativeLaneAndPosition(), slowDownForSchedule(), unsafeLinkAhead(), updateBestLanes(), updateDriveItems(), updateLaneBruttoSum(), updateState(), updateTimeLoss(), and willStop().

◆ myLaneChangeModel

◆ myLastActionTime

SUMOTime MSVehicle::myLastActionTime
protected

Action offset (actions are taken at time myActionOffset + N*getActionStepLength()) Initialized to 0, to be set at insertion.

Definition at line 1875 of file MSVehicle.h.

Referenced by checkActionStep(), enterLaneAtInsertion(), getLastActionTime(), isActionStep(), loadState(), resetActionOffset(), saveState(), and updateActionOffset().

◆ myLastBestLanesEdge

const MSEdge* MSVehicle::myLastBestLanesEdge
protected

Definition at line 1884 of file MSVehicle.h.

Referenced by enterLaneAtInsertion(), enterLaneAtMove(), replaceRoute(), and updateBestLanes().

◆ myLastBestLanesInternalLane

const MSLane* MSVehicle::myLastBestLanesInternalLane
protected

Definition at line 1885 of file MSVehicle.h.

Referenced by enterLaneAtInsertion(), replaceRoute(), and updateBestLanes().

◆ myLFLinkLanes

◆ myLFLinkLanesPrev

DriveItemVector MSVehicle::myLFLinkLanesPrev
protected

planned speeds from the previous step for un-registering from junctions after the new container is filled

Definition at line 2013 of file MSVehicle.h.

Referenced by planMove(), and setApproachingForAllLinks().

◆ myManoeuvre

◆ myMoveReminders

◆ myNextDriveItem

DriveItemVector::iterator MSVehicle::myNextDriveItem
protected

iterator pointing to the next item in myLFLinkLanes

Note
This is updated whenever the vehicle advances to a subsequent lane (see processLaneAdvances()) and used for inter-actionpoint actualization of myLFLinkLanes (i.e. deletion of passed items) in planMove().

Definition at line 2020 of file MSVehicle.h.

Referenced by MSVehicle(), planMove(), processLaneAdvances(), removePassedDriveItems(), and updateDriveItems().

◆ myNextTurn

std::pair<double, const MSLink*> MSVehicle::myNextTurn
protected

the upcoming turn for the vehicle

Todo:
calculate during plan move

Definition at line 1906 of file MSVehicle.h.

Referenced by getNextTurn(), planMove(), and updateState().

◆ myNumberParkingReroutes

int MSBaseVehicle::myNumberParkingReroutes = 0
protectedinherited

◆ myNumberReroutes

int MSBaseVehicle::myNumberReroutes
protectedinherited

◆ myNumericalID

const NumericalID MSBaseVehicle::myNumericalID
privateinherited

Definition at line 1111 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getNumericalID().

◆ myOdometer

double MSBaseVehicle::myOdometer
protectedinherited

◆ myParameter

◆ myParkingMemory

◆ myPastStops

std::vector<SUMOVehicleParameter::Stop> MSBaseVehicle::myPastStops
protectedinherited

◆ myPersonDevice

◆ myRoute

ConstMSRoutePtr MSBaseVehicle::myRoute
protectedinherited

This vehicle's route.

Definition at line 1019 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::addStop(), MSBaseVehicle::addStops(), MSBaseVehicle::basePos(), MSBaseVehicle::calculateArrivalParams(), checkReversal(), MSBaseVehicle::checkRouteRemoval(), computeFurtherLanes(), GUIVehicle::drawRouteHelper(), estimateTimeToNextStop(), getDistanceToPosition(), getNextEdgePtr(), getPastLanesUntil(), getPreviousLane(), MSBaseVehicle::getRerouteDestination(), getRerouteOrigin(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRoutePosition(), MSBaseVehicle::getRoutePtr(), MSBaseVehicle::getRouteValidity(), MSBaseVehicle::getStopIndices(), MSBaseVehicle::getUpcomingEdgeIDs(), getUpcomingLanesUntil(), MEVehicle::hasArrived(), hasArrivedInternal(), MSBaseVehicle::hasValidRoute(), MSBaseVehicle::hasValidRouteStart(), MSBaseVehicle::haveValidStopEdges(), MSBaseVehicle::insertJump(), MSBaseVehicle::insertStop(), MSBaseVehicle::isLineStop(), joinTrainPartFront(), MEVehicle::loadState(), loadState(), MEVehicle::moveRoutePointer(), MSBaseVehicle::MSBaseVehicle(), planMoveInternal(), processLaneAdvances(), MSBaseVehicle::replaceParkingArea(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::replaceStop(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), rerouteParkingArea(), MSBaseVehicle::resetRoutePosition(), MEVehicle::resumeFromStopping(), resumeFromStopping(), MEVehicle::saveState(), MSBaseVehicle::saveState(), saveState(), MSBaseVehicle::setDepartAndArrivalEdge(), MSBaseVehicle::setSkips(), MSBaseVehicle::stopsAtEdge(), MSBaseVehicle::succEdge(), and updateBestLanes().

◆ myRouteValidity

int MSBaseVehicle::myRouteValidity
protectedinherited

status of the current vehicle route

Definition at line 1085 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getRouteValidity(), MSBaseVehicle::hasValidRouteStart(), and hasValidRouteStart().

◆ myRoutingMode

◆ mySignals

int MSVehicle::mySignals
protected

State of things of the vehicle that can be on or off.

Definition at line 1914 of file MSVehicle.h.

Referenced by getSignals(), setBlinkerInformation(), signalSet(), switchOffSignal(), and switchOnSignal().

◆ myState

◆ myStopDist

double MSVehicle::myStopDist
protected

distance to the next stop or doubleMax if there is none

Definition at line 1928 of file MSVehicle.h.

Referenced by executeMove(), leaveLane(), loadState(), nextStopDist(), planMove(), processNextStop(), replaceRoute(), resumeFromStopping(), and setBlinkerInformation().

◆ myStops

std::list<MSStop> MSBaseVehicle::myStops
protectedinherited

The vehicle's list of stops.

Definition at line 1031 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::abortNextStop(), MSBaseVehicle::addStop(), MSBaseVehicle::addTraciStop(), addTraciStop(), addTransportable(), MSBaseVehicle::allowsBoarding(), MSBaseVehicle::basePos(), brokeDown(), checkReversal(), MEVehicle::checkStop(), collisionStopTime(), computeAngle(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), estimateTimeToNextStop(), getArrivalTime(), MSBaseVehicle::getCurrentParkingArea(), MEVehicle::getCurrentStoppingTimeSeconds(), MSBaseVehicle::getLeavingPersonNumber(), MSBaseVehicle::getNextParkingArea(), MSBaseVehicle::getNextStop(), MSBaseVehicle::getNextStopParameter(), getPosition(), MSBaseVehicle::getStop(), getStopArrivalDelay(), getStopDelay(), MSBaseVehicle::getStopDuration(), MSBaseVehicle::getStopEdges(), MSBaseVehicle::getStopIndices(), GUIVehicle::getStopInfo(), MSBaseVehicle::getStops(), GUIVehicle::getVisualAngle(), GUIVehicle::getVisualPosition(), hasArrivedInternal(), MSBaseVehicle::hasJump(), MSBaseVehicle::hasStops(), MSBaseVehicle::haveValidStopEdges(), MSBaseVehicle::insertJump(), MSBaseVehicle::insertStop(), MSBaseVehicle::isParking(), MSBaseVehicle::isStopped(), MSBaseVehicle::isStoppedInRange(), isStoppedOnLane(), MSBaseVehicle::isStoppedParking(), MSBaseVehicle::isStoppedTriggered(), joinTrainPart(), joinTrainPartFront(), keepStopping(), leaveLane(), MEVehicle::loadState(), loadState(), MEVehicle::mayProceed(), planMoveInternal(), processNextStop(), MEVehicle::processStop(), processTraCISpeedControl(), remainingStopDuration(), MSBaseVehicle::replaceParkingArea(), MSBaseVehicle::replaceRoute(), replaceRoute(), MSBaseVehicle::replaceStop(), MSBaseVehicle::reroute(), MSBaseVehicle::rerouteBetweenStops(), GUIVehicle::rerouteDRTStop(), MEVehicle::resumeFromStopping(), resumeFromStopping(), MEVehicle::saveState(), saveState(), setBlinkerInformation(), MSBaseVehicle::setSkips(), slowDownForSchedule(), MSBaseVehicle::stopsAt(), MSBaseVehicle::stopsAtEdge(), updateBestLanes(), and willStop().

◆ myStopUntilOffset

SUMOTime MSBaseVehicle::myStopUntilOffset
protectedinherited

The offset when adding route stops with 'until' on route replacement.

Definition at line 1079 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::replaceRoute().

◆ myTimeLoss

double MSVehicle::myTimeLoss
protected

the time loss in seconds due to driving with less than maximum speed

Definition at line 1860 of file MSVehicle.h.

Referenced by getTimeLoss(), getTimeLossSeconds(), loadState(), saveState(), and updateTimeLoss().

◆ myTimeSinceStartup

SUMOTime MSVehicle::myTimeSinceStartup
protected

duration of driving (speed > SUMO_const_haltingSpeed) after the last halting episode

Definition at line 1941 of file MSVehicle.h.

Referenced by executeMove(), getTimeSinceStartup(), and getTimeSinceStartupSeconds().

◆ myType

◆ myWaitingTime

SUMOTime MSVehicle::myWaitingTime
protected

The time the vehicle waits (is not faster than 0.1m/s) in seconds.

Definition at line 1856 of file MSVehicle.h.

Referenced by getWaitingTime(), leaveLane(), loadState(), planMoveInternal(), resumeFromStopping(), saveState(), and updateWaitingTime().

◆ myWaitingTimeCollector

WaitingTimeCollector MSVehicle::myWaitingTimeCollector
protected

Definition at line 1857 of file MSVehicle.h.

Referenced by getWaitingTime(), loadState(), saveState(), and updateWaitingTime().

◆ NOT_YET_DEPARTED

const SUMOTime MSBaseVehicle::NOT_YET_DEPARTED = SUMOTime_MAX
staticprotectedinherited

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