![]() |
SUMO - Simulation of Urban MObility
|
Representation of a vehicle in the micro simulation. More...
#include <MSVehicle.h>


Data Structures | |
| struct | DriveProcessItem |
| class | Influencer |
| Changes the wished vehicle speed / lanes. More... | |
| struct | LaneQ |
| A structure representing the best lanes for continuing the current route starting at 'lane'. More... | |
| class | 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< SUMOVehicle > | ComparatorIdLess |
Public Member Functions | |
| void | activateReminders (const MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
| "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 | addTraciStop (MSLane *const lane, const double startPos, const double endPos, const SUMOTime duration, const SUMOTime until, const bool parking, const bool triggered, const bool containerTriggered, std::string &errorMsg) |
| bool | addTraciStopAtStoppingPlace (const std::string &stopId, const SUMOTime duration, const SUMOTime until, const bool parking, const bool triggered, const bool containerTriggered, const SumoXMLTag stoppingPlaceType, std::string &errorMsg) |
| double | computeAngle () const |
| compute the current vehicle angle More... | |
| bool | congested () const |
| void | createDevice (const std::string &deviceName) |
| create device of the given type More... | |
| void | enterLaneAtInsertion (MSLane *enteredLane, double pos, double speed, double posLat, MSMoveReminder::Notification notification) |
| Update when the vehicle enters a new lane in the emit step. 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 double | 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 MSCFModel & | getCarFollowModel () const |
| Returns the vehicle's car following model definition. More... | |
| MSCFModel::VehicleVariables * | getCarFollowVariables () const |
| Returns the vehicle's car following model variables. More... | |
| double | getChosenSpeedFactor () const |
| Returns the precomputed factor by which the driver wants to be faster than the speed limit. More... | |
| const MSRouteIterator & | getCurrentRouteEdge () const |
| Returns an iterator pointing to the current edge in this vehicles route. More... | |
| double | getDeltaPos (double 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... | |
| double | getDepartPos () const |
| Returns this vehicle's real departure position. More... | |
| SUMOTime | getDeparture () const |
| Returns this vehicle's real departure time. More... | |
| MSDevice * | getDevice (const std::type_info &type) const |
| Returns a device of the given type if it exists or 0. More... | |
| std::string | getDeviceParameter (const std::string &deviceName, const std::string &key) const |
| try to retrieve the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists More... | |
| const std::vector< MSDevice * > & | getDevices () const |
| Returns this vehicle's devices. More... | |
| double | getDistanceToPosition (double destPos, const MSEdge *destEdge) const |
| const MSEdge * | getEdge () const |
| Returns the edge the vehicle is currently at. More... | |
| const std::vector< MSLane * > & | getFurtherLanes () const |
| const std::vector< double > & | getFurtherLanesPosLat () const |
| const std::string & | getID () const |
| Returns the name of the vehicle. More... | |
| double | getImpatience () const |
| Returns this vehicles impatience. More... | |
| Influencer & | getInfluencer () |
| Returns the velocity/lane influencer. More... | |
| const Influencer * | getInfluencer () const |
| MSAbstractLaneChangeModel & | getLaneChangeModel () |
| const MSAbstractLaneChangeModel & | getLaneChangeModel () const |
| int | getLaneIndex () const |
| std::pair< const MSVehicle *const, double > | getLeader (double dist=0) const |
| Returns the leader of the vehicle looking for a fixed distance. More... | |
| double | getLength () const |
| Returns the vehicle's length. More... | |
| double | getMaxSpeed () const |
| Returns the maximum speed. More... | |
| Stop & | getNextStop () |
| int | getNumberReroutes () const |
| Returns the number of new routes this vehicle got. More... | |
| const SUMOVehicleParameter & | getParameter () const |
| Returns the vehicle's parameter (including departure definition) More... | |
| const MSRoute & | getRoute () const |
| Returns the current route. More... | |
| double | getSafeFollowSpeed (const std::pair< const MSVehicle *, double > leaderInfo, const double seen, const MSLane *const lane, double distToCrossing) const |
| compute safe speed for following the given leader More... | |
| MSVehicleType & | getSingularType () |
| Replaces the current vehicle type with a new one used by this vehicle only. More... | |
| double | getSpeedWithoutTraciInfluence () const |
| Returns the uninfluenced velocity. More... | |
| double | getTimeGapOnLane () const |
| Returns the time gap in seconds to the leader of the vehicle on the same lane. More... | |
| SUMOVehicleClass | getVClass () const |
| Returns the vehicle's access class. More... | |
| const MSVehicleType & | getVehicleType () const |
| Returns the vehicle's type definition. More... | |
| double | getWidth () const |
| Returns the vehicle's width. More... | |
| bool | hasDeparted () const |
| Returns whether this vehicle has already departed. More... | |
| bool | hasDevice (const std::string &deviceName) const |
| check whether the vehicle is equiped with a device of the given type 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... | |
| virtual bool | isSelected () const |
| whether this vehicle is selected in the GUI More... | |
| bool | knowsEdgeTest (MSEdge &edge) const |
| void | leaveLane (const MSMoveReminder::Notification reason, const MSLane *approachedLane=0) |
| Update of members if vehicle leaves a new lane in the lane change step or at arrival. More... | |
| MSVehicle (SUMOVehicleParameter *pars, const MSRoute *route, MSVehicleType *type, const double speedFactor) | |
| Constructor. More... | |
| void | onDepart () |
| Called when the vehicle is inserted into the network. More... | |
| bool | onFurtherEdge (const MSEdge *edge) const |
| whether this vehicle has its back (and no its front) on the given edge More... | |
| void | planMove (const SUMOTime t, const MSLeaderInfo &ahead, const double lengthsInFront) |
| Compute safe velocities for the upcoming lanes based on positions and speeds from the last time step. Also registers ApproachingVehicleInformation for all links. More... | |
| double | processNextStop (double 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, bool addStops=true) |
| 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 (double angle) |
| Set a custom vehicle angle in rad. More... | |
| virtual void | setArrivalPos (double arrivalPos) |
| Sets this vehicle's desired arrivalPos for its current route. More... | |
| void | setChosenSpeedFactor (const double factor) |
| Returns the precomputed factor by which the driver wants to be faster than the speed limit. More... | |
| void | setDeviceParameter (const std::string &deviceName, const std::string &key, const std::string &value) |
| try to set the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists More... | |
| void | setTentativeLaneAndPosition (MSLane *lane, double pos, double posLat=0) |
| set tentative lane and position during insertion to ensure that all cfmodels work (some of them require veh->getLane() to return a valid lane) Once the vehicle is sucessfully inserted the lane is set again (see enterLaneAtInsertion) More... | |
| void | setVTDState (Position xyPos) |
| sets position outside the road network More... | |
| const MSEdge * | succEdge (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... | |
| double | updateFurtherLanes (std::vector< MSLane * > &furtherLanes, std::vector< double > &furtherLanesPosLat, const std::vector< MSLane * > &passedLanes) |
| update a vector of further lanes and return the new backPos 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, bool addStops=true) |
| 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 MSEdgeWeightsStorage & | getWeightsStorage () const |
| Returns the vehicle's internal edge travel times/efforts container. More... | |
| MSEdgeWeightsStorage & | getWeightsStorage () |
state setter/getter | |
| double | getPositionOnLane () const |
| Get the vehicle's position along the lane. More... | |
| double | getLastStepDist () const |
| Get the distance the vehicle covered in the previous timestep. More... | |
| double | getPositionOnLane (const MSLane *lane) const |
| Get the vehicle's front position relative to the given lane. More... | |
| double | getBackPositionOnLane (const MSLane *lane) const |
| Get the vehicle's position relative to the given lane. More... | |
| double | getBackPositionOnLane () const |
| Get the vehicle's position relative to its current lane. More... | |
| double | getLateralPositionOnLane () const |
| Get the vehicle's lateral position on the lane. More... | |
| double | getRightSideOnLane () const |
| Get the vehicle's lateral position on the lane: More... | |
| double | getLateralOverlap () const |
| return the amount by which the vehicle extends laterally outside it's primary lane More... | |
| double | getLateralOverlap (double posLat) const |
| double | getRightSideOnEdge (const MSLane *lane=0) const |
| Get the vehicle's lateral position on the edge of the given lane (or its current edge if lane == 0) More... | |
| double | getCenterOnEdge (const MSLane *lane=0) const |
| Get the vehicle's lateral position on the edge of the given lane (or its current edge if lane == 0) More... | |
| double | getLatOffset (const MSLane *lane) const |
| Get the offset that that must be added to interpret myState.myPosLat for the given lane. More... | |
| double | getSpeed () const |
| Returns the vehicle's current speed. More... | |
| double | getPreviousSpeed () const |
| Returns the vehicle's speed before the previous time step. More... | |
| double | getAcceleration () const |
| Returns the vehicle's acceleration in m/s (this is computed as the last step's mean acceleration in case that a stop occurs within the middle of the time-step) More... | |
Other getter methods | |
| double | getSlope () const |
| Returns the slope of the road at vehicle's position. More... | |
| Position | getPosition (const double offset=0) const |
| Return current position (x/y, cartesian) More... | |
| Position | getPositionAlongBestLanes (double offset) const |
| Return the (x,y)-position, which the vehicle would reach if it continued along its best continuation lanes from the current for a distance of offset m. More... | |
| MSLane * | getLane () const |
| Returns the lane the vehicle is on. More... | |
| double | getMaxSpeedOnLane () const |
| Returns the maximal speed for the vehicle on its current lane (including speed factor and deviation, i.e., not necessarily the allowed speed limit) 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 MSEdge * | getRerouteOrigin () 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 | getTimeLoss () const |
| Returns the SUMOTime lost (speed was lesser maximum speed) 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... | |
| double | getWaitingSeconds () const |
| Returns the number of seconds waited (speed was lesser than 0.1m/s) More... | |
| double | getAccumulatedWaitingSeconds () const |
| Returns the number of seconds waited (speed was lesser than 0.1m/s) within the last millisecs. More... | |
| double | getTimeLossSeconds () const |
| Returns the time loss in seconds. More... | |
| double | getAngle () const |
| Returns the vehicle's direction in radians. More... | |
| Position | getVelocityVector () 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 best sequence of lanes to continue the route starting at myLane. More... | |
| const std::vector< MSLane * > & | getBestLanesContinuation (const MSLane *const l) const |
| Returns the best sequence of lanes to continue the route starting at the given lane. More... | |
| int | getBestLaneOffset () const |
| void | adaptBestLanesOccupation (int laneIndex, double density) |
| update occupation from MSLaneChanger More... | |
vehicle stops definitions and i/o | |
| bool | addStop (const SUMOVehicleParameter::Stop &stopPar, std::string &errorMsg, SUMOTime untilOffset=0, bool collision=false, MSRouteIterator *searchStart=0) |
| Adds a stop. More... | |
| bool | replaceParkingArea (MSParkingArea *parkingArea, std::string &errorMsg) |
| replace the current parking area stop with a new stop with merge duration More... | |
| MSParkingArea * | getNextParkingArea () |
| get the current parking area 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 | isStoppedOnLane () const |
| bool | keepStopping (bool afterProcessing=false) const |
| Returns whether the vehicle is stopped and must continue to do so. More... | |
| SUMOTime | collisionStopTime () const |
| Returns the remaining time a vehicle needs to stop due to a collision. A negative value indicates that the vehicle is not stopping due to a collision (or at all) 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... | |
| bool | wasRemoteControlled (SUMOTime lookBack=DELTA_T) const |
| Returns the information whether the vehicle is fully controlled via TraCI within the lookBack time. More... | |
| double | nextStopDist () const |
| return the distance to the next stop or doubleMax if there is none. More... | |
| bool | isStoppedTriggered () const |
| Returns whether the vehicle is on a triggered stop. More... | |
| bool | isStoppedInRange (double pos) const |
| return whether the given position is within range of the current stop More... | |
Emission retrieval | |
| double | getCO2Emissions () const |
| Returns CO2 emission of the current state. More... | |
| double | getCOEmissions () const |
| Returns CO emission of the current state. More... | |
| double | getHCEmissions () const |
| Returns HC emission of the current state. More... | |
| double | getNOxEmissions () const |
| Returns NOx emission of the current state. More... | |
| double | getPMxEmissions () const |
| Returns PMx emission of the current state. More... | |
| double | getFuelConsumption () const |
| Returns fuel consumption of the current state. More... | |
| double | getElectricityConsumption () const |
| Returns electricity consumption of the current state. More... | |
| double | 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... | |
| void | removeTransportable (MSTransportable *t) |
| removes a person or 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< DriveProcessItem > | DriveItemVector |
| Container for used Links/visited Lanes during lookForward. More... | |
Protected Member Functions | |
| void | adaptToLeader (const std::pair< const MSVehicle *, double > leaderInfo, const double seen, DriveProcessItem *const lastLink, const MSLane *const lane, double &v, double &vLinkPass, double distToCrossing=-1) const |
| void | adaptToLeaders (const MSLeaderInfo &ahead, double latOffset, const double seen, DriveProcessItem *const lastLink, const MSLane *const lane, double &v, double &vLinkPass) const |
| void | calculateArrivalParams () |
| (Re-)Calculates the arrival position and lane from the vehicle parameters More... | |
| void | checkLinkLeader (const MSLink *link, const MSLane *lane, double seen, DriveProcessItem *const lastLink, double &v, double &vLinkPass, double &vLinkWait, bool &setRequest, bool isShadowLink=false) const |
| checks for link leaders on the given link More... | |
| void | checkRewindLinkLanes (const double lengthsInFront, DriveItemVector &lfLinks) const |
| virtual void | drawOutsideNetwork (bool) |
| register vehicle for drawing while outside the network More... | |
| double | estimateLeaveSpeed (const MSLink *const link, const double vLinkPass) const |
| estimate leaving speed when accelerating across a link More... | |
| const MSLane * | getBackLane () const |
| const Position | getBackPosition () const |
| double | getSpaceTillLastStanding (const MSLane *l, bool &foundStopped) const |
| const ConstMSEdgeVector | getStopEdges () const |
| Returns the list of still pending stop edges. More... | |
| bool | ignoreRed (const MSLink *link, bool canBrake) const |
| decide whether a red (or yellow light) may be ignore More... | |
| bool | keepClear (const MSLink *link) const |
| decide whether the given link must be kept clear More... | |
| void | planMoveInternal (const SUMOTime t, MSLeaderInfo ahead, DriveItemVector &lfLinks, double &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 (double vNext) |
| updates the vehicles state, given a next value for its speed. This value can be negative in case of the ballistic update to indicate a stop within the next timestep. (You can call this a 'hack' to emulate reasoning based on accelerations: The assumed constant acceleration a within the next time step is then a = (vNext - vCurrent)/TS ) More... | |
| Position | validatePosition (Position result, double offset=0) const |
| ensure that a vehicle-relative position is not invalid More... | |
Protected Attributes | |
| double | 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... | |
| double | myAngle |
| the angle in radians ( More... | |
| int | myArrivalLane |
| The destination lane where the vehicle stops. More... | |
| double | myArrivalPos |
| The position on the destination lane where the vehicle stops. More... | |
| std::vector< std::vector< LaneQ > > | myBestLanes |
| Position | myCachedPosition |
| double | myChosenSpeedFactor |
| A precomputed factor by which the driver wants to be faster than the speed limit. More... | |
| SUMOTime | myCollisionImmunity |
| amount of time for which the vehicle is immune from collisions More... | |
| MSDevice_Transportable * | myContainerDevice |
| The containers this vehicle may have. More... | |
| MSRouteIterator | myCurrEdge |
| Iterator to current route-edge. More... | |
| std::vector< LaneQ >::iterator | myCurrentLaneInBestLanes |
| double | 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< double > | myFurtherLanesPosLat |
| bool | myHaveToWaitOnNextLink |
| MSLane * | myLane |
| The lane the vehicle is on. More... | |
| MSAbstractLaneChangeModel * | myLaneChangeModel |
| const MSEdge * | myLastBestLanesEdge |
| const MSLane * | myLastBestLanesInternalLane |
| DriveItemVector | myLFLinkLanes |
| int | myNumberReroutes |
| The number of reroutings. More... | |
| const SUMOVehicleParameter * | myParameter |
| This vehicle's parameter. More... | |
| MSDevice_Transportable * | myPersonDevice |
| The passengers this vehicle may have. More... | |
| const MSRoute * | myRoute |
| 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... | |
| double | myStopDist |
| distance to the next stop or -1 if there is none More... | |
| std::list< Stop > | myStops |
| The vehicle's list of stops. More... | |
| SUMOTime | myTimeLoss |
| the time loss due to writing with less than maximum speed More... | |
| MSVehicleType * | myType |
| 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... | |
| MSVehicle & | operator= (const MSVehicle &) |
| invalidated assignment operator More... | |
Private Attributes | |
| MSCFModel::VehicleVariables * | myCFVariables |
| The per vehicle variables of the car following model. More... | |
| MSEdgeWeightsStorage * | myEdgeWeights |
| Influencer * | myInfluencer |
| 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 *, double > > | MoveReminderCont |
| Definition of a move reminder container. More... | |
| MoveReminderCont | myMoveReminders |
| Currently relevant move reminders. More... | |
Interaction with move reminders | |
| void | workOnMoveReminders (double oldPos, double newPos, double 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... | |
Representation of a vehicle in the micro simulation.
Definition at line 83 of file MSVehicle.h.
|
inherited |
Definition at line 80 of file SUMOVehicle.h.
|
protected |
Container for used Links/visited Lanes during lookForward.
Definition at line 1655 of file MSVehicle.h.
|
protectedinherited |
Definition of a move reminder container.
Definition at line 464 of file MSBaseVehicle.h.
Requests set via TraCI.
Definition at line 222 of file MSVehicle.h.
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 1112 of file MSVehicle.h.
Some boolean values which describe the state of some vehicle parts.
Definition at line 1074 of file MSVehicle.h.
modes for prioritizing traci lane change requests
| Enumerator | |
|---|---|
| LCP_ALWAYS | |
| LCP_NOOVERLAP | |
| LCP_URGENT | |
| LCP_OPPORTUNISTIC | |
Definition at line 1120 of file MSVehicle.h.
| MSVehicle::MSVehicle | ( | SUMOVehicleParameter * | pars, |
| const MSRoute * | route, | ||
| MSVehicleType * | type, | ||
| const double | speedFactor | ||
| ) |
Constructor.
| [in] | pars | The vehicle description |
| [in] | route | The vehicle's route |
| [in] | type | The vehicle's type |
| [in] | speedFactor | The factor for driven lane's speed limits |
| ProcessError | If a value is wrong |
Definition at line 557 of file MSVehicle.cpp.
References MSAbstractLaneChangeModel::build(), MSCFModel::createVehicleVariables(), DEPART_LANE_GIVEN, DEPART_SPEED_GIVEN, SUMOVehicleParameter::departLaneProcedure, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, MSVehicleType::getCarFollowModel(), MSVehicleType::getID(), MSVehicleType::getLaneChangeModel(), MSVehicleType::getMaxSpeed(), MSVehicleType::getVehicleClass(), SUMOVehicleParameter::id, myCFVariables, and myLaneChangeModel.
|
virtual |
Destructor.
Definition at line 604 of file MSVehicle.cpp.
References MSAbstractLaneChangeModel::cleanupShadowLane(), MSNet::getInstance(), MSNet::getVehicleControl(), MSVehicleType::isVehicleSpecific(), myEdgeWeights, myFurtherLanes, myFurtherLanesPosLat, myInfluencer, myLaneChangeModel, myLFLinkLanes, MSBaseVehicle::myType, removeApproachingInformation(), and MSVehicleControl::removeVType().
|
private |
invalidated default constructor
|
private |
invalidated copy constructor
|
private |
Definition at line 734 of file MSVehicle.cpp.
References myEdgeWeights.
Referenced by getWeightsStorage().
|
virtual |
"Activates" all current move reminder
For all move reminder stored in "myMoveReminders", their method "MSMoveReminder::notifyEnter" is called.
| [in] | reason | The reason for changing the reminders' states |
| [in] | enteredLane | The lane, which is entered (if applicable) |
Reimplemented from MSBaseVehicle.
Definition at line 2918 of file MSVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by congested(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), and processNextStop().
| void MSVehicle::adaptBestLanesOccupation | ( | int | laneIndex, |
| double | density | ||
| ) |
update occupation from MSLaneChanger
Definition at line 3541 of file MSVehicle.cpp.
References myBestLanes.
Referenced by MSLaneChangerSublane::change(), and MSLaneChanger::change().
|
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!
| [in] | enteredLane |
Definition at line 773 of file MSVehicle.cpp.
References MSBaseVehicle::addReminder(), MSLane::getLength(), MSLane::getMoveReminders(), myLane, and MSBaseVehicle::myMoveReminders.
Referenced by enterLaneAtMove(), and hasInfluencer().
|
protected |
Definition at line 1978 of file MSVehicle.cpp.
References MSVehicle::DriveProcessItem::adaptLeaveSpeed(), DEBUG_COND, Named::getID(), MSBaseVehicle::getID(), getSafeFollowSpeed(), MIN2(), myLane, and SIMTIME.
Referenced by adaptToLeaders(), checkLinkLeader(), and estimateLeaveSpeed().
|
protected |
Definition at line 1933 of file MSVehicle.cpp.
References adaptToLeader(), DEBUG_COND, getBackPositionOnLane(), Named::getID(), MSBaseVehicle::getID(), getLane(), MSLane::getLength(), MSVehicleType::getMinGap(), getPositionOnLane(), MSLeaderInfo::getSubLanes(), MSBaseVehicle::getVehicleType(), myLane, MSVehicle::State::myPos, myState, SIMTIME, and MSLeaderInfo::toString().
Referenced by estimateLeaveSpeed(), and planMoveInternal().
|
virtual |
Adds a container.
| [in] | container | The container to add |
Reimplemented from MSBaseVehicle.
Definition at line 3684 of file MSVehicle.cpp.
References MSDevice_Transportable::addTransportable(), MSDevice_Transportable::buildVehicleDevices(), MSTransportable::getID(), myContainerDevice, MSBaseVehicle::myDevices, MSBaseVehicle::myMoveReminders, and myStops.
Referenced by MSTransportableControl::loadAnyWaiting(), and nextStopDist().
|
virtual |
Adds a passenger.
| [in] | person | The person to add |
Reimplemented from MSBaseVehicle.
Definition at line 3662 of file MSVehicle.cpp.
References MSDevice_Transportable::addTransportable(), MSDevice_Transportable::buildVehicleDevices(), MSTransportable::getID(), MSBaseVehicle::myDevices, MSBaseVehicle::myMoveReminders, myPersonDevice, and myStops.
Referenced by MSTransportableControl::boardAnyWaiting(), and nextStopDist().
|
inherited |
Adds a MoveReminder dynamically.
| [in] | rem | the reminder to add |
Definition at line 349 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by adaptLaneEntering2MoveReminder(), MESegment::addReminders(), enterLaneAtInsertion(), enterLaneAtLaneChange(), MSBaseVehicle::getDevices(), and processNextStop().
|
virtual |
Adds a stop.
The stop is put into the sorted list.
| [in] | stop | The stop to add |
Implements SUMOVehicle.
Definition at line 1000 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::chargingStation, MSVehicle::Stop::chargingStation, MSVehicle::Stop::collision, 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::getChargingStation(), MSNet::getContainerStop(), MSLane::getEdge(), Named::getID(), MSNet::getInstance(), MSVehicleType::getLength(), MSBaseVehicle::getLength(), MSLane::getLength(), MSLane::getNextNormal(), MSEdge::getNormalBefore(), MSNet::getParkingArea(), MSVehicleType::getVehicleClass(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::hasDeparted(), SUMOVehicleParameter::id, SUMOVehicleParameter::Stop::index, MSEdge::isInternal(), 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, SUMOVehicleParameter::Stop::parkingarea, MSVehicle::Stop::parkingarea, POSITION_EPS, MSVehicle::Stop::reached, SUMOVehicleParameter::Stop::startPos, MSVehicle::Stop::startPos, STOP_INDEX_END, STOP_INDEX_FIT, MSVehicle::Stop::timeToBoardNextPerson, MSVehicle::Stop::timeToLoadNextContainer, SUMOVehicleParameter::Stop::triggered, MSVehicle::Stop::triggered, SUMOVehicleParameter::Stop::until, and MSVehicle::Stop::until.
Referenced by addTraciStop(), addTraciStopAtStoppingPlace(), MSLane::handleCollisionBetween(), replaceParkingArea(), and replaceRoute().
|
inherited |
Adds stops to the built vehicle.
This code needs to be separated from the MSBaseVehicle constructor since it is not allowed to call virtual functions from a constructor
| [in] | ignoreStopErrors | whether invalid stops trigger a warning only |
Definition at line 473 of file MSBaseVehicle.cpp.
References SUMOVehicle::addStop(), MSRoute::getStops(), MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, SUMOVehicleParameter::stops, and WRITE_WARNING.
Referenced by MEVehicleControl::buildVehicle(), GUIMEVehicleControl::buildVehicle(), GUIVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), MEVehicle::getBlockTimeSeconds(), MSBaseVehicle::getCurrentRouteEdge(), MSBaseVehicle::replaceRouteEdges(), and MSBaseVehicle::setChosenSpeedFactor().
| bool MSVehicle::addTraciStop | ( | MSLane *const | lane, |
| const double | startPos, | ||
| const double | 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
| lane | lane on wich to stop |
| startPos | start position on the given lane at wich to stop |
| endPos | end position on the given lane at wich to stop |
| duration | waiting time duration |
| until | time step at which the stop shall end |
| parking | a flag indicating whether the traci stop is used for parking or not |
| triggered | a flag indicating whether the traci stop is triggered or not |
| containerTriggered | a flag indicating whether the traci stop is triggered by a container or not |
Definition at line 4043 of file MSVehicle.cpp.
References addStop(), SUMOVehicleParameter::Stop::containerTriggered, SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, Named::getID(), SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, myLane, MSBaseVehicle::myParameter, myStops, SUMOVehicleParameter::Stop::parking, POSITION_EPS, SUMOVehicleParameter::Stop::startPos, STOP_INDEX_FIT, SUMOVehicleParameter::stops, SUMOVehicleParameter::Stop::triggered, SUMOVehicleParameter::Stop::until, and updateBestLanes().
Referenced by TraCI_Vehicle::setStop(), and signalSet().
| bool MSVehicle::addTraciStopAtStoppingPlace | ( | const std::string & | stopId, |
| const SUMOTime | duration, | ||
| const SUMOTime | until, | ||
| const bool | parking, | ||
| const bool | triggered, | ||
| const bool | containerTriggered, | ||
| const SumoXMLTag | stoppingPlaceType, | ||
| 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
| stopId | bus or container stop id |
| duration | waiting time duration |
| until | time step at which the stop shall end |
| parking | a flag indicating whether the traci stop is used for parking or not |
| triggered | a flag indicating whether the traci stop is triggered or not |
| containerTriggered | a flag indicating whether the traci stop is triggered by a container or not |
| stoppingPlaceType | a flag indicating the type of stopping place |
Definition at line 4080 of file MSVehicle.cpp.
References addStop(), SUMOVehicleParameter::Stop::busstop, SUMOVehicleParameter::Stop::chargingStation, SUMOVehicleParameter::Stop::containerstop, SUMOVehicleParameter::Stop::containerTriggered, SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, MSStoppingPlace::getBeginLanePosition(), MSNet::getBusStop(), MSNet::getChargingStation(), MSNet::getContainerStop(), MSStoppingPlace::getEndLanePosition(), Named::getID(), MSBaseVehicle::getID(), MSNet::getInstance(), MSStoppingPlace::getLane(), MSNet::getParkingArea(), SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, myLane, MSBaseVehicle::myParameter, myStops, SUMOVehicleParameter::Stop::parking, SUMOVehicleParameter::Stop::parkingarea, SUMOVehicleParameter::Stop::startPos, STOP_INDEX_FIT, SUMOVehicleParameter::stops, SUMO_TAG_BUS_STOP, SUMO_TAG_CHARGING_STATION, SUMO_TAG_CONTAINER_STOP, SUMO_TAG_PARKING_AREA, toString(), SUMOVehicleParameter::Stop::triggered, SUMOVehicleParameter::Stop::until, and updateBestLanes().
Referenced by TraCI_Vehicle::setStop(), and signalSet().
|
protectedinherited |
(Re-)Calculates the arrival position and lane from the vehicle parameters
Definition at line 398 of file MSBaseVehicle.cpp.
References ARRIVAL_LANE_GIVEN, ARRIVAL_POS_GIVEN, ARRIVAL_POS_RANDOM, ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalLane, SUMOVehicleParameter::arrivalLaneProcedure, SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, Named::getID(), MSBaseVehicle::getID(), MSEdge::getLanes(), MSRoute::getLastEdge(), MSVehicleType::getVehicleClass(), MSEdge::isTazConnector(), MAX2(), MIN2(), MSBaseVehicle::myArrivalLane, MSBaseVehicle::myArrivalPos, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::myType, RandHelper::rand(), toString(), and WRITE_WARNING.
Referenced by MSBaseVehicle::MSBaseVehicle(), replaceRoute(), MEVehicle::replaceRoute(), MSBaseVehicle::reroute(), and MSBaseVehicle::setChosenSpeedFactor().
|
protected |
checks for link leaders on the given link
Definition at line 2014 of file MSVehicle.cpp.
References adaptToLeader(), getLane(), MSLink::getLeaderInfo(), MSLane::getLogicalPredecessorLane(), MSLink::isLeader(), MAX2(), MIN2(), myLane, and MSVehicle::DriveProcessItem::myVLinkWait.
Referenced by estimateLeaveSpeed(), and planMoveInternal().
|
protected |
XXX backward compatibility: why should partial occupators be treated differently here? XXX MAX2 redundant?
XXX spaceTillLastStanding should already be covered by getPartialOccupatorEnd()
XXX why not check BRAKELIGHT?
Definition at line 2706 of file MSVehicle.cpp.
References ACCEL2SPEED, MSVehicle::DriveProcessItem::availableSpace, MSCFModel::brakeGap(), DEBUG_COND, 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(), MSVehicle::Influencer::getRespectJunctionPriority(), MSAbstractLaneChangeModel::getShadowLane(), getSpaceTillLastStanding(), getSpeed(), MSLane::getVehicleNumber(), MSBaseVehicle::getVehicleType(), MSLink::getViaLane(), getWaitingTime(), MSGlobals::gUsingInternalLanes, MSVehicle::DriveProcessItem::hadVehicle, MSLink::havePriority(), MSLink::isCont(), isFrontOnLane(), MSEdge::isInternal(), MSAbstractLaneChangeModel::isOpposite(), MSEdge::isRoundabout(), 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, and VEH_SIGNAL_BRAKELIGHT.
Referenced by planMove().
| SUMOTime MSVehicle::collisionStopTime | ( | ) | const |
Returns the remaining time a vehicle needs to stop due to a collision. A negative value indicates that the vehicle is not stopping due to a collision (or at all)
Definition at line 1260 of file MSVehicle.cpp.
References MAX2(), myCollisionImmunity, and myStops.
Referenced by MSLane::executeMovements(), MSLane::handleCollisionBetween(), and hasStops().
| double MSVehicle::computeAngle | ( | ) | const |
compute the current vehicle angle
Definition at line 935 of file MSVehicle.cpp.
References Position::angleTo2D(), DEBUG_COND, DEG2RAD, MSLane::geometryPositionAtOffset(), getBackPosition(), MSBaseVehicle::getID(), getLaneChangeModel(), getPosition(), getPositionOnLane(), MSLane::getShape(), MSLane::interpolateLanePosToGeometryPos(), Position::INVALID, MSAbstractLaneChangeModel::isChangingLanes(), isParking(), myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, myStops, PositionVector::rotationAtOffset(), and SIMTIME.
Referenced by MSLaneChanger::continueChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), executeMove(), and getVelocityVector().
|
inline |
Returns true if vehicle's speed is below 60km/h. This is only relevant on highways. Overtaking on the right is allowed then.
Definition at line 635 of file MSVehicle.h.
References activateReminders(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), getLaneChangeModel(), leaveLane(), MSVehicle::State::mySpeed, myState, MSVehicle::State::pos(), setTentativeLaneAndPosition(), and MSVehicle::State::speed().
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::congested(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informLeader(), and MSLCM_SL2015::informLeader().
|
inherited |
create device of the given type
Definition at line 507 of file MSBaseVehicle.cpp.
References MSDevice_Routing::buildVehicleDevices(), MSBaseVehicle::getDevice(), MSBaseVehicle::hasDeparted(), MSBaseVehicle::hasDevice(), MSBaseVehicle::myDevices, MSBaseVehicle::myParameter, MSMoveReminder::NOTIFICATION_DEPARTED, and MSDevice_Routing::notifyEnter().
Referenced by TraCI_Vehicle::setParameter().
|
inlineprotectedvirtual |
register vehicle for drawing while outside the network
Reimplemented in GUIVehicle.
Definition at line 1525 of file MSVehicle.h.
Referenced by MSVehicle::Influencer::postProcessVTD().
| void MSVehicle::enterLaneAtInsertion | ( | MSLane * | enteredLane, |
| double | pos, | ||
| double | speed, | ||
| double | posLat, | ||
| MSMoveReminder::Notification | notification | ||
| ) |
Update when the vehicle enters a new lane in the emit step.
| [in] | enteredLane | The lane the vehicle enters |
| [in] | pos | The position the vehicle was inserted into the lane |
| [in] | speed | The speed with which the vehicle was inserted into the lane |
| [in] | posLat | The lateral position the vehicle was inserted into the lane |
| [in] | notification | The cause of insertion (i.e. departure, teleport, parking) |
Definition at line 3039 of file MSVehicle.cpp.
References activateReminders(), MSBaseVehicle::addReminder(), computeAngle(), DEBUG_COND, getLaneChangeModel(), MSVehicleType::getLength(), MSBaseVehicle::getLength(), MSLane::getLogicalPredecessorLane(), MSLane::getMoveReminders(), MSBaseVehicle::getVehicleType(), MSGlobals::gLaneChangeDuration, MSGlobals::gLateralResolution, Position::INVALID, MSAbstractLaneChangeModel::isOpposite(), M_PI, myAmOnNet, myAngle, MSVehicle::State::myBackPos, myCachedPosition, MSBaseVehicle::myDeparture, myFurtherLanes, myFurtherLanesPosLat, myLane, myLaneChangeModel, MSVehicle::State::myPos, MSVehicle::State::myPosLat, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myType, MSBaseVehicle::NOT_YET_DEPARTED, MSMoveReminder::NOTIFICATION_TELEPORT, MSBaseVehicle::onDepart(), SIMTIME, and MSAbstractLaneChangeModel::updateShadowLane().
Referenced by congested(), and MSLane::incorporateVehicle().
| void MSVehicle::enterLaneAtLaneChange | ( | MSLane * | enteredLane | ) |
Update when the vehicle enters a new lane in the laneChange step.
| [in] | enteredLane | The lane the vehicle enters |
Definition at line 2989 of file MSVehicle.cpp.
References activateReminders(), MSBaseVehicle::addReminder(), computeAngle(), DEBUG_COND, MSBaseVehicle::getEdge(), MSVehicleType::getLength(), MSLane::getLogicalPredecessorLane(), MSLane::getMoveReminders(), MSBaseVehicle::getVehicleType(), Position::INVALID, MSAbstractLaneChangeModel::isChangingLanes(), myAmOnNet, myAngle, myCachedPosition, myFurtherLanes, myFurtherLanesPosLat, myLane, myLaneChangeModel, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSAbstractLaneChangeModel::setNoShadowPartialOccupator(), SIMTIME, toString(), and updateBestLanes().
Referenced by congested(), and MSAbstractLaneChangeModel::primaryLaneChanged().
| bool MSVehicle::enterLaneAtMove | ( | MSLane * | enteredLane, |
| bool | onTeleporting = false |
||
| ) |
Update when the vehicle enters a new lane in the move step.
| [in] | enteredLane | The lane the vehicle enters |
| [in] | onTeleporting | Whether the lane was entered while being teleported |
Definition at line 2951 of file MSVehicle.cpp.
References activateReminders(), adaptLaneEntering2MoveReminder(), MSLane::getEdge(), Named::getID(), hasArrived(), Position::INVALID, MSEdge::isInternal(), myAmOnNet, myCachedPosition, MSBaseVehicle::myCurrEdge, myLane, myLastBestLanesEdge, MSBaseVehicle::myParameter, MSVehicle::State::myPos, myState, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_TELEPORT, and SUMOVehicleParameter::via.
Referenced by MSVehicleTransfer::add(), MSVehicleTransfer::checkInsertions(), congested(), executeMove(), and TraCIServerAPI_Vehicle::processSet().
|
inlineprotected |
estimate leaving speed when accelerating across a link
Definition at line 1669 of file MSVehicle.h.
References adaptToLeader(), adaptToLeaders(), checkLinkLeader(), MSCFModel::estimateSpeedAfterDistance(), getBackLane(), getBackPosition(), MSVehicleType::getCarFollowModel(), getCarFollowModel(), MSLink::getLength(), MSCFModel::getMaxAccel(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), ignoreRed(), keepClear(), MIN2(), and updateState().
Referenced by planMoveInternal().
| 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.
Definition at line 2086 of file MSVehicle.cpp.
References ACCEL2SPEED, MSCFModel::brakeGap(), MSAbstractLaneChangeModel::changedToOpposite(), computeAngle(), DEBUG_COND, DELTA_T, DIST2SPEED, MSRoute::end(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), enterLaneAtMove(), gDebugFlag1, gDebugSelectedVehicle, getBackLane(), MSVehicleType::getCarFollowModel(), getCarFollowModel(), MSNet::getCurrentTimeStep(), MSLink::getDirection(), MSLane::getEdge(), MSVehicle::Influencer::getEmergencyBrakeRedLight(), MSLink::getFoeVisibilityDistance(), Named::getID(), MSBaseVehicle::getID(), MSBaseVehicle::getImpatience(), MSNet::getInstance(), getLaneChangeModel(), getLateralOverlap(), 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(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSLink::getViaLane(), MSLink::getViaLaneOrLane(), getWaitingTime(), MSLane::getWidth(), MSLink::getZipperSpeed(), MSGlobals::gSemiImplicitEulerUpdate, MSGlobals::gUsingInternalLanes, hasArrived(), MSLink::havePriority(), MSLink::haveRed(), MSLink::haveYellow(), ignoreRed(), MSVehicle::Influencer::implicitSpeedVTD(), MSVehicle::Influencer::influenceSpeed(), Position::INVALID, MSLink::isCont(), isRemoteControlled(), MSEdge::isRoundabout(), isStopped(), MSEdge::isVaporizing(), MSVehicle::Influencer::isVTDControlled(), MSLink::lastWasContMajor(), leaveLane(), LINKDIR_LEFT, LINKDIR_RIGHT, LINKSTATE_EQUAL, LINKSTATE_ZIPPER, max, MAX2(), MSCFModel::maxNextSpeed(), MIN2(), MSCFModel::moveHelper(), myAcceleration, myAngle, MSVehicle::State::myBackPos, myCachedPosition, myCollisionImmunity, MSBaseVehicle::myCurrEdge, myFurtherLanes, myFurtherLanesPosLat, myHaveToWaitOnNextLink, myInfluencer, myLane, MSVehicle::State::myLastCoveredDist, myLFLinkLanes, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myTimeLoss, 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(), MSLink::removeApproaching(), setBlinkerInformation(), setEmergencyBlueLight(), SIMTIME, SUMO_const_haltingSpeed, SVC_EMERGENCY, switchOffSignal(), switchOnSignal(), TIME2STEPS, time2string(), toString(), TS, updateBestLanes(), updateFurtherLanes(), MSAbstractLaneChangeModel::updateShadowLane(), updateState(), VEH_SIGNAL_BRAKELIGHT, workOnMoveReminders(), and WRITE_WARNING.
Referenced by MSLane::executeMovements().
| void MSVehicle::fixPosition | ( | ) |
repair errors in vehicle position after changing between internal edges
Definition at line 3549 of file MSVehicle.cpp.
References getLaneChangeModel(), MSGlobals::gLaneChangeDuration, MSVehicle::State::myPosLat, and myState.
Referenced by MSAbstractLaneChangeModel::endLaneChangeManeuver().
|
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)
Reimplemented from MSBaseVehicle.
Definition at line 460 of file MSVehicle.h.
References getPosition(), getPositionAlongBestLanes(), getSlope(), and myAcceleration.
Referenced by MSDevice_SSM::estimateConflictTimes(), GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), and MSBatteryExport::write().
|
inline |
Returns the number of seconds waited (speed was lesser than 0.1m/s) within the last millisecs.
Definition at line 591 of file MSVehicle.h.
References getAccumulatedWaitingTime(), and STEPS2TIME.
Referenced by TraCI_Vehicle::getAccumulatedWaitingTime(), GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and keepClear().
|
inline |
Returns the SUMOTime waited (speed was lesser than 0.1m/s) within the last t millisecs.
| [in] | t | specifies the length of the interval over which the cumulated waiting time is to be summed up (defaults to and must not exceed MSGlobals::gWaitingTimeMemory) |
Definition at line 570 of file MSVehicle.h.
References MSVehicle::WaitingTimeCollector::cumulatedWaitingTime(), and myWaitingTimeCollector.
Referenced by getAccumulatedWaitingSeconds().
|
inlinevirtual |
Returns the vehicle's direction in radians.
Implements SUMOVehicle.
Definition at line 605 of file MSVehicle.h.
References myAngle.
Referenced by TraCI_Vehicle::getAngle(), GUIVehicle::getAngle(), MSTransportable::Stage_Driving::getAngle(), and MSLaneChangerSublane::startChangeSublane().
|
inlinevirtualinherited |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
Implements SUMOVehicle.
Definition at line 270 of file MSBaseVehicle.h.
References MSBaseVehicle::myArrivalPos.
Referenced by MSLCM_SL2015::_wantsChangeSublane().
|
protected |
Definition at line 2551 of file MSVehicle.cpp.
References myFurtherLanes, and myLane.
Referenced by estimateLeaveSpeed(), and executeMove().
|
protected |
Definition at line 976 of file MSVehicle.cpp.
References DEBUG_COND, MSLane::geometryPositionAtOffset(), getBackPositionOnLane(), Named::getID(), MSBaseVehicle::getID(), getLaneChangeModel(), MSVehicleType::getLength(), MSAbstractLaneChangeModel::getShadowLane(), MSAbstractLaneChangeModel::isChangingLanes(), myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, MSBaseVehicle::myType, and toString().
Referenced by computeAngle(), estimateLeaveSpeed(), getBoundingBox(), and getBoundingPoly().
|
virtual |
Get the vehicle's position relative to the given lane.
Implements SUMOVehicle.
Definition at line 2617 of file MSVehicle.cpp.
References MSBaseVehicle::getID(), Named::getIDSecure(), MSNet::getInstance(), getLaneChangeModel(), MSVehicleType::getLength(), MSAbstractLaneChangeModel::getShadowFurtherLanes(), MSVehicle::State::myBackPos, myFurtherLanes, myLane, MSVehicle::State::myPos, myState, MSBaseVehicle::myType, time2string(), and WRITE_WARNING.
Referenced by adaptToLeaders(), MSLaneChangerSublane::checkChangeSublane(), checkRewindLinkLanes(), MSDevice_SSM::classifyEncounter(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::freeInsertion(), MSLane::getCriticalLeader(), MSLane::getLeader(), getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getOppositeFollower(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLink::maybeOccupied(), MSPModel_Striping::moveInDirectionOnLane(), MSLane::vehicle_position_sorter::operator()(), MSLane::vehicle_natural_position_sorter::operator()(), MSLane::safeInsertionSpeed(), MSLaneChangerSublane::startChangeSublane(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().
|
inline |
Get the vehicle's position relative to its current lane.
Definition at line 399 of file MSVehicle.h.
References myLane.
Referenced by getBackPosition(), getLastStepDist(), and getPositionOnLane().
| int MSVehicle::getBestLaneOffset | ( | ) | const |
Definition at line 3531 of file MSVehicle.cpp.
References myBestLanes.
Referenced by MSLCM_LC2013::changed(), MSLCM_SL2015::changed(), and GUIVehicle::getColorValue().
| const std::vector< MSVehicle::LaneQ > & MSVehicle::getBestLanes | ( | ) | const |
Returns the description of best lanes to use in order to continue the route.
Definition at line 3156 of file MSVehicle.cpp.
References myBestLanes.
Referenced by MSLane::appropriate(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLaneChangerSublane::checkChangeHelper(), TraCI_Vehicle::getBestLanes(), MSEdge::getDepartLane(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().
| const std::vector< MSLane * > & MSVehicle::getBestLanesContinuation | ( | ) | const |
Returns the best sequence of lanes to continue the route starting at myLane.
Definition at line 3502 of file MSVehicle.cpp.
References myBestLanes, and myEmptyLaneVector.
Referenced by MSLane::appropriate(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), GUIVehicle::drawRouteHelper(), MSLane::executeMovements(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSLane::getCriticalLeader(), getLeader(), MSLaneChangerSublane::getLeaders(), TraCI_Vehicle::getNextTLS(), MSLane::getOppositeLeader(), getPositionAlongBestLanes(), MSLaneChanger::getRealLeader(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), planMoveInternal(), setBlinkerInformation(), unsafeLinkAhead(), and updateBestLanes().
Returns the best sequence of lanes to continue the route starting at the given lane.
Definition at line 3511 of file MSVehicle.cpp.
References MSLane::getEdge(), MSLane::getLinkCont(), MSEdge::isInternal(), myBestLanes, and myEmptyLaneVector.
| PositionVector MSVehicle::getBoundingBox | ( | ) | const |
get bounding rectangle
Definition at line 3982 of file MSVehicle.cpp.
References PositionVector::append(), getBackPosition(), getPosition(), MSVehicleType::getWidth(), PositionVector::move2side(), MSBaseVehicle::myType, POSITION_EPS, and PositionVector::reverse().
Referenced by MSLane::detectCollisions(), GUIVehicle::drawAction_drawPersonsAndContainers(), getBoundingPoly(), and signalSet().
| PositionVector MSVehicle::getBoundingPoly | ( | ) | const |
get bounding polygon
Definition at line 3995 of file MSVehicle.cpp.
References getBackPosition(), getBoundingBox(), MSVehicleType::getGuiShape(), getPosition(), MSVehicleType::getWidth(), PositionVector::move2side(), MSBaseVehicle::myType, PositionVector::scaleRelative(), SVS_PASSENGER, SVS_PASSENGER_HATCHBACK, SVS_PASSENGER_SEDAN, SVS_PASSENGER_VAN, and SVS_PASSENGER_WAGON.
Referenced by MSLane::detectCollisions(), GUIVehicle::drawAction_drawPersonsAndContainers(), and signalSet().
|
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.
Definition at line 796 of file MSVehicle.h.
References MSVehicleType::getCarFollowModel(), and MSBaseVehicle::myType.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSPModel_Striping::addCrossingVehs(), MSCriticalFollowerDistanceInfo::addFollower(), addStop(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), MSLane::checkFailure(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLCM_SL2015::commitFollowSpeed(), MSLCM_SL2015::commitManoeuvre(), MSLaneChanger::computeOvertakingTime(), MSLink::couldBrakeForLeader(), MSDevice_SSM::estimateConflictTimes(), estimateLeaveSpeed(), executeMove(), MSLane::freeInsertion(), MSLane::getCriticalLeader(), MSLane::getLeader(), getLeader(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getMissingRearGap(), MSLaneChanger::getRealLeader(), getRerouteOrigin(), getSafeFollowSpeed(), GUIVehicle::getTypeParameterWindow(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MSLCM_DK2008::informBlocker(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeader(), MSLCM_SL2015::informLeaders(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLink::maybeOccupied(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), planMoveInternal(), processNextStop(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), MSAbstractLaneChangeModel::setFollowerGaps(), MSAbstractLaneChangeModel::setLeaderGaps(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), unsafeLinkAhead(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().
|
inline |
Returns the vehicle's car following model variables.
Definition at line 805 of file MSVehicle.h.
References myCFVariables.
Referenced by MSCFModel_Kerner::_v(), MSCFModel_Wiedemann::_v(), MSCFModel_IDM::_v(), MSCFModel_SmartSK::_vsafe(), MSCFModel_PWag2009::followSpeed(), MSCFModel_SmartSK::followSpeed(), MSCFModel_Kerner::moveHelper(), MSCFModel_PWag2009::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel_Wiedemann::moveHelper(), MSCFModel_IDM::moveHelper(), MSCFModel_SmartSK::stopSpeed(), and MSCFModel_SmartSK::updateMyHeadway().
| double MSVehicle::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)
Definition at line 3830 of file MSVehicle.cpp.
References DEBUG_COND, MSLane::getCenterOnEdge(), MSLane::getEdge(), Named::getID(), MSBaseVehicle::getID(), Named::getIDSecure(), getLaneChangeModel(), MSLane::getRightSideOnEdge(), MSAbstractLaneChangeModel::getShadowFurtherLanes(), MSAbstractLaneChangeModel::getShadowFurtherLanesPosLat(), MSAbstractLaneChangeModel::getShadowLane(), MSLane::getWidth(), myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myPosLat, and myState.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLCM_SL2015::checkBlocking(), MSLCM_SL2015::commitFollowSpeed(), MSLCM_SL2015::computeSpeedGain(), MSLane::detectCollisionBetween(), getLateralPositionOnLane(), getRightSideOnEdge(), MSLCM_SL2015::keepLatGap(), and MSLCM_SL2015::updateCFRelated().
|
inlinevirtualinherited |
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Implements SUMOVehicle.
Definition at line 378 of file MSBaseVehicle.h.
References MSBaseVehicle::myChosenSpeedFactor.
Referenced by GUIMEVehicle::getParameterWindow(), GUIVehicle::getParameterWindow(), and TraCI_Vehicle::getSpeedFactor().
| double MSVehicle::getCO2Emissions | ( | ) | const |
Returns CO2 emission of the current state.
Definition at line 3614 of file MSVehicle.cpp.
References PollutantsInterface::CO2, PollutantsInterface::compute(), MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by TraCI_Vehicle::getCO2Emission(), GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and nextStopDist().
| double MSVehicle::getCOEmissions | ( | ) | const |
Returns CO emission of the current state.
Definition at line 3620 of file MSVehicle.cpp.
References PollutantsInterface::CO, PollutantsInterface::compute(), MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by TraCI_Vehicle::getCOEmission(), GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and nextStopDist().
| int MSVehicle::getContainerNumber | ( | ) | const |
Returns the number of containers.
Definition at line 3740 of file MSVehicle.cpp.
References SUMOVehicleParameter::containerNumber, myContainerDevice, MSBaseVehicle::myParameter, and MSDevice_Transportable::size().
Referenced by GUIVehicle::getParameterWindow(), MSTransportableControl::loadAnyWaiting(), nextStopDist(), processNextStop(), and MSXMLRawOut::writeVehicle().
| const std::vector< MSTransportable * > & MSVehicle::getContainers | ( | ) | const |
retrieve riding containers
Definition at line 3724 of file MSVehicle.cpp.
References MSDevice_Transportable::getTransportables(), myContainerDevice, and myEmptyTransportableVector.
Referenced by nextStopDist(), MSFCDExport::write(), and MSXMLRawOut::writeVehicle().
|
inlinevirtualinherited |
Returns an iterator pointing to the current edge in this vehicles route.
Implements SUMOVehicle.
Definition at line 193 of file MSBaseVehicle.h.
References MSBaseVehicle::addStops(), MSBaseVehicle::getAcceleration(), MSBaseVehicle::getSlope(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::onDepart(), MSBaseVehicle::replaceRouteEdges(), and MSBaseVehicle::reroute().
Referenced by MSDevice_SSM::findSurroundingVehicles(), and TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition().
| double MSVehicle::getDeltaPos | ( | double | 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)
| [in] | accel | the assumed acceleration |
Definition at line 2064 of file MSVehicle.cpp.
References ACCEL2SPEED, MSGlobals::gSemiImplicitEulerUpdate, MAX2(), MSVehicle::State::mySpeed, myState, and SPEED2DIST.
Referenced by updateState().
|
inlinevirtualinherited |
Returns the depart delay.
Implements SUMOVehicle.
Definition at line 254 of file MSBaseVehicle.h.
References SUMOVehicleParameter::depart, MSBaseVehicle::getDeparture(), and MSBaseVehicle::getParameter().
Referenced by GUIMEVehicle::getColorValue(), GUIVehicle::getColorValue(), GUIMEVehicle::getParameterWindow(), and GUIVehicle::getParameterWindow().
|
inlinevirtualinherited |
Returns this vehicle's real departure position.
Implements SUMOVehicle.
Definition at line 262 of file MSBaseVehicle.h.
References MSBaseVehicle::myDepartPos.
Referenced by TraCI_Vehicle::getDistance().
|
inlinevirtualinherited |
Returns this vehicle's real departure time.
Implements SUMOVehicle.
Definition at line 249 of file MSBaseVehicle.h.
References MSBaseVehicle::myDeparture.
Referenced by MSBaseVehicle::getDepartDelay(), and MSVehicle::Influencer::postProcessVTD().
|
virtualinherited |
Returns a device of the given type if it exists or 0.
Implements SUMOVehicle.
Definition at line 447 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
Referenced by MSBaseVehicle::createDevice(), GUIBaseVehicle::drawOnPos(), MSBaseVehicle::setChosenSpeedFactor(), and MSBatteryExport::write().
|
inherited |
try to retrieve the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists
Definition at line 526 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
Referenced by TraCI_Vehicle::getParameter().
|
inlinevirtualinherited |
Returns this vehicle's devices.
Implements SUMOVehicle.
Definition at line 303 of file MSBaseVehicle.h.
References MSBaseVehicle::activateReminders(), MSBaseVehicle::addContainer(), MSBaseVehicle::addPerson(), MSBaseVehicle::addReminder(), MSBaseVehicle::hasValidRoute(), MSBaseVehicle::myDevices, and MSBaseVehicle::removeReminder().
| double MSVehicle::getDistanceToPosition | ( | double | 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.
| destPos | position on the destination edge that shall be reached |
| destEdge | destination edge that shall be reached |
Definition at line 3557 of file MSVehicle.cpp.
References MSRoute::getDistanceBetween(), MSLane::getEdge(), MSLane::getLength(), getPositionOnLane(), isOnRoad(), max, MSBaseVehicle::myCurrEdge, myLane, and MSBaseVehicle::myRoute.
Referenced by MSVehicle::Influencer::implicitDeltaPosVTD(), MSVehicle::Influencer::implicitSpeedVTD(), and nextStopDist().
|
virtualinherited |
Returns the edge the vehicle is currently at.
Implements SUMOVehicle.
Definition at line 150 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myCurrEdge.
Referenced by MSVehicleTransfer::add(), MELoop::changeSegment(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), enterLaneAtLaneChange(), METriggeredCalibrator::execute(), MEVehicle::getAngle(), TraCI_Vehicle::getDrivingDistance(), TraCI_Vehicle::getDrivingDistance2D(), GUIMEVehicle::getParameterWindow(), MEVehicle::getPosition(), MEVehicle::getSlope(), MSBaseVehicle::getVClass(), TraCIServerAPI_Vehicle::processSet(), MESegment::receive(), MELoop::teleportVehicle(), and TraCIServerAPI_Vehicle::vtdMap().
| double MSVehicle::getElectricityConsumption | ( | ) | const |
Returns electricity consumption of the current state.
Definition at line 3650 of file MSVehicle.cpp.
References PollutantsInterface::compute(), PollutantsInterface::ELEC, MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), TraCI_Vehicle::getElectricityConsumption(), GUIVehicle::getParameterWindow(), and nextStopDist().
| double MSVehicle::getFuelConsumption | ( | ) | const |
Returns fuel consumption of the current state.
Definition at line 3644 of file MSVehicle.cpp.
References PollutantsInterface::compute(), PollutantsInterface::FUEL, MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), TraCI_Vehicle::getFuelConsumption(), GUIVehicle::getParameterWindow(), and nextStopDist().
|
inline |
Definition at line 694 of file MSVehicle.h.
References myFurtherLanes.
Referenced by MSAbstractLaneChangeModel::updateShadowLane().
|
inline |
Definition at line 698 of file MSVehicle.h.
References myFurtherLanesPosLat, and onFurtherEdge().
Referenced by MSAbstractLaneChangeModel::updateShadowLane().
| double MSVehicle::getHarmonoise_NoiseEmissions | ( | ) | const |
Returns noise emissions of the current state.
Definition at line 3656 of file MSVehicle.cpp.
References HelpersHarmonoise::computeNoise(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), TraCI_Vehicle::getNoiseEmission(), GUIVehicle::getParameterWindow(), and nextStopDist().
| double MSVehicle::getHCEmissions | ( | ) | const |
Returns HC emission of the current state.
Definition at line 3626 of file MSVehicle.cpp.
References PollutantsInterface::compute(), MSVehicleType::getEmissionClass(), getSlope(), PollutantsInterface::HC, myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), TraCI_Vehicle::getHCEmission(), GUIVehicle::getParameterWindow(), and nextStopDist().
|
virtualinherited |
Returns the name of the vehicle.
Implements SUMOVehicle.
Definition at line 122 of file MSBaseVehicle.cpp.
References SUMOVehicleParameter::id, and MSBaseVehicle::myParameter.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), adaptToLeader(), adaptToLeaders(), MSVehicleTransfer::add(), MSBaseVehicle::addContainer(), MSPModel_Striping::addCrossingVehs(), MSBaseVehicle::addPerson(), addTraciStopAtStoppingPlace(), 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(), MSDevice_SSM::classifyEncounter(), MSLCM_SL2015::commitManoeuvre(), computeAngle(), MSLCM_SL2015::computeSpeedLat(), MSDevice_SSM::computeSSMs(), MSLaneChanger::continueChange(), MSLCM_SL2015::decideDirection(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSDevice_SSM::Encounter::Encounter(), MSCalibrator::execute(), executeMove(), MSLane::executeMovements(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSLane::getLastVehicleInformation(), getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), GUIMEVehicle::getParameterWindow(), GUIVehicle::getParameterWindow(), MSLane::getPartialBehind(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSDevice_SSM::getUpstreamVehicles(), MSLane::handleCollisionBetween(), ignoreRed(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeader(), MESegment::initialise(), MSPedestrianPushButton::isActiveForEdge(), MSLane::isInsertionSuccess(), leaveLane(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_Daniel1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSPModel_Striping::moveInDirectionOnLane(), MSLCM_LC2013::MSLCM_LC2013(), MSCalibrator::VehicleRemover::notifyEnter(), MSLCM_DK2008::patchSpeed(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), planMove(), planMoveInternal(), MSLCM_SL2015::prepareStep(), MSAbstractLaneChangeModel::primaryLaneChanged(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), MSLane::resetPartialOccupation(), TraCI_Vehicle::resume(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSBaseVehicle::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSLCM_SL2015::setOwnState(), 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::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSXMLRawOut::writeVehicle().
|
virtualinherited |
Returns this vehicles impatience.
Implements SUMOVehicle.
Definition at line 440 of file MSBaseVehicle.cpp.
References MSBaseVehicle::getVehicleType(), SUMOVehicle::getWaitingTime(), MSGlobals::gTimeToImpatience, MAX2(), and MIN2().
Referenced by checkRewindLinkLanes(), executeMove(), MSLane::getCriticalLeader(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSBaseVehicle::getNumberReroutes(), GUIVehicle::getParameterWindow(), MSLCM_LC2013::informFollower(), MSLane::isInsertionSuccess(), MESegment::isOpen(), and GUIVehicle::selectBlockingFoes().
| MSVehicle::Influencer & MSVehicle::getInfluencer | ( | ) |
Returns the velocity/lane influencer.
If no influencer was existing before, one is built, first
Definition at line 4223 of file MSVehicle.cpp.
References myInfluencer.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), TraCI_Vehicle::changeLane(), MSLaneChanger::changeOpposite(), MSLane::detectCollisionBetween(), TraCI_Vehicle::getLanechangeMode(), TraCI_Vehicle::getRoutingMode(), TraCI_Vehicle::getSpeedMode(), MSLane::handleCollisionBetween(), influenceChangeDecision(), MSLCM_SL2015::keepLatGap(), TraCIServerAPI_Vehicle::processSet(), MSAbstractLaneChangeModel::setOwnState(), and TraCIServer::setVTDControlled().
| const MSVehicle::Influencer * MSVehicle::getInfluencer | ( | ) | const |
Definition at line 4232 of file MSVehicle.cpp.
References myInfluencer.
|
inlinevirtual |
Returns the lane the vehicle is on.
Implements SUMOVehicle.
Definition at line 499 of file MSVehicle.h.
References myLane.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), adaptToLeaders(), MSLaneChangerSublane::change(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSVehicleTransfer::checkInsertions(), checkLinkLeader(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), MSLCM_SL2015::commitManoeuvre(), MSLaneChanger::computeOvertakingTime(), MSLCM_SL2015::computeSpeedGain(), MSAbstractLaneChangeModel::congested(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSVTypeProbe::execute(), MSLane::executeMovements(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSCFModel_IDM::followSpeed(), TraCI_Vehicle::getAllowedSpeed(), GUIVehicle::getColorValue(), TraCI_Vehicle::getDistance(), MSLane::getFollowersOnConsecutive(), TraCI_Vehicle::getLaneID(), TraCI_Vehicle::getLaneIndex(), MSLink::getLeaderInfo(), MSLaneChangerSublane::getLeaders(), TraCI_Vehicle::getNextTLS(), getPositionAlongBestLanes(), TraCI_Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutAheadInfo(), MSAbstractLaneChangeModel::getShadowDirection(), MSVTKExport::getSpeed(), MSLCM_SL2015::getSublaneWidth(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MSLCM_LC2013::informFollower(), MSLane::integrateNewVehicle(), MSCFModel_IDM::interactionGap(), MSCFModel::interactionGap(), MSJunction::isLeader(), MSLCM_SL2015::keepLatGap(), MSCFModel_Daniel1::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel_IDM::moveHelper(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSLCM_DK2008::patchSpeed(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), planMoveInternal(), MSVehicle::Influencer::postProcessVTD(), MSLCM_SL2015::prepareStep(), TraCIServerAPI_Vehicle::processSet(), 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::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
| MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel | ( | ) |
Definition at line 3144 of file MSVehicle.cpp.
References myLaneChangeModel.
Referenced by MSVehicleTransfer::add(), MSLaneChangerSublane::change(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), checkRewindLinkLanes(), computeAngle(), congested(), MSLaneChanger::continueChange(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), enterLaneAtInsertion(), executeMove(), fixPosition(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), TraCI_Vehicle::getLaneChangeState(), GUIVehicle::getLastLaneChangeOffset(), getLatOffset(), MSLink::getLeaderInfo(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), TraCI_Vehicle::getParameter(), GUIVehicle::getParameterWindow(), getPosition(), MSAbstractLaneChangeModel::MSLCMessager::informLeader(), MSAbstractLaneChangeModel::MSLCMessager::informNeighFollower(), MSAbstractLaneChangeModel::MSLCMessager::informNeighLeader(), isFrontOnLane(), MSLane::isInsertionSuccess(), MSCFModel_Rail::moveHelper(), MSCFModel_Daniel1::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel_KraussX::moveHelper(), MSCFModel::moveHelper(), planMove(), planMoveInternal(), MSLaneChanger::registerUnchanged(), removeApproachingInformation(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), setBlinkerInformation(), TraCI_Vehicle::setParameter(), MSLaneChanger::startChange(), MSLaneChangerSublane::startChangeSublane(), updateBestLanes(), MSLaneChangerSublane::updateChanger(), and updateState().
| const MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel | ( | ) | const |
Definition at line 3150 of file MSVehicle.cpp.
References myLaneChangeModel.
| int MSVehicle::getLaneIndex | ( | ) | const |
Definition at line 3801 of file MSVehicle.cpp.
References MSLane::getEdge(), MSEdge::getLanes(), and myLane.
Referenced by MSLane::appropriate(), influenceChangeDecision(), and nextStopDist().
|
inline |
Get the distance the vehicle covered in the previous timestep.
Definition at line 382 of file MSVehicle.h.
References getBackPositionOnLane(), getPositionOnLane(), MSVehicle::State::lastCoveredDist(), and myState.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::updatePassedEncounter().
| double MSVehicle::getLateralOverlap | ( | ) | const |
return the amount by which the vehicle extends laterally outside it's primary lane
Definition at line 3912 of file MSVehicle.cpp.
References getLateralPositionOnLane().
Referenced by MSLCM_SL2015::checkStrategicChange(), executeMove(), getLateralPositionOnLane(), MSAbstractLaneChangeModel::getShadowLane(), planMoveInternal(), and MSAbstractLaneChangeModel::updateShadowLane().
| double MSVehicle::getLateralOverlap | ( | double | posLat | ) | const |
Definition at line 3905 of file MSVehicle.cpp.
References MSBaseVehicle::getVehicleType(), MSBaseVehicle::getWidth(), MSLane::getWidth(), and myLane.
|
inlinevirtual |
Get the vehicle's lateral position on the lane.
Reimplemented from MSBaseVehicle.
Definition at line 407 of file MSVehicle.h.
References getCenterOnEdge(), getLateralOverlap(), getLatOffset(), getRightSideOnEdge(), getRightSideOnLane(), MSVehicle::State::myPosLat, myState, and MSVehicle::State::posLat().
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), MSLaneChanger::continueChange(), executeMove(), MSLane::getCriticalLeader(), TraCI_Vehicle::getLateralLanePosition(), getLateralOverlap(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), GUIVehicle::getParameterWindow(), getPosition(), getPositionAlongBestLanes(), MSAbstractLaneChangeModel::getShadowLane(), MSLeaderInfo::getSubLanes(), MSLCM_SL2015::keepLatGap(), MSLane::loadState(), MSPModel_Striping::moveInDirectionOnLane(), MSLane::vehicle_natural_position_sorter::operator()(), planMove(), GUIVehicle::selectBlockingFoes(), MSLaneChangerSublane::startChangeSublane(), validatePosition(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), and MSXMLRawOut::writeVehicle().
| double MSVehicle::getLatOffset | ( | const MSLane * | lane | ) | const |
Get the offset that that must be added to interpret myState.myPosLat for the given lane.
Definition at line 3862 of file MSVehicle.cpp.
References DEBUG_COND, MSLane::getEdge(), Named::getID(), MSBaseVehicle::getID(), Named::getIDSecure(), getLaneChangeModel(), MSLane::getRightSideOnEdge(), MSAbstractLaneChangeModel::getShadowFurtherLanes(), MSAbstractLaneChangeModel::getShadowFurtherLanesPosLat(), myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myPosLat, myState, SIMTIME, and toString().
Referenced by MSLane::getFirstVehicleInformation(), MSLane::getFollowersOnConsecutive(), MSLane::getLastVehicleInformation(), getLateralPositionOnLane(), MSLink::getLeaderInfo(), MSLane::getLeadersOnConsecutive(), and MSLane::getPartialBeyond().
| std::pair< const MSVehicle *const, double > MSVehicle::getLeader | ( | double | 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.
| dist | up to which distance to look for a leader |
Definition at line 3574 of file MSVehicle.cpp.
References MSCFModel::brakeGap(), getBackPositionOnLane(), getBestLanesContinuation(), getCarFollowModel(), MSLane::getLeaderOnConsecutive(), MSLane::getLength(), MSVehicleType::getMinGap(), getPositionOnLane(), getSpeed(), MSLane::getVehiclesSecure(), MSBaseVehicle::getVehicleType(), myLane, and MSLane::releaseVehicles().
Referenced by TraCI_Vehicle::getLeader(), getTimeGapOnLane(), and nextStopDist().
|
inlineinherited |
Returns the vehicle's length.
Definition at line 362 of file MSBaseVehicle.h.
References MSVehicleType::getLength(), and MSBaseVehicle::myType.
Referenced by addStop(), MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determineTTCandDRAC(), enterLaneAtInsertion(), MSDevice_SSM::findSurroundingVehicles(), MSLink::getLeaderInfo(), MSDevice_SSM::getUpstreamVehicles(), MSDevice_SSM::updatePassedEncounter(), and validatePosition().
|
virtualinherited |
Returns the maximum speed.
Implements SUMOVehicle.
Definition at line 134 of file MSBaseVehicle.cpp.
References MSVehicleType::getMaxSpeed(), and MSBaseVehicle::myType.
Referenced by MSCFModel_Wiedemann::_v(), MSVehicleTransfer::checkInsertions(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), MSBaseVehicle::getVClass(), MSVehicle::Influencer::implicitDeltaPosVTD(), and MSVehicle::Influencer::implicitSpeedVTD().
|
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)
Definition at line 509 of file MSVehicle.h.
References MSVehicleType::getMaxSpeed(), MSLane::getVehicleMaxSpeed(), myLane, and MSBaseVehicle::myType.
Referenced by MSDevice_SSM::estimateConflictTimes(), MSLCM_LC2013::informFollower(), MSCFModel_Rail::moveHelper(), MSCFModel_KraussX::moveHelper(), and MSCFModel::moveHelper().
|
virtual |
get the current parking area stop
Implements SUMOVehicle.
Definition at line 1226 of file MSVehicle.cpp.
References myStops, MSVehicle::Stop::parkingarea, and MSVehicle::Stop::reached.
| MSVehicle::Stop & MSVehicle::getNextStop | ( | ) |
returns the next imminent stop in the stop queue
Definition at line 4217 of file MSVehicle.cpp.
References myStops.
Referenced by TraCI_Vehicle::getStopState(), MSLane::isInsertionSuccess(), TraCI_Vehicle::resume(), and signalSet().
| double MSVehicle::getNOxEmissions | ( | ) | const |
Returns NOx emission of the current state.
Definition at line 3632 of file MSVehicle.cpp.
References PollutantsInterface::compute(), MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, PollutantsInterface::NO_X, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), TraCI_Vehicle::getNOxEmission(), GUIVehicle::getParameterWindow(), and nextStopDist().
|
inlinevirtualinherited |
Returns the number of new routes this vehicle got.
Implements SUMOVehicle.
Definition at line 292 of file MSBaseVehicle.h.
References MSBaseVehicle::getImpatience(), and MSBaseVehicle::myNumberReroutes.
Referenced by GUIBaseVehicle::drawGLAdditional(), GUIMEVehicle::getColorValue(), GUIVehicle::getColorValue(), and MSBaseVehicle::replaceRouteEdges().
|
virtualinherited |
Returns the vehicle's parameter (including departure definition)
Implements SUMOVehicle.
Definition at line 128 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myParameter.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSTransportableControl::boardAnyWaiting(), GUIBaseVehicle::drawOnPos(), MSBaseVehicle::getDepartDelay(), MSEdge::getDepartLane(), MSEdge::getDepartPosBound(), MSLane::getDepartPosLat(), MSLane::getDepartSpeed(), TraCI_Vehicle::getLine(), TraCI_Vehicle::getParameter(), GUIMEVehicle::getParameterWindow(), GUIVehicle::getParameterWindow(), TraCI_Vehicle::getVia(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), MSTransportableControl::loadAnyWaiting(), planMoveInternal(), TraCIServerAPI_Vehicle::processSet(), TraCI_Vehicle::setColor(), GUIBaseVehicle::setFunctionalColor(), TraCI_Vehicle::setLine(), TraCI_Vehicle::setParameter(), and METriggeredCalibrator::tryEmit().
| int MSVehicle::getPersonNumber | ( | ) | const |
Returns the number of persons.
Definition at line 3734 of file MSVehicle.cpp.
References MSBaseVehicle::myParameter, myPersonDevice, SUMOVehicleParameter::personNumber, and MSDevice_Transportable::size().
Referenced by MSTransportableControl::boardAnyWaiting(), GUIVehicle::getParameterWindow(), TraCI_Vehicle::getPersonNumber(), nextStopDist(), processNextStop(), and MSXMLRawOut::writeVehicle().
| const std::vector< MSTransportable * > & MSVehicle::getPersons | ( | ) | const |
retrieve riding persons
Definition at line 3714 of file MSVehicle.cpp.
References MSDevice_Transportable::getTransportables(), myEmptyTransportableVector, and myPersonDevice.
Referenced by nextStopDist(), MSFCDExport::write(), and MSXMLRawOut::writeVehicle().
| double MSVehicle::getPMxEmissions | ( | ) | const |
Returns PMx emission of the current state.
Definition at line 3638 of file MSVehicle.cpp.
References PollutantsInterface::compute(), MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, PollutantsInterface::PM_X, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), TraCI_Vehicle::getPMxEmission(), and nextStopDist().
|
virtual |
Return current position (x/y, cartesian)
If the vehicle's myLane is 0, Position::INVALID.
| [in] | offset | optional offset in longitudinal direction |
Implements SUMOVehicle.
Definition at line 806 of file MSVehicle.cpp.
References MSLane::geometryPositionAtOffset(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSNet::getInstance(), getLaneChangeModel(), MSEdge::getLanes(), getLateralPositionOnLane(), getPositionOnLane(), MSLane::interpolateLanePosToGeometryPos(), Position::INVALID, MSAbstractLaneChangeModel::isChangingLanes(), isParking(), MSVehicle::Influencer::isVTDAffected(), PositionVector::move2side(), myCachedPosition, myInfluencer, myLane, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, myStops, PositionVector::positionAtOffset(), SUMO_const_laneWidth, and validatePosition().
Referenced by computeAngle(), MSDevice_SSM::determineConflictPoint(), getAcceleration(), getBoundingBox(), getBoundingPoly(), MSLink::getLeaderInfo(), TraCI_Vehicle::getPosition(), TraCIServerAPI_Vehicle::getPosition(), GUIVehicle::getPosition(), MSVTKExport::getPositions(), MSVehicle::Influencer::implicitDeltaPosVTD(), MSVehicle::Influencer::implicitSpeedVTD(), TraCIServerAPI_Vehicle::processSet(), MSDevice_SSM::updateEncounter(), TraCIServerAPI_Vehicle::vtdMap(), and MSBatteryExport::write().
| Position MSVehicle::getPositionAlongBestLanes | ( | double | offset | ) | const |
Return the (x,y)-position, which the vehicle would reach if it continued along its best continuation lanes from the current for a distance of offset m.
| offset |
Definition at line 838 of file MSVehicle.cpp.
References MSLane::geometryPositionAtOffset(), getBestLanesContinuation(), getLane(), getLateralPositionOnLane(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLinkTo(), MSLink::getViaLaneOrLane(), MSGlobals::gUsingInternalLanes, Position::INVALID, MSLane::isInternal(), MSVehicle::State::myPos, and myState.
Referenced by MSDevice_SSM::determineConflictPoint(), and getAcceleration().
|
inlinevirtual |
Get the vehicle's position along the lane.
Implements SUMOVehicle.
Definition at line 375 of file MSVehicle.h.
References MSVehicle::State::myPos, and myState.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToLeaders(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSVehicleTransfer::checkInsertions(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), computeAngle(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), executeMove(), MSLane::executeMovements(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSLane::freeInsertion(), MSLane::getBruttoOccupancy(), MSLaneChanger::getCloserFollower(), MSEdge::getDepartPosBound(), TraCI_Vehicle::getDistance(), getDistanceToPosition(), TraCI_Vehicle::getDrivingDistance(), TraCI_Vehicle::getDrivingDistance2D(), MSLane::getFirstAnyVehicle(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSEdge::getFreeLane(), TraCI_Vehicle::getLanePosition(), getLastStepDist(), MSLane::getLastVehicleInformation(), MSLane::getLeader(), getLeader(), MSLaneChangerSublane::getLeaders(), MSLane::getNettoOccupancy(), TraCI_Vehicle::getNextTLS(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), GUIVehicle::getParameterWindow(), MSLane::getPartialBehind(), getPosition(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSLCM_LC2013::getRoundaboutAheadInfo(), getSlope(), MSVTKExport::getSpeed(), MSDevice_SSM::getUpstreamVehicles(), MSLane::handleCollisionBetween(), MSLane::isInsertionSuccess(), MSVehicleTransfer::loadState(), MSLane::loadState(), MSLane::VehPosition::operator()(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), planMove(), planMoveInternal(), 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::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().
| double MSVehicle::getPositionOnLane | ( | const MSLane * | lane | ) | const |
Get the vehicle's front position relative to the given lane.
Definition at line 2673 of file MSVehicle.cpp.
References getBackPositionOnLane(), MSVehicleType::getLength(), and MSBaseVehicle::myType.
|
inlinevirtual |
Returns the vehicle's speed before the previous time step.
Reimplemented from MSBaseVehicle.
Definition at line 451 of file MSVehicle.h.
References MSVehicle::State::myPreviousSpeed, and myState.
Referenced by MSDevice_SSM::checkConflictEntryAndExit().
|
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
Reimplemented from MSBaseVehicle.
Definition at line 916 of file MSVehicle.cpp.
References MSCFModel::brakeGap(), MSRoute::end(), getCarFollowModel(), MSLane::getLength(), MSLane::getNextNormal(), MSBaseVehicle::myCurrEdge, myLane, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, and myState.
Referenced by isOnRoad(), and TraCIServerAPI_Vehicle::processSet().
| double 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)
Definition at line 3824 of file MSVehicle.cpp.
References getCenterOnEdge(), MSBaseVehicle::getVehicleType(), and MSVehicleType::getWidth().
Referenced by MSLCM_SL2015::checkBlockingVehicles(), MSLane::detectCollisions(), getLateralPositionOnLane(), GUIVehicle::getLeftSideOnEdge(), GUIVehicle::getRightSideOnEdge2(), and GUIVehicle::getRightSublaneOnEdge().
| double MSVehicle::getRightSideOnLane | ( | ) | const |
Get the vehicle's lateral position on the lane:
Definition at line 3818 of file MSVehicle.cpp.
References MSBaseVehicle::getVehicleType(), MSVehicleType::getWidth(), MSLane::getWidth(), myLane, MSVehicle::State::myPosLat, and myState.
Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), getLateralPositionOnLane(), and planMoveInternal().
|
inlinevirtualinherited |
Returns the current route.
Implements SUMOVehicle.
Definition at line 108 of file MSBaseVehicle.h.
References MSBaseVehicle::myRoute.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), GUIBaseVehicle::drawRoute(), MSEdge::getDepartLane(), TraCI_Vehicle::getDistance(), TraCI_Vehicle::getDrivingDistance(), TraCI_Vehicle::getDrivingDistance2D(), TraCI_Vehicle::getEdges(), TraCI_Vehicle::getRouteID(), MSLane::isInsertionSuccess(), MSVehicle::Influencer::postProcessVTD(), GUIBaseVehicle::setFunctionalColor(), TraCIServerAPI_Vehicle::vtdMap(), and TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition().
| int MSVehicle::getRoutePosition | ( | ) | const |
Definition at line 707 of file MSVehicle.cpp.
References MSRoute::begin(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.
Referenced by TraCI_Vehicle::getRouteIndex(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), and TraCIServerAPI_Vehicle::vtdMap().
| double MSVehicle::getSafeFollowSpeed | ( | const std::pair< const MSVehicle *, double > | leaderInfo, |
| const double | seen, | ||
| const MSLane *const | lane, | ||
| double | distToCrossing | ||
| ) | const |
compute safe speed for following the given leader
Definition at line 2044 of file MSVehicle.cpp.
References MSCFModel::followSpeed(), getCarFollowModel(), MSLane::getLength(), getSpeed(), MAX2(), POSITION_EPS, and MSCFModel::stopSpeed().
Referenced by adaptToLeader(), MSLane::getCriticalLeader(), and hasInfluencer().
|
inline |
Returns the signals.
Definition at line 1147 of file MSVehicle.h.
References mySignals.
Referenced by TraCI_Vehicle::getSignalStates(), and MSFCDExport::write().
|
inherited |
Replaces the current vehicle type with a new one used by this vehicle only.
If the currently used vehicle type is already marked as being used by this vehicle only, no new type is created.
Definition at line 558 of file MSBaseVehicle.cpp.
References MSVehicleType::buildSingularType(), OutputDevice::closeTag(), MSMoveReminder::getDescription(), OutputDevice::getDeviceByOption(), MSBaseVehicle::getID(), MSVehicleType::getID(), MSNet::getInstance(), OptionsCont::getStringVector(), OptionsCont::isSet(), MSVehicleType::isVehicleSpecific(), MSBaseVehicle::myType, OutputDevice::openTag(), MSBaseVehicle::replaceVehicleType(), STEPS2TIME, SUMO_ATTR_ID, SUMO_ATTR_TIME, toString(), and OutputDevice::writeAttr().
Referenced by TraCIServerAPI_Vehicle::processSet(), MSBaseVehicle::setChosenSpeedFactor(), TraCI_Vehicle::setMaxSpeed(), and TraCI_Vehicle::setShapeClass().
|
virtual |
Returns the slope of the road at vehicle's position.
Reimplemented from MSBaseVehicle.
Definition at line 795 of file MSVehicle.cpp.
References getPositionOnLane(), MSLane::getShape(), MSLane::interpolateLanePosToGeometryPos(), myLane, and PositionVector::slopeDegreeAtOffset().
Referenced by getAcceleration(), getCO2Emissions(), getCOEmissions(), getElectricityConsumption(), getFuelConsumption(), getHCEmissions(), getNOxEmissions(), GUIVehicle::getParameterWindow(), getPMxEmissions(), TraCI_Vehicle::getSlope(), MSCFModel_Rail::maxNextSpeed(), MSCFModel_KraussPS::maxNextSpeed(), and MSCFModel_Rail::minNextSpeed().
|
protected |
Definition at line 2685 of file MSVehicle.cpp.
References MSLane::getLength(), MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMO_const_haltingSpeed.
Referenced by checkRewindLinkLanes(), and hasInfluencer().
|
inlinevirtual |
Returns the vehicle's current speed.
Implements SUMOVehicle.
Definition at line 443 of file MSVehicle.h.
References MSVehicle::State::mySpeed, and myState.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSPModel_Striping::addCrossingVehs(), MSCriticalFollowerDistanceInfo::addFollower(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), MSDevice_SSM::checkConflictEntryAndExit(), GUIApplicationWindow::checkGamingEvents(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLCM_SL2015::commitFollowSpeed(), MSLCM_SL2015::commitManoeuvre(), MSLaneChanger::computeOvertakingTime(), MSLink::couldBrakeForLeader(), MSDevice_SSM::determineTTCandDRAC(), MSDevice_SSM::estimateConflictTimes(), executeMove(), MSLane::forceVehicleInsertion(), MSLane::freeInsertion(), GUIVehicle::getColorValue(), MSLane::getCriticalLeader(), MSLane::getLeader(), getLeader(), MSLaneChangerSublane::getLeaders(), MSLane::getMissingRearGap(), GUIVehicle::getParameterWindow(), MSLaneChanger::getRealLeader(), getSafeFollowSpeed(), TraCI_Vehicle::getSpeed(), MSVTKExport::getSpeed(), getTimeGapOnLane(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), 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(), MSVehicleTransfer::loadState(), MSLane::loadState(), MSLink::maybeOccupied(), MSCFModel_Rail::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_PWag2009::moveHelper(), MSCFModel_Daniel1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel_KraussX::moveHelper(), MSCFModel_Wiedemann::moveHelper(), MSCFModel::moveHelper(), MSPModel_Striping::moveInDirectionOnLane(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), planMove(), planMoveInternal(), MSAbstractLaneChangeModel::predInteraction(), MSAbstractLaneChangeModel::primaryLaneChanged(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSAbstractLaneChangeModel::setFollowerGaps(), MSAbstractLaneChangeModel::setLeaderGaps(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLCM_SL2015::updateGaps(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().
| double MSVehicle::getSpeedWithoutTraciInfluence | ( | ) | const |
Returns the uninfluenced velocity.
If no influencer exists (myInfluencer==0) the vehicle's current speed is returned. Otherwise the speed returned from myInfluencer->getOriginalSpeed().
Definition at line 4238 of file MSVehicle.cpp.
References MSVehicle::Influencer::getOriginalSpeed(), myInfluencer, MSVehicle::State::mySpeed, and myState.
Referenced by TraCI_Vehicle::getSpeedWithoutTraCI(), and signalSet().
|
protectedvirtual |
Returns the list of still pending stop edges.
Implements MSBaseVehicle.
Definition at line 1496 of file MSVehicle.cpp.
References myStops.
Referenced by hasInfluencer().
| double MSVehicle::getTimeGapOnLane | ( | ) | const |
Returns the time gap in seconds to the leader of the vehicle on the same lane.
If the distance is too big -1 is returned. The gap returned takes the minGap into account.
Definition at line 3603 of file MSVehicle.cpp.
References getLeader(), getSpeed(), and MSBaseVehicle::getVehicleType().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and nextStopDist().
|
inline |
Returns the SUMOTime lost (speed was lesser maximum speed)
Definition at line 560 of file MSVehicle.h.
References myTimeLoss.
|
inline |
Returns the time loss in seconds.
Definition at line 597 of file MSVehicle.h.
References myTimeLoss, and STEPS2TIME.
Referenced by GUIVehicle::getColorValue(), and GUIVehicle::getParameterWindow().
|
inlinevirtualinherited |
Returns the vehicle's access class.
Implements SUMOVehicle.
Definition at line 124 of file MSBaseVehicle.h.
References MSBaseVehicle::getEdge(), MSBaseVehicle::getMaxSpeed(), MSVehicleType::getParameter(), MSBaseVehicle::myType, MSBaseVehicle::succEdge(), and SUMOVTypeParameter::vehicleClass.
Referenced by GUIVehicle::drawRouteHelper(), MSPedestrianPushButton::isActiveForEdge(), and MSBaseVehicle::reroute().
|
inlinevirtualinherited |
Returns the vehicle's type definition.
Implements SUMOVehicle.
Definition at line 116 of file MSBaseVehicle.h.
References MSBaseVehicle::myType.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToLeaders(), MSPModel_Striping::addCrossingVehs(), addStop(), MSLane::basePos(), MSTransportableControl::boardAnyWaiting(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSLaneChanger::checkChange(), MSLane::checkFailure(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), MSLCM_SL2015::commitManoeuvre(), MSLaneChanger::computeOvertakingTime(), MSLCM_SL2015::computeSpeedLat(), MSLaneChanger::continueChange(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), GUIVehicle::drawAction_drawLinkItems(), GUIVehicle::drawAction_drawRailCarriages(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBrakeLight(), GUIEdge::drawMesoVehicles(), MSLane::enteredByLaneChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), MSDevice_SSM::estimateConflictTimes(), MEVehicle::estimateLeaveSpeed(), estimateLeaveSpeed(), executeMove(), MSLane::executeMovements(), MSLane::freeInsertion(), MEVehicle::getBackPositionOnLane(), MSLane::getBruttoOccupancy(), GUIBaseVehicle::getCenteringBoundary(), MSLane::getCriticalLeader(), MSEdge::getDepartLane(), MSEdge::getDepartPosBound(), MSLane::getDepartPosLat(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSBaseVehicle::getImpatience(), getLateralOverlap(), MSLane::getLeader(), getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), GUIVehicle::getLeftSideOnEdge(), MSLane::getNettoOccupancy(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), getRightSideOnEdge(), getRightSideOnLane(), MSLeaderInfo::getSubLanes(), getTimeGapOnLane(), MESegment::getTimeHeadway(), TraCI_Vehicle::getTypeID(), TraCI_Vehicle::getVehicleType(), GUIBaseVehicle::getVType(), MSLCM_SL2015::getWidth(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MESegment::hasSpaceFor(), ignoreRed(), MSLane::incorporateVehicle(), MSLCM_SL2015::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_SL2015::informLeaders(), MSLane::insertVehicle(), MSLane::integrateNewVehicle(), MSLane::isInsertionSuccess(), MESegment::isOpen(), keepClear(), MSLCM_SL2015::keepLatGap(), MSLane::lastInsertion(), MSLane::leftByLaneChange(), MSTransportableControl::loadAnyWaiting(), MESegment::loadState(), MSPModel_Striping::moveInDirectionOnLane(), overlap(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), planMoveInternal(), MSVehicle::Influencer::postProcessVTD(), MSAbstractLaneChangeModel::primaryLaneChanged(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), MESegment::receive(), MSLaneChanger::registerUnchanged(), MESegment::removeCar(), MSLane::removeVehicle(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSBaseVehicle::saveState(), GUIVehicle::selectBlockingFoes(), MSAbstractLaneChangeModel::setFollowerGaps(), GUIBaseVehicle::setFunctionalColor(), MSAbstractLaneChangeModel::setLeaderGaps(), setTentativeLaneAndPosition(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChanger::startChange(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), updateFurtherLanes(), MSLCM_SL2015::updateGaps(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().
|
inline |
Returns the vehicle's direction in radians.
Definition at line 613 of file MSVehicle.h.
References computeAngle(), myAngle, myState, setAngle(), and MSVehicle::State::speed().
Referenced by MSDevice_SSM::updateEncounter().
|
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.
Definition at line 581 of file MSVehicle.h.
References myWaitingTime, and STEPS2TIME.
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), TraCI_Vehicle::getWaitingTime(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSPedestrianPushButton::isActiveForEdge(), MSEmissionExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
|
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.
Implements SUMOVehicle.
Definition at line 547 of file MSVehicle.h.
References myWaitingTime.
Referenced by checkRewindLinkLanes(), executeMove(), MSLane::executeMovements(), MSLink::getLeaderInfo(), and GUIVehicle::selectBlockingFoes().
| 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.
Definition at line 722 of file MSVehicle.cpp.
References _getWeightsStorage().
Referenced by TraCI_Vehicle::getAdaptedTraveltime(), TraCI_Vehicle::getEffort(), MSNet::getEffort(), MSNet::getTravelTime(), and TraCIServerAPI_Vehicle::processSet().
| MSEdgeWeightsStorage & MSVehicle::getWeightsStorage | ( | ) |
Definition at line 728 of file MSVehicle.cpp.
References _getWeightsStorage().
|
inlineinherited |
Returns the vehicle's width.
Definition at line 370 of file MSBaseVehicle.h.
References MSVehicleType::getWidth(), and MSBaseVehicle::myType.
Referenced by MSDevice_SSM::classifyEncounter(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBrakeLight(), getLateralOverlap(), planMoveInternal(), and MSDevice_SSM::updatePassedEncounter().
|
virtual |
Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge)
Reimplemented from MSBaseVehicle.
Definition at line 636 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().
|
virtualinherited |
Returns whether this vehicle has already departed.
Implements SUMOVehicle.
Definition at line 300 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDeparture, and MSBaseVehicle::NOT_YET_DEPARTED.
Referenced by addStop(), MSBaseVehicle::createDevice(), MSLane::forceVehicleInsertion(), TraCI_Vehicle::getRouteIndex(), MEVehicle::loadState(), loadState(), TraCIServerAPI_Vehicle::processSet(), MSBaseVehicle::saveState(), and MSBaseVehicle::setArrivalPos().
|
inherited |
check whether the vehicle is equiped with a device of the given type
Definition at line 496 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
Referenced by MSBaseVehicle::createDevice(), and TraCI_Vehicle::getParameter().
|
inline |
Definition at line 1451 of file MSVehicle.h.
References adaptLaneEntering2MoveReminder(), getSafeFollowSpeed(), getSpaceTillLastStanding(), getStopEdges(), influenceChangeDecision(), loadState(), myInfluencer, nextLinkPriority(), saveState(), setBlinkerInformation(), setEmergencyBlueLight(), setVTDState(), updateOccupancyAndCurrentBestLane(), and validatePosition().
Referenced by MSLaneChanger::changeOpposite(), MSLane::detectCollisionBetween(), MSLane::handleCollisionBetween(), influenceChangeDecision(), MSLCM_SL2015::keepLatGap(), and MSAbstractLaneChangeModel::setOwnState().
|
inline |
Returns whether the vehicle has to stop somewhere.
Definition at line 888 of file MSVehicle.h.
References collisionStopTime(), DELTA_T, isParking(), isRemoteControlled(), isStopped(), isStoppedOnLane(), keepStopping(), myStops, and wasRemoteControlled().
Referenced by MSLane::isInsertionSuccess(), and TraCI_Vehicle::resume().
|
virtualinherited |
Validates the current or given route.
| [out] | msg | Description why the route is not valid (if it is the case) |
| [in] | route | The route to check (or 0 if the current route shall be checked) |
Implements SUMOVehicle.
Definition at line 321 of file MSBaseVehicle.cpp.
References MSRoute::begin(), MSRoute::end(), MSVehicleType::getVehicleClass(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, and MSBaseVehicle::myType.
Referenced by MSBaseVehicle::getDevices(), MESegment::initialise(), TraCI_Vehicle::isRouteValid(), MSBaseVehicle::MSBaseVehicle(), TraCIServerAPI_Vehicle::processSet(), and MSBaseVehicle::replaceRouteEdges().
|
protected |
decide whether a red (or yellow light) may be ignore
Definition at line 4346 of file MSVehicle.cpp.
References DEBUG_COND, MSVehicle::Influencer::getEmergencyBrakeRedLight(), Named::getID(), MSBaseVehicle::getID(), MSNet::getInstance(), SUMOVTypeParameter::getJMParam(), MSLink::getLastStateChange(), MSVehicleType::getParameter(), MSLink::getState(), MSLink::getTLLogic(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), MSLink::haveRed(), MSLink::haveYellow(), myInfluencer, SIMTIME, STEPS2TIME, SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME, and toString().
Referenced by MSLaneChanger::changeOpposite(), estimateLeaveSpeed(), executeMove(), and planMoveInternal().
| int MSVehicle::influenceChangeDecision | ( | int | state | ) |
allow TraCI to influence a lane change decision
Definition at line 4247 of file MSVehicle.cpp.
References MSLane::getEdge(), getInfluencer(), MSNet::getInstance(), getLaneIndex(), hasInfluencer(), MSVehicle::Influencer::influenceChangeDecision(), and myLane.
Referenced by MSLCM_LC2013::_wantsChange(), MSAbstractLaneChangeModel::cancelRequest(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSLCM_SL2015::checkStrategicChange(), MSVehicle::Influencer::getRoutingMode(), and hasInfluencer().
|
virtual |
Returns the information whether the front of the vehicle is on the given lane.
Reimplemented from MSBaseVehicle.
Definition at line 2679 of file MSVehicle.cpp.
References getLaneChangeModel(), MSAbstractLaneChangeModel::getShadowLane(), and myLane.
Referenced by checkRewindLinkLanes(), MSLane::getFirstVehicleInformation(), MSLane::getFollowersOnConsecutive(), MSLink::getLeaderInfo(), MSLane::getLeadersOnConsecutive(), MSLane::getPartialBehind(), MSLane::getPartialBeyond(), and isOnRoad().
|
inlinevirtual |
Returns the information whether the vehicle is on a road (is simulated)
Reimplemented from MSBaseVehicle.
Definition at line 521 of file MSVehicle.h.
References getRerouteOrigin(), isFrontOnLane(), and myAmOnNet.
Referenced by GUIApplicationWindow::checkGamingEvents(), MSDevice_SSM::findSurroundingVehicles(), TraCI_Vehicle::getAllowedSpeed(), TraCI_Vehicle::getBestLanes(), TraCI_Vehicle::getDistance(), getDistanceToPosition(), TraCI_Vehicle::getDrivingDistance(), TraCI_Vehicle::getDrivingDistance2D(), TraCI_Vehicle::getLaneChangeState(), TraCI_Vehicle::getLaneID(), TraCI_Vehicle::getLaneIndex(), TraCI_Vehicle::getLanePosition(), TraCI_Vehicle::getLateralLanePosition(), TraCI_Vehicle::getLeader(), TraCI_Vehicle::getNextTLS(), MSVTKExport::getPositions(), TraCI_Vehicle::getSlope(), MSVTKExport::getSpeed(), TraCI_Vehicle::isVisible(), MSVehicle::Influencer::postProcessVTD(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), TraCIServerAPI_Vehicle::vtdMap(), MSBatteryExport::write(), and MSQueueExport::writeLane().
|
virtual |
Returns whether the vehicle is parking.
Implements SUMOVehicle.
Definition at line 1266 of file MSVehicle.cpp.
References isStopped(), and myStops.
Referenced by MSVehicleTransfer::add(), computeAngle(), MSLane::executeMovements(), getPosition(), GUIVehicle::getStopInfo(), hasStops(), and TraCI_Vehicle::isVisible().
|
virtual |
Returns the information whether the vehicle is fully controlled via TraCI.
Reimplemented from MSBaseVehicle.
Definition at line 4267 of file MSVehicle.cpp.
References MSVehicle::Influencer::isVTDControlled(), and myInfluencer.
Referenced by MSLaneChangerSublane::change(), MSLaneChanger::change(), executeMove(), hasArrived(), and hasStops().
|
inlinevirtual |
whether this vehicle is selected in the GUI
Reimplemented in GUIVehicle.
Definition at line 810 of file MSVehicle.h.
|
virtual |
Returns whether the vehicle is at a stop.
Implements SUMOVehicle.
Definition at line 1240 of file MSVehicle.cpp.
References myStops.
Referenced by MSLaneChanger::changeOpposite(), executeMove(), MSLane::executeMovements(), MSLink::getLeaderInfo(), GUIVehicle::getStopInfo(), TraCI_Vehicle::getStopState(), hasStops(), MSLCM_LC2013::informLeader(), isParking(), isStoppedInRange(), isStoppedOnLane(), isStoppedTriggered(), keepStopping(), and resumeFromStopping().
|
virtual |
return whether the given position is within range of the current stop
Implements SUMOVehicle.
Definition at line 1278 of file MSVehicle.cpp.
References isStopped(), and myStops.
Referenced by nextStopDist().
| bool MSVehicle::isStoppedOnLane | ( | ) | const |
Definition at line 1245 of file MSVehicle.cpp.
References isStopped(), myLane, and myStops.
Referenced by MSLaneChangerSublane::change(), MSLaneChanger::change(), and hasStops().
|
virtual |
Returns whether the vehicle is on a triggered stop.
Implements SUMOVehicle.
Definition at line 1272 of file MSVehicle.cpp.
References isStopped(), and myStops.
Referenced by keepStopping(), and nextStopDist().
|
protected |
decide whether the given link must be kept clear
Definition at line 4334 of file MSVehicle.cpp.
References getAccumulatedWaitingSeconds(), SUMOVTypeParameter::getJMParam(), MSVehicleType::getParameter(), MSBaseVehicle::getVehicleType(), MSLink::hasFoes(), MSLink::keepClear(), and SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME.
Referenced by checkRewindLinkLanes(), and estimateLeaveSpeed().
| bool MSVehicle::keepStopping | ( | bool | afterProcessing = false | ) | const |
Returns whether the vehicle is stopped and must continue to do so.
Definition at line 1250 of file MSVehicle.cpp.
References DELTA_T, isStopped(), isStoppedTriggered(), and myStops.
Referenced by MSVehicleTransfer::checkInsertions(), hasStops(), and processNextStop().
| bool MSVehicle::knowsEdgeTest | ( | MSEdge & | edge | ) | const |
Referenced by nextStopDist().
| void MSVehicle::leaveLane | ( | const MSMoveReminder::Notification | reason, |
| const MSLane * | approachedLane = 0 |
||
| ) |
Update of members if vehicle leaves a new lane in the lane change step or at arrival.
Definition at line 3094 of file MSVehicle.cpp.
References DEBUG_COND, MSLane::getEdge(), MSBaseVehicle::getID(), MSNet::getInstance(), myAmOnNet, MSBaseVehicle::myCurrEdge, myFurtherLanes, myFurtherLanesPosLat, myLane, MSBaseVehicle::myMoveReminders, MSVehicle::State::myPos, myState, myStops, myWaitingTime, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSMoveReminder::NOTIFICATION_PARKING, MSMoveReminder::NOTIFICATION_TELEPORT, resumeFromStopping(), SIMTIME, time2string(), and WRITE_WARNING.
Referenced by MSVehicleTransfer::checkInsertions(), congested(), executeMove(), onRemovalFromNet(), MSAbstractLaneChangeModel::primaryLaneChanged(), and MSLane::removeVehicle().
|
virtual |
Loads the state of this vehicle from the given description.
Implements SUMOVehicle.
Definition at line 4407 of file MSVehicle.cpp.
References SUMOSAXAttributes::getFloat(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::hasAttribute(), MSBaseVehicle::hasDeparted(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myDepartPos, MSBaseVehicle::myDeparture, MSVehicle::State::myPos, MSVehicle::State::myPosLat, MSVehicle::State::mySpeed, myState, myWaitingTime, SUMO_ATTR_POSITION, SUMO_ATTR_POSITION_LAT, SUMO_ATTR_SPEED, and SUMO_ATTR_STATE.
Referenced by hasInfluencer().
|
static |
get a numerical value for the priority of the upcoming link
Definition at line 3469 of file MSVehicle.cpp.
References MSLinkContHelper::getConnectingLink(), and MSLink::havePriority().
Referenced by hasInfluencer(), and updateBestLanes().
|
inline |
return the distance to the next stop or doubleMax if there is none.
Definition at line 924 of file MSVehicle.h.
References addContainer(), addPerson(), getCO2Emissions(), getCOEmissions(), getContainerNumber(), getContainers(), getDistanceToPosition(), getElectricityConsumption(), getFuelConsumption(), getHarmonoise_NoiseEmissions(), getHCEmissions(), getLaneIndex(), getLeader(), getNOxEmissions(), getPersonNumber(), getPersons(), getPMxEmissions(), getTimeGapOnLane(), isStoppedInRange(), isStoppedTriggered(), knowsEdgeTest(), myStopDist, processNextStop(), and removeTransportable().
Referenced by MSLaneChanger::changeOpposite().
|
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 292 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(), MSVehicle::Influencer::postProcessVTD(), and MESegment::receive().
| bool MSVehicle::onFurtherEdge | ( | const MSEdge * | edge | ) | const |
whether this vehicle has its back (and no its front) on the given edge
Definition at line 4031 of file MSVehicle.cpp.
References myFurtherLanes.
Referenced by getFurtherLanesPosLat().
| 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.
| [in] | reason | why the vehicle leaves (reached its destination, parking, teleport) |
Definition at line 627 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().
Returns true if the two vehicles overlap.
Definition at line 625 of file MSVehicle.h.
References MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myPos, and myState.
| void MSVehicle::planMove | ( | const SUMOTime | t, |
| const MSLeaderInfo & | ahead, | ||
| const double | lengthsInFront | ||
| ) |
Compute safe velocities for the upcoming lanes based on positions and speeds from the last time step. Also registers ApproachingVehicleInformation for all links.
This method goes through the best continuation lanes of the current lane and computes the safe velocities for passing/stopping at the next link as a DriveProcessItem
Afterwards it checks if any DriveProcessItem should be discarded to avoid blocking a junction (checkRewindLinkLanes).
Finally the ApproachingVehicleInformation is registered for all links that shall be passed
| [in] | t | The current timeStep |
| [in] | ahead | The leaders (may be 0) |
| [in] | lengthsInFront | Sum of vehicle lengths in front of the vehicle |
Definition at line 1506 of file MSVehicle.cpp.
References checkRewindLinkLanes(), DEBUG_COND, Named::getID(), MSBaseVehicle::getID(), getLaneChangeModel(), getLateralPositionOnLane(), getPositionOnLane(), getSpeed(), myLane, myLFLinkLanes, myStopDist, planMoveInternal(), MSAbstractLaneChangeModel::resetChanged(), and STEPS2TIME.
|
protected |
Definition at line 1557 of file MSVehicle.cpp.
References MSVehicle::DriveProcessItem::adaptLeaveSpeed(), adaptToLeaders(), MSLeaderInfo::addLeader(), ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, MSCFModel::brakeGap(), checkLinkLeader(), MSLeaderInfo::clear(), CRLL_LOOK_AHEAD, DEBUG_COND, DELTA_T, DIST_TO_STOPLINE_EXPECT_PRIORITY, MSRoute::end(), estimateLeaveSpeed(), MSCFModel::estimateSpeedAfterDistance(), MSCFModel::freeSpeed(), gDebugFlag1, gDebugSelectedVehicle, getBestLanesContinuation(), getCarFollowModel(), MSAbstractLaneChangeModel::getCommittedSpeed(), MSLane::getEdge(), MSVehicle::Stop::getEndPos(), Named::getID(), MSBaseVehicle::getID(), MSLane::getIncomingLanes(), MSNet::getInstance(), getLane(), getLaneChangeModel(), MSLane::getLastVehicleInformation(), getLateralOverlap(), MSVehicleType::getLength(), MSLane::getLength(), MSLane::getLinkCont(), MSCFModel::getMaxAccel(), MSCFModel::getMaxDecel(), MSCFModel::getMinimalArrivalSpeed(), MSCFModel::getMinimalArrivalSpeedEuler(), MSCFModel::getMinimalArrivalTime(), MSPModel::getModel(), MSLane::getOpposite(), MSLane::getOppositeLeader(), MSLane::getParallelLane(), MSLink::getParallelLink(), MSBaseVehicle::getParameter(), MSEdge::getPersons(), getPositionOnLane(), MSLane::getRightSideOnEdge(), getRightSideOnLane(), MSAbstractLaneChangeModel::getShadowLane(), getSpeed(), MSLane::getVehicleMaxSpeed(), MSLane::getVehicleNumber(), MSBaseVehicle::getVehicleType(), MSVehicleType::getWidth(), MSBaseVehicle::getWidth(), MSEdge::getWidth(), MSGlobals::gSemiImplicitEulerUpdate, MSGlobals::gUsingInternalLanes, MSPModel::hasPedestrians(), ignoreRed(), MSVehicle::Influencer::influenceSpeed(), MSEdge::isFringe(), MSEdge::isInternal(), MSLane::isLinkEnd(), MSAbstractLaneChangeModel::isOpposite(), LINKDIR_LEFT, LINKDIR_RIGHT, max, MAX2(), MSCFModel::maximumSafeStopSpeed(), MSCFModel::maxNextSpeed(), MIN2(), MSCFModel::minNextSpeed(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, myInfluencer, myLane, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myStops, MSPModel::nextBlocking(), NUMERICAL_EPS, POSITION_EPS, removeApproachingInformation(), SIMTIME, SPEED2DIST, STEPS2TIME, MSCFModel::stopSpeed(), MSLane::succLinkSec(), SUMO_ATTR_JM_DRIVE_RED_SPEED, TIME2STEPS, and toString().
Referenced by planMove().
| double MSVehicle::processNextStop | ( | double | currentVelocity | ) |
Processes stops, returns the velocity needed to reach the stop.
Definition at line 1284 of file MSVehicle.cpp.
References activateReminders(), MSStopOut::active(), MSBaseVehicle::addReminder(), 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, MSParkingArea::enter(), MSStoppingPlace::enter(), MSStoppingPlace::getBeginLanePosition(), MSParkingArea::getCapacity(), getCarFollowModel(), MSNet::getContainerControl(), getContainerNumber(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSStoppingPlace::getEndLanePosition(), MSVehicle::Stop::getEndPos(), Named::getID(), MSBaseVehicle::getID(), MSStopOut::getInstance(), MSNet::getInstance(), MSParkingArea::getLastFreePos(), MSStoppingPlace::getLastFreePos(), MSVehicleType::getLength(), MSLane::getLength(), MSVehicleType::getMinGap(), MSLane::getMoveReminders(), MSParkingArea::getOccupancy(), MSNet::getPersonControl(), getPersonNumber(), getSpeed(), MSDevice_Transportable::getTransportables(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MSNet::hasContainers(), MSNet::hasPersons(), MSNet::informVehicleStateListener(), MSEdge::isInternal(), isOnRoad(), keepStopping(), MSVehicle::Stop::lane, MSTransportableControl::loadAnyWaiting(), MAX2(), myAmRegisteredAsWaitingForContainer, myAmRegisteredAsWaitingForPerson, myContainerDevice, MSBaseVehicle::myCurrEdge, myLane, myPersonDevice, MSVehicle::State::myPos, MSVehicle::State::mySpeed, myState, myStops, MSBaseVehicle::myType, MSMoveReminder::NOTIFICATION_PARKING_REROUTE, NUMERICAL_EPS, MSVehicle::Stop::parkingarea, MSVehicle::State::pos(), MSVehicle::Stop::reached, MSVehicleControl::registerOneWaitingForContainer(), MSVehicleControl::registerOneWaitingForPerson(), MSStoppingPlace::removeTransportable(), resumeFromStopping(), SIMTIME, MSVehicle::Stop::startPos, STOPPING_PLACE_OFFSET, MSCFModel::stopSpeed(), MSStopOut::stopStarted(), SUMO_const_haltingSpeed, MSVehicle::Stop::triggered, MSVehicleControl::unregisterOneWaitingForContainer(), MSVehicleControl::unregisterOneWaitingForPerson(), MSVehicle::Stop::until, MSNet::VEHICLE_STATE_STARTING_STOP, and WRITE_WARNING.
Referenced by MSVehicleTransfer::checkInsertions(), MSVehicleTransfer::loadState(), MSLane::loadState(), MSCFModel_Rail::moveHelper(), MSCFModel_Daniel1::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_KraussX::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel::moveHelper(), and nextStopDist().
|
protected |
unregister approach from all upcoming links
Definition at line 3917 of file MSVehicle.cpp.
References getLaneChangeModel(), and MSAbstractLaneChangeModel::removeShadowApproachingInformation().
Referenced by onRemovalFromNet(), planMoveInternal(), and ~MSVehicle().
|
inherited |
Removes a MoveReminder dynamically.
| [in] | rem | the reminder to remove |
Definition at line 360 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by MSBaseVehicle::getDevices().
| void MSVehicle::removeTransportable | ( | MSTransportable * | t | ) |
removes a person or container
Definition at line 3704 of file MSVehicle.cpp.
References myContainerDevice, myPersonDevice, and MSDevice_Transportable::removeTransportable().
Referenced by nextStopDist().
|
virtual |
replace the current parking area stop with a new stop with merge duration
Implements SUMOVehicle.
Definition at line 1156 of file MSVehicle.cpp.
References addStop(), SUMOVehicleParameter::Stop::awaitedContainers, MSVehicle::Stop::awaitedContainers, SUMOVehicleParameter::Stop::awaitedPersons, MSVehicle::Stop::awaitedPersons, SUMOVehicleParameter::Stop::busstop, SUMOVehicleParameter::Stop::chargingStation, SUMOVehicleParameter::Stop::containerstop, SUMOVehicleParameter::Stop::containerTriggered, MSVehicle::Stop::containerTriggered, SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, MSStoppingPlace::getBeginLanePosition(), MSStoppingPlace::getEndLanePosition(), Named::getID(), MSStoppingPlace::getLane(), SUMOVehicleParameter::id, SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, myLane, MSBaseVehicle::myParameter, myStops, SUMOVehicleParameter::Stop::parking, MSVehicle::Stop::parking, SUMOVehicleParameter::Stop::parkingarea, MSVehicle::Stop::parkingarea, MSVehicle::Stop::reached, SUMOVehicleParameter::Stop::startPos, SUMOVehicleParameter::Stop::triggered, MSVehicle::Stop::triggered, SUMOVehicleParameter::Stop::until, MSVehicle::Stop::until, and updateBestLanes().
|
virtual |
Replaces the current route by the given one.
It is possible that the new route is not accepted, if it does not contain the vehicle's current edge.
| [in] | route | The new route to pass |
Implements SUMOVehicle.
Definition at line 645 of file MSVehicle.cpp.
References MSRoute::addReference(), addStop(), MSRoute::begin(), MSBaseVehicle::calculateArrivalParams(), MSRoute::contains(), MSLane::getEdge(), MSRoute::getEdges(), MSNet::getInstance(), MSLane::getOutgoingLanes(), MSRoute::getStops(), MSNet::informVehicleStateListener(), MSEdge::isInternal(), MSBaseVehicle::myCurrEdge, myLane, myLastBestLanesEdge, myLastBestLanesInternalLane, MSBaseVehicle::myNumberReroutes, MSBaseVehicle::myRoute, myStops, MSRoute::release(), updateBestLanes(), MSNet::VEHICLE_STATE_NEWROUTE, and WRITE_WARNING.
Referenced by TraCIServerAPI_Vehicle::processSet().
|
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).
| [in] | edges | The new list of edges to pass |
| [in] | onInit | Whether the vehicle starts with this route |
| [in] | check | Whether the route should be checked for validity |
| [in] | addStops | Parameter for replaceRoute |
Implements SUMOVehicle.
Definition at line 227 of file MSBaseVehicle.cpp.
References MSRoute::addReference(), MSBaseVehicle::addStops(), 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(), toString(), and WRITE_WARNING.
Referenced by MSBaseVehicle::getCurrentRouteEdge(), MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Vehicle::processSet(), and MSBaseVehicle::reroute().
|
inherited |
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".
| [in] | type | The new vehicle type |
Definition at line 549 of file MSBaseVehicle.cpp.
References MSNet::getInstance(), MSNet::getVehicleControl(), MSVehicleType::isVehicleSpecific(), MSBaseVehicle::myType, and MSVehicleControl::removeVType().
Referenced by MSBaseVehicle::getSingularType(), TraCIServerAPI_Vehicle::processSet(), and MSBaseVehicle::setChosenSpeedFactor().
|
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.
| [in] | t | The time for which the route is computed |
| [in] | router | The router to use |
Implements SUMOVehicle.
Definition at line 156 of file MSBaseVehicle.cpp.
References MSEdge::allowedLanes(), MSBaseVehicle::calculateArrivalParams(), SUMOAbstractRouter< E, V >::compute(), MSInsertionControl::descheduleDeparture(), MSEdge::dictionary(), SUMOVehicleParameter::fromTaz, MSGlobals::gCheckRoutes, Named::getID(), MSBaseVehicle::getID(), MSNet::getInsertionControl(), MSNet::getInstance(), MSRoute::getLastEdge(), MSBaseVehicle::getRerouteOrigin(), MSBaseVehicle::getStopEdges(), MSBaseVehicle::getVClass(), MSEdge::isTazConnector(), MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::replaceRouteEdges(), SUMOVehicleParameter::toTaz, SUMOVehicleParameter::via, and WRITE_WARNING.
Referenced by MSBaseVehicle::getCurrentRouteEdge(), and TraCIServerAPI_Vehicle::processSet().
| void MSVehicle::resetRoutePosition | ( | int | index | ) |
Definition at line 713 of file MSVehicle.cpp.
References MSRoute::begin(), MSRoute::end(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.
Referenced by MSCalibrator::execute().
| bool MSVehicle::resumeFromStopping | ( | ) |
resumes a vehicle from stopping
Definition at line 4170 of file MSVehicle.cpp.
References MSStopOut::active(), MSLane::COLLISION_ACTION_WARN, MSLane::getCollisionAction(), MSLane::getEdge(), MSStopOut::getInstance(), MSNet::getInstance(), MSNet::getVehicleControl(), MSNet::informVehicleStateListener(), isStopped(), myAmRegisteredAsWaitingForContainer, myAmRegisteredAsWaitingForPerson, myCollisionImmunity, myLane, myStops, myWaitingTime, MSVehicleControl::removeWaiting(), MSStopOut::stopEnded(), TIME2STEPS, MSVehicleControl::unregisterOneWaitingForContainer(), MSVehicleControl::unregisterOneWaitingForPerson(), updateBestLanes(), and MSNet::VEHICLE_STATE_ENDING_STOP.
Referenced by MSLane::executeMovements(), leaveLane(), processNextStop(), TraCI_Vehicle::resume(), and signalSet().
|
virtual |
Saves the states of a vehicle.
Reimplemented from MSBaseVehicle.
Definition at line 4382 of file MSVehicle.cpp.
References MSRoute::begin(), OutputDevice::closeTag(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myDepartPos, MSBaseVehicle::myDeparture, MSBaseVehicle::myDevices, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSVehicle::State::myPosLat, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myStops, myWaitingTime, MSBaseVehicle::saveState(), SUMO_ATTR_POSITION, SUMO_ATTR_POSITION_LAT, SUMO_ATTR_SPEED, SUMO_ATTR_STATE, toString(), OutputDevice::writeAttr(), and Parameterised::writeParams().
Referenced by hasInfluencer().
| void MSVehicle::setAngle | ( | double | angle | ) |
Set a custom vehicle angle in rad.
Definition at line 929 of file MSVehicle.cpp.
References myAngle.
Referenced by getVelocityVector(), MSVehicle::Influencer::postProcessVTD(), and MSLaneChangerSublane::startChangeSublane().
|
inlinevirtualinherited |
Sets this vehicle's desired arrivalPos for its current route.
Implements SUMOVehicle.
Definition at line 276 of file MSBaseVehicle.h.
References MSBaseVehicle::hasArrived(), MSBaseVehicle::hasDeparted(), and MSBaseVehicle::myArrivalPos.
|
protected |
Definition at line 3747 of file MSVehicle.cpp.
References getBestLanesContinuation(), getLane(), getLaneChangeModel(), MSLane::getLength(), MSLane::getLinkCont(), MSAbstractLaneChangeModel::getOwnState(), getPositionOnLane(), MSVehicle::Influencer::getSignals(), MSLane::getVehicleMaxSpeed(), LCA_BLOCKED, LCA_KEEPRIGHT, LCA_LEFT, LCA_RIGHT, LCA_SUBLANE, LINKDIR_LEFT, LINKDIR_PARTLEFT, LINKDIR_PARTRIGHT, LINKDIR_RIGHT, LINKDIR_TURN, myInfluencer, mySignals, MSVehicle::Influencer::setSignals(), MSLane::succLinkSec(), switchOffSignal(), switchOnSignal(), VEH_SIGNAL_BLINKER_LEFT, and VEH_SIGNAL_BLINKER_RIGHT.
Referenced by executeMove(), and hasInfluencer().
|
inlinevirtualinherited |
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Implements SUMOVehicle.
Definition at line 385 of file MSBaseVehicle.h.
References MSBaseVehicle::addStops(), MSBaseVehicle::calculateArrivalParams(), MSBaseVehicle::getDevice(), MSBaseVehicle::getSingularType(), MSBaseVehicle::getStopEdges(), MSBaseVehicle::myChosenSpeedFactor, MSBaseVehicle::replaceVehicleType(), and MSBaseVehicle::saveState().
Referenced by TraCIServerAPI_Vehicle::processSet().
|
inherited |
try to set the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists
Definition at line 537 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
Referenced by TraCI_Vehicle::setParameter().
|
protected |
sets the blue flashing light for emergency vehicles
Definition at line 3789 of file MSVehicle.cpp.
References signalSet(), switchOffSignal(), switchOnSignal(), and VEH_SIGNAL_EMERGENCY_BLUE.
Referenced by executeMove(), and hasInfluencer().
| void MSVehicle::setTentativeLaneAndPosition | ( | MSLane * | lane, |
| double | pos, | ||
| double | posLat = 0 |
||
| ) |
set tentative lane and position during insertion to ensure that all cfmodels work (some of them require veh->getLane() to return a valid lane) Once the vehicle is sucessfully inserted the lane is set again (see enterLaneAtInsertion)
Definition at line 3808 of file MSVehicle.cpp.
References MSVehicleType::getLength(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myBackPos, myLane, MSVehicle::State::myPos, MSVehicle::State::myPosLat, and myState.
Referenced by congested(), MSLane::freeInsertion(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSVehicleTransfer::loadState(), and TraCIServerAPI_Vehicle::processSet().
| void MSVehicle::setVTDState | ( | Position | xyPos | ) |
sets position outside the road network
Definition at line 4260 of file MSVehicle.cpp.
References myCachedPosition.
Referenced by hasInfluencer(), and MSVehicle::Influencer::postProcessVTD().
|
inline |
Returns whether the given signal is on.
| [in] | signal | The signal to return the value of |
Definition at line 1156 of file MSVehicle.h.
References addTraciStop(), addTraciStopAtStoppingPlace(), getBoundingBox(), getBoundingPoly(), getNextStop(), getSpeedWithoutTraciInfluence(), mySignals, resumeFromStopping(), unsafeLinkAhead(), and updateFurtherLanes().
Referenced by checkRewindLinkLanes(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBlueLight(), GUIVehicle::drawAction_drawVehicleBrakeLight(), and setEmergencyBlueLight().
|
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.
| [in] | nSuccs | The number of edge to look forward |
Implements SUMOVehicle.
Definition at line 140 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().
|
inline |
Switches the given signal off.
| [in] | signal | The signal to mark as being switched off |
Definition at line 1139 of file MSVehicle.h.
References mySignals.
Referenced by MSAbstractLaneChangeModel::endLaneChangeManeuver(), executeMove(), TraCIServerAPI_Vehicle::processSet(), setBlinkerInformation(), setEmergencyBlueLight(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().
|
inline |
Switches the given signal on.
| [in] | signal | The signal to mark as being switched on |
Definition at line 1131 of file MSVehicle.h.
References mySignals.
Referenced by executeMove(), TraCIServerAPI_Vehicle::processSet(), setBlinkerInformation(), setEmergencyBlueLight(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().
| bool MSVehicle::unsafeLinkAhead | ( | const MSLane * | lane | ) | const |
whether the vehicle may safely move to the given lane with regard to upcoming links
Definition at line 3929 of file MSVehicle.cpp.
References MSCFModel::brakeGap(), getBestLanesContinuation(), getCarFollowModel(), MSLane::getEdge(), MSVehicleType::getLength(), MSLane::getLength(), getPositionOnLane(), getSpeed(), MSBaseVehicle::getVehicleType(), MSEdge::isInternal(), MSLane::isLinkEnd(), LINKSTATE_ZIPPER, myLane, myLFLinkLanes, MSLane::succLinkSec(), and MSLink::ZIPPER_ADAPT_DIST.
Referenced by MSLaneChanger::checkChange(), and signalSet().
| 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.
| [in] | forceRebuild | Whether the best lanes container shall be rebuilt even if the vehicle's edge has not changed |
| [in] | startLane | The lane the process shall start at ("myLane" will be used if ==0) |
Definition at line 3162 of file MSVehicle.cpp.
References abs, MSEdge::allowedLanes(), MSVehicle::LaneQ::allowsContinuation, MSLane::allowsVehicleClass(), ARRIVAL_LANE_GIVEN, SUMOVehicleParameter::arrivalLaneProcedure, MSVehicle::LaneQ::bestContinuations, MSVehicle::LaneQ::bestLaneOffset, MSEdge::clear(), MSVehicle::LaneQ::currentLength, DEBUG_COND, MSVehicle::Stop::edge, MSRoute::end(), gDebugSelectedVehicle, getBestLanesContinuation(), MSLane::getEdge(), Named::getID(), MSBaseVehicle::getID(), Named::getIDSecure(), getLaneChangeModel(), MSEdge::getLanes(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLogicalPredecessorLane(), MSLane::getNextNormal(), MSLane::getOpposite(), MSVehicleType::getVehicleClass(), MSEdge::isInternal(), MSLane::isInternal(), 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, toString(), and updateOccupancyAndCurrentBestLane().
Referenced by addTraciStop(), addTraciStopAtStoppingPlace(), MSLaneChangerSublane::change(), MSLaneChanger::change(), enterLaneAtLaneChange(), executeMove(), MSLane::forceVehicleInsertion(), MSEdge::getDepartLane(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLane::loadState(), MSVehicle::Influencer::postProcessVTD(), replaceParkingArea(), replaceRoute(), and resumeFromStopping().
| double MSVehicle::updateFurtherLanes | ( | std::vector< MSLane * > & | furtherLanes, |
| std::vector< double > & | furtherLanesPosLat, | ||
| const std::vector< MSLane * > & | passedLanes | ||
| ) |
update a vector of further lanes and return the new backPos
Definition at line 2561 of file MSVehicle.cpp.
References DEBUG_COND, MSVehicleType::getLength(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, SIMTIME, and toString().
Referenced by executeMove(), signalSet(), and MSAbstractLaneChangeModel::updateShadowLane().
|
protected |
updates LaneQ::nextOccupation and myCurrentLaneInBestLanes
Definition at line 3485 of file MSVehicle.cpp.
References myBestLanes, and myCurrentLaneInBestLanes.
Referenced by hasInfluencer(), and updateBestLanes().
|
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 )
| [in] | vNext | speed in the next time step |
Definition at line 2504 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, and SPEED2DIST.
Referenced by estimateLeaveSpeed(), and executeMove().
ensure that a vehicle-relative position is not invalid
Definition at line 900 of file MSVehicle.cpp.
References getLateralPositionOnLane(), MSBaseVehicle::getLength(), Position::INVALID, and myFurtherLanes.
Referenced by getPosition(), and hasInfluencer().
Returns the information whether the vehicle is fully controlled via TraCI within the lookBack time.
Definition at line 4273 of file MSVehicle.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSVehicle::Influencer::getLastAccessTimeStep(), and myInfluencer.
Referenced by hasStops(), and TraCI_Vehicle::isVisible().
| bool MSVehicle::willPass | ( | const MSEdge *const | edge | ) | const |
Returns whether the vehicle wil pass the given edge.
| [in] | The | edge to find in the vehicle's current route |
Definition at line 701 of file MSVehicle.cpp.
References MSRoute::end(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.
Referenced by TraCIServerAPI_Vehicle::processSet().
| void MSVehicle::workOnMoveReminders | ( | double | oldPos, |
| double | newPos, | ||
| double | newSpeed | ||
| ) |
Processes active move reminder.
This method goes through all active move reminder, both those for the current lane, stored in "myMoveReminders" and those of prior lanes stored in "myOldLaneMoveReminders" calling "MSMoveReminder::notifyMove".
When processing move reminder from "myOldLaneMoveReminders", the offsets (prior lane lengths) are used, which are stored in "myOldLaneMoveReminderOffsets".
Each move reminder which is no longer active is removed from the container.
| [in] | oldPos | The position the vehicle had before it has moved |
| [in] | newPos | The position the vehicle has after it has moved |
| [in] | newSpeed | The vehicle's speed within this move |
Definition at line 744 of file MSVehicle.cpp.
References MAX2(), and MSBaseVehicle::myMoveReminders.
Referenced by executeMove().
|
friend |
the lane changer sets myLastLaneChangeOffset
Definition at line 87 of file MSVehicle.h.
|
friend |
Definition at line 88 of file MSVehicle.h.
|
protected |
The current acceleration after dawdling in m/s.
Definition at line 1570 of file MSVehicle.h.
Referenced by executeMove(), getAcceleration(), getCO2Emissions(), getCOEmissions(), getElectricityConsumption(), getFuelConsumption(), getHarmonoise_NoiseEmissions(), getHCEmissions(), getNOxEmissions(), getPMxEmissions(), and updateState().
|
protected |
Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived)
Definition at line 1580 of file MSVehicle.h.
Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), isOnRoad(), and leaveLane().
|
protected |
Whether this vehicle is registered as waiting for a container (for deadlock-recognition)
Definition at line 1586 of file MSVehicle.h.
Referenced by processNextStop(), and resumeFromStopping().
|
protected |
Whether this vehicle is registered as waiting for a person (for deadlock-recognition)
Definition at line 1583 of file MSVehicle.h.
Referenced by processNextStop(), and resumeFromStopping().
|
protected |
the angle in radians (
Definition at line 1591 of file MSVehicle.h.
Referenced by MSLaneChanger::continueChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), executeMove(), getAngle(), getVelocityVector(), and setAngle().
|
protectedinherited |
The destination lane where the vehicle stops.
Definition at line 483 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::calculateArrivalParams(), and updateBestLanes().
|
protectedinherited |
The position on the destination lane where the vehicle stops.
Definition at line 480 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::calculateArrivalParams(), MSBaseVehicle::getArrivalPos(), MEVehicle::hasArrived(), hasArrived(), planMoveInternal(), resetRoutePosition(), MSBaseVehicle::setArrivalPos(), and updateBestLanes().
|
protected |
Definition at line 1550 of file MSVehicle.h.
Referenced by adaptBestLanesOccupation(), GUIVehicle::drawBestLanes(), getBestLaneOffset(), getBestLanes(), getBestLanesContinuation(), updateBestLanes(), and updateOccupancyAndCurrentBestLane().
|
mutableprotected |
Definition at line 1599 of file MSVehicle.h.
Referenced by MSLaneChanger::continueChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), getPosition(), setVTDState(), MSLaneChangerSublane::startChangeSublane(), and updateState().
|
private |
The per vehicle variables of the car following model.
Definition at line 1742 of file MSVehicle.h.
Referenced by getCarFollowVariables(), and MSVehicle().
|
protectedinherited |
A precomputed factor by which the driver wants to be faster than the speed limit.
Definition at line 453 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getChosenSpeedFactor(), and MSBaseVehicle::setChosenSpeedFactor().
|
protected |
amount of time for which the vehicle is immune from collisions
Definition at line 1597 of file MSVehicle.h.
Referenced by collisionStopTime(), executeMove(), and resumeFromStopping().
|
protected |
The containers this vehicle may have.
Definition at line 1567 of file MSVehicle.h.
Referenced by addContainer(), GUIVehicle::drawAction_drawPersonsAndContainers(), getContainerNumber(), getContainers(), processNextStop(), and removeTransportable().
|
protectedinherited |
Iterator to current route-edge.
Definition at line 450 of file MSBaseVehicle.h.
Referenced by addStop(), enterLaneAtMove(), executeMove(), MSBaseVehicle::getCurrentRouteEdge(), getDistanceToPosition(), MSBaseVehicle::getEdge(), MSBaseVehicle::getRerouteOrigin(), getRerouteOrigin(), getRoutePosition(), MEVehicle::hasArrived(), hasArrived(), MSBaseVehicle::hasValidRoute(), leaveLane(), MEVehicle::loadState(), loadState(), MEVehicle::moveRoutePointer(), planMoveInternal(), MSVehicle::Influencer::postProcessVTD(), processNextStop(), replaceRoute(), MEVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), resetRoutePosition(), MEVehicle::saveState(), saveState(), MSBaseVehicle::succEdge(), updateBestLanes(), and willPass().
|
protected |
Definition at line 1555 of file MSVehicle.h.
Referenced by updateBestLanes(), and updateOccupancyAndCurrentBestLane().
|
protectedinherited |
The real depart position.
Definition at line 477 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getDepartPos(), loadState(), MSBaseVehicle::onDepart(), and saveState().
|
protectedinherited |
The real departure time.
Definition at line 474 of file MSBaseVehicle.h.
Referenced by enterLaneAtInsertion(), MSBaseVehicle::getDeparture(), MSBaseVehicle::hasDeparted(), MEVehicle::loadState(), loadState(), MSBaseVehicle::onDepart(), MEVehicle::saveState(), and saveState().
|
protectedinherited |
The devices this vehicle has.
Definition at line 471 of file MSBaseVehicle.h.
Referenced by addContainer(), addPerson(), MSBaseVehicle::createDevice(), MSBaseVehicle::getDevice(), MSBaseVehicle::getDeviceParameter(), MSBaseVehicle::getDevices(), GUIMEVehicle::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIBaseVehicle::GUIBaseVehicle(), MSBaseVehicle::hasDevice(), MSBaseVehicle::MSBaseVehicle(), MEVehicle::saveState(), saveState(), MSBaseVehicle::setDeviceParameter(), and MSBaseVehicle::~MSBaseVehicle().
|
mutableprivate |
Definition at line 1739 of file MSVehicle.h.
Referenced by _getWeightsStorage(), and ~MSVehicle().
|
staticprotected |
Definition at line 1557 of file MSVehicle.h.
Referenced by getBestLanesContinuation().
|
staticprotected |
Definition at line 1558 of file MSVehicle.h.
Referenced by getContainers(), and getPersons().
|
protected |
The information into which lanes the vehicle laps into.
Definition at line 1573 of file MSVehicle.h.
Referenced by computeAngle(), enterLaneAtInsertion(), enterLaneAtLaneChange(), executeMove(), getBackLane(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), getFurtherLanes(), getLatOffset(), GUIVehicle::getPreviousLane(), leaveLane(), onFurtherEdge(), validatePosition(), and ~MSVehicle().
|
protected |
Definition at line 1574 of file MSVehicle.h.
Referenced by computeAngle(), enterLaneAtInsertion(), enterLaneAtLaneChange(), executeMove(), getBackPosition(), getCenterOnEdge(), getFurtherLanesPosLat(), getLatOffset(), leaveLane(), and ~MSVehicle().
|
protected |
Definition at line 1588 of file MSVehicle.h.
Referenced by checkRewindLinkLanes(), and executeMove().
|
private |
An instance of a velocity/lane influencing instance; built in "getInfluencer".
Definition at line 1746 of file MSVehicle.h.
Referenced by checkRewindLinkLanes(), executeMove(), getInfluencer(), getPosition(), getSpeedWithoutTraciInfluence(), hasInfluencer(), ignoreRed(), isRemoteControlled(), planMoveInternal(), setBlinkerInformation(), updateState(), wasRemoteControlled(), and ~MSVehicle().
|
protected |
The lane the vehicle is on.
Definition at line 1538 of file MSVehicle.h.
Referenced by adaptLaneEntering2MoveReminder(), adaptToLeader(), adaptToLeaders(), addTraciStop(), addTraciStopAtStoppingPlace(), checkLinkLeader(), checkRewindLinkLanes(), computeAngle(), GUIVehicle::drawAction_drawRailCarriages(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), getBackLane(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), getDistanceToPosition(), getLane(), getLaneIndex(), getLateralOverlap(), getLatOffset(), getLeader(), GUIVehicle::getLeftSublaneOnEdge(), getMaxSpeedOnLane(), GUIVehicle::getParameterWindow(), getPosition(), getRerouteOrigin(), getRightSideOnLane(), GUIVehicle::getRightSublaneOnEdge(), getSlope(), influenceChangeDecision(), isFrontOnLane(), isStoppedOnLane(), leaveLane(), planMove(), planMoveInternal(), processNextStop(), replaceParkingArea(), replaceRoute(), resumeFromStopping(), GUIVehicle::selectBlockingFoes(), setTentativeLaneAndPosition(), unsafeLinkAhead(), updateBestLanes(), and updateState().
|
protected |
Definition at line 1540 of file MSVehicle.h.
Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), getLaneChangeModel(), MSVehicle(), and ~MSVehicle().
|
protected |
Definition at line 1542 of file MSVehicle.h.
Referenced by enterLaneAtMove(), replaceRoute(), and updateBestLanes().
|
protected |
Definition at line 1543 of file MSVehicle.h.
Referenced by replaceRoute(), and updateBestLanes().
|
protected |
Definition at line 1656 of file MSVehicle.h.
Referenced by GUIVehicle::drawAction_drawLinkItems(), executeMove(), onRemovalFromNet(), planMove(), GUIVehicle::selectBlockingFoes(), unsafeLinkAhead(), and ~MSVehicle().
|
protectedinherited |
Currently relevant move reminders.
Definition at line 467 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::activateReminders(), activateReminders(), adaptLaneEntering2MoveReminder(), addContainer(), addPerson(), MSBaseVehicle::addReminder(), GUIBaseVehicle::GUIBaseVehicle(), leaveLane(), MSBaseVehicle::MSBaseVehicle(), MSBaseVehicle::removeReminder(), MEVehicle::updateDetectorForWriting(), MEVehicle::updateDetectors(), and workOnMoveReminders().
|
protectedinherited |
The number of reroutings.
Definition at line 486 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getNumberReroutes(), replaceRoute(), and MEVehicle::replaceRoute().
|
protectedinherited |
This vehicle's parameter.
Definition at line 441 of file MSBaseVehicle.h.
Referenced by addStop(), MSBaseVehicle::addStops(), addTraciStop(), addTraciStopAtStoppingPlace(), MSBaseVehicle::calculateArrivalParams(), MSBaseVehicle::createDevice(), enterLaneAtMove(), getContainerNumber(), MSBaseVehicle::getID(), MSBaseVehicle::getParameter(), GUIMEVehicle::getParameterWindow(), GUIVehicle::getParameterWindow(), getPersonNumber(), MEVehicle::moveRoutePointer(), planMoveInternal(), replaceParkingArea(), MSBaseVehicle::reroute(), MEVehicle::saveState(), MSBaseVehicle::saveState(), saveState(), updateBestLanes(), and MSBaseVehicle::~MSBaseVehicle().
|
protected |
The passengers this vehicle may have.
Definition at line 1564 of file MSVehicle.h.
Referenced by addPerson(), GUIVehicle::drawAction_drawPersonsAndContainers(), GUIVehicle::getNumPassengers(), getPersonNumber(), getPersons(), processNextStop(), and removeTransportable().
|
protectedinherited |
This vehicle's route.
Definition at line 444 of file MSBaseVehicle.h.
Referenced by addStop(), MSBaseVehicle::addStops(), MSBaseVehicle::calculateArrivalParams(), GUIVehicle::drawRouteHelper(), executeMove(), getDistanceToPosition(), getRerouteOrigin(), MSBaseVehicle::getRoute(), getRoutePosition(), MEVehicle::hasArrived(), hasArrived(), MSBaseVehicle::hasValidRoute(), MEVehicle::moveRoutePointer(), MSBaseVehicle::MSBaseVehicle(), planMoveInternal(), replaceRoute(), MEVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), resetRoutePosition(), MEVehicle::saveState(), MSBaseVehicle::saveState(), saveState(), MSBaseVehicle::succEdge(), updateBestLanes(), willPass(), and MSBaseVehicle::~MSBaseVehicle().
|
protected |
State of things of the vehicle that can be on or off.
Definition at line 1577 of file MSVehicle.h.
Referenced by getSignals(), setBlinkerInformation(), signalSet(), switchOffSignal(), and switchOnSignal().
|
protected |
This Vehicles driving state (pos and speed)
Definition at line 1535 of file MSVehicle.h.
Referenced by adaptToLeaders(), addStop(), MSLaneChanger::changeOpposite(), checkRewindLinkLanes(), computeAngle(), congested(), MSLaneChanger::continueChange(), GUIVehicle::drawAction_drawRailCarriages(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), fixPosition(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), getCO2Emissions(), getCOEmissions(), getDeltaPos(), getElectricityConsumption(), getFuelConsumption(), getHarmonoise_NoiseEmissions(), getHCEmissions(), getLastStepDist(), getLateralPositionOnLane(), getLatOffset(), getNOxEmissions(), getPMxEmissions(), getPosition(), getPositionAlongBestLanes(), getPositionOnLane(), getPreviousSpeed(), getRerouteOrigin(), getRightSideOnLane(), getSpeed(), getSpeedWithoutTraciInfluence(), getVelocityVector(), hasArrived(), leaveLane(), loadState(), overlap(), planMoveInternal(), processNextStop(), saveState(), setTentativeLaneAndPosition(), MSLaneChangerSublane::startChangeSublane(), updateFurtherLanes(), and updateState().
|
protected |
distance to the next stop or -1 if there is none
Definition at line 1594 of file MSVehicle.h.
Referenced by nextStopDist(), and planMove().
|
protected |
The vehicle's list of stops.
Definition at line 1561 of file MSVehicle.h.
Referenced by addContainer(), addPerson(), addStop(), addTraciStop(), addTraciStopAtStoppingPlace(), collisionStopTime(), computeAngle(), getNextParkingArea(), getNextStop(), getPosition(), getStopEdges(), GUIVehicle::getStopInfo(), hasArrived(), hasStops(), isParking(), isStopped(), isStoppedInRange(), isStoppedOnLane(), isStoppedTriggered(), keepStopping(), leaveLane(), planMoveInternal(), processNextStop(), replaceParkingArea(), replaceRoute(), resumeFromStopping(), saveState(), and updateBestLanes().
|
protected |
the time loss due to writing with less than maximum speed
Definition at line 1532 of file MSVehicle.h.
Referenced by executeMove(), getTimeLoss(), and getTimeLossSeconds().
|
protectedinherited |
This vehicle's type.
Definition at line 447 of file MSBaseVehicle.h.
Referenced by addStop(), MSBaseVehicle::calculateArrivalParams(), enterLaneAtInsertion(), executeMove(), getBackPosition(), getBackPositionOnLane(), getBoundingBox(), getBoundingPoly(), getCarFollowModel(), getCO2Emissions(), getCOEmissions(), getElectricityConsumption(), getFuelConsumption(), getHarmonoise_NoiseEmissions(), getHCEmissions(), MSBaseVehicle::getLength(), MSBaseVehicle::getMaxSpeed(), getMaxSpeedOnLane(), getNOxEmissions(), getPMxEmissions(), getPositionOnLane(), MSBaseVehicle::getSingularType(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), MSBaseVehicle::getVClass(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::getWidth(), MSBaseVehicle::hasValidRoute(), processNextStop(), MSBaseVehicle::replaceVehicleType(), updateBestLanes(), and ~MSVehicle().
|
protected |
The time the vehicle waits (is not faster than 0.1m/s) in seconds.
Definition at line 1525 of file MSVehicle.h.
Referenced by executeMove(), getWaitingSeconds(), getWaitingTime(), leaveLane(), loadState(), resumeFromStopping(), and saveState().
|
protected |
Definition at line 1529 of file MSVehicle.h.
Referenced by executeMove(), and getAccumulatedWaitingTime().
|
staticprotectedinherited |
Definition at line 491 of file MSBaseVehicle.h.
Referenced by enterLaneAtInsertion(), MSBaseVehicle::hasDeparted(), and MSVehicle::Influencer::postProcessVTD().