SUMO - Simulation of Urban MObility
MSVehicle Class Reference

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

#include <MSVehicle.h>

Inheritance diagram for MSVehicle:
Inheritance graph
Collaboration diagram for MSVehicle:
Collaboration graph

Data Structures

struct  DriveProcessItem
 
class  Influencer
 Changes the wished vehicle speed / lanes. More...
 
struct  LaneQ
 A structure representing the best lanes for continuing the route. More...
 
class  State
 Container that holds the vehicles driving state (position+speed). More...
 
struct  Stop
 Definition of vehicle stop (position and duration) 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...
 
typedef Named::NamedLikeComparatorIdLess< SUMOVehicleComparatorIdLess
 

Public Member Functions

void activateReminders (const MSMoveReminder::Notification reason)
 "Activates" all current move reminder More...
 
void addReminder (MSMoveReminder *rem)
 Adds a MoveReminder dynamically. More...
 
void addStops (const bool ignoreStopErrors)
 Adds stops to the built vehicle. More...
 
bool addTraciBusOrContainerStop (const std::string &stopId, const SUMOTime duration, const SUMOTime until, const bool parking, const bool triggered, const bool containerTriggered, const bool isContainerStop, std::string &errorMsg)
 
bool addTraciStop (MSLane *const lane, const SUMOReal startPos, const SUMOReal endPos, const SUMOTime duration, const SUMOTime until, const bool parking, const bool triggered, const bool containerTriggered, std::string &errorMsg)
 
SUMOReal computeAngle () const
 compute the current vehicle angle More...
 
bool congested () const
 
void enterLaneAtInsertion (MSLane *enteredLane, SUMOReal pos, SUMOReal speed, SUMOReal posLat, MSMoveReminder::Notification notification)
 Update when the vehicle enters a new lane in the emit step. More...
 
void enterLaneAtLaneChange (MSLane *enteredLane)
 Update when the vehicle enters a new lane in the laneChange step. More...
 
bool enterLaneAtMove (MSLane *enteredLane, bool onTeleporting=false)
 Update when the vehicle enters a new lane in the move step. More...
 
bool executeMove ()
 Executes planned vehicle movements with regards to right-of-way. More...
 
void fixPosition ()
 repair errors in vehicle position after changing between internal edges More...
 
virtual SUMOReal getArrivalPos () const
 Returns this vehicle's desired arrivalPos for its current route (may change on reroute) More...
 
PositionVector getBoundingBox () const
 get bounding rectangle More...
 
PositionVector getBoundingPoly () const
 get bounding polygon More...
 
const MSCFModelgetCarFollowModel () const
 Returns the vehicle's car following model definition. More...
 
MSCFModel::VehicleVariablesgetCarFollowVariables () const
 Returns the vehicle's car following model variables. More...
 
SUMOReal getChosenSpeedFactor () const
 Returns the precomputed factor by which the driver wants to be faster than the speed limit. More...
 
const MSRouteIteratorgetCurrentRouteEdge () const
 Returns an iterator pointing to the current edge in this vehicles route. More...
 
SUMOReal getDeltaPos (SUMOReal accel)
 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) More...
 
SUMOTime getDepartDelay () const
 Returns the depart delay. More...
 
SUMOReal getDepartPos () const
 Returns this vehicle's real departure position. More...
 
SUMOTime getDeparture () const
 Returns this vehicle's real departure time. More...
 
MSDevicegetDevice (const std::type_info &type) const
 Returns a device of the given type if it exists or 0. More...
 
const std::vector< MSDevice * > & getDevices () const
 Returns this vehicle's devices. More...
 
SUMOReal getDistanceToPosition (SUMOReal destPos, const MSEdge *destEdge) const
 
const MSEdgegetEdge () const
 Returns the edge the vehicle is currently at. More...
 
const std::vector< MSLane * > & getFurtherLanes () const
 
const std::vector< SUMOReal > & getFurtherLanesPosLat () const
 
const std::string & getID () const
 Returns the name of the vehicle. More...
 
SUMOReal getImpatience () const
 Returns this vehicles impatience. More...
 
InfluencergetInfluencer ()
 Returns the velocity/lane influencer. More...
 
const InfluencergetInfluencer () const
 
MSAbstractLaneChangeModelgetLaneChangeModel ()
 
const MSAbstractLaneChangeModelgetLaneChangeModel () const
 
int getLaneIndex () const
 
std::pair< const MSVehicle *const, SUMORealgetLeader (SUMOReal dist=0) const
 Returns the leader of the vehicle looking for a fixed distance. More...
 
SUMOReal getMaxSpeed () const
 Returns the maximum speed. More...
 
StopgetNextStop ()
 
int getNumberReroutes () const
 Returns the number of new routes this vehicle got. More...
 
const SUMOVehicleParametergetParameter () const
 Returns the vehicle's parameter (including departure definition) More...
 
const MSRoutegetRoute () const
 Returns the current route. More...
 
SUMOReal getSafeFollowSpeed (const std::pair< const MSVehicle *, SUMOReal > leaderInfo, const SUMOReal seen, const MSLane *const lane, SUMOReal distToCrossing) const
 compute safe speed for following the given leader More...
 
SUMOReal getSpeedWithoutTraciInfluence () const
 Returns the uninfluenced velocity. More...
 
SUMOReal getTimeGap () const
 Returns the time gap in seconds to the leader of the vehicle looking for a fixed distance. More...
 
SUMOVehicleClass getVClass () const
 Returns the vehicle's access class. More...
 
const MSVehicleTypegetVehicleType () const
 Returns the vehicle's type definition. More...
 
bool hasDeparted () const
 Returns whether this vehicle has already departed. More...
 
bool hasInfluencer () const
 
bool hasValidRoute (std::string &msg, const MSRoute *route=0) const
 Validates the current or given route. More...
 
int influenceChangeDecision (int state)
 allow TraCI to influence a lane change decision More...
 
bool knowsEdgeTest (MSEdge &edge) const
 
void leaveLane (const MSMoveReminder::Notification reason)
 Update of members if vehicle leaves a new lane in the lane change step or at arrival. More...
 
 MSVehicle (SUMOVehicleParameter *pars, const MSRoute *route, const MSVehicleType *type, const SUMOReal speedFactor)
 Constructor. More...
 
void onDepart ()
 Called when the vehicle is inserted into the network. More...
 
void planMove (const SUMOTime t, const MSLeaderInfo &ahead, const SUMOReal lengthsInFront)
 Compute safe velocities for the upcoming lanes based on positions and speeds from the last time step. Also registers ApproachingVehicleInformation for all links. More...
 
SUMOReal processNextStop (SUMOReal currentVelocity)
 Processes stops, returns the velocity needed to reach the stop. More...
 
void removeReminder (MSMoveReminder *rem)
 Removes a MoveReminder dynamically. More...
 
bool replaceRouteEdges (ConstMSEdgeVector &edges, bool onInit=false, bool check=false)
 Replaces the current route by the given edges. More...
 
void replaceVehicleType (MSVehicleType *type)
 Replaces the current vehicle type by the one given. More...
 
void reroute (SUMOTime t, SUMOAbstractRouter< MSEdge, SUMOVehicle > &router, const bool onInit=false, const bool withTaz=false)
 Performs a rerouting using the given router. More...
 
bool resumeFromStopping ()
 
void setAngle (SUMOReal angle)
 Set a custom vehicle angle in rad. More...
 
virtual void setArrivalPos (SUMOReal arrivalPos)
 Sets this vehicle's desired arrivalPos for its current route. More...
 
void setChosenSpeedFactor (const SUMOReal factor)
 Returns the precomputed factor by which the driver wants to be faster than the speed limit. More...
 
void setTentativeLaneAndPosition (MSLane *lane, SUMOReal pos, SUMOReal 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 sucessfully inserted the lane is set again (see enterLaneAtInsertion) More...
 
void setVTDState (Position xyPos)
 sets position outside the road network More...
 
const MSEdgesuccEdge (int nSuccs) const
 Returns the nSuccs'th successor of edge the vehicle is currently at. More...
 
bool unsafeLinkAhead (const MSLane *lane) const
 whether the vehicle may safely move to the given lane with regard to upcoming links More...
 
SUMOReal updateFurtherLanes (std::vector< MSLane *> &furtherLanes, std::vector< SUMOReal > &furtherLanesPosLat, const std::vector< MSLane *> &passedLanes)
 update a vector of further lanes and return the new backPos More...
 
virtual ~MSVehicle ()
 Destructor. More...
 
insertion/removal
void onRemovalFromNet (const MSMoveReminder::Notification reason)
 Called when the vehicle is removed from the network. More...
 
interaction with the route
bool hasArrived () const
 Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge) More...
 
bool replaceRoute (const MSRoute *route, bool onInit=false, int offset=0)
 Replaces the current route by the given one. More...
 
bool willPass (const MSEdge *const edge) const
 Returns whether the vehicle wil pass the given edge. More...
 
int getRoutePosition () const
 
void resetRoutePosition (int index)
 
const MSEdgeWeightsStoragegetWeightsStorage () const
 Returns the vehicle's internal edge travel times/efforts container. More...
 
MSEdgeWeightsStoragegetWeightsStorage ()
 
state setter/getter
SUMOReal getPositionOnLane () const
 Get the vehicle's position along the lane. More...
 
SUMOReal getLastStepDist () const
 Get the distance the vehicle covered in the previous timestep. More...
 
SUMOReal getPositionOnLane (const MSLane *lane) const
 Get the vehicle's front position relative to the given lane. More...
 
SUMOReal getBackPositionOnLane (const MSLane *lane) const
 Get the vehicle's position relative to the given lane. More...
 
SUMOReal getBackPositionOnLane () const
 Get the vehicle's position relative to its current lane. More...
 
SUMOReal getLateralPositionOnLane () const
 Get the vehicle's lateral position on the lane. More...
 
SUMOReal getRightSideOnLane () const
 Get the vehicle's lateral position on the lane: More...
 
SUMOReal getLateralOverlap () const
 return the amount by which the vehicle extends laterally outside it's primary lane More...
 
SUMOReal 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) More...
 
SUMOReal 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) More...
 
SUMOReal getLatOffset (const MSLane *lane) const
 Get the offset that that must be added to interpret myState.myPosLat for the given lane. More...
 
SUMOReal getSpeed () const
 Returns the vehicle's current speed. More...
 
SUMOReal getPreviousSpeed () const
 Returns the vehicle's speed before the previous time step. More...
 
SUMOReal 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) More...
 
Other getter methods
SUMOReal getSlope () const
 Returns the slope of the road at vehicle's position. More...
 
Position getPosition (const SUMOReal offset=0) const
 Return current position (x/y, cartesian) More...
 
MSLanegetLane () const
 Returns the lane the vehicle is on. More...
 
SUMOReal 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) More...
 
bool isOnRoad () const
 Returns the information whether the vehicle is on a road (is simulated) More...
 
bool isFrontOnLane (const MSLane *lane) const
 Returns the information whether the front of the vehicle is on the given lane. More...
 
const MSEdgegetRerouteOrigin () const
 Returns the starting point for reroutes (usually the current edge) More...
 
SUMOTime getWaitingTime () const
 Returns the SUMOTime waited (speed was lesser than 0.1m/s) More...
 
SUMOTime getAccumulatedWaitingTime (SUMOTime t=MSGlobals::gWaitingTimeMemory) const
 Returns the SUMOTime waited (speed was lesser than 0.1m/s) within the last t millisecs. More...
 
SUMOReal getWaitingSeconds () const
 Returns the number of seconds waited (speed was lesser than 0.1m/s) More...
 
SUMOReal getAccumulatedWaitingSeconds () const
 Returns the number of seconds waited (speed was lesser than 0.1m/s) within the last millisecs. More...
 
SUMOReal getAngle () const
 Returns the vehicle's direction in radians. More...
 
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. More...
 
void updateBestLanes (bool forceRebuild=false, const MSLane *startLane=0)
 computes the best lanes to use in order to continue the route More...
 
const std::vector< MSLane * > & getBestLanesContinuation () const
 Returns the subpart of best lanes that describes the vehicle's current lane and their successors. More...
 
const std::vector< MSLane * > & getBestLanesContinuation (const MSLane *const l) const
 Returns the subpart of best lanes that describes the given lane and their successors. More...
 
int getBestLaneOffset () const
 returns the current offset from the best lane More...
 
void adaptBestLanesOccupation (int laneIndex, SUMOReal density)
 update occupation from MSLaneChanger More...
 
vehicle stops definitions and i/o
bool addStop (const SUMOVehicleParameter::Stop &stopPar, std::string &errorMsg, SUMOTime untilOffset=0)
 Adds a stop. More...
 
bool hasStops () const
 Returns whether the vehicle has to stop somewhere. More...
 
bool isStopped () const
 Returns whether the vehicle is at a stop. More...
 
bool isParking () const
 Returns whether the vehicle is parking. More...
 
bool isRemoteControlled () const
 Returns the information whether the vehicle is fully controlled via TraCI. More...
 
SUMOReal nextStopDist () const
 return the distance to the next stop or SUMORealMax if there is none. More...
 
bool isStoppedTriggered () const
 Returns whether the vehicle is on a triggered stop. More...
 
bool isStoppedInRange (SUMOReal pos) const
 return whether the given position is within range of the current stop More...
 
Emission retrieval
SUMOReal getCO2Emissions () const
 Returns CO2 emission of the current state. More...
 
SUMOReal getCOEmissions () const
 Returns CO emission of the current state. More...
 
SUMOReal getHCEmissions () const
 Returns HC emission of the current state. More...
 
SUMOReal getNOxEmissions () const
 Returns NOx emission of the current state. More...
 
SUMOReal getPMxEmissions () const
 Returns PMx emission of the current state. More...
 
SUMOReal getFuelConsumption () const
 Returns fuel consumption of the current state. More...
 
SUMOReal getElectricityConsumption () const
 Returns electricity consumption of the current state. More...
 
SUMOReal getHarmonoise_NoiseEmissions () const
 Returns noise emissions of the current state. More...
 
Interaction with persons
void addPerson (MSTransportable *person)
 Adds a passenger. More...
 
Interaction with containers
void addContainer (MSTransportable *container)
 Adds a container. More...
 
const std::vector< MSTransportable * > & getPersons () const
 retrieve riding persons More...
 
const std::vector< MSTransportable * > & getContainers () const
 retrieve riding containers More...
 
int getPersonNumber () const
 Returns the number of persons. More...
 
int getContainerNumber () const
 Returns the number of containers. More...
 
state io
void saveState (OutputDevice &out)
 Saves the states of a vehicle. More...
 
void loadState (const SUMOSAXAttributes &attrs, const SUMOTime offset)
 Loads the state of this vehicle from the given description. More...
 

Static Public Member Functions

static int nextLinkPriority (const std::vector< MSLane *> &conts)
 get a numerical value for the priority of the upcoming link More...
 
static bool overlap (const MSVehicle *veh1, const MSVehicle *veh2)
 

Protected Types

typedef std::vector< DriveProcessItemDriveItemVector
 Container for used Links/visited Lanes during lookForward. More...
 

Protected Member Functions

void adaptToLeader (const std::pair< const MSVehicle *, SUMOReal > leaderInfo, const SUMOReal seen, DriveProcessItem *const lastLink, const MSLane *const lane, SUMOReal &v, SUMOReal &vLinkPass, SUMOReal distToCrossing=-1) const
 
void adaptToLeaders (const MSLeaderInfo &ahead, SUMOReal latOffset, const SUMOReal seen, DriveProcessItem *const lastLink, const MSLane *const lane, SUMOReal &v, SUMOReal &vLinkPass) const
 
void calculateArrivalParams ()
 (Re-)Calculates the arrival position and lane from the vehicle parameters More...
 
void checkRewindLinkLanes (const SUMOReal lengthsInFront, DriveItemVector &lfLinks) const
 
virtual void drawOutsideNetwork (bool)
 register vehicle for drawing while outside the network More...
 
SUMOReal estimateLeaveSpeed (const MSLink *const link, const SUMOReal vLinkPass) const
 estimate leaving speed when accelerating across a link More...
 
const MSLanegetBackLane () const
 
const Position getBackPosition () const
 
SUMOReal getSpaceTillLastStanding (const MSLane *l, bool &foundStopped) const
 
const ConstMSEdgeVector getStopEdges () const
 Returns the list of still pending stop edges. More...
 
void planMoveInternal (const SUMOTime t, MSLeaderInfo ahead, DriveItemVector &lfLinks, SUMOReal &myStopDist) const
 
void removeApproachingInformation (DriveItemVector &lfLinks) const
 unregister approach from all upcoming links More...
 
void setBlinkerInformation ()
 
void setEmergencyBlueLight (SUMOTime currentTime)
 sets the blue flashing light for emergency vehicles More...
 
void updateOccupancyAndCurrentBestLane (const MSLane *startLane)
 updates LaneQ::nextOccupation and myCurrentLaneInBestLanes More...
 
void updateState (SUMOReal 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 ) More...
 

Protected Attributes

SUMOReal myAcceleration
 The current acceleration after dawdling in m/s. More...
 
bool myAmOnNet
 Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived) More...
 
bool myAmRegisteredAsWaitingForContainer
 Whether this vehicle is registered as waiting for a container (for deadlock-recognition) More...
 
bool myAmRegisteredAsWaitingForPerson
 Whether this vehicle is registered as waiting for a person (for deadlock-recognition) More...
 
SUMOReal myAngle
 the angle in radians ( More...
 
int myArrivalLane
 The destination lane where the vehicle stops. More...
 
SUMOReal myArrivalPos
 The position on the destination lane where the vehicle stops. More...
 
std::vector< std::vector< LaneQ > > myBestLanes
 
Position myCachedPosition
 
SUMOReal myChosenSpeedFactor
 A precomputed factor by which the driver wants to be faster than the speed limit. More...
 
MSDevice_TransportablemyContainerDevice
 The containers this vehicle may have. More...
 
MSRouteIterator myCurrEdge
 Iterator to current route-edge. More...
 
std::vector< LaneQ >::iterator myCurrentLaneInBestLanes
 
SUMOReal myDepartPos
 The real depart position. More...
 
SUMOTime myDeparture
 The real departure time. More...
 
std::vector< MSDevice * > myDevices
 The devices this vehicle has. More...
 
std::vector< MSLane * > myFurtherLanes
 The information into which lanes the vehicle laps into. More...
 
std::vector< SUMORealmyFurtherLanesPosLat
 
bool myHaveToWaitOnNextLink
 
MSLanemyLane
 The lane the vehicle is on. More...
 
MSAbstractLaneChangeModelmyLaneChangeModel
 
const MSEdgemyLastBestLanesEdge
 
const MSLanemyLastBestLanesInternalLane
 
DriveItemVector myLFLinkLanes
 
int myNumberReroutes
 The number of reroutings. More...
 
const SUMOVehicleParametermyParameter
 This Vehicle's parameter. More...
 
MSDevice_TransportablemyPersonDevice
 The passengers this vehicle may have. More...
 
const MSRoutemyRoute
 This Vehicle's route. More...
 
int mySignals
 State of things of the vehicle that can be on or off. More...
 
State myState
 This Vehicles driving state (pos and speed) More...
 
SUMOReal myStopDist
 distance to the next stop or -1 if there is none More...
 
std::list< StopmyStops
 The vehicle's list of stops. More...
 
const MSVehicleTypemyType
 This Vehicle's type. More...
 
SUMOTime myWaitingTime
 The time the vehicle waits (is not faster than 0.1m/s) in seconds. More...
 
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
 
 MSVehicle ()
 invalidated default constructor More...
 
 MSVehicle (const MSVehicle &)
 invalidated copy constructor More...
 
MSVehicleoperator= (const MSVehicle &)
 invalidated assignment operator More...
 

Private Attributes

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

Friends

class MSLaneChanger
 the lane changer sets myLastLaneChangeOffset More...
 
class MSLaneChangerSublane
 

Move reminder structures

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

Interaction with move reminders

void workOnMoveReminders (SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed)
 Processes active move reminder. More...
 
void adaptLaneEntering2MoveReminder (const MSLane &enteredLane)
 Adapts the vehicle's entering of a new lane. More...
 

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. More...
 
void switchOffSignal (int signal)
 Switches the given signal off. More...
 
int getSignals () const
 Returns the signals. More...
 
bool signalSet (int which) const
 Returns whether the given signal is on. More...
 

Detailed Description

Representation of a vehicle in the micro simulation.

Definition at line 82 of file MSVehicle.h.

Member Typedef Documentation

§ ComparatorIdLess

§ DriveItemVector

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

Container for used Links/visited Lanes during lookForward.

Definition at line 1544 of file MSVehicle.h.

§ MoveReminderCont

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

Definition of a move reminder container.

Definition at line 414 of file MSBaseVehicle.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 221 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 1034 of file MSVehicle.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 996 of file MSVehicle.h.

§ TraciLaneChangePriority

modes for prioritizing traci lane change requests

Enumerator
LCP_ALWAYS 
LCP_NOOVERLAP 
LCP_URGENT 
LCP_OPPORTUNISTIC 

Definition at line 1042 of file MSVehicle.h.

Constructor & Destructor Documentation

§ MSVehicle() [1/3]

MSVehicle::MSVehicle ( SUMOVehicleParameter pars,
const MSRoute route,
const MSVehicleType type,
const SUMOReal  speedFactor 
)

§ ~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 & MSVehicle::_getWeightsStorage ( ) const
private

Definition at line 706 of file MSVehicle.cpp.

References myEdgeWeights.

Referenced by getWeightsStorage().

§ activateReminders()

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

"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
See also
MSMoveReminder
MSMoveReminder::notifyEnter
MSMoveReminder::Notification

Reimplemented from MSBaseVehicle.

Definition at line 2492 of file MSVehicle.cpp.

References MSBaseVehicle::myMoveReminders.

Referenced by congested(), enterLaneAtInsertion(), enterLaneAtLaneChange(), and enterLaneAtMove().

§ adaptBestLanesOccupation()

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

update occupation from MSLaneChanger

Definition at line 3087 of file MSVehicle.cpp.

References myBestLanes.

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

§ 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 745 of file MSVehicle.cpp.

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

Referenced by enterLaneAtMove(), and hasInfluencer().

§ adaptToLeader()

void MSVehicle::adaptToLeader ( const std::pair< const MSVehicle *, SUMOReal leaderInfo,
const SUMOReal  seen,
DriveProcessItem *const  lastLink,
const MSLane *const  lane,
SUMOReal v,
SUMOReal vLinkPass,
SUMOReal  distToCrossing = -1 
) const
protected

§ adaptToLeaders()

§ addContainer()

void MSVehicle::addContainer ( MSTransportable container)
virtual

§ addPerson()

void MSVehicle::addPerson ( MSTransportable person)
virtual

§ addReminder()

void MSBaseVehicle::addReminder ( MSMoveReminder rem)
inherited

Adds a MoveReminder dynamically.

Parameters
[in]remthe reminder to add
See also
MSMoveReminder

Definition at line 320 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myMoveReminders.

Referenced by adaptLaneEntering2MoveReminder(), MESegment::addReminders(), enterLaneAtInsertion(), enterLaneAtLaneChange(), and MSBaseVehicle::getDevices().

§ addStop()

bool MSVehicle::addStop ( const SUMOVehicleParameter::Stop stopPar,
std::string &  errorMsg,
SUMOTime  untilOffset = 0 
)
virtual

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 875 of file MSVehicle.cpp.

References MSLane::allowsVehicleClass(), SUMOVehicleParameter::Stop::awaitedContainers, MSVehicle::Stop::awaitedContainers, SUMOVehicleParameter::Stop::awaitedPersons, MSVehicle::Stop::awaitedPersons, SUMOVehicleParameter::Stop::busstop, MSVehicle::Stop::busstop, SUMOVehicleParameter::Stop::containerstop, MSVehicle::Stop::containerstop, SUMOVehicleParameter::Stop::containerTriggered, MSVehicle::Stop::containerTriggered, DEPART_POS_BASE, DEPART_POS_DEFAULT, DEPART_POS_GIVEN, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, MSLane::dictionary(), SUMOVehicleParameter::Stop::duration, MSVehicle::Stop::duration, MSVehicle::Stop::edge, MSRoute::end(), SUMOVehicleParameter::Stop::endPos, MSVehicle::Stop::endPos, MSNet::getBusStop(), getCarFollowModel(), MSNet::getContainerStop(), MSLane::getEdge(), Named::getID(), MSNet::getInstance(), MSVehicleType::getLength(), MSLane::getLength(), MSVehicleType::getVehicleClass(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::hasDeparted(), SUMOVehicleParameter::id, SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, MSVehicle::Stop::lane, MIN2(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myStops, MSBaseVehicle::myType, SUMOVehicleParameter::Stop::parking, MSVehicle::Stop::parking, POSITION_EPS, MSVehicle::Stop::reached, SUMOVehicleParameter::Stop::startPos, MSVehicle::Stop::startPos, STOP_INDEX_END, STOP_INDEX_FIT, SUMOReal, MSVehicle::Stop::timeToBoardNextPerson, MSVehicle::Stop::timeToLoadNextContainer, SUMOVehicleParameter::Stop::triggered, MSVehicle::Stop::triggered, SUMOVehicleParameter::Stop::until, and MSVehicle::Stop::until.

Referenced by addTraciBusOrContainerStop(), addTraciStop(), and replaceRoute().

§ addStops()

void MSBaseVehicle::addStops ( const bool  ignoreStopErrors)
inherited

§ addTraciBusOrContainerStop()

bool MSVehicle::addTraciBusOrContainerStop ( const std::string &  stopId,
const SUMOTime  duration,
const SUMOTime  until,
const bool  parking,
const bool  triggered,
const bool  containerTriggered,
const bool  isContainerStop,
std::string &  errorMsg 
)

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
stopIdbus or container stop id
durationwaiting time duration
untiltime step at which the stop shall end
parkinga flag indicating whether the traci stop is used for parking or not
triggereda flag indicating whether the traci stop is triggered or not
containerTriggereda flag indicating whether the traci stop is triggered by a container or not
isContainerStopa flag indicating whether the stop is a container stop

Definition at line 3597 of file MSVehicle.cpp.

References addStop(), SUMOVehicleParameter::Stop::busstop, SUMOVehicleParameter::Stop::containerstop, SUMOVehicleParameter::Stop::containerTriggered, SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, MSStoppingPlace::getBeginLanePosition(), MSNet::getBusStop(), MSNet::getContainerStop(), MSStoppingPlace::getEndLanePosition(), Named::getID(), MSBaseVehicle::getID(), MSNet::getInstance(), MSStoppingPlace::getLane(), SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, myLane, myStops, SUMOVehicleParameter::Stop::parking, SUMOVehicleParameter::Stop::startPos, STOP_INDEX_FIT, SUMOVehicleParameter::Stop::triggered, SUMOVehicleParameter::Stop::until, and updateBestLanes().

Referenced by TraCIServerAPI_Vehicle::processSet(), and signalSet().

§ addTraciStop()

bool MSVehicle::addTraciStop ( MSLane *const  lane,
const SUMOReal  startPos,
const SUMOReal  endPos,
const SUMOTime  duration,
const SUMOTime  until,
const bool  parking,
const bool  triggered,
const bool  containerTriggered,
std::string &  errorMsg 
)

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
lanelane on wich to stop
startPosstart position on the given lane at wich to stop
endPosend position on the given lane at wich to stop
durationwaiting time duration
untiltime step at which the stop shall end
parkinga flag indicating whether the traci stop is used for parking or not
triggereda flag indicating whether the traci stop is triggered or not
containerTriggereda flag indicating whether the traci stop is triggered by a container or not

Definition at line 3564 of file MSVehicle.cpp.

References addStop(), SUMOVehicleParameter::Stop::containerTriggered, SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, Named::getID(), SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, myLane, myStops, SUMOVehicleParameter::Stop::parking, POSITION_EPS, SUMOVehicleParameter::Stop::startPos, STOP_INDEX_FIT, SUMOVehicleParameter::Stop::triggered, SUMOVehicleParameter::Stop::until, and updateBestLanes().

Referenced by TraCIServerAPI_Vehicle::processSet(), and signalSet().

§ calculateArrivalParams()

§ checkRewindLinkLanes()

void MSVehicle::checkRewindLinkLanes ( const SUMOReal  lengthsInFront,
DriveItemVector lfLinks 
) const
protected
Todo:
: documentation

Definition at line 2284 of file MSVehicle.cpp.

References ACCEL2SPEED, MSVehicle::DriveProcessItem::availableSpace, bla, MSCFModel::brakeGap(), DEBUG_COND, MSEdge::EDGEFUNCTION_INTERNAL, gDebugSelectedVehicle, getBackPositionOnLane(), MSLane::getBruttoVehLenSum(), getCarFollowModel(), MSLane::getEdge(), MSCFModel::getHeadwayTime(), Named::getID(), MSBaseVehicle::getID(), MSBaseVehicle::getImpatience(), MSLink::getLane(), getLaneChangeModel(), MSLane::getLastAnyVehicle(), getLateralPositionOnLane(), MSVehicle::DriveProcessItem::getLeaveSpeed(), MSVehicleType::getLength(), MSLane::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSLink::getParallelLink(), MSEdge::getPurpose(), MSVehicle::Influencer::getRespectJunctionPriority(), MSAbstractLaneChangeModel::getShadowLane(), getSpaceTillLastStanding(), getSpeed(), MSLane::getVehicleNumber(), MSBaseVehicle::getVehicleType(), getWaitingTime(), MSGlobals::gUsingInternalLanes, MSVehicle::DriveProcessItem::hadVehicle, MSLink::hasFoes(), MSLink::havePriority(), MSLink::isCont(), isFrontOnLane(), MSAbstractLaneChangeModel::isOpposite(), MSEdge::isRoundabout(), MSLink::keepClear(), LINKSTATE_ALLWAY_STOP, MAX2(), MSVehicle::DriveProcessItem::myArrivalSpeed, MSVehicle::DriveProcessItem::myArrivalTime, myHaveToWaitOnNextLink, myInfluencer, myLane, MSVehicle::DriveProcessItem::myLink, MSVehicle::State::mySpeed, myState, MSLink::opened(), RandHelper::rand(), MSLink::setApproaching(), MSAbstractLaneChangeModel::setShadowApproachingInformation(), signalSet(), SIMTIME, SUMOReal, UNUSED_PARAMETER, and VEH_SIGNAL_BRAKELIGHT.

Referenced by planMove().

§ computeAngle()

§ congested()

§ drawOutsideNetwork()

virtual void MSVehicle::drawOutsideNetwork ( bool  )
inlineprotectedvirtual

register vehicle for drawing while outside the network

Reimplemented in GUIVehicle.

Definition at line 1430 of file MSVehicle.h.

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

§ enterLaneAtInsertion()

void MSVehicle::enterLaneAtInsertion ( MSLane enteredLane,
SUMOReal  pos,
SUMOReal  speed,
SUMOReal  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 2611 of file MSVehicle.cpp.

References activateReminders(), MSBaseVehicle::addReminder(), computeAngle(), getLaneChangeModel(), MSVehicleType::getLength(), MSLane::getLogicalPredecessorLane(), MSLane::getMoveReminders(), MSBaseVehicle::getVehicleType(), MSGlobals::gLaneChangeDuration, MSGlobals::gLateralResolution, Position::INVALID, M_PI, myAmOnNet, myAngle, MSVehicle::State::myBackPos, myCachedPosition, MSBaseVehicle::myDeparture, myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myPos, MSVehicle::State::myPosLat, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myType, myWaitingTime, MSBaseVehicle::NOT_YET_DEPARTED, MSMoveReminder::NOTIFICATION_TELEPORT, MSBaseVehicle::onDepart(), SUMOReal, and MSAbstractLaneChangeModel::updateShadowLane().

Referenced by congested(), and MSLane::incorporateVehicle().

§ enterLaneAtLaneChange()

§ enterLaneAtMove()

bool 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 2524 of file MSVehicle.cpp.

References activateReminders(), adaptLaneEntering2MoveReminder(), MSEdge::EDGEFUNCTION_INTERNAL, MSLane::getEdge(), MSEdge::getPurpose(), hasArrived(), Position::INVALID, myAmOnNet, myCachedPosition, MSBaseVehicle::myCurrEdge, myLane, myLastBestLanesEdge, MSVehicle::State::myPos, myState, MSMoveReminder::NOTIFICATION_JUNCTION, and MSMoveReminder::NOTIFICATION_TELEPORT.

Referenced by MSVehicleTransfer::add(), MSVehicleTransfer::checkInsertions(), congested(), executeMove(), and TraCIServerAPI_Vehicle::processSet().

§ estimateLeaveSpeed()

SUMOReal MSVehicle::estimateLeaveSpeed ( const MSLink *const  link,
const SUMOReal  vLinkPass 
) const
inlineprotected

§ 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 1692 of file MSVehicle.cpp.

References ACCEL2SPEED, bla, MSCFModel::brakeGap(), MSAbstractLaneChangeModel::changedToOpposite(), computeAngle(), DEBUG_COND, DELTA_T, DIST2SPEED, MSRoute::end(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), enterLaneAtMove(), gDebugSelectedVehicle, getBackLane(), MSVehicleType::getCarFollowModel(), getCarFollowModel(), MSNet::getCurrentTimeStep(), MSLink::getDirection(), MSLane::getEdge(), MSVehicle::Influencer::getEmergencyBrakeRedLight(), Named::getID(), MSBaseVehicle::getID(), MSBaseVehicle::getImpatience(), MSNet::getInstance(), getLaneChangeModel(), getLateralPositionOnLane(), MSVehicleType::getLength(), MSLane::getLength(), MSCFModel::getMaxDecel(), MSLane::getOpposite(), MSLane::getOppositePos(), MSLink::getParallelLink(), getPositionOnLane(), MSVehicle::Influencer::getRespectJunctionPriority(), MSAbstractLaneChangeModel::getShadowDirection(), MSAbstractLaneChangeModel::getShadowLane(), getSpeed(), MSLink::getState(), MSVehicleType::getVehicleClass(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), getWaitingTime(), MSLane::getWidth(), MSGlobals::gSemiImplicitEulerUpdate, MSGlobals::gUsingInternalLanes, hasArrived(), MSVehicle::Influencer::implicitSpeedVTD(), MSVehicle::Influencer::influenceSpeed(), Position::INVALID, isRemoteControlled(), MSEdge::isRoundabout(), isStopped(), MSEdge::isVaporizing(), MSVehicle::Influencer::isVTDControlled(), leaveLane(), LINKDIR_LEFT, LINKDIR_RIGHT, LINKSTATE_EQUAL, LINKSTATE_TL_RED, LINKSTATE_TL_YELLOW_MAJOR, LINKSTATE_TL_YELLOW_MINOR, LINKSTATE_ZIPPER, max, MAX2(), MSCFModel::maxNextSpeed(), MIN2(), MSCFModel::moveHelper(), myAcceleration, myAngle, MSVehicle::State::myBackPos, myCachedPosition, MSBaseVehicle::myCurrEdge, myFurtherLanes, myFurtherLanesPosLat, myHaveToWaitOnNextLink, myInfluencer, myLane, MSVehicle::State::myLastCoveredDist, myLFLinkLanes, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myType, myWaitingTime, myWaitingTimeCollector, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_VAPORIZED, NUMERICAL_EPS, MSLink::opened(), MSLink::passedJunction(), MSVehicle::WaitingTimeCollector::passTime(), POSITION_EPS, MSAbstractLaneChangeModel::prepareStep(), MSVehicleControl::registerEmergencyStop(), setBlinkerInformation(), setEmergencyBlueLight(), SIMTIME, SUMO_const_haltingSpeed, SUMOReal, SVC_EMERGENCY, switchOffSignal(), switchOnSignal(), time2string(), toString(), updateBestLanes(), updateFurtherLanes(), MSAbstractLaneChangeModel::updateShadowLane(), updateState(), VEH_SIGNAL_BRAKELIGHT, workOnMoveReminders(), and WRITE_WARNING.

Referenced by MSLane::executeMovements().

§ fixPosition()

void MSVehicle::fixPosition ( )

repair errors in vehicle position after changing between internal edges

Definition at line 3095 of file MSVehicle.cpp.

References getLaneChangeModel(), MSGlobals::gLaneChangeDuration, MSVehicle::State::myPosLat, myState, and SUMOReal.

Referenced by MSAbstractLaneChangeModel::endLaneChangeManeuver().

§ getAcceleration()

SUMOReal MSVehicle::getAcceleration ( ) const
inlinevirtual

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)

Returns
The acceleration

Reimplemented from MSBaseVehicle.

Definition at line 458 of file MSVehicle.h.

References getPosition(), getSlope(), myAcceleration, and SUMOReal.

Referenced by GUIVehicle::getColorValue(), and MSBatteryExport::write().

§ getAccumulatedWaitingSeconds()

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

References getAccumulatedWaitingTime(), and STEPS2TIME.

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

§ getAccumulatedWaitingTime()

SUMOTime MSVehicle::getAccumulatedWaitingTime ( SUMOTime  t = MSGlobals::gWaitingTimeMemory) const
inline

Returns the SUMOTime waited (speed was lesser than 0.1m/s) within the last t millisecs.

Parameters
[in]tspecifies the length of the interval over which the cumulated waiting time is to be summed up (defaults to and must not exceed MSGlobals::gWaitingTimeMemory)
Returns
The time the vehicle was standing within the last t millisecs

Definition at line 545 of file MSVehicle.h.

References MSVehicle::WaitingTimeCollector::cumulatedWaitingTime(), and myWaitingTimeCollector.

Referenced by getAccumulatedWaitingSeconds().

§ getAngle()

SUMOReal MSVehicle::getAngle ( ) const
inlinevirtual

Returns the vehicle's direction in radians.

Returns
The vehicle's current angle

Implements SUMOVehicle.

Definition at line 574 of file MSVehicle.h.

References computeAngle(), myAngle, setAngle(), and SUMOReal.

Referenced by GUIVehicle::getAngle(), MSTransportable::Stage_Driving::getAngle(), and TraCIServerAPI_Vehicle::processGet().

§ getArrivalPos()

virtual SUMOReal 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 258 of file MSBaseVehicle.h.

References MSBaseVehicle::myArrivalPos.

Referenced by MSLCM_SL2015::_wantsChangeSublane().

§ getBackLane()

const MSLane * MSVehicle::getBackLane ( ) const
protected

Definition at line 2137 of file MSVehicle.cpp.

References myFurtherLanes, myLane, and SUMOReal.

Referenced by estimateLeaveSpeed(), and executeMove().

§ getBackPosition()

§ getBackPositionOnLane() [1/2]

§ getBackPositionOnLane() [2/2]

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

References myLane.

Referenced by getBackPosition(), getLastStepDist(), and getPositionOnLane().

§ getBestLaneOffset()

int MSVehicle::getBestLaneOffset ( ) const

returns the current offset from the best lane

Definition at line 3077 of file MSVehicle.cpp.

References myBestLanes.

Referenced by MSLCM_SL2015::changed(), MSLCM_LC2013::changed(), and GUIVehicle::getColorValue().

§ 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 best lanes structure holding matching the current vehicle position and state ahead

Definition at line 2714 of file MSVehicle.cpp.

References myBestLanes.

Referenced by MSLane::appropriate(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLaneChangerSublane::checkChangeHelper(), MSEdge::getDepartLane(), TraCIServerAPI_Vehicle::processGet(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().

§ 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 subpart of best lanes that describes the given lane and their successors.

Returns
The best lane information for the given lane

Definition at line 3057 of file MSVehicle.cpp.

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

§ getBoundingBox()

§ getBoundingPoly()

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

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

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSCriticalFollowerDistanceInfo::addFollower(), addStop(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), MSLane::checkFailure(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLaneChanger::computeOvertakingTime(), MSLink::couldBrakeForLeader(), estimateLeaveSpeed(), executeMove(), MSLane::freeInsertion(), MSLane::getCriticalLeader(), MSLane::getFollower(), MSLane::getLeader(), getLeader(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getMissingRearGap(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), getRerouteOrigin(), getSafeFollowSpeed(), GUIVehicle::getTypeParameterWindow(), MSLink::getZipperSpeed(), MSLCM_DK2008::informBlocker(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeader(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLink::maybeOccupied(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), planMoveInternal(), processNextStop(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), unsafeLinkAhead(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().

§ getCarFollowVariables()

§ getCenterOnEdge()

§ getChosenSpeedFactor()

SUMOReal 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 SUMOVehicle.

Definition at line 348 of file MSBaseVehicle.h.

References MSBaseVehicle::myChosenSpeedFactor.

Referenced by GUIMEVehicle::getParameterWindow(), GUIVehicle::getParameterWindow(), and TraCIServerAPI_Vehicle::processGet().

§ getCO2Emissions()

§ getCOEmissions()

§ getContainerNumber()

int MSVehicle::getContainerNumber ( ) const

§ getContainers()

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

§ 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 182 of file MSBaseVehicle.h.

References MSBaseVehicle::getAcceleration(), MSBaseVehicle::getSlope(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::onDepart(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), and SUMOReal.

Referenced by TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition().

§ getDeltaPos()

SUMOReal MSVehicle::getDeltaPos ( SUMOReal  accel)

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 1670 of file MSVehicle.cpp.

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

Referenced by updateState().

§ getDepartDelay()

SUMOTime MSBaseVehicle::getDepartDelay ( ) const
inlinevirtualinherited

§ getDepartPos()

SUMOReal MSBaseVehicle::getDepartPos ( ) const
inlinevirtualinherited

Returns this vehicle's real departure position.

Returns
This vehicle's real departure position

Implements SUMOVehicle.

Definition at line 250 of file MSBaseVehicle.h.

References MSBaseVehicle::myDepartPos.

Referenced by TraCIServerAPI_Vehicle::processGet().

§ 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 237 of file MSBaseVehicle.h.

References MSBaseVehicle::myDeparture.

Referenced by MSBaseVehicle::getDepartDelay().

§ getDevice()

MSDevice * MSBaseVehicle::getDevice ( const std::type_info &  type) const
virtualinherited

Returns a device of the given type if it exists or 0.

Implements SUMOVehicle.

Definition at line 420 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myDevices.

Referenced by GUIBaseVehicle::drawOnPos(), MSBaseVehicle::setChosenSpeedFactor(), and MSBatteryExport::write().

§ getDevices()

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

§ getDistanceToPosition()

SUMOReal MSVehicle::getDistanceToPosition ( SUMOReal  destPos,
const MSEdge destEdge 
) 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
destEdgedestination edge 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 3103 of file MSVehicle.cpp.

References MSRoute::getDistanceBetween(), MSLane::getEdge(), MSLane::getLength(), getPositionOnLane(), isOnRoad(), max, MSBaseVehicle::myCurrEdge, myLane, MSBaseVehicle::myRoute, and SUMOReal.

Referenced by MSVehicle::Influencer::implicitDeltaPosVTD(), MSVehicle::Influencer::implicitSpeedVTD(), and nextStopDist().

§ getEdge()

§ getElectricityConsumption()

SUMOReal MSVehicle::getElectricityConsumption ( ) const

§ getFuelConsumption()

SUMOReal MSVehicle::getFuelConsumption ( ) const

§ getFurtherLanes()

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

Definition at line 654 of file MSVehicle.h.

References myFurtherLanes.

Referenced by MSAbstractLaneChangeModel::updateShadowLane().

§ getFurtherLanesPosLat()

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

Definition at line 658 of file MSVehicle.h.

References myFurtherLanesPosLat.

Referenced by MSAbstractLaneChangeModel::updateShadowLane().

§ getHarmonoise_NoiseEmissions()

SUMOReal MSVehicle::getHarmonoise_NoiseEmissions ( ) const

§ getHCEmissions()

§ getID()

const std::string & MSBaseVehicle::getID ( ) const
virtualinherited

Returns the name of the vehicle.

Implements SUMOVehicle.

Definition at line 114 of file MSBaseVehicle.cpp.

References SUMOVehicleParameter::id, and MSBaseVehicle::myParameter.

Referenced by MSLCM_SL2015::_patchSpeed(), MSLCM_LC2013::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), adaptToLeader(), adaptToLeaders(), MSVehicleTransfer::add(), MSBaseVehicle::addStops(), addTraciBusOrContainerStop(), MSBaseVehicle::calculateArrivalParams(), MSLaneChangerSublane::change(), MSLaneChanger::change(), MSLCM_SL2015::changed(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSLane::checkFailure(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::cleanupShadowLane(), computeAngle(), MSLaneChanger::continueChange(), MSLCM_SL2015::decideDirection(), MSCalibrator::execute(), executeMove(), MSLane::executeMovements(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSLink::getInternalLengthsAfter(), MSLane::getLastVehicleInformation(), getLatOffset(), MSLane::getLeader(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), GUIMEVehicle::getParameterWindow(), GUIVehicle::getParameterWindow(), MSLane::getPartialBehind(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSAbstractLaneChangeModel::getShadowLane(), MSLane::handleCollisionBetween(), MSLCM_SL2015::inform(), MSLCM_LC2013::inform(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeader(), MESegment::initialise(), MSPedestrianPushButton::isActiveForEdge(), MSLane::isInsertionSuccess(), leaveLane(), MSCFModel_Daniel1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSLCM_LC2013::MSLCM_LC2013(), MSCalibrator::VehicleRemover::notifyEnter(), MSLCM_DK2008::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSLCM_LC2013::patchSpeed(), planMove(), planMoveInternal(), MSAbstractLaneChangeModel::primaryLaneChanged(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), MSLane::resetPartialOccupation(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSCalibrator::scheduleRemoval(), MSLane::setPartialOccupation(), TraCIServer::setVTDControlled(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), updateBestLanes(), MSLCM_SL2015::updateGaps(), MSAbstractLaneChangeModel::updateShadowLane(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSXMLRawOut::writeVehicle().

§ getImpatience()

§ getInfluencer() [1/2]

MSVehicle::Influencer & MSVehicle::getInfluencer ( )

Returns the velocity/lane influencer.

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

Returns
Reference to this vehicle's speed influencer

Definition at line 3690 of file MSVehicle.cpp.

References myInfluencer.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLane::detectCollisionBetween(), MSLane::executeMovements(), MSLane::handleCollisionBetween(), influenceChangeDecision(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), and TraCIServer::setVTDControlled().

§ getInfluencer() [2/2]

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

Definition at line 3699 of file MSVehicle.cpp.

References myInfluencer, and SUMOReal.

§ getLane()

MSLane* MSVehicle::getLane ( ) const
inlinevirtual

Returns the lane the vehicle is on.

Returns
The vehicle's current lane

Implements SUMOVehicle.

Definition at line 487 of file MSVehicle.h.

References myLane, and SUMOReal.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), adaptToLeaders(), MSVehicleTransfer::add(), MSLaneChangerSublane::change(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSVehicleTransfer::checkInsertions(), MSLCM_SL2015::checkStrategicChange(), MSLaneChanger::computeOvertakingTime(), MSAbstractLaneChangeModel::congested(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSVTypeProbe::execute(), MSLane::executeMovements(), MSCFModel_IDM::followSpeed(), GUIVehicle::getColorValue(), MSLane::getFollowersOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLCM_LC2013::getRoundaboutAheadInfo(), MSAbstractLaneChangeModel::getShadowDirection(), MSVTKExport::getSpeed(), MSLink::getZipperSpeed(), MSLane::integrateNewVehicle(), MSCFModel_IDM::interactionGap(), MSCFModel::interactionGap(), MSJunction::isLeader(), MSLCM_SL2015::keepLatGap(), MSCFModel_Daniel1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_IDM::moveHelper(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSLCM_DK2008::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSLCM_LC2013::patchSpeed(), planMoveInternal(), MSVehicle::Influencer::postProcessVTD(), MSLCM_SL2015::prepareStep(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), MSVehicleTransfer::remove(), MSCalibrator::removePending(), MSLane::removeVehicle(), setBlinkerInformation(), MSLaneChangerSublane::startChangeSublane(), MSCFModel_IDM::stopSpeed(), MSLaneChangerSublane::updateChanger(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSAbstractLaneChangeModel::updateShadowLane(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().

§ getLaneChangeModel() [1/2]

§ getLaneChangeModel() [2/2]

const MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel ( ) const

Definition at line 2708 of file MSVehicle.cpp.

References myLaneChangeModel.

§ getLaneIndex()

int MSVehicle::getLaneIndex ( ) const

§ getLastStepDist()

SUMOReal 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 getBackPositionOnLane(), getPositionOnLane(), MSVehicle::State::lastCoveredDist(), myState, and SUMOReal.

§ getLateralOverlap()

SUMOReal MSVehicle::getLateralOverlap ( ) const

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

Definition at line 3442 of file MSVehicle.cpp.

References getLateralPositionOnLane(), MSBaseVehicle::getVehicleType(), MSLane::getWidth(), and myLane.

Referenced by getLateralPositionOnLane(), MSAbstractLaneChangeModel::getShadowLane(), and MSAbstractLaneChangeModel::updateShadowLane().

§ getLateralPositionOnLane()

§ getLatOffset()

§ getLeader()

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

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 for a leader
Returns
The leading vehicle together with the gap; (0, -1) if no leader was found.

Definition at line 3120 of file MSVehicle.cpp.

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

Referenced by getTimeGap(), nextStopDist(), and TraCIServerAPI_Vehicle::processGet().

§ getMaxSpeed()

§ getMaxSpeedOnLane()

SUMOReal MSVehicle::getMaxSpeedOnLane ( ) const
inline

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

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

Referenced by MSLCM_LC2013::informFollower(), and MSCFModel::moveHelper().

§ getNextStop()

MSVehicle::Stop & MSVehicle::getNextStop ( )

returns the next imminent stop in the stop queue

Returns
the upcoming stop

Definition at line 3684 of file MSVehicle.cpp.

References myStops.

Referenced by MSLane::isInsertionSuccess(), TraCIServerAPI_Vehicle::processGet(), and signalSet().

§ getNOxEmissions()

§ 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 280 of file MSBaseVehicle.h.

References MSBaseVehicle::getImpatience(), MSBaseVehicle::myNumberReroutes, and SUMOReal.

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

§ getParameter()

§ getPersonNumber()

int MSVehicle::getPersonNumber ( ) const

§ getPersons()

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

§ getPMxEmissions()

§ getPosition()

§ getPositionOnLane() [1/2]

SUMOReal 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 SUMOVehicle.

Definition at line 374 of file MSVehicle.h.

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

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), adaptToLeaders(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSVehicleTransfer::checkInsertions(), MSLCM_SL2015::checkStrategicChange(), TraCIServerAPI_Vehicle::commandDistanceRequest(), computeAngle(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), executeMove(), MSLane::executeMovements(), MSLane::freeInsertion(), MSLane::getBruttoOccupancy(), MSLaneChanger::getCloserFollower(), getDistanceToPosition(), MSLane::getFirstAnyVehicle(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowerOnConsecutive(), MSLane::getFollowersOnConsecutive(), getLastStepDist(), MSLane::getLastVehicleInformation(), MSLane::getLeader(), getLeader(), MSLaneChangerSublane::getLeaders(), MSLane::getNettoOccupancy(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), GUIVehicle::getParameterWindow(), MSLane::getPartialBehind(), getPosition(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSLCM_LC2013::getRoundaboutAheadInfo(), getSlope(), MSVTKExport::getSpeed(), MSLane::lastInsertion(), MSLane::loadState(), MSLane::VehPosition::operator()(), MSLCM_SL2015::patchSpeed(), MSLCM_LC2013::patchSpeed(), planMove(), TraCIServerAPI_Vehicle::processGet(), MSCalibrator::remainingVehicleCapacity(), MSLane::safeInsertionSpeed(), GUIVehicle::selectBlockingFoes(), setBlinkerInformation(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().

§ getPositionOnLane() [2/2]

SUMOReal 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 2252 of file MSVehicle.cpp.

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

§ getPreviousSpeed()

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

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

§ getRerouteOrigin()

const MSEdge * 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 802 of file MSVehicle.cpp.

References MSCFModel::brakeGap(), MSRoute::end(), getCarFollowModel(), MSLane::getInternalFollower(), MSLane::getLength(), MSBaseVehicle::myCurrEdge, myLane, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, and myState.

Referenced by isOnRoad(), and TraCIServerAPI_Vehicle::processSet().

§ getRightSideOnEdge()

SUMOReal MSVehicle::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)

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

Definition at line 3361 of file MSVehicle.cpp.

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

Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLCM_SL2015::checkBlockingVehicles(), and getLateralPositionOnLane().

§ getRightSideOnLane()

SUMOReal MSVehicle::getRightSideOnLane ( ) const

Get the vehicle's lateral position on the lane:

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

Definition at line 3355 of file MSVehicle.cpp.

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

Referenced by getLateralPositionOnLane().

§ getRoute()

§ getRoutePosition()

§ getSafeFollowSpeed()

SUMOReal MSVehicle::getSafeFollowSpeed ( const std::pair< const MSVehicle *, SUMOReal leaderInfo,
const SUMOReal  seen,
const MSLane *const  lane,
SUMOReal  distToCrossing 
) const

compute safe speed for following the given leader

Definition at line 1650 of file MSVehicle.cpp.

References MSCFModel::followSpeed(), getCarFollowModel(), MSLane::getLength(), getSpeed(), MAX2(), POSITION_EPS, MSCFModel::stopSpeed(), and SUMOReal.

Referenced by adaptToLeader(), MSLane::getCriticalLeader(), and hasInfluencer().

§ getSignals()

int MSVehicle::getSignals ( ) const
inline

Returns the signals.

Returns
The signals' states

Definition at line 1069 of file MSVehicle.h.

References mySignals.

Referenced by TraCIServerAPI_Vehicle::processGet(), and MSFCDExport::write().

§ getSlope()

§ getSpaceTillLastStanding()

SUMOReal MSVehicle::getSpaceTillLastStanding ( const MSLane l,
bool &  foundStopped 
) const
protected

§ getSpeed()

SUMOReal MSVehicle::getSpeed ( ) const
inlinevirtual

Returns the vehicle's current speed.

Returns
The vehicle's speed

Implements SUMOVehicle.

Definition at line 441 of file MSVehicle.h.

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

Referenced by MSLCM_SL2015::_patchSpeed(), MSLCM_LC2013::_patchSpeed(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSCriticalFollowerDistanceInfo::addFollower(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), GUIApplicationWindow::checkGamingEvents(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLaneChanger::computeOvertakingTime(), MSLink::couldBrakeForLeader(), executeMove(), MSLane::forceVehicleInsertion(), MSLane::freeInsertion(), GUIVehicle::getColorValue(), MSLane::getCriticalLeader(), MSLane::getFollower(), MSLane::getLeader(), getLeader(), MSLaneChangerSublane::getLeaders(), MSLane::getMissingRearGap(), GUIVehicle::getParameterWindow(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), getSafeFollowSpeed(), MSVTKExport::getSpeed(), getTimeGap(), MSLink::getZipperSpeed(), MSLCM_DK2008::informBlocker(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeader(), MSLCM_SL2015::informLeaders(), MSCFModel_IDM::interactionGap(), MSCFModel::interactionGap(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLane::loadState(), MSLink::maybeOccupied(), MSCFModel_Daniel1::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel_PWag2009::moveHelper(), MSCFModel_Wiedemann::moveHelper(), MSCFModel::moveHelper(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSLCM_LC2013::patchSpeed(), planMove(), planMoveInternal(), MSAbstractLaneChangeModel::predInteraction(), MSAbstractLaneChangeModel::primaryLaneChanged(), TraCIServerAPI_Vehicle::processGet(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLCM_SL2015::updateGaps(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().

§ getSpeedWithoutTraciInfluence()

SUMOReal 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 3705 of file MSVehicle.cpp.

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

Referenced by TraCIServerAPI_Vehicle::processGet(), and signalSet().

§ getStopEdges()

const ConstMSEdgeVector MSVehicle::getStopEdges ( ) const
protectedvirtual

Returns the list of still pending stop edges.

Implements MSBaseVehicle.

Definition at line 1216 of file MSVehicle.cpp.

References myStops.

Referenced by hasInfluencer().

§ getTimeGap()

SUMOReal MSVehicle::getTimeGap ( ) const

Returns the time gap in seconds to the leader of the vehicle looking for a fixed distance.

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 3149 of file MSVehicle.cpp.

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

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

§ getVClass()

SUMOVehicleClass MSBaseVehicle::getVClass ( ) const
inlinevirtualinherited

§ getVehicleType()

const MSVehicleType& MSBaseVehicle::getVehicleType ( ) const
inlinevirtualinherited

Returns the vehicle's type definition.

Returns
The vehicle's type definition

Implements SUMOVehicle.

Definition at line 105 of file MSBaseVehicle.h.

References MSBaseVehicle::myType.

Referenced by MSLCM_SL2015::_patchSpeed(), MSLCM_LC2013::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), adaptToLeaders(), addStop(), MSLane::basePos(), MSTransportableControl::boardAnyWaiting(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), MSLane::checkFailure(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSLaneChanger::computeOvertakingTime(), MSLaneChanger::continueChange(), MSLane::detectCollisionBetween(), GUIVehicle::drawAction_drawLinkItems(), GUIVehicle::drawAction_drawRailCarriages(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBrakeLight(), GUIEdge::drawMesoVehicles(), MSLane::enteredByLaneChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), MEVehicle::estimateLeaveSpeed(), estimateLeaveSpeed(), executeMove(), MSLane::executeMovements(), MSLane::freeInsertion(), MEVehicle::getBackPositionOnLane(), MSLane::getBruttoOccupancy(), GUIBaseVehicle::getCenteringBoundary(), MSLane::getCriticalLeader(), MSEdge::getDepartLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSBaseVehicle::getImpatience(), getLateralOverlap(), MSLane::getLeader(), getLeader(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getNettoOccupancy(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), getRightSideOnEdge(), getRightSideOnLane(), MSLeaderInfo::getSubLanes(), getTimeGap(), MSLink::getZipperSpeed(), MESegment::hasSpaceFor(), MSLane::incorporateVehicle(), MSLCM_SL2015::informFollower(), MSLCM_SL2015::informLeader(), MSLane::insertVehicle(), MSLane::integrateNewVehicle(), MSLane::isInsertionSuccess(), MESegment::isOpen(), MSLCM_SL2015::keepLatGap(), MSLane::lastInsertion(), MSLane::leftByLaneChange(), MSTransportableControl::loadAnyWaiting(), MESegment::loadState(), overlap(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), planMoveInternal(), MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Vehicle::processGet(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), MESegment::receive(), MSLaneChanger::registerUnchanged(), MESegment::removeCar(), MSLane::removeVehicle(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), MESegment::send(), GUIBaseVehicle::setFunctionalColor(), setTentativeLaneAndPosition(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChanger::startChange(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), updateFurtherLanes(), MSLCM_SL2015::updateGaps(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().

§ getWaitingSeconds()

SUMOReal MSVehicle::getWaitingSeconds ( ) const
inline

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

References myWaitingTime, and STEPS2TIME.

Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSPedestrianPushButton::isActiveForEdge(), TraCIServerAPI_Vehicle::processGet(), MSEmissionExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().

§ getWaitingTime()

SUMOTime MSVehicle::getWaitingTime ( ) 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.

Returns
The time the vehicle is standing

Implements SUMOVehicle.

Definition at line 535 of file MSVehicle.h.

References myWaitingTime.

Referenced by checkRewindLinkLanes(), executeMove(), MSLane::executeMovements(), MSLink::getInternalLengthsAfter(), and GUIVehicle::selectBlockingFoes().

§ getWeightsStorage() [1/2]

const MSEdgeWeightsStorage & MSVehicle::getWeightsStorage ( ) const

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 694 of file MSVehicle.cpp.

References _getWeightsStorage().

Referenced by MSNet::getEffort(), MSNet::getTravelTime(), TraCIServerAPI_Vehicle::processGet(), and TraCIServerAPI_Vehicle::processSet().

§ getWeightsStorage() [2/2]

MSEdgeWeightsStorage & MSVehicle::getWeightsStorage ( )

Definition at line 700 of file MSVehicle.cpp.

References _getWeightsStorage().

§ 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 610 of file MSVehicle.cpp.

References MSRoute::end(), isRemoteControlled(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, MSVehicle::State::myPos, MSBaseVehicle::myRoute, myState, myStops, and POSITION_EPS.

Referenced by enterLaneAtMove(), executeMove(), and MSLane::executeMovements().

§ hasDeparted()

bool MSBaseVehicle::hasDeparted ( ) const
virtualinherited

§ hasInfluencer()

§ hasStops()

bool MSVehicle::hasStops ( ) const
inline

Returns whether the vehicle has to stop somewhere.

Returns
Whether the vehicle has to stop somewhere

Definition at line 829 of file MSVehicle.h.

References isParking(), isRemoteControlled(), isStopped(), and myStops.

Referenced by MSLane::isInsertionSuccess().

§ hasValidRoute()

bool MSBaseVehicle::hasValidRoute ( std::string &  msg,
const MSRoute 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 292 of file MSBaseVehicle.cpp.

References MSRoute::begin(), MSRoute::end(), MSVehicleType::getVehicleClass(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, and MSBaseVehicle::myType.

Referenced by MSBaseVehicle::getDevices(), MESegment::initialise(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), and MSBaseVehicle::replaceRouteEdges().

§ influenceChangeDecision()

§ 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 2258 of file MSVehicle.cpp.

References getLaneChangeModel(), MSAbstractLaneChangeModel::getShadowLane(), myLane, and SUMOReal.

Referenced by checkRewindLinkLanes(), MSLane::detectCollisionBetween(), MSLane::getFirstVehicleInformation(), MSLane::getFollowersOnConsecutive(), MSLink::getInternalLengthsAfter(), MSLane::getLeadersOnConsecutive(), MSLane::getPartialBehind(), and isOnRoad().

§ isOnRoad()

§ isParking()

bool MSVehicle::isParking ( ) const
virtual

Returns whether the vehicle is parking.

Returns
whether the vehicle is parking

Implements SUMOVehicle.

Definition at line 1009 of file MSVehicle.cpp.

References isStopped(), and myStops.

Referenced by MSVehicleTransfer::add(), computeAngle(), MSLane::executeMovements(), getPosition(), GUIVehicle::getStopInfo(), hasStops(), and TraCIServerAPI_Vehicle::processGet().

§ 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 3734 of file MSVehicle.cpp.

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

Referenced by MSLaneChangerSublane::change(), MSLaneChanger::change(), executeMove(), getPosition(), hasArrived(), and hasStops().

§ isStopped()

bool MSVehicle::isStopped ( ) const
virtual

§ isStoppedInRange()

bool MSVehicle::isStoppedInRange ( SUMOReal  pos) const

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

Definition at line 1021 of file MSVehicle.cpp.

References isStopped(), myStops, and SUMOReal.

Referenced by MSVehicleControl::getWaitingVehicle(), and nextStopDist().

§ isStoppedTriggered()

bool MSVehicle::isStoppedTriggered ( ) const
virtual

Returns whether the vehicle is on a triggered stop.

Returns
whether the vehicle is on a triggered stop

Implements SUMOVehicle.

Definition at line 1015 of file MSVehicle.cpp.

References isStopped(), and myStops.

Referenced by nextStopDist().

§ knowsEdgeTest()

bool MSVehicle::knowsEdgeTest ( MSEdge edge) const

Referenced by nextStopDist().

§ leaveLane()

§ loadState()

§ nextLinkPriority()

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

get a numerical value for the priority of the upcoming link

Definition at line 3015 of file MSVehicle.cpp.

References MSLinkContHelper::getConnectingLink(), and MSLink::havePriority().

Referenced by hasInfluencer(), and updateBestLanes().

§ nextStopDist()

§ 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 265 of file MSBaseVehicle.cpp.

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

Referenced by enterLaneAtInsertion(), MSBaseVehicle::getCurrentRouteEdge(), and MESegment::receive().

§ onRemovalFromNet()

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

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)

Definition at line 601 of file MSVehicle.cpp.

References MSVehicleTransfer::getInstance(), leaveLane(), myLFLinkLanes, MSVehicleTransfer::remove(), and removeApproachingInformation().

Referenced by MSVehicleTransfer::add(), MSLane::detectCollisions(), MSLane::executeMovements(), MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Vehicle::processSet(), and MSCalibrator::removePending().

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

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

§ planMove()

void MSVehicle::planMove ( const SUMOTime  t,
const MSLeaderInfo ahead,
const SUMOReal  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 discared 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 1226 of file MSVehicle.cpp.

References checkRewindLinkLanes(), DEBUG_COND, Named::getID(), MSBaseVehicle::getID(), getLaneChangeModel(), getLateralPositionOnLane(), getPositionOnLane(), getSpeed(), myLane, myLFLinkLanes, myStopDist, planMoveInternal(), MSAbstractLaneChangeModel::resetChanged(), and STEPS2TIME.

§ planMoveInternal()

void MSVehicle::planMoveInternal ( const SUMOTime  t,
MSLeaderInfo  ahead,
DriveItemVector lfLinks,
SUMOReal myStopDist 
) const
protected
Todo:
: documentation

Definition at line 1277 of file MSVehicle.cpp.

References MSVehicle::DriveProcessItem::adaptLeaveSpeed(), adaptToLeader(), adaptToLeaders(), ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, bla, MSCFModel::brakeGap(), MSVehicle::Stop::busstop, CRLL_LOOK_AHEAD, DEBUG_COND, DELTA_T, DIST_TO_STOPLINE_EXPECT_PRIORITY, MSEdge::EDGEFUNCTION_INTERNAL, MSRoute::end(), MSVehicle::Stop::endPos, estimateLeaveSpeed(), MSCFModel::estimateSpeedAfterDistance(), MSCFModel::freeSpeed(), gDebugSelectedVehicle, getBestLanesContinuation(), getCarFollowModel(), MSLane::getEdge(), MSBaseVehicle::getID(), MSNet::getInstance(), getLane(), getLaneChangeModel(), MSStoppingPlace::getLastFreePos(), MSLane::getLastVehicleInformation(), MSVehicleType::getLength(), MSLane::getLength(), MSLane::getLogicalPredecessorLane(), MSCFModel::getMaxAccel(), MSCFModel::getMaxDecel(), MSCFModel::getMinimalArrivalSpeed(), MSCFModel::getMinimalArrivalSpeedEuler(), MSCFModel::getMinimalArrivalTime(), MSLane::getOpposite(), MSLane::getParallelLane(), MSEdge::getPurpose(), MSLane::getRightSideOnEdge(), MSAbstractLaneChangeModel::getShadowLane(), getSpeed(), MSCFModel::getSpeedAfterMaxDecel(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MSGlobals::gUsingInternalLanes, MSVehicle::Influencer::influenceSpeed(), MSEdge::isInternal(), MSLane::isLinkEnd(), MSAbstractLaneChangeModel::isOpposite(), LINKDIR_LEFT, LINKDIR_RIGHT, LINKSTATE_TL_RED, LINKSTATE_TL_REDYELLOW, LINKSTATE_TL_YELLOW_MAJOR, LINKSTATE_TL_YELLOW_MINOR, max, MAX2(), MSCFModel::maximumSafeStopSpeed(), MSCFModel::maxNextSpeed(), MIN2(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, myInfluencer, myLane, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myStops, MSVehicle::DriveProcessItem::myVLinkWait, NUMERICAL_EPS, POSITION_EPS, removeApproachingInformation(), SIMTIME, SPEED2DIST, STEPS2TIME, MSCFModel::stopSpeed(), MSLane::succLinkSec(), SUMOReal, TIME2STEPS, and toString().

Referenced by planMove().

§ processNextStop()

SUMOReal MSVehicle::processNextStop ( SUMOReal  currentVelocity)

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

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

Definition at line 1027 of file MSVehicle.cpp.

References MSVehicleControl::addWaiting(), MSVehicle::Stop::awaitedContainers, MSVehicle::Stop::awaitedPersons, MSTransportableControl::boardAnyWaiting(), MSVehicle::Stop::busstop, MSVehicle::Stop::containerstop, MSVehicle::Stop::containerTriggered, DEBUG_COND, DELTA_T, MSVehicle::Stop::duration, MSVehicle::Stop::edge, MSVehicle::Stop::endPos, MSStoppingPlace::enter(), MSStoppingPlace::getBeginLanePosition(), getCarFollowModel(), MSNet::getContainerControl(), getContainerNumber(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSStoppingPlace::getEndLanePosition(), Named::getID(), MSBaseVehicle::getID(), MSNet::getInstance(), MSStoppingPlace::getLastFreePos(), MSVehicleType::getLength(), MSVehicleType::getMinGap(), MSNet::getPersonControl(), getPersonNumber(), getSpeed(), MSStoppingPlace::getStoppingPosition(), MSDevice_Transportable::getTransportables(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MSNet::hasContainers(), MSNet::hasPersons(), MSNet::informVehicleStateListener(), MSVehicle::Stop::lane, MSTransportableControl::loadAnyWaiting(), MAX2(), myAmRegisteredAsWaitingForContainer, myAmRegisteredAsWaitingForPerson, myContainerDevice, MSBaseVehicle::myCurrEdge, myLane, myPersonDevice, MSVehicle::State::myPos, MSVehicle::State::mySpeed, myState, myStops, MSBaseVehicle::myType, NUMERICAL_EPS, MSVehicle::State::pos(), MSVehicle::Stop::reached, MSVehicleControl::registerOneWaitingForContainer(), MSVehicleControl::registerOneWaitingForPerson(), MSStoppingPlace::removeTransportable(), resumeFromStopping(), SIMTIME, MSVehicle::Stop::startPos, STOPPING_PLACE_OFFSET, MSCFModel::stopSpeed(), SUMO_const_haltingSpeed, SUMOReal, MSVehicle::Stop::triggered, MSVehicleControl::unregisterOneWaitingForContainer(), MSVehicleControl::unregisterOneWaitingForPerson(), MSVehicle::Stop::until, MSNet::VEHICLE_STATE_STARTING_STOP, and WRITE_WARNING.

Referenced by MSVehicleTransfer::checkInsertions(), MSCFModel_Daniel1::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel::moveHelper(), and nextStopDist().

§ removeApproachingInformation()

void MSVehicle::removeApproachingInformation ( DriveItemVector lfLinks) const
protected

unregister approach from all upcoming links

Definition at line 3449 of file MSVehicle.cpp.

References getLaneChangeModel(), and MSAbstractLaneChangeModel::removeShadowApproachingInformation().

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

§ removeReminder()

void MSBaseVehicle::removeReminder ( MSMoveReminder rem)
inherited

Removes a MoveReminder dynamically.

Parameters
[in]remthe reminder to remove
See also
MSMoveReminder

Definition at line 331 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myMoveReminders.

Referenced by MSBaseVehicle::getDevices().

§ replaceRoute()

bool MSVehicle::replaceRoute ( const MSRoute route,
bool  onInit = false,
int  offset = 0 
)
virtual

§ replaceRouteEdges()

bool MSBaseVehicle::replaceRouteEdges ( ConstMSEdgeVector edges,
bool  onInit = false,
bool  check = false 
)
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
Returns
Whether the new route was accepted

Implements SUMOVehicle.

Definition at line 199 of file MSBaseVehicle.cpp.

References MSRoute::addReference(), MSRoute::begin(), RGBColor::DEFAULT_COLOR, MSRoute::dictionary(), MSGlobals::gCheckRoutes, MSRoute::getColor(), MSRoute::getEdges(), Named::getID(), MSBaseVehicle::getID(), MSBaseVehicle::getNumberReroutes(), MSBaseVehicle::getRerouteOrigin(), MSRoute::getStops(), MSBaseVehicle::hasValidRoute(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, MSRoute::release(), SUMOVehicle::replaceRoute(), MSRoute::size(), SUMOReal, toString(), and WRITE_WARNING.

Referenced by MSBaseVehicle::getCurrentRouteEdge(), MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Vehicle::processSet(), and MSBaseVehicle::reroute().

§ replaceVehicleType()

void MSVehicle::replaceVehicleType ( MSVehicleType type)

Replaces the current vehicle type by the one given.

If the currently used vehicle type is marked as being used by this vehicle only, it is deleted, first. The new, given type is then assigned to "myType".

Parameters
[in]typeThe new vehicle type
See also
MSVehicle::myType

Definition at line 3330 of file MSVehicle.cpp.

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

Referenced by TraCIServerAPI_Vehicle::processSet().

§ reroute()

void MSBaseVehicle::reroute ( SUMOTime  t,
SUMOAbstractRouter< MSEdge, SUMOVehicle > &  router,
const bool  onInit = false,
const bool  withTaz = false 
)
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
See also
replaceRoute

Implements SUMOVehicle.

Definition at line 148 of file MSBaseVehicle.cpp.

References MSEdge::allowedLanes(), MSBaseVehicle::calculateArrivalParams(), SUMOAbstractRouter< E, V >::compute(), MSEdge::dictionary(), MSEdge::EDGEFUNCTION_DISTRICT, SUMOVehicleParameter::fromTaz, Named::getID(), MSBaseVehicle::getID(), MSRoute::getLastEdge(), MSBaseVehicle::getRerouteOrigin(), MSBaseVehicle::getStopEdges(), MSBaseVehicle::getVClass(), MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::replaceRouteEdges(), SUMOVehicleParameter::toTaz, and SUMOVehicleParameter::via.

Referenced by MSBaseVehicle::getCurrentRouteEdge(), and TraCIServerAPI_Vehicle::processSet().

§ resetRoutePosition()

void MSVehicle::resetRoutePosition ( int  index)

§ resumeFromStopping()

§ saveState()

§ setAngle()

void MSVehicle::setAngle ( SUMOReal  angle)

Set a custom vehicle angle in rad.

Definition at line 817 of file MSVehicle.cpp.

References myAngle, and SUMOReal.

Referenced by getAngle(), MSVehicle::Influencer::postProcessVTD(), and MSLaneChangerSublane::startChangeSublane().

§ setArrivalPos()

virtual void MSBaseVehicle::setArrivalPos ( SUMOReal  arrivalPos)
inlinevirtualinherited

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

Implements SUMOVehicle.

Definition at line 264 of file MSBaseVehicle.h.

References MSBaseVehicle::hasArrived(), MSBaseVehicle::hasDeparted(), and MSBaseVehicle::myArrivalPos.

§ setBlinkerInformation()

§ setChosenSpeedFactor()

void MSBaseVehicle::setChosenSpeedFactor ( const SUMOReal  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 355 of file MSBaseVehicle.h.

References MSBaseVehicle::addStops(), MSBaseVehicle::calculateArrivalParams(), MSBaseVehicle::getDevice(), MSBaseVehicle::getStopEdges(), MSBaseVehicle::myChosenSpeedFactor, and MSBaseVehicle::saveState().

Referenced by TraCIServerAPI_Vehicle::processSet().

§ setEmergencyBlueLight()

void MSVehicle::setEmergencyBlueLight ( SUMOTime  currentTime)
protected

sets the blue flashing light for emergency vehicles

Definition at line 3318 of file MSVehicle.cpp.

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

Referenced by executeMove(), and hasInfluencer().

§ setTentativeLaneAndPosition()

void MSVehicle::setTentativeLaneAndPosition ( MSLane lane,
SUMOReal  pos,
SUMOReal  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 sucessfully inserted the lane is set again (see enterLaneAtInsertion)

Definition at line 3345 of file MSVehicle.cpp.

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

Referenced by congested(), MSLane::isInsertionSuccess(), and TraCIServerAPI_Vehicle::processSet().

§ setVTDState()

void MSVehicle::setVTDState ( Position  xyPos)

sets position outside the road network

Definition at line 3727 of file MSVehicle.cpp.

References myCachedPosition.

Referenced by hasInfluencer(), and MSVehicle::Influencer::postProcessVTD().

§ signalSet()

bool MSVehicle::signalSet ( int  which) const
inline

§ 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 132 of file MSBaseVehicle.cpp.

References MSRoute::begin(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.

Referenced by MSVehicleTransfer::add(), MSLane::appropriate(), MSVehicleTransfer::checkInsertions(), MESegment::getLink(), MSBaseVehicle::getVClass(), MSBaseVehicle::hasArrived(), MSPedestrianPushButton::isActiveForEdge(), MELoop::nextSegment(), TraCIServerAPI_Vehicle::processSet(), and MESegment::receive().

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

References mySignals.

Referenced by MSAbstractLaneChangeModel::endLaneChangeManeuver(), executeMove(), TraCIServerAPI_Vehicle::processSet(), setBlinkerInformation(), setEmergencyBlueLight(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().

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

References mySignals.

Referenced by executeMove(), TraCIServerAPI_Vehicle::processSet(), setBlinkerInformation(), setEmergencyBlueLight(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().

§ unsafeLinkAhead()

§ 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 bect 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 2720 of file MSVehicle.cpp.

References abs, MSEdge::allowedLanes(), MSVehicle::LaneQ::allowsContinuation, MSLane::allowsVehicleClass(), ARRIVAL_LANE_GIVEN, SUMOVehicleParameter::arrivalLaneProcedure, MSVehicle::LaneQ::bestContinuations, MSVehicle::LaneQ::bestLaneOffset, bla, MSEdge::clear(), MSVehicle::LaneQ::currentLength, DEBUG_COND, MSEdge::EDGEFUNCTION_INTERNAL, MSRoute::end(), gDebugSelectedVehicle, getBestLanesContinuation(), MSLane::getEdge(), Named::getID(), MSBaseVehicle::getID(), Named::getIDSecure(), MSLane::getInternalFollower(), getLaneChangeModel(), MSEdge::getLanes(), MSLane::getLength(), MSEdge::getLength(), MSLane::getLinkCont(), MSLane::getLogicalPredecessorLane(), MSEdge::getPurpose(), MSVehicleType::getVehicleClass(), MSVehicle::LaneQ::lane, MSVehicle::Stop::lane, MSVehicle::LaneQ::length, MAX2(), MIN2(), MSBaseVehicle::myArrivalLane, MSBaseVehicle::myArrivalPos, myBestLanes, MSBaseVehicle::myCurrEdge, myCurrentLaneInBestLanes, myLane, myLastBestLanesEdge, myLastBestLanesInternalLane, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, myStops, MSBaseVehicle::myType, nextLinkPriority(), MSVehicle::LaneQ::nextOccupation, MSVehicle::LaneQ::occupation, POSITION_EPS, SIMTIME, MSVehicle::Stop::startPos, SUMOReal, toString(), and updateOccupancyAndCurrentBestLane().

Referenced by addTraciBusOrContainerStop(), addTraciStop(), MSLaneChangerSublane::change(), MSLaneChanger::change(), enterLaneAtLaneChange(), executeMove(), MSLane::forceVehicleInsertion(), MSEdge::getDepartLane(), MSLane::isInsertionSuccess(), MSLane::loadState(), MSVehicle::Influencer::postProcessVTD(), replaceRoute(), and resumeFromStopping().

§ updateFurtherLanes()

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

§ updateOccupancyAndCurrentBestLane()

void MSVehicle::updateOccupancyAndCurrentBestLane ( const MSLane startLane)
protected

updates LaneQ::nextOccupation and myCurrentLaneInBestLanes

Definition at line 3031 of file MSVehicle.cpp.

References myBestLanes, myCurrentLaneInBestLanes, and SUMOReal.

Referenced by hasInfluencer(), and updateBestLanes().

§ updateState()

void MSVehicle::updateState ( SUMOReal  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 2090 of file MSVehicle.cpp.

References getDeltaPos(), getLaneChangeModel(), MSLane::getOpposite(), MSLane::getOppositePos(), MSGlobals::gSemiImplicitEulerUpdate, MSVehicle::Influencer::implicitDeltaPosVTD(), Position::INVALID, MSVehicle::Influencer::isVTDControlled(), MAX2(), myAcceleration, myCachedPosition, myInfluencer, myLane, MSVehicle::State::myLastCoveredDist, MSVehicle::State::myPos, MSVehicle::State::myPreviousSpeed, MSVehicle::State::mySpeed, myState, SPEED2ACCEL, SPEED2DIST, and SUMOReal.

Referenced by estimateLeaveSpeed(), and executeMove().

§ willPass()

bool MSVehicle::willPass ( const MSEdge *const  edge) const

Returns whether the vehicle wil pass the given edge.

Parameters
[in]Theedge to find in the vehicle's current route
Returns
Whether the given edge will be passed by the vehicle
Todo:
Move to MSRoute?

Definition at line 673 of file MSVehicle.cpp.

References MSRoute::end(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.

Referenced by TraCIServerAPI_Vehicle::processSet().

§ workOnMoveReminders()

void MSVehicle::workOnMoveReminders ( SUMOReal  oldPos,
SUMOReal  newPos,
SUMOReal  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 716 of file MSVehicle.cpp.

References MAX2(), MSBaseVehicle::myMoveReminders, and SUMOReal.

Referenced by executeMove().

Friends And Related Function Documentation

§ MSLaneChanger

friend class MSLaneChanger
friend

the lane changer sets myLastLaneChangeOffset

Definition at line 86 of file MSVehicle.h.

§ MSLaneChangerSublane

friend class MSLaneChangerSublane
friend

Definition at line 87 of file MSVehicle.h.

Field Documentation

§ myAcceleration

SUMOReal MSVehicle::myAcceleration
protected

§ myAmOnNet

bool MSVehicle::myAmOnNet
protected

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

Definition at line 1472 of file MSVehicle.h.

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

§ myAmRegisteredAsWaitingForContainer

bool MSVehicle::myAmRegisteredAsWaitingForContainer
protected

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

Definition at line 1478 of file MSVehicle.h.

Referenced by processNextStop(), and resumeFromStopping().

§ myAmRegisteredAsWaitingForPerson

bool MSVehicle::myAmRegisteredAsWaitingForPerson
protected

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

Definition at line 1475 of file MSVehicle.h.

Referenced by processNextStop(), and resumeFromStopping().

§ myAngle

SUMOReal MSVehicle::myAngle
protected

the angle in radians (

Todo:
consider moving this into myState)

Definition at line 1483 of file MSVehicle.h.

Referenced by MSLaneChanger::continueChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), executeMove(), getAngle(), and setAngle().

§ myArrivalLane

int MSBaseVehicle::myArrivalLane
protectedinherited

The destination lane where the vehicle stops.

Definition at line 433 of file MSBaseVehicle.h.

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

§ myArrivalPos

SUMOReal MSBaseVehicle::myArrivalPos
protectedinherited

§ myBestLanes

std::vector<std::vector<LaneQ> > MSVehicle::myBestLanes
protected

§ myCachedPosition

§ myCFVariables

MSCFModel::VehicleVariables* MSVehicle::myCFVariables
private

The per vehicle variables of the car following model.

Definition at line 1619 of file MSVehicle.h.

Referenced by getCarFollowVariables(), and MSVehicle().

§ myChosenSpeedFactor

SUMOReal MSBaseVehicle::myChosenSpeedFactor
protectedinherited

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

Definition at line 403 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getChosenSpeedFactor(), and MSBaseVehicle::setChosenSpeedFactor().

§ myContainerDevice

MSDevice_Transportable* MSVehicle::myContainerDevice
protected

The containers this vehicle may have.

Definition at line 1459 of file MSVehicle.h.

Referenced by addContainer(), GUIVehicle::drawAction_drawPersonsAndContainers(), getContainerNumber(), getContainers(), and processNextStop().

§ myCurrEdge

§ myCurrentLaneInBestLanes

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

Definition at line 1448 of file MSVehicle.h.

Referenced by updateBestLanes(), and updateOccupancyAndCurrentBestLane().

§ myDepartPos

SUMOReal MSBaseVehicle::myDepartPos
protectedinherited

The real depart position.

Definition at line 427 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getDepartPos(), and MSBaseVehicle::onDepart().

§ myDeparture

SUMOTime MSBaseVehicle::myDeparture
protectedinherited

§ myDevices

§ myEdgeWeights

MSEdgeWeightsStorage* MSVehicle::myEdgeWeights
mutableprivate

Definition at line 1616 of file MSVehicle.h.

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

§ myEmptyLaneVector

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

Definition at line 1449 of file MSVehicle.h.

Referenced by getBestLanesContinuation().

§ myEmptyTransportableVector

std::vector< MSTransportable * > MSVehicle::myEmptyTransportableVector
staticprotected

Definition at line 1450 of file MSVehicle.h.

Referenced by getContainers(), and getPersons().

§ myFurtherLanes

std::vector<MSLane*> MSVehicle::myFurtherLanes
protected

§ myFurtherLanesPosLat

std::vector<SUMOReal> MSVehicle::myFurtherLanesPosLat
protected

§ myHaveToWaitOnNextLink

bool MSVehicle::myHaveToWaitOnNextLink
protected

Definition at line 1480 of file MSVehicle.h.

Referenced by checkRewindLinkLanes(), and executeMove().

§ myInfluencer

Influencer* MSVehicle::myInfluencer
private

An instance of a velocity/lane influencing instance; built in "getInfluencer".

Definition at line 1623 of file MSVehicle.h.

Referenced by checkRewindLinkLanes(), executeMove(), getInfluencer(), getSpeedWithoutTraciInfluence(), hasInfluencer(), isRemoteControlled(), planMoveInternal(), updateState(), and ~MSVehicle().

§ myLane

§ myLaneChangeModel

MSAbstractLaneChangeModel* MSVehicle::myLaneChangeModel
protected

Definition at line 1442 of file MSVehicle.h.

Referenced by enterLaneAtLaneChange(), getLaneChangeModel(), MSVehicle(), and ~MSVehicle().

§ myLastBestLanesEdge

const MSEdge* MSVehicle::myLastBestLanesEdge
protected

Definition at line 1444 of file MSVehicle.h.

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

§ myLastBestLanesInternalLane

const MSLane* MSVehicle::myLastBestLanesInternalLane
protected

Definition at line 1445 of file MSVehicle.h.

Referenced by replaceRoute(), and updateBestLanes().

§ myLFLinkLanes

§ myMoveReminders

§ myNumberReroutes

int MSBaseVehicle::myNumberReroutes
protectedinherited

The number of reroutings.

Definition at line 436 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getNumberReroutes(), replaceRoute(), and MEVehicle::replaceRoute().

§ myParameter

§ myPersonDevice

MSDevice_Transportable* MSVehicle::myPersonDevice
protected

§ myRoute

§ mySignals

int MSVehicle::mySignals
protected

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

Definition at line 1469 of file MSVehicle.h.

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

§ myState

§ myStopDist

SUMOReal MSVehicle::myStopDist
protected

distance to the next stop or -1 if there is none

Definition at line 1486 of file MSVehicle.h.

Referenced by nextStopDist(), and planMove().

§ myStops

§ myType

§ myWaitingTime

SUMOTime MSVehicle::myWaitingTime
protected

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

Definition at line 1430 of file MSVehicle.h.

Referenced by enterLaneAtInsertion(), executeMove(), getWaitingSeconds(), getWaitingTime(), and resumeFromStopping().

§ myWaitingTimeCollector

WaitingTimeCollector MSVehicle::myWaitingTimeCollector
protected

Definition at line 1434 of file MSVehicle.h.

Referenced by executeMove(), and getAccumulatedWaitingTime().

§ NOT_YET_DEPARTED

const SUMOTime MSBaseVehicle::NOT_YET_DEPARTED = SUMOTime_MAX
staticprotectedinherited

Definition at line 441 of file MSBaseVehicle.h.

Referenced by enterLaneAtInsertion(), and MSBaseVehicle::hasDeparted().


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