![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Representation of a vehicle in the micro simulation. More...
#include <MSVehicle.h>
Data Structures | |
struct | DriveProcessItem |
Drive process items represent bounds on the safe velocity corresponding to the upcoming links. More... | |
class | Influencer |
Changes the wished vehicle speed / lanes. More... | |
struct | LaneQ |
A structure representing the best lanes for continuing the current route starting at 'lane'. More... | |
class | Manoeuvre |
Container for manouevering time associated with stopping. More... | |
class | State |
Container that holds the vehicles driving state (position+speed). More... | |
class | 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... | |
enum | ManoeuvreType { MANOEUVRE_ENTRY, MANOEUVRE_EXIT, MANOEUVRE_NONE } |
flag identifying which, if any, manoeuvre is in progress More... | |
typedef long long int | NumericalID |
Public Member Functions | |
void | addReminder (MSMoveReminder *rem) |
Adds a MoveReminder dynamically. 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 | basePos (const MSEdge *edge) const |
departure position where the vehicle fits fully onto the edge (if possible) More... | |
void | createDevice (const std::string &deviceName) |
create device of the given type 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... | |
const Position | getBackPosition () const |
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... | |
int | getContainerNumber () const |
Returns the number of containers. More... | |
const std::vector< MSTransportable * > & | getContainers () const |
retrieve riding containers More... | |
const MSRouteIterator & | getCurrentRouteEdge () const |
Returns an iterator pointing to the current edge in this vehicles route. 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... | |
MSVehicleDevice * | 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< MSVehicleDevice * > & | getDevices () const |
Returns this vehicle's devices. More... | |
double | getDistanceToPosition (double destPos, const MSEdge *destEdge) const |
std::shared_ptr< MSSimpleDriverState > | getDriverState () const |
Returns the vehicle driver's state. More... | |
const MSEdge * | getEdge () const |
Returns the edge the vehicle is currently at. More... | |
const std::map< int, double > * | getEmissionParameters () const |
Returns the vehicle's emission model parameter. More... | |
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 |
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... | |
MSVehicle::ManoeuvreType | getManoeuvreType () const |
accessor function to myManoeuvre equivalent More... | |
double | getMaxSpeed () const |
Returns the maximum speed. More... | |
std::list< Stop > | getMyStops () |
Stop & | getNextStop () |
int | getNumberReroutes () const |
Returns the number of new routes this vehicle got. More... | |
double | getOdometer () const |
Returns the distance that was already driven by this vehicle. More... | |
const SUMOVehicleParameter & | getParameter () const |
Returns the vehicle's parameter (including departure definition) More... | |
std::vector< std::string > | getPersonIDList () const |
Returns the list of persons. More... | |
int | getPersonNumber () const |
Returns the number of persons. More... | |
const std::vector< MSTransportable * > & | getPersons () const |
retrieve riding persons More... | |
const MSRoute & | getRoute () const |
Returns the current route. More... | |
int | getRoutePosition () const |
return index of edge within 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... | |
bool | isLeader (const MSLink *link, const MSVehicle *veh) const |
whether the given vehicle must be followed at the given junction More... | |
bool | isVehicle () const |
Get the vehicle's ID. More... | |
bool | manoeuvreIsComplete () const |
accessor function to myManoeuvre equivalent 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 | passingMinor () const |
decide whether the vehicle is passing a minor link or has comitted to do so 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... | |
void | removeTransportable (MSTransportable *t) |
removes a person or container More... | |
void | replaceParameter (const SUMOVehicleParameter *newParameter) |
replace the vehicle parameter (deleting the old one) More... | |
bool | replaceRouteEdges (ConstMSEdgeVector &edges, double cost, double savings, const std::string &info, bool onInit=false, bool check=false, bool removeStops=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, const std::string &info, SUMOAbstractRouter< MSEdge, SUMOVehicle > &router, const bool onInit=false, const bool withTaz=false, const bool silent=false) |
Performs a rerouting using the given router. More... | |
bool | rerouteParkingArea (const std::string &parkingAreaID, std::string &errorMsg) |
void | resetRoutePosition (int index, DepartLaneDefinition departLaneProcedure) |
reset index of edge within route More... | |
bool | resumeFromStopping () |
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... | |
bool | setExitManoeuvre () |
accessor function to myManoeuvre equivalent More... | |
void | setManoeuvreType (const MSVehicle::ManoeuvreType mType) |
accessor function to myManoeuvre equivalent More... | |
void | setRemoteState (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, const std::string &info, bool onInit=false, int offset=0, bool addStops=true, bool removeStops=true) |
Replaces the current route by the given one. More... | |
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... | |
void | setLateralPositionOnLane (double posLat) |
double | getRightSideOnLane () const |
Get the vehicle's lateral position on the lane: More... | |
double | lateralDistanceToLane (const int offset) const |
Get the minimal lateral distance required to move fully onto the lane at given offset. 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... | |
double | getCurrentApparentDecel () const |
get apparent deceleration based on vType parameters and current acceleration More... | |
SUMOTime | getActionStepLength () const |
Returns the vehicle's action step length in millisecs, i.e. the interval between two action points. More... | |
double | getActionStepLengthSecs () const |
Returns the vehicle's action step length in secs, i.e. the interval between two action points. More... | |
SUMOTime | getLastActionTime () const |
Returns the time of the vehicle's last action point. 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 upcoming parking area stop or nullptr More... | |
MSParkingArea * | getCurrentParkingArea () |
get the current parking area stop or nullptr More... | |
bool | hasStops () const |
Returns whether the vehicle has to stop somewhere. More... | |
bool | hasDriverState () const |
Whether this vehicle is equipped with a MSDriverState. More... | |
bool | isStopped () const |
Returns whether the vehicle is at a stop. More... | |
SUMOTime | remainingStopDuration () const |
Returns the remaining stop duration for a stopped vehicle or 0. More... | |
bool | stopsAt (MSStoppingPlace *stop) const |
Returns whether the vehicle stops at the given stopping place. More... | |
bool | stopsAtEdge (const MSEdge *edge) const |
Returns whether the vehicle stops at the given edge. More... | |
bool | willStop () const |
Returns whether the vehicle will stop on the current edge. 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 (const double pos, const double tolerance) 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... | |
Static Public Member Functions | |
static int | nextLinkPriority (const std::vector< MSLane * > &conts) |
get a numerical value for the priority of the upcoming link More... | |
Data Fields | |
Manoeuvre | myManoeuvre |
Protected Types | |
typedef std::vector< DriveProcessItem > | DriveItemVector |
Container for used Links/visited Lanes during planMove() and executeMove. 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 |
bool | canReverse (double speedThreshold=SUMO_const_haltingSpeed) const |
whether the vehicle is a train that can reverse its direction at the current point in its route 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 | checkLinkLeaderCurrentAndParallel (const MSLink *link, const MSLane *lane, double seen, DriveProcessItem *const lastLink, double &v, double &vLinkPass, double &vLinkWait, bool &setRequest) const |
checks for link leaders of the current link as well as the parallel link (if there is one) More... | |
void | checkRewindLinkLanes (const double lengthsInFront, DriveItemVector &lfLinks) const |
runs heuristic for keeping the intersection clear in case of downstream jamming More... | |
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 |
double | getBrakeGap () const |
get distance for coming to a stop (used for rerouting checks) More... | |
const ConstMSEdgeVector | getStopEdges (double &firstPos, double &lastPos) const |
Returns the list of still pending stop edges also returns the first and last stop position. More... | |
std::vector< std::pair< int, double > > | getStopIndices () const |
return list of route indices for the remaining stops More... | |
bool | haveValidStopEdges () const |
check whether all stop.edge MSRouteIterators are valid and in order 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, std::pair< double, LinkDirection > &myNextTurn) const |
void | processLaneAdvances (std::vector< MSLane * > &passedLanes, bool &moved, std::string &emergencyReason) |
This method checks if the vehicle has advanced over one or several lanes along its route and triggers the corresponding actions for the lanes and the vehicle. and adapts the given in/out parameters to the appropriate values. More... | |
void | processLinkApproaches (double &vSafe, double &vSafeMin, double &vSafeMinDist) |
This method iterates through the driveprocess items for the vehicle and adapts the given in/out parameters to the appropriate values. More... | |
double | processTraCISpeedControl (double vSafe, double vNext) |
Check for speed advices from the traci client and adjust the speed vNext in the current (euler) / after the current (ballistic) simstep accordingly. More... | |
void | removeApproachingInformation (const DriveItemVector &lfLinks) const |
unregister approach from all upcoming links More... | |
void | removePassedDriveItems () |
Erase passed drive items from myLFLinkLanes (and unregister approaching information for corresponding links). Further, myNextDriveItem is reset. More... | |
void | setBlinkerInformation () |
sets the blue flashing light for emergency vehicles More... | |
void | setBrakingSignals (double vNext) |
sets the braking lights on/off More... | |
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... | |
void | updateTimeLoss (double vNext) |
Updates the vehicle's time loss. More... | |
void | updateWaitingTime (double vNext) |
Updates the vehicle's waiting time counters (accumulated and consecutive) 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 | myActionStep |
The flag myActionStep indicates whether the current time step is an action point for the vehicle. 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 |
SUMOTime | myCollisionImmunity |
amount of time for which the vehicle is immune from collisions More... | |
MSDevice_Transportable * | myContainerDevice |
The containers this vehicle may have. More... | |
std::vector< LaneQ >::iterator | myCurrentLaneInBestLanes |
double | myDepartPos |
The real depart position. More... | |
SUMOTime | myDeparture |
The real departure time. More... | |
std::vector< MSVehicleDevice * > | myDevices |
The devices this vehicle has. More... | |
MSDevice_DriverState * | myDriverState |
This vehicle's driver state. More... | |
std::vector< MSLane * > | myFurtherLanes |
The information into which lanes the vehicle laps into. More... | |
std::vector< double > | myFurtherLanesPosLat |
lateral positions on further lanes More... | |
bool | myHaveToWaitOnNextLink |
SUMOTime | myJunctionConflictEntryTime |
SUMOTime | myJunctionEntryTime |
time at which the current junction was entered More... | |
SUMOTime | myJunctionEntryTimeNeverYield |
MSLane * | myLane |
The lane the vehicle is on. More... | |
MSAbstractLaneChangeModel * | myLaneChangeModel |
SUMOTime | myLastActionTime |
Action offset (actions are taken at time myActionOffset + N*getActionStepLength()) Initialized to 0, to be set at insertion. More... | |
const MSEdge * | myLastBestLanesEdge |
const MSLane * | myLastBestLanesInternalLane |
DriveItemVector | myLFLinkLanes |
container for the planned speeds in the current step More... | |
DriveItemVector | myLFLinkLanesPrev |
planned speeds from the previous step for un-registering from junctions after the new container is filled More... | |
DriveItemVector::iterator | myNextDriveItem |
iterator pointing to the next item in myLFLinkLanes More... | |
std::pair< double, LinkDirection > | myNextTurn |
the upcoming turn for the vehicle More... | |
int | myNumberReroutes |
The number of reroutings. More... | |
double | myOdometer |
A simple odometer to keep track of the length of the route already driven. More... | |
MSDevice_Transportable * | myPersonDevice |
The passengers this vehicle may have. 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 doubleMax if there is none More... | |
std::list< Stop > | myStops |
The vehicle's list of stops. More... | |
double | myTimeLoss |
the time loss in seconds due to driving with less than maximum speed 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... | |
const NumericalID | myNumericalID |
Static Private Attributes | |
static NumericalID | myCurrentNumericalIndex = 0 |
Friends | |
class | MSLaneChanger |
the lane changer sets myLastLaneChangeOffset More... | |
class | MSLaneChangerSublane |
state io | |
const SUMOVehicleParameter * | myParameter |
This vehicle's parameter. More... | |
const MSRoute * | myRoute |
This vehicle's route. More... | |
MSVehicleType * | myType |
This vehicle's type. More... | |
MSRouteIterator | myCurrEdge |
Iterator to current route-edge. More... | |
double | myChosenSpeedFactor |
A precomputed factor by which the driver wants to be faster than the speed limit. More... | |
void | addStops (const bool ignoreStopErrors) |
Adds stops to the built vehicle. More... | |
virtual bool | isSelected () const |
whether this vehicle is selected in the GUI More... | |
int | getRNGIndex () const |
std::mt19937 * | getRNG () const |
NumericalID | getNumericalID () const |
return the numerical ID which is only for internal usage More... | |
const MSDevice_Transportable * | getPersonDevice () const |
const MSDevice_Transportable * | getContainerDevice () const |
void | calculateArrivalParams () |
(Re-)Calculates the arrival position and lane from the vehicle parameters More... | |
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... | |
bool | checkActionStep (const SUMOTime t) |
Returns whether the vehicle is supposed to take action in the current simulation step Updates myActionStep and myLastActionTime in case that the current simstep is an action step. More... | |
void | resetActionOffset (const SUMOTime timeUntilNextAction=0) |
Resets the action offset for the vehicle. More... | |
void | updateActionOffset (const SUMOTime oldActionStepLength, const SUMOTime newActionStepLength) |
Process an updated action step length value (only affects the vehicle's action offset, The actionStepLength is stored in the (singular) vtype) 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... | |
void | setApproachingForAllLinks (const SUMOTime t) |
Register junction approaches for all link items in the current plan. More... | |
bool | executeMove () |
Executes planned vehicle movements with regards to right-of-way. More... | |
double | getDeltaPos (const double accel) const |
calculates the distance covered in the next integration step given an acceleration and assuming the current velocity. (gives different results for different integration methods, e.g., euler vs. ballistic) More... | |
void | adaptLaneEntering2MoveReminder (const MSLane &enteredLane) |
Adapts the vehicle's entering of a new lane. 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 | isActive () const |
Returns whether the current simulation step is an action point for the vehicle. More... | |
bool | isActionStep (SUMOTime t) const |
Returns whether the next simulation step will be an action point for the vehicle. 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 () 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... | |
double | computeAngle () const |
compute the current vehicle angle More... | |
void | setAngle (double angle, bool straightenFurther=false) |
Set a custom vehicle angle in rad, optionally updates furtherLanePosLat. More... | |
void | setActionStepLength (double actionStepLength, bool resetActionOffset=true) |
Sets the action steplength of the vehicle. More... | |
bool | congested () const |
void | activateReminders (const MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
"Activates" all current move reminder More... | |
bool | enterLaneAtMove (MSLane *enteredLane, bool onTeleporting=false) |
Update when the vehicle enters a new lane in the move step. 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 | 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 | enterLaneAtLaneChange (MSLane *enteredLane) |
Update when the vehicle enters a new lane in the laneChange step. More... | |
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... | |
void | updateDriveItems () |
Check whether the drive items (myLFLinkLanes) are up to date, and update them if required. More... | |
const std::pair< double, LinkDirection > & | getNextTurn () |
Get the distance and direction of the next upcoming turn for the vehicle (within its look-ahead range) More... | |
MSAbstractLaneChangeModel & | getLaneChangeModel () |
const MSAbstractLaneChangeModel & | getLaneChangeModel () const |
const std::vector< MSLane * > & | getFurtherLanes () const |
const std::vector< double > & | getFurtherLanesPosLat () const |
bool | onFurtherEdge (const MSEdge *edge) const |
whether this vehicle has its back (and no its front) on the given edge More... | |
static bool | overlap (const MSVehicle *veh1, const MSVehicle *veh2) |
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... | |
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... | |
double | getSpaceTillLastStanding (const MSLane *l, bool &foundStopped) const |
Representation of a vehicle in the micro simulation.
Definition at line 79 of file MSVehicle.h.
|
protected |
Container for used Links/visited Lanes during planMove() and executeMove.
Definition at line 2069 of file MSVehicle.h.
|
protectedinherited |
Definition of a move reminder container.
Definition at line 535 of file MSBaseVehicle.h.
|
inherited |
Definition at line 62 of file SUMOVehicle.h.
Requests set via TraCI.
Definition at line 218 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 1217 of file MSVehicle.h.
flag identifying which, if any, manoeuvre is in progress
Enumerator | |
---|---|
MANOEUVRE_ENTRY | Manoeuvre into stopping place. |
MANOEUVRE_EXIT | Manoeuvre out of stopping place. |
MANOEUVRE_NONE | not manouevring |
Definition at line 1352 of file MSVehicle.h.
Some boolean values which describe the state of some vehicle parts.
Definition at line 1179 of file MSVehicle.h.
modes for prioritizing traci lane change requests
Enumerator | |
---|---|
LCP_ALWAYS | |
LCP_NOOVERLAP | |
LCP_URGENT | |
LCP_OPPORTUNISTIC |
Definition at line 1225 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 987 of file MSVehicle.cpp.
References MSAbstractLaneChangeModel::build(), MSCFModel::createVehicleVariables(), DEPART_LANE_GIVEN, DEPART_SPEED_GIVEN, SUMOVehicleParameter::departLaneProcedure, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, MSVehicleType::getCarFollowModel(), MSBaseVehicle::getDevice(), MSVehicleType::getID(), MSVehicleType::getLaneChangeModel(), MSVehicleType::getMaxSpeed(), MSVehicleType::getVehicleClass(), SUMOVehicleParameter::id, myCFVariables, myDriverState, myLaneChangeModel, myLFLinkLanes, and myNextDriveItem.
|
virtual |
Destructor.
Definition at line 1038 of file MSVehicle.cpp.
References MSAbstractLaneChangeModel::cleanupShadowLane(), MSAbstractLaneChangeModel::cleanupTargetLane(), 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 1197 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 4430 of file MSVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), and processNextStop().
void MSVehicle::adaptBestLanesOccupation | ( | int | laneIndex, |
double | density | ||
) |
update occupation from MSLaneChanger
Definition at line 5097 of file MSVehicle.cpp.
References myBestLanes.
Referenced by MSLaneChanger::change(), and MSLaneChangerSublane::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 1236 of file MSVehicle.cpp.
References MSBaseVehicle::addReminder(), MSLane::getLength(), MSLane::getMoveReminders(), myLane, and MSBaseVehicle::myMoveReminders.
Referenced by enterLaneAtMove().
|
protected |
Definition at line 2796 of file MSVehicle.cpp.
References MSVehicle::DriveProcessItem::adaptLeaveSpeed(), DEBUG_COND, MSBaseVehicle::getID(), Named::getID(), getSafeFollowSpeed(), MIN2(), myLane, and SIMTIME.
Referenced by adaptToLeaders(), and checkLinkLeader().
|
protected |
Definition at line 2747 of file MSVehicle.cpp.
References adaptToLeader(), DEBUG_COND, getBackPositionOnLane(), MSBaseVehicle::getID(), Named::getID(), getLane(), getLaneChangeModel(), MSLane::getLength(), MSVehicleType::getMinGap(), getPositionOnLane(), MSLeaderInfo::getSubLanes(), MSBaseVehicle::getVehicleType(), MSAbstractLaneChangeModel::isOpposite(), myLane, MSVehicle::State::myPos, myState, SIMTIME, and MSLeaderInfo::toString().
Referenced by checkLinkLeader(), and planMoveInternal().
|
virtual |
Adds a container.
[in] | container | The container to add |
Reimplemented from MSBaseVehicle.
Definition at line 5227 of file MSVehicle.cpp.
References MSBaseVehicle::addContainer(), MSTransportable::getID(), and myStops.
|
virtual |
Adds a passenger.
[in] | person | The person to add |
Reimplemented from MSBaseVehicle.
Definition at line 5219 of file MSVehicle.cpp.
References MSBaseVehicle::addPerson(), MSTransportable::getID(), and myStops.
|
inherited |
Adds a MoveReminder dynamically.
[in] | rem | the reminder to add |
Definition at line 463 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by adaptLaneEntering2MoveReminder(), MESegment::addReminders(), enterLaneAtInsertion(), enterLaneAtLaneChange(), 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 1513 of file MSVehicle.cpp.
References ACCEL2SPEED, MSLane::allowsVehicleClass(), SUMOVehicleParameter::Stop::awaitedContainers, SUMOVehicleParameter::Stop::awaitedPersons, basePos(), MSCFModel::brakeGap(), MSVehicle::Stop::busstop, SUMOVehicleParameter::Stop::busstop, MSVehicle::Stop::chargingStation, SUMOVehicleParameter::Stop::chargingStation, MSVehicle::Stop::collision, MSVehicle::Stop::containerstop, SUMOVehicleParameter::Stop::containerstop, MSVehicle::Stop::containerTriggered, SUMOVehicleParameter::Stop::containerTriggered, DEPART_POS_BASE, DEPART_POS_DEFAULT, DEPART_POS_GIVEN, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, MSLane::dictionary(), MSVehicle::Stop::duration, SUMOVehicleParameter::Stop::duration, MSVehicle::Stop::edge, MSRoute::end(), SUMOVehicleParameter::Stop::endPos, getCarFollowModel(), MSLane::getEdge(), Named::getID(), MSNet::getInstance(), MSBaseVehicle::getLength(), MSLane::getLength(), MSVehicleType::getLength(), MSLane::getNextNormal(), MSEdge::getNormalBefore(), getSpeed(), MSNet::getStoppingPlace(), MSVehicleType::getVehicleClass(), MSBaseVehicle::hasDeparted(), SUMOVehicleParameter::id, SUMOVehicleParameter::Stop::index, Position::INVALID, MSEdge::isInternal(), MSVehicle::Stop::lane, SUMOVehicleParameter::Stop::lane, MSCFModel::maximumSafeStopSpeed(), MIN2(), myCachedPosition, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myStops, MSBaseVehicle::myType, MSVehicle::Stop::numExpectedContainer, MSVehicle::Stop::numExpectedPerson, MSVehicle::Stop::parkingarea, SUMOVehicleParameter::Stop::parkingarea, MSVehicle::Stop::pars, SUMOVehicleParameter::Stop::startPos, STOP_INDEX_END, STOP_INDEX_FIT, SUMO_TAG_BUS_STOP, SUMO_TAG_CHARGING_STATION, SUMO_TAG_CONTAINER_STOP, SUMO_TAG_PARKING_AREA, MSVehicle::Stop::triggered, SUMOVehicleParameter::Stop::triggered, SUMOVehicleParameter::Stop::until, and MSNet::warnOnce().
Referenced by addTraciStop(), addTraciStopAtStoppingPlace(), MSLane::handleCollisionBetween(), replaceRoute(), and GUIVehicle::rerouteDRTStop().
|
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 593 of file MSBaseVehicle.cpp.
References SUMOVehicle::addStop(), SUMOVehicleParameter::depart, MSRoute::getStops(), MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, SUMOVehicleParameter::repetitionOffset, SUMOVehicleParameter::repetitionsDone, SUMOVehicleParameter::stops, and WRITE_WARNING.
Referenced by GUIVehicleControl::buildVehicle(), GUIMEVehicleControl::buildVehicle(), MEVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), MEVehicle::replaceRoute(), and replaceRoute().
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 |
XXX handle stops added out of order
Definition at line 5700 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::parametersSet, SUMOVehicleParameter::Stop::parking, POSITION_EPS, SUMOVehicleParameter::Stop::startPos, STOP_CONTAINER_TRIGGER_SET, STOP_DURATION_SET, STOP_END_SET, STOP_INDEX_FIT, STOP_PARKING_SET, STOP_START_SET, STOP_TRIGGER_SET, STOP_UNTIL_SET, SUMOVehicleParameter::stops, SUMOVehicleParameter::Stop::triggered, SUMOVehicleParameter::Stop::until, and updateBestLanes().
Referenced by libsumo::Vehicle::setStop().
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 5759 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(), MSStoppingPlace::getEndLanePosition(), MSBaseVehicle::getID(), Named::getID(), MSNet::getInstance(), MSStoppingPlace::getLane(), MSNet::getStoppingPlace(), SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, myLane, myStops, SUMOVehicleParameter::Stop::parametersSet, SUMOVehicleParameter::Stop::parking, SUMOVehicleParameter::Stop::parkingarea, SUMOVehicleParameter::Stop::startPos, STOP_CONTAINER_TRIGGER_SET, STOP_INDEX_FIT, STOP_PARKING_SET, STOP_TRIGGER_SET, 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 libsumo::Vehicle::setStop().
double MSVehicle::basePos | ( | const MSEdge * | edge | ) | const |
departure position where the vehicle fits fully onto the edge (if possible)
Definition at line 2099 of file MSVehicle.cpp.
References MSRoute::begin(), MSBaseVehicle::getLength(), MSEdge::getLength(), MSBaseVehicle::getVehicleType(), hasStops(), MAX2(), MIN2(), MSBaseVehicle::myRoute, myStops, and POSITION_EPS.
Referenced by addStop(), and MSLane::insertVehicle().
|
protectedinherited |
(Re-)Calculates the arrival position and lane from the vehicle parameters
Definition at line 512 of file MSBaseVehicle.cpp.
References ARRIVAL_LANE_GIVEN, ARRIVAL_POS_CENTER, ARRIVAL_POS_GIVEN, ARRIVAL_POS_RANDOM, ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalLane, SUMOVehicleParameter::arrivalLaneProcedure, SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, MSBaseVehicle::getID(), Named::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(), MEVehicle::replaceRoute(), replaceRoute(), and MSBaseVehicle::reroute().
|
protected |
whether the vehicle is a train that can reverse its direction at the current point in its route
Definition at line 3541 of file MSVehicle.cpp.
References DEBUG_COND, MSRoute::end(), MSEdge::getBidiEdge(), MSLane::getEdge(), Named::getID(), MSLane::getLength(), getPreviousSpeed(), MSEdge::getSuccessors(), MSBaseVehicle::getVClass(), gPrecision, MSLane::isInternal(), MSBaseVehicle::myCurrEdge, myFurtherLanes, myLane, MSVehicle::State::myPos, MSBaseVehicle::myRoute, myState, myStops, SIMTIME, and SVC_RAIL_CLASSES.
Referenced by planMoveInternal(), and processLaneAdvances().
bool MSVehicle::checkActionStep | ( | const SUMOTime | t | ) |
Returns whether the vehicle is supposed to take action in the current simulation step Updates myActionStep and myLastActionTime in case that the current simstep is an action step.
[in] | t |
Definition at line 2111 of file MSVehicle.cpp.
References isActionStep(), myActionStep, and myLastActionTime.
Referenced by planMove(), and setApproachingForAllLinks().
|
protected |
checks for link leaders on the given link
Definition at line 2848 of file MSVehicle.cpp.
References adaptToLeader(), adaptToLeaders(), MSLeaderInfo::addLeader(), DEBUG_COND, gDebugFlag1, MSLane::getEdge(), MSBaseVehicle::getID(), Named::getID(), MSLink::getInternalLaneBefore(), getLane(), getLaneChangeModel(), getLatOffset(), MSLink::getLeaderInfo(), MSLane::getLogicalPredecessorLane(), MSLane::getRightSideOnEdge(), MSAbstractLaneChangeModel::getShadowLane(), MSLink::getViaLaneOrLane(), getWaitingTime(), MSGlobals::gLateralResolution, isLeader(), isStopped(), JUNCTION_BLOCKAGE_TIME, MAX2(), MIN2(), myJunctionConflictEntryTime, myJunctionEntryTime, myJunctionEntryTimeNeverYield, myLane, MSVehicle::DriveProcessItem::mySetRequest, MSVehicle::DriveProcessItem::myVLinkWait, SIMTIME, SUMO_const_haltingSpeed, TIME2STEPS, and MSLeaderInfo::toString().
Referenced by checkLinkLeaderCurrentAndParallel().
|
protected |
checks for link leaders of the current link as well as the parallel link (if there is one)
Definition at line 2832 of file MSVehicle.cpp.
References checkLinkLeader(), getLaneChangeModel(), MSLink::getParallelLink(), and MSGlobals::gUsingInternalLanes.
Referenced by planMoveInternal().
|
protected |
runs heuristic for keeping the intersection clear in case of downstream jamming
Definition at line 4175 of file MSVehicle.cpp.
References ACCEL2SPEED, MSVehicle::DriveProcessItem::availableSpace, MSCFModel::brakeGap(), DEBUG_COND, getBackPositionOnLane(), MSLane::getBruttoVehLenSum(), getCarFollowModel(), MSLane::getEdge(), MSCFModel::getHeadwayTime(), MSBaseVehicle::getID(), Named::getID(), Named::getIDSecure(), MSBaseVehicle::getImpatience(), MSLink::getLane(), getLaneChangeModel(), MSLane::getLastAnyVehicle(), getLateralPositionOnLane(), MSVehicle::DriveProcessItem::getLeaveSpeed(), MSBaseVehicle::getLength(), MSLane::getLength(), MSVehicleType::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSVehicle::Influencer::getRespectJunctionPriority(), getSpaceTillLastStanding(), getSpeed(), MSBaseVehicle::getVehicleType(), MSLink::getViaLane(), MSLink::getViaLaneOrLane(), getWaitingTime(), MSGlobals::gUsingInternalLanes, MSVehicle::DriveProcessItem::hadStoppedVehicle, MSLink::havePriority(), MSLink::haveRed(), MSLink::isCont(), MSEdge::isInternal(), MSLink::isInternalJunctionLink(), MSEdge::isRoundabout(), isStopped(), keepClear(), MSVehicle::DriveProcessItem::myArrivalSpeed, MSVehicle::DriveProcessItem::myArrivalTime, myHaveToWaitOnNextLink, myInfluencer, myLane, MSVehicle::DriveProcessItem::myLink, MSVehicle::DriveProcessItem::mySetRequest, MSVehicle::State::mySpeed, myState, MSLink::opened(), 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 1774 of file MSVehicle.cpp.
References MAX2(), myCollisionImmunity, and myStops.
Referenced by MSLane::executeMovements(), and MSLane::handleCollisionBetween().
double MSVehicle::computeAngle | ( | ) | const |
compute the current vehicle angle
Definition at line 1439 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, GeomHelper::naviDegree(), RAD2DEG, PositionVector::rotationAtOffset(), and SIMTIME.
Referenced by MSLaneChanger::continueChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), and executeMove().
|
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 717 of file MSVehicle.h.
References MSVehicle::State::mySpeed, and myState.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::congested(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), and MSLCM_LC2013::informLeader().
|
inherited |
create device of the given type
Definition at line 684 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 libsumo::Vehicle::setParameter().
|
inlineprotectedvirtual |
register vehicle for drawing while outside the network
Reimplemented in GUIVehicle.
Definition at line 1920 of file MSVehicle.h.
Referenced by MSVehicle::Influencer::postProcessRemoteControl().
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 4567 of file MSVehicle.cpp.
References activateReminders(), MSBaseVehicle::addReminder(), computeAngle(), DEBUG_COND, DELTA_T, MSLane::getBidiLane(), MSNet::getCurrentTimeStep(), MSNet::getInstance(), getLaneChangeModel(), MSBaseVehicle::getLength(), MSVehicleType::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, myLastActionTime, MSVehicle::State::myPos, MSVehicle::State::myPosLat, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myType, MSBaseVehicle::NOT_YET_DEPARTED, MSMoveReminder::NOTIFICATION_TELEPORT, MSBaseVehicle::onDepart(), SIMTIME, MSAbstractLaneChangeModel::updateShadowLane(), and MSAbstractLaneChangeModel::updateTargetLane().
Referenced by 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 4516 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 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 4463 of file MSVehicle.cpp.
References activateReminders(), adaptLaneEntering2MoveReminder(), MSVehicle::Influencer::adaptLaneTimeLine(), MSLane::getEdge(), Named::getID(), MSLane::getIndex(), MSLink::getLateralShift(), MSLane::getLinkTo(), MSGlobals::gLateralResolution, hasArrived(), haveValidStopEdges(), Position::INVALID, MSEdge::isInternal(), myAmOnNet, myCachedPosition, MSBaseVehicle::myCurrEdge, myFurtherLanesPosLat, myInfluencer, myLane, myLastBestLanesEdge, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_TELEPORT, and SUMOVehicleParameter::via.
Referenced by MSVehicleTransfer::add(), MSVehicleTransfer::checkInsertions(), and processLaneAdvances().
|
inlineprotected |
estimate leaving speed when accelerating across a link
Definition at line 2095 of file MSVehicle.h.
References getCarFollowModel(), MSLink::getLength(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), and MIN2().
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 3728 of file MSVehicle.cpp.
References ACCEL2SPEED, MSAbstractLaneChangeModel::changedToOpposite(), computeAngle(), DEBUG_COND, DELTA_T, MSCFModel::finalizeSpeed(), gDebugFlag1, getBackLane(), getCarFollowModel(), MSLane::getEdge(), MSBaseVehicle::getID(), Named::getID(), MSNet::getInstance(), getLaneChangeModel(), getLateralOverlap(), getLateralPositionOnLane(), MSLane::getLength(), MSLane::getOpposite(), MSLane::getOppositePos(), getPositionOnLane(), getSpeed(), MSVehicleType::getVehicleClass(), MSNet::getVehicleControl(), MSGlobals::gLateralResolution, MSGlobals::gSemiImplicitEulerUpdate, hasArrived(), MSNet::informVehicleStateListener(), Position::INVALID, MSEdge::isVaporizing(), MAX2(), myAcceleration, myActionStep, myAngle, MSVehicle::State::myBackPos, myCachedPosition, myCollisionImmunity, myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myLastCoveredDist, MSVehicle::State::myPos, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myType, NUMERICAL_EPS_SPEED, POSITION_EPS, MSAbstractLaneChangeModel::prepareStep(), processLaneAdvances(), processLinkApproaches(), processTraCISpeedControl(), MSVehicleControl::registerEmergencyStop(), setBlinkerInformation(), setBrakingSignals(), setEmergencyBlueLight(), SIMTIME, SPEED2ACCEL, SVC_EMERGENCY, time2string(), toString(), updateBestLanes(), updateFurtherLanes(), MSAbstractLaneChangeModel::updateShadowLane(), updateState(), MSAbstractLaneChangeModel::updateTargetLane(), updateTimeLoss(), updateWaitingTime(), MSNet::VEHICLE_STATE_EMERGENCYSTOP, workOnMoveReminders(), and WRITE_WARNING.
Referenced by MSLane::executeMovements().
void MSVehicle::fixPosition | ( | ) |
repair errors in vehicle position after changing between internal edges
Definition at line 5105 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 493 of file MSVehicle.h.
References myAcceleration.
Referenced by MSCFModel_CC::_ploeg(), MSCFModel_CC::_v(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), MSLCM_SL2015::commitManoeuvre(), MSDevice_SSM::computeGlobalMeasures(), MSLaneChanger::computeOvertakingTime(), MSDevice_SSM::estimateConflictTimes(), MSCFModel_CC::finalizeSpeed(), MSCFModel_W99::followSpeed(), libsumo::Vehicle::getAcceleration(), MSLCM_LC2013::getAssumedDecelForLaneChangeDuration(), GUIVehicle::getColorValue(), MSCFModel_CC::getParameter(), GUIVehicle::getParameterWindow(), MSCFModel_CC::getVehicleInformation(), MSLCM_LC2013::informLeader(), MSCFModel_CACC::speedGapControl(), 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 666 of file MSVehicle.h.
References getAccumulatedWaitingTime(), and STEPS2TIME.
Referenced by libsumo::Vehicle::getAccumulatedWaitingTime(), GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and keepClear().
|
inlinevirtual |
Returns the SUMOTime waited (speed was lesser than 0.1m/s) within the last t millisecs.
Implements SUMOVehicle.
Definition at line 646 of file MSVehicle.h.
References MSVehicle::WaitingTimeCollector::cumulatedWaitingTime(), MSGlobals::gWaitingTimeMemory, and myWaitingTimeCollector.
Referenced by getAccumulatedWaitingSeconds().
|
inline |
Returns the vehicle's action step length in millisecs, i.e. the interval between two action points.
Definition at line 504 of file MSVehicle.h.
References MSVehicleType::getActionStepLength(), and MSBaseVehicle::myType.
Referenced by MSLaneChanger::checkChange(), MSLeaderInfo::getSubLanes(), isActionStep(), processNextStop(), setActionStepLength(), and MSLaneChangerSublane::startChangeSublane().
|
inline |
Returns the vehicle's action step length in secs, i.e. the interval between two action points.
Definition at line 512 of file MSVehicle.h.
References MSVehicleType::getActionStepLengthSecs(), and MSBaseVehicle::myType.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLCM_SL2015::checkBlockingVehicles(), MSLCM_SL2015::checkStrategicChange(), MSLCM_SL2015::commitManoeuvre(), MSCFModel::finalizeSpeed(), MSCFModel::freeSpeed(), MSLCM_SL2015::getLateralDrift(), MSLeaderInfo::getSubLanes(), MSLCM_SL2015::informLeader(), MSLCM_SL2015::keepLatGap(), MSLCM_LC2013::prepareStep(), MSLCM_SL2015::setOwnState(), MSLaneChangerSublane::startChangeSublane(), MSCFModel_IDM::stopSpeed(), MSCFModel_W99::stopSpeed(), MSCFModel_Wiedemann::stopSpeed(), MSCFModel_ACC::stopSpeed(), MSCFModel_CACC::stopSpeed(), MSCFModel_Krauss::stopSpeed(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().
|
inlinevirtual |
Returns the vehicle's direction in radians.
Implements SUMOVehicle.
Definition at line 680 of file MSVehicle.h.
References myAngle.
Referenced by libsumo::Helper::applySubscriptionFilterFieldOfVision(), GUIVehicle::getAngle(), libsumo::Vehicle::getAngle(), MSTransportable::Stage_Driving::getAngle(), MSCFModel_CC::getParameter(), MSLane::handleCollisionBetween(), libsumo::Vehicle::highlight(), and MSLaneChangerSublane::startChangeSublane().
|
inlinevirtualinherited |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
Implements SUMOVehicle.
Definition at line 282 of file MSBaseVehicle.h.
References MSBaseVehicle::myArrivalPos.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLane::isInsertionSuccess(), and rerouteParkingArea().
|
protected |
Definition at line 3976 of file MSVehicle.cpp.
References myFurtherLanes, and myLane.
Referenced by executeMove().
const Position MSVehicle::getBackPosition | ( | ) | const |
Definition at line 1484 of file MSVehicle.cpp.
References DEBUG_COND, MSLane::geometryPositionAtOffset(), getBackPositionOnLane(), MSBaseVehicle::getID(), Named::getID(), MSNet::getInstance(), getLaneChangeModel(), MSVehicleType::getLength(), MSAbstractLaneChangeModel::isChangingLanes(), MSNet::lefthand(), myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, MSBaseVehicle::myType, and toString().
Referenced by computeAngle(), getBoundingBox(), getBoundingPoly(), and MSPModel_Striping::moveInDirection().
|
inline |
Get the vehicle's position relative to its current lane.
Definition at line 421 of file MSVehicle.h.
References myLane.
Referenced by getBackPosition(), and getPositionOnLane().
|
virtual |
Get the vehicle's position relative to the given lane.
Implements SUMOTrafficObject.
Definition at line 4057 of file MSVehicle.cpp.
References DEBUG_COND, getFurtherLanes(), MSAbstractLaneChangeModel::getFurtherTargetLanes(), MSBaseVehicle::getID(), Named::getID(), Named::getIDSecure(), MSNet::getInstance(), getLaneChangeModel(), MSVehicleType::getLength(), MSAbstractLaneChangeModel::getShadowFurtherLanes(), MSVehicle::State::myBackPos, myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myPos, myState, MSBaseVehicle::myType, SIMTIME, SOFT_ASSERT, time2string(), toString(), and WRITE_WARNING.
Referenced by adaptToLeaders(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSLaneChangerSublane::checkChangeToNewLane(), checkRewindLinkLanes(), MSDevice_SSM::classifyEncounter(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::freeInsertion(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSLane::getLeader(), getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getOppositeFollower(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), getSpaceTillLastStanding(), MSPModel_Striping::getVehicleObstacles(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLane::vehicle_position_sorter::operator()(), MSLane::vehicle_natural_position_sorter::operator()(), MSLaneChangerSublane::outputLCEnded(), MSLaneChangerSublane::outputLCStarted(), and MSLane::safeInsertionSpeed().
int MSVehicle::getBestLaneOffset | ( | ) | const |
Definition at line 5087 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 4692 of file MSVehicle.cpp.
References myBestLanes.
Referenced by MSLane::appropriate(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLaneChangerSublane::checkChangeHelper(), MSDevice_ToC::checkDynamicToC(), libsumo::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 5058 of file MSVehicle.cpp.
References myBestLanes, and myEmptyLaneVector.
Referenced by libsumo::Helper::applySubscriptionFilters(), MSLane::appropriate(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), GUIVehicle::drawRouteHelper(), MSLane::executeMovements(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), getLeader(), MSLaneChangerSublane::getLeaders(), libsumo::Vehicle::getNextTLS(), MSLane::getOppositeLeader(), getPositionAlongBestLanes(), MSLaneChanger::getRealLeader(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), planMoveInternal(), setBlinkerInformation(), unsafeLinkAhead(), updateBestLanes(), and updateDriveItems().
Returns the best sequence of lanes to continue the route starting at the given lane.
Definition at line 5067 of file MSVehicle.cpp.
References MSLane::getEdge(), MSLane::getLinkCont(), MSEdge::isInternal(), myBestLanes, and myEmptyLaneVector.
PositionVector MSVehicle::getBoundingBox | ( | ) | const |
get bounding rectangle
Definition at line 5564 of file MSVehicle.cpp.
References PositionVector::append(), getBackPosition(), getPosition(), MSVehicleType::getWidth(), PositionVector::move2side(), myFurtherLanes, MSBaseVehicle::myType, POSITION_EPS, and PositionVector::reverse().
Referenced by MSLane::detectCollisions(), and getBoundingPoly().
PositionVector MSVehicle::getBoundingPoly | ( | ) | const |
get bounding polygon
Definition at line 5580 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().
|
protectedvirtual |
get distance for coming to a stop (used for rerouting checks)
Implements SUMOVehicle.
Definition at line 2093 of file MSVehicle.cpp.
References MSCFModel::brakeGap(), getCarFollowModel(), and getSpeed().
|
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 893 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(), MSLane::checkForPedestrians(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLCM_SL2015::commitFollowSpeed(), MSLCM_SL2015::commitManoeuvre(), MSLaneChanger::computeOvertakingTime(), MSLink::couldBrakeForLeader(), MSLane::detectCollisionBetween(), MSDevice_SSM::estimateConflictTimes(), estimateLeaveSpeed(), executeMove(), MSLane::freeInsertion(), getBrakeGap(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), getCurrentApparentDecel(), MSLane::getLeader(), getLeader(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getMissingRearGap(), libsumo::Vehicle::getParameter(), MSLaneChanger::getRealLeader(), getRerouteOrigin(), getSafeFollowSpeed(), MSCFModel_CACC::getSecureGap(), getSpaceTillLastStanding(), GUIVehicle::getTypeParameterWindow(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MSVehicle::Influencer::implicitSpeedRemote(), MSLCM_DK2008::informBlocker(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeaders(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), planMoveInternal(), processLinkApproaches(), processNextStop(), MSAbstractLaneChangeModel::remainingTime(), MSDevice_ToC::requestToC(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), setBlinkerInformation(), MSAbstractLaneChangeModel::setFollowerGaps(), MSAbstractLaneChangeModel::setLeaderGaps(), MSAbstractLaneChangeModel::setOrigLeaderGaps(), libsumo::Vehicle::setParameter(), MSDevice_ToC::setState(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSCFModel_CACC::speedGapControl(), unsafeLinkAhead(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), updateState(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().
|
inline |
Returns the vehicle's car following model variables.
Definition at line 910 of file MSVehicle.h.
References myCFVariables.
Referenced by MSCFModel_CC::_acc(), MSCFModel_CC::_cacc(), MSCFModel_CC::_cc(), MSCFModel_CC::_consensus(), MSCFModel_CC::_flatbed(), MSCFModel_CC::_ploeg(), MSCFModel_ACC::_v(), MSCFModel_IDM::_v(), MSCFModel_CACC::_v(), MSCFModel_CC::_v(), MSCFModel_Kerner::_v(), MSCFModel_Wiedemann::_v(), MSCFModel_SmartSK::_vsafe(), MSCFModel_CC::finalizeSpeed(), MSCFModel_IDM::finalizeSpeed(), MSCFModel_Kerner::finalizeSpeed(), MSCFModel_PWag2009::finalizeSpeed(), MSCFModel_SmartSK::finalizeSpeed(), MSCFModel_Wiedemann::finalizeSpeed(), MSCFModel_CC::followSpeed(), MSCFModel_PWag2009::followSpeed(), MSCFModel_SmartSK::followSpeed(), MSCFModel_CC::freeSpeed(), MSCFModel_CC::getACCAcceleration(), MSCFModel_CC::getCACCConstantSpacing(), MSCFModel_CC::getParameter(), MSCFModel_CC::getVehicleInformation(), MSCFModel_CC::interactionGap(), MSCFModel_CC::maxNextSpeed(), MSCFModel_CC::minNextSpeed(), MSCFModel_CC::performAutoLaneChange(), MSCFModel_CC::recomputeParameters(), MSCFModel_CC::resetConsensus(), MSCFModel_CC::setParameter(), MSCFModel_CC::stopSpeed(), MSCFModel_SmartSK::stopSpeed(), MSCFModel_CC::switchOnACC(), 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 5333 of file MSVehicle.cpp.
References DEBUG_COND, MSLane::getCenterOnEdge(), MSLane::getEdge(), MSBaseVehicle::getID(), Named::getID(), Named::getIDSecure(), getLaneChangeModel(), MSLane::getRightSideOnEdge(), MSAbstractLaneChangeModel::getShadowFurtherLanes(), 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(), getRightSideOnEdge(), MSLCM_SL2015::keepLatGap(), MSLCM_SL2015::prepareStep(), and MSLCM_SL2015::updateCFRelated().
|
inlinevirtualinherited |
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Implements SUMOTrafficObject.
Definition at line 426 of file MSBaseVehicle.h.
References MSBaseVehicle::myChosenSpeedFactor.
Referenced by MSLane::getDepartSpeed(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), and GUISUMOViewParent::onUpdSpeedFactor().
double MSVehicle::getCO2Emissions | ( | ) | const |
Returns CO2 emission of the current state.
Definition at line 5171 of file MSVehicle.cpp.
References PollutantsInterface::CO2, PollutantsInterface::compute(), MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by libsumo::Vehicle::getCO2Emission(), GUIVehicle::getColorValue(), and GUIVehicle::getParameterWindow().
double MSVehicle::getCOEmissions | ( | ) | const |
Returns CO emission of the current state.
Definition at line 5177 of file MSVehicle.cpp.
References PollutantsInterface::CO, PollutantsInterface::compute(), MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by libsumo::Vehicle::getCOEmission(), GUIVehicle::getColorValue(), and GUIVehicle::getParameterWindow().
|
inlineinherited |
Definition at line 497 of file MSBaseVehicle.h.
References MSBaseVehicle::myContainerDevice.
Referenced by GUIBaseVehicle::getNumContainers().
|
virtualinherited |
Returns the number of containers.
Implements SUMOVehicle.
Definition at line 633 of file MSBaseVehicle.cpp.
References SUMOVehicleParameter::containerNumber, MSBaseVehicle::myContainerDevice, MSBaseVehicle::myParameter, and MSDevice_Transportable::size().
Referenced by GUIVehicle::getParameterWindow(), processNextStop(), MEVehicle::processStop(), and MSXMLRawOut::writeVehicle().
|
virtualinherited |
retrieve riding containers
Implements SUMOVehicle.
Definition at line 662 of file MSBaseVehicle.cpp.
References MSDevice_Transportable::getTransportables(), MSBaseVehicle::myContainerDevice, and MSBaseVehicle::myEmptyTransportableVector.
Referenced by MSXMLRawOut::writeVehicle().
double MSVehicle::getCurrentApparentDecel | ( | ) | const |
get apparent deceleration based on vType parameters and current acceleration
Definition at line 6218 of file MSVehicle.cpp.
References MSCFModel::getApparentDecel(), and getCarFollowModel().
MSParkingArea * MSVehicle::getCurrentParkingArea | ( | ) |
get the current parking area stop or nullptr
Definition at line 1727 of file MSVehicle.cpp.
References isParking(), and myStops.
Referenced by MSVehicleTransfer::checkInsertions(), and MSVehicle::Manoeuvre::configureExitManoeuvre().
|
inlinevirtualinherited |
Returns an iterator pointing to the current edge in this vehicles route.
Implements SUMOVehicle.
Definition at line 205 of file MSBaseVehicle.h.
References MSBaseVehicle::myCurrEdge.
Referenced by MSDevice_SSM::findFoeConflictLane(), libsumo::Vehicle::getNextTLS(), MSRailSignal::hasOncomingRailTraffic(), libsumo::Vehicle::moveTo(), and libsumo::Vehicle::moveToXY().
double MSVehicle::getDeltaPos | ( | const double | accel | ) | const |
calculates the distance covered in the next integration step given an acceleration and assuming the current velocity. (gives different results for different integration methods, e.g., euler vs. ballistic)
[in] | accel | the assumed acceleration |
Definition at line 2991 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 266 of file MSBaseVehicle.h.
References SUMOVehicleParameter::depart, MSBaseVehicle::getDeparture(), and MSBaseVehicle::getParameter().
Referenced by GUIVehicle::getColorValue(), GUIMEVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and GUIMEVehicle::getParameterWindow().
|
inlinevirtualinherited |
Returns this vehicle's real departure position.
Implements SUMOVehicle.
Definition at line 274 of file MSBaseVehicle.h.
References MSBaseVehicle::myDepartPos.
|
inlinevirtualinherited |
Returns this vehicle's real departure time.
Implements SUMOVehicle.
Definition at line 261 of file MSBaseVehicle.h.
References MSBaseVehicle::myDeparture.
Referenced by MSBaseVehicle::getDepartDelay(), and MSVehicle::Influencer::postProcessRemoteControl().
|
virtualinherited |
Returns a device of the given type if it exists or 0.
Implements SUMOVehicle.
Definition at line 564 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
Referenced by MSBaseVehicle::createDevice(), GUIBaseVehicle::drawOnPos(), MSBaseVehicle::getEmissionParameters(), MSVehicle(), MEVehicle::processStop(), GUIVehicle::rerouteDRTStop(), resumeFromStopping(), 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 703 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
Referenced by libsumo::Vehicle::getParameter().
|
inlinevirtualinherited |
Returns this vehicle's devices.
Implements SUMOVehicle.
Definition at line 341 of file MSBaseVehicle.h.
References MSBaseVehicle::myDevices.
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 5113 of file MSVehicle.cpp.
References MSRoute::getDistanceBetween(), MSLane::getLength(), getPositionOnLane(), MSLane::isInternal(), isOnRoad(), MSBaseVehicle::myCurrEdge, myLane, and MSBaseVehicle::myRoute.
Referenced by MSVehicle::Influencer::gapControlSpeed(), MSVehicle::Influencer::implicitDeltaPosRemote(), and MSVehicle::Influencer::implicitSpeedRemote().
std::shared_ptr< MSSimpleDriverState > MSVehicle::getDriverState | ( | ) | const |
Returns the vehicle driver's state.
Definition at line 6212 of file MSVehicle.cpp.
References MSDevice_DriverState::getDriverState(), and myDriverState.
Referenced by MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), and MSDevice_ToC::setAwareness().
|
virtualinherited |
Returns the edge the vehicle is currently at.
Implements SUMOTrafficObject.
Definition at line 181 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myCurrEdge.
Referenced by MSVehicleTransfer::add(), MELoop::changeSegment(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), enterLaneAtLaneChange(), METriggeredCalibrator::execute(), MSDevice_SSM::findFoeConflictLane(), MSVehicle::Influencer::gapControlSpeed(), MEVehicle::getAngle(), libsumo::Vehicle::getDrivingDistance2D(), GUIMEVehicle::getEdgeID(), getLatOffset(), MSCFModel_CC::getParameter(), MEVehicle::getPosition(), MSBaseVehicle::getRNG(), MSBaseVehicle::getRNGIndex(), MEVehicle::getSlope(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), MESegment::receive(), rerouteParkingArea(), MELoop::teleportVehicle(), MEVehicle::updateDetectors(), MSFCDExport::write(), and MSBatteryExport::write().
double MSVehicle::getElectricityConsumption | ( | ) | const |
Returns electricity consumption of the current state.
Definition at line 5207 of file MSVehicle.cpp.
References PollutantsInterface::compute(), PollutantsInterface::ELEC, MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), libsumo::Vehicle::getElectricityConsumption(), and GUIVehicle::getParameterWindow().
|
virtualinherited |
Returns the vehicle's emission model parameter.
Implements SUMOVehicle.
Definition at line 149 of file MSBaseVehicle.cpp.
References MSBaseVehicle::getDevice(), and MSDevice_Battery::getEnergyParams().
double MSVehicle::getFuelConsumption | ( | ) | const |
Returns fuel consumption of the current state.
Definition at line 5201 of file MSVehicle.cpp.
References PollutantsInterface::compute(), PollutantsInterface::FUEL, MSVehicleType::getEmissionClass(), getSlope(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), libsumo::Vehicle::getFuelConsumption(), and GUIVehicle::getParameterWindow().
|
inline |
Definition at line 791 of file MSVehicle.h.
References myFurtherLanes.
Referenced by getBackPositionOnLane(), MSLaneChangerSublane::startChangeSublane(), MSAbstractLaneChangeModel::updateShadowLane(), and MSAbstractLaneChangeModel::updateTargetLane().
|
inline |
Definition at line 795 of file MSVehicle.h.
References myFurtherLanesPosLat.
Referenced by MSAbstractLaneChangeModel::updateShadowLane().
double MSVehicle::getHarmonoise_NoiseEmissions | ( | ) | const |
Returns noise emissions of the current state.
Definition at line 5213 of file MSVehicle.cpp.
References HelpersHarmonoise::computeNoise(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), libsumo::Vehicle::getNoiseEmission(), and GUIVehicle::getParameterWindow().
double MSVehicle::getHCEmissions | ( | ) | const |
Returns HC emission of the current state.
Definition at line 5183 of file MSVehicle.cpp.
References PollutantsInterface::compute(), MSVehicleType::getEmissionClass(), getSlope(), PollutantsInterface::HC, myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), libsumo::Vehicle::getHCEmission(), and GUIVehicle::getParameterWindow().
|
virtualinherited |
Returns the name of the vehicle.
Implements SUMOTrafficObject.
Definition at line 138 of file MSBaseVehicle.cpp.
References SUMOVehicleParameter::id, and MSBaseVehicle::myParameter.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSCFModel_ACC::_v(), MSCFModel_CACC::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChangerSublane::abortLCManeuver(), adaptToLeader(), adaptToLeaders(), MSVehicleTransfer::add(), MSPModel_Striping::addCrossingVehs(), MSLCM_SL2015::addLCSpeedAdvice(), addTraciStopAtStoppingPlace(), MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), libsumo::Helper::applySubscriptionFilters(), MSBaseVehicle::calculateArrivalParams(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLCM_SL2015::changed(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), libsumo::Vehicle::changeTarget(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSLane::checkFailure(), MSLane::checkForPedestrians(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), checkLinkLeader(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::closeEncounter(), MSLCM_SL2015::commitManoeuvre(), computeAngle(), MSLCM_SL2015::computeSpeedLat(), MSDevice_SSM::computeSSMs(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), MSLCM_SL2015::decideDirection(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSDevice_SSM::Encounter::Encounter(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), MSCalibrator::execute(), executeMove(), MSLane::executeMovements(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSLaneChanger::findCandidate(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushGlobalMeasures(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSLane::getLastVehicleInformation(), getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getPartialBehind(), MSSimpleDriverState::getPerceivedHeadway(), MSSimpleDriverState::getPerceivedSpeedDifference(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), getSafeFollowSpeed(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), haveValidStopEdges(), libsumo::Vehicle::highlight(), ignoreRed(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MESegment::initialise(), MSPedestrianPushButton::isActiveForEdge(), MSLane::isInsertionSuccess(), isLeader(), MSAbstractLaneChangeModel::laneChangeOutput(), lateralDistanceToLane(), leaveLane(), libsumo::Vehicle::moveToXY(), MSLCM_LC2013::MSLCM_LC2013(), MSSimpleDriverState::MSSimpleDriverState(), MSCalibrator::VehicleRemover::notifyEnter(), onRemovalFromNet(), MSLaneChangerSublane::outputLCStarted(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSCFModel_CC::performAutoLaneChange(), planMove(), planMoveInternal(), MSLCM_SL2015::prepareStep(), MSAbstractLaneChangeModel::primaryLaneChanged(), TraCIServerAPI_GUI::processGet(), processLaneAdvances(), processLinkApproaches(), processNextStop(), processTraCISpeedControl(), removePassedDriveItems(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), libsumo::Vehicle::resume(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSBaseVehicle::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), setAngle(), setApproachingForAllLinks(), MSSimpleDriverState::setAwareness(), MSAbstractLaneChangeModel::setManeuverDist(), MSLane::setManeuverReservation(), MSLCM_SL2015::setOwnState(), MSDevice_ToC::setParameter(), MSCFModel_CC::setParameter(), MSLane::setPartialOccupation(), libsumo::Helper::setRemoteControlled(), libsumo::Vehicle::setRoute(), libsumo::Vehicle::setRouteID(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), MSSimpleDriverState::update(), updateBestLanes(), updateDriveItems(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), updateFurtherLanes(), MSLCM_SL2015::updateGaps(), MSAbstractLaneChangeModel::updateShadowLane(), updateState(), MSAbstractLaneChangeModel::updateTargetLane(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSBatteryExport::write(), and MSXMLRawOut::writeVehicle().
|
virtualinherited |
Returns this vehicles impatience.
Implements SUMOVehicle.
Definition at line 557 of file MSBaseVehicle.cpp.
References MSBaseVehicle::getVehicleType(), SUMOTrafficObject::getWaitingTime(), MSGlobals::gTimeToImpatience, MAX2(), and MIN2().
Referenced by checkRewindLinkLanes(), MSLane::getCriticalLeader(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), GUIVehicle::getParameterWindow(), MSLCM_LC2013::informFollower(), MSLane::isInsertionSuccess(), MESegment::isOpen(), processLinkApproaches(), 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 5900 of file MSVehicle.cpp.
References myInfluencer.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), libsumo::Vehicle::changeLane(), libsumo::Vehicle::changeLaneRelative(), MSLaneChanger::changeOpposite(), libsumo::Vehicle::changeSublane(), libsumo::Vehicle::changeTarget(), MSLCM_SL2015::checkBlocking(), MSAbstractLaneChangeModel::checkTraCICommands(), MSDevice_ToC::deactivateDeliberateLCs(), libsumo::Vehicle::deactivateGapControl(), MSLane::detectCollisionBetween(), libsumo::Vehicle::getLaneChangeMode(), libsumo::Vehicle::getRoutingMode(), libsumo::Vehicle::getSpeedMode(), MSLane::handleCollisionBetween(), influenceChangeDecision(), MSLCM_SL2015::keepLatGap(), MSDevice_ToC::MRMExecutionStep(), libsumo::Vehicle::openGap(), MSDevice_ToC::requestToC(), rerouteParkingArea(), libsumo::Vehicle::rerouteTraveltime(), MSDevice_ToC::resetDeliberateLCs(), libsumo::Vehicle::setLaneChangeMode(), MSCFModel_CC::setParameter(), libsumo::Helper::setRemoteControlled(), libsumo::Vehicle::setRoutingMode(), libsumo::Vehicle::setSignals(), libsumo::Vehicle::setSpeed(), libsumo::Vehicle::setSpeedMode(), MSDevice_ToC::setState(), libsumo::Vehicle::slowDown(), and MSLaneChangerSublane::startChangeSublane().
const MSVehicle::Influencer * MSVehicle::getInfluencer | ( | ) | const |
Definition at line 5909 of file MSVehicle.cpp.
References myInfluencer.
|
inlinevirtual |
Returns the lane the vehicle is on.
Implements SUMOVehicle.
Definition at line 560 of file MSVehicle.h.
References myLane.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), adaptToLeaders(), libsumo::Helper::applySubscriptionFilters(), MSLaneChangerSublane::change(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSLaneChangerSublane::checkChangeToNewLane(), MSDevice_ToC::checkDynamicToC(), MSVehicleTransfer::checkInsertions(), checkLinkLeader(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), MSLCM_SL2015::commitManoeuvre(), MSLaneChanger::computeOvertakingTime(), MSLCM_SL2015::computeSpeedGain(), MSAbstractLaneChangeModel::congested(), MSLaneChanger::continueChange(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSAbstractLaneChangeModel::determineTargetLane(), MSVTypeProbe::execute(), MSLane::executeMovements(), MSCFModel::finalizeSpeed(), MSCFModel_CC::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_IDM::finalizeSpeed(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSCFModel_ACC::followSpeed(), MSCFModel_CACC::followSpeed(), MSCFModel_IDM::followSpeed(), MSCFModel_IDM::freeSpeed(), libsumo::Vehicle::getAllowedSpeed(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), libsumo::Vehicle::getDrivingDistance(), MSLane::getFollowersOnConsecutive(), libsumo::Vehicle::getLaneID(), libsumo::Vehicle::getLaneIndex(), MSLCM_SL2015::getLateralDrift(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), libsumo::Vehicle::getNextTLS(), MSCFModel_CC::getParameter(), getPositionAlongBestLanes(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), MSAbstractLaneChangeModel::getShadowDirection(), getSpaceTillLastStanding(), MSVTKExport::getSpeed(), MSLCM_SL2015::getSublaneWidth(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MSVehicle::Influencer::implicitSpeedRemote(), MSLCM_LC2013::informFollower(), MSCFModel::interactionGap(), MSCFModel_IDM::interactionGap(), isLeader(), MSLCM_SL2015::keepLatGap(), leaveLane(), libsumo::Vehicle::moveTo(), libsumo::Vehicle::moveToXY(), MSDevice_Vehroutes::notifyEnter(), MSDevice_ToC::notifyMove(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdRemoveObject(), GUIViewTraffic::onGamingClick(), MSLCM_DK2008::patchSpeed(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSLCM_LC2013::prepareStep(), MSLCM_SL2015::prepareStep(), libsumo::Vehicle::remove(), MSVehicleTransfer::remove(), MSCalibrator::removePending(), MSLane::removeVehicle(), MSAbstractLaneChangeModel::saveNeighbors(), setBlinkerInformation(), libsumo::Vehicle::setRoute(), libsumo::Vehicle::setRouteID(), MSLaneChangerSublane::startChangeSublane(), MSCFModel_IDM::stopSpeed(), MSLCM_SL2015::updateCFRelated(), MSLaneChangerSublane::updateChanger(), updateDriveItems(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSAbstractLaneChangeModel::updateShadowLane(), MSAbstractLaneChangeModel::updateTargetLane(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel | ( | ) |
Definition at line 4680 of file MSVehicle.cpp.
References myLaneChangeModel.
Referenced by MSLaneChangerSublane::abortLCManeuver(), adaptToLeaders(), MSVehicleTransfer::add(), MSLaneChanger::applyTraCICommands(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSLaneChangerSublane::checkChangeToNewLane(), checkLinkLeader(), checkLinkLeaderCurrentAndParallel(), checkRewindLinkLanes(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSDevice_SSM::classifyEncounter(), computeAngle(), MSLaneChanger::computeOvertakingTime(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), enterLaneAtInsertion(), executeMove(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), fixPosition(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), libsumo::Vehicle::getLaneChangeState(), GUIVehicle::getLastLaneChangeOffset(), libsumo::Vehicle::getLateralSpeed(), getLatOffset(), GUIVehicle::getLCStateLeft(), GUIVehicle::getLCStateRight(), MSLink::getLeaderInfo(), GUIVehicle::getManeuverDist(), libsumo::Vehicle::getNeighbors(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), libsumo::Vehicle::getParameter(), GUIVehicle::getParameterWindow(), getPosition(), getPositionAlongBestLanes(), GUIVehicle::getShadowLaneID(), MSLeaderInfo::getSubLanes(), GUIVehicle::getTargetLaneID(), GUIVehicle::getTypeParameterWindow(), MSLane::handleCollisionBetween(), MSLCM_SL2015::inform(), MSAbstractLaneChangeModel::MSLCMessager::informLeader(), MSAbstractLaneChangeModel::MSLCMessager::informNeighFollower(), MSAbstractLaneChangeModel::MSLCMessager::informNeighLeader(), isFrontOnLane(), MSLane::isInsertionSuccess(), MSLaneChangerSublane::outputLCEnded(), MSLaneChangerSublane::outputLCStarted(), planMove(), planMoveInternal(), processLaneAdvances(), processLinkApproaches(), MSLaneChanger::registerUnchanged(), removeApproachingInformation(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), setApproachingForAllLinks(), setBlinkerInformation(), libsumo::Vehicle::setParameter(), MSLaneChanger::startChange(), MSLaneChangerSublane::startChangeSublane(), updateBestLanes(), MSLaneChangerSublane::updateChanger(), MSLCM_SL2015::updateGaps(), updateState(), and MSXMLRawOut::writeVehicle().
const MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel | ( | ) | const |
Definition at line 4686 of file MSVehicle.cpp.
References myLaneChangeModel.
int MSVehicle::getLaneIndex | ( | ) | const |
Definition at line 5304 of file MSVehicle.cpp.
References MSLane::getEdge(), MSEdge::getLanes(), and myLane.
Referenced by MSLane::appropriate(), libsumo::Vehicle::changeLaneRelative(), influenceChangeDecision(), and MSCFModel_CC::performAutoLaneChange().
|
inline |
Returns the time of the vehicle's last action point.
Definition at line 520 of file MSVehicle.h.
References myLastActionTime.
Referenced by MSLink::getZipperSpeed().
|
inline |
Get the distance the vehicle covered in the previous timestep.
Definition at line 399 of file MSVehicle.h.
References MSVehicle::State::lastCoveredDist(), and myState.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::updatePassedEncounter().
double MSVehicle::getLateralOverlap | ( | ) | const |
return the amount by which the vehicle extends laterally outside it's primary lane
Definition at line 5493 of file MSVehicle.cpp.
References getLateralPositionOnLane().
Referenced by MSLCM_SL2015::checkStrategicChange(), executeMove(), MSAbstractLaneChangeModel::getShadowLane(), planMoveInternal(), and MSAbstractLaneChangeModel::updateShadowLane().
double MSVehicle::getLateralOverlap | ( | double | posLat | ) | const |
Definition at line 5486 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 429 of file MSVehicle.h.
References MSVehicle::State::myPosLat, and myState.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLaneChangerSublane::checkChangeToNewLane(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), MSLaneChanger::continueChange(), MSAbstractLaneChangeModel::determineTargetLane(), executeMove(), MSLane::getCriticalLeader(), libsumo::Vehicle::getLateralLanePosition(), getLateralOverlap(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), GUIVehicle::getParameterWindow(), getPosition(), getPositionAlongBestLanes(), MSLCM_SL2015::getPosLat(), MSAbstractLaneChangeModel::getShadowLane(), MSLeaderInfo::getSubLanes(), MSPModel_Striping::getVehicleObstacles(), MSLCM_SL2015::keepLatGap(), lateralDistanceToLane(), MSLane::loadState(), MSDevice_Vehroutes::notifyEnter(), MSLane::vehicle_natural_position_sorter::operator()(), planMove(), MSLCM_LC2013::prepareStep(), MSAbstractLaneChangeModel::primaryLaneChanged(), processLinkApproaches(), GUIVehicle::selectBlockingFoes(), setAngle(), 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 5371 of file MSVehicle.cpp.
References DEBUG_COND, MSBaseVehicle::getEdge(), MSLane::getEdge(), MSAbstractLaneChangeModel::getFurtherTargetLanes(), MSBaseVehicle::getID(), Named::getID(), Named::getIDSecure(), getLaneChangeModel(), MSAbstractLaneChangeModel::getManeuverDist(), MSLane::getOpposite(), MSLane::getRightSideOnEdge(), MSAbstractLaneChangeModel::getShadowFurtherLanes(), MSAbstractLaneChangeModel::getShadowFurtherLanesPosLat(), MSLane::getWidth(), MSAbstractLaneChangeModel::isOpposite(), myFurtherLanes, myFurtherLanesPosLat, myLane, MSVehicle::State::myPosLat, myState, SIMTIME, and toString().
Referenced by checkLinkLeader(), MSLane::getFirstVehicleInformation(), MSLane::getFollowersOnConsecutive(), MSLane::getLastVehicleInformation(), MSLink::getLeaderInfo(), MSLane::getLeadersOnConsecutive(), MSLane::getPartialBeyond(), and MSLaneChangerSublane::startChangeSublane().
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 5130 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 MSDevice_SSM::computeGlobalMeasures(), MSVehicle::Influencer::gapControlSpeed(), libsumo::Vehicle::getLeader(), and getTimeGapOnLane().
|
inlineinherited |
Returns the vehicle's length.
Definition at line 410 of file MSBaseVehicle.h.
References MSVehicleType::getLength(), and MSBaseVehicle::myType.
Referenced by addStop(), libsumo::Helper::applySubscriptionFilters(), basePos(), MSDevice_SSM::checkConflictEntryAndExit(), checkRewindLinkLanes(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determineTTCandDRAC(), GUIMEVehicle::drawAction_drawCarriageClass(), GUIVehicle::drawAction_drawLinkItems(), enterLaneAtInsertion(), MSDevice_SSM::findSurroundingVehicles(), MSVehicle::Influencer::gapControlSpeed(), MSLink::getLeaderInfo(), MSDevice_SSM::getUpstreamVehicles(), libsumo::Vehicle::highlight(), GUIVehicle::selectBlockingFoes(), unsafeLinkAhead(), updateFurtherLanes(), and MSDevice_SSM::updatePassedEncounter().
MSVehicle::ManoeuvreType MSVehicle::getManoeuvreType | ( | ) | const |
accessor function to myManoeuvre equivalent
Definition at line 6274 of file MSVehicle.cpp.
References MSVehicle::Manoeuvre::getManoeuvreType(), and myManoeuvre.
Referenced by planMove().
|
virtualinherited |
Returns the maximum speed.
Implements SUMOTrafficObject.
Definition at line 165 of file MSBaseVehicle.cpp.
References MSVehicleType::getMaxSpeed(), and MSBaseVehicle::myType.
Referenced by MSCFModel_Wiedemann::_v(), MSVehicleTransfer::checkInsertions(), MSCFModel_ACC::followSpeed(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), and MSVehicle::Influencer::implicitDeltaPosRemote().
|
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 570 of file MSVehicle.h.
References MSVehicleType::getMaxSpeed(), MSLane::getVehicleMaxSpeed(), myLane, and MSBaseVehicle::myType.
Referenced by MSDevice_SSM::estimateConflictTimes(), and MSLCM_LC2013::informFollower().
std::list< MSVehicle::Stop > MSVehicle::getMyStops | ( | ) |
returns the list of stops not yet reached in the stop queue
Definition at line 5895 of file MSVehicle.cpp.
References myStops.
Referenced by MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSCFModel_CC::finalizeSpeed(), and libsumo::Vehicle::getNextStops().
|
virtual |
get the upcoming parking area stop or nullptr
Implements SUMOVehicle.
Definition at line 1713 of file MSVehicle.cpp.
References myStops, MSVehicle::Stop::parkingarea, and MSVehicle::Stop::reached.
Referenced by rerouteParkingArea().
MSVehicle::Stop & MSVehicle::getNextStop | ( | ) |
returns the next imminent stop in the stop queue
Definition at line 5890 of file MSVehicle.cpp.
References myStops.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDevice_ToC::checkDynamicToC(), MSVehicle::Manoeuvre::configureExitManoeuvre(), libsumo::Vehicle::getStopState(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), and libsumo::Vehicle::resume().
|
inline |
Get the distance and direction of the next upcoming turn for the vehicle (within its look-ahead range)
Definition at line 783 of file MSVehicle.h.
References myNextTurn.
Referenced by MSLCM_SL2015::_wantsChangeSublane().
double MSVehicle::getNOxEmissions | ( | ) | const |
Returns NOx emission of the current state.
Definition at line 5189 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(), libsumo::Vehicle::getNOxEmission(), and GUIVehicle::getParameterWindow().
|
inlinevirtualinherited |
Returns the number of new routes this vehicle got.
Implements SUMOVehicle.
Definition at line 315 of file MSBaseVehicle.h.
References MSBaseVehicle::myNumberReroutes.
Referenced by GUIBaseVehicle::drawGLAdditional(), GUIVehicle::getColorValue(), GUIMEVehicle::getColorValue(), and MSBaseVehicle::replaceRouteEdges().
|
inlinevirtualinherited |
return the numerical ID which is only for internal usage
Implements SUMOVehicle.
Definition at line 489 of file MSBaseVehicle.h.
References MSBaseVehicle::myNumericalID.
Referenced by MSLane::vehicle_position_sorter::operator()(), and MSVehicleTransfer::VehicleInformation::operator<().
|
inherited |
Returns the distance that was already driven by this vehicle.
Definition at line 405 of file MSBaseVehicle.cpp.
References SUMOTrafficObject::getPositionOnLane(), MSBaseVehicle::hasArrived(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myDepartPos, and MSBaseVehicle::myOdometer.
Referenced by libsumo::Vehicle::getDistance().
|
virtualinherited |
Returns the vehicle's parameter (including departure definition)
Implements SUMOVehicle.
Definition at line 144 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myParameter.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), GUIBaseVehicle::drawOnPos(), MSBaseVehicle::getDepartDelay(), MSEdge::getDepartLane(), MSEdge::getDepartPosBound(), MSLane::getDepartPosLat(), MSLane::getDepartSpeed(), libsumo::Vehicle::getLine(), GUIBaseVehicle::getOptionalName(), libsumo::Vehicle::getParameter(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), libsumo::Vehicle::getVia(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), libsumo::Vehicle::moveTo(), GUIViewTraffic::onGamingClick(), planMoveInternal(), processNextStop(), rerouteParkingArea(), GUIBaseVehicle::setFunctionalColor(), libsumo::Vehicle::setLine(), libsumo::Vehicle::setParameter(), libsumo::Vehicle::setVia(), and METriggeredCalibrator::tryEmit().
|
inlineinherited |
Definition at line 493 of file MSBaseVehicle.h.
References MSBaseVehicle::myPersonDevice.
Referenced by GUIBaseVehicle::getNumPassengers().
|
virtualinherited |
Returns the list of persons.
Implements SUMOVehicle.
Definition at line 623 of file MSBaseVehicle.cpp.
References MSBaseVehicle::getPersons().
Referenced by libsumo::Vehicle::getPersonIDList().
|
virtualinherited |
Returns the number of persons.
Implements SUMOVehicle.
Definition at line 617 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myParameter, MSBaseVehicle::myPersonDevice, SUMOVehicleParameter::personNumber, and MSDevice_Transportable::size().
Referenced by GUIVehicle::getParameterWindow(), libsumo::Vehicle::getPersonNumber(), processNextStop(), MEVehicle::processStop(), and MSXMLRawOut::writeVehicle().
|
virtualinherited |
retrieve riding persons
Implements SUMOVehicle.
Definition at line 652 of file MSBaseVehicle.cpp.
References MSDevice_Transportable::getTransportables(), MSBaseVehicle::myEmptyTransportableVector, and MSBaseVehicle::myPersonDevice.
Referenced by MSBaseVehicle::getPersonIDList(), rerouteParkingArea(), and MSXMLRawOut::writeVehicle().
double MSVehicle::getPMxEmissions | ( | ) | const |
Returns PMx emission of the current state.
Definition at line 5195 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(), and libsumo::Vehicle::getPMxEmission().
|
virtual |
Return current position (x/y, cartesian)
If the vehicle's myLane is 0, Position::INVALID.
[in] | offset | optional offset in longitudinal direction |
Implements SUMOTrafficObject.
Definition at line 1269 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::isRemoteAffected(), MSNet::lefthand(), PositionVector::move2side(), myCachedPosition, myInfluencer, myLane, MSVehicle::State::myPos, myState, myStops, PositionVector::positionAtOffset(), SUMO_const_laneWidth, and validatePosition().
Referenced by MSCFModel_CC::_v(), libsumo::Helper::applySubscriptionFilterFieldOfVision(), MSLink::checkWalkingAreaFoe(), computeAngle(), MSDevice_SSM::computeGlobalMeasures(), MSDevice_SSM::determineConflictPoint(), getBoundingBox(), getBoundingPoly(), MSCFModel_CC::getParameter(), GUIVehicle::getPosition(), libsumo::Vehicle::getPosition(), MSVTKExport::getPositions(), MSCFModel_CC::getVehicleInformation(), libsumo::Vehicle::highlight(), MSVehicle::Influencer::implicitDeltaPosRemote(), MSVehicle::Influencer::implicitSpeedRemote(), MSPModel_Striping::moveInDirection(), libsumo::Vehicle::moveToXY(), MSDevice_SSM::updateEncounter(), 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 1302 of file MSVehicle.cpp.
References MSLane::geometryPositionAtOffset(), getBestLanesContinuation(), getLane(), getLaneChangeModel(), getLateralPositionOnLane(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLinkTo(), MSLane::getOpposite(), MSLink::getViaLaneOrLane(), MSGlobals::gUsingInternalLanes, Position::INVALID, MSLane::isInternal(), MSAbstractLaneChangeModel::isOpposite(), myLane, MSVehicle::State::myPos, and myState.
Referenced by MSDevice_SSM::determineConflictPoint().
|
inlinevirtual |
Get the vehicle's position along the lane.
Implements SUMOTrafficObject.
Definition at line 392 of file MSVehicle.h.
References MSVehicle::State::myPos, and myState.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToLeaders(), libsumo::Helper::applySubscriptionFilters(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSDevice_ToC::checkDynamicToC(), MSVehicleTransfer::checkInsertions(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), computeAngle(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), GUIVehicle::drawRouteHelper(), executeMove(), MSLane::executeMovements(), MSLaneChanger::findCandidate(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSLane::freeInsertion(), MSVehicle::Influencer::gapControlSpeed(), MSLane::getBruttoOccupancy(), MSLaneChanger::getCloserFollower(), MSLaneChanger::getColumnleader(), MSEdge::getDepartPosBound(), getDistanceToPosition(), libsumo::Vehicle::getDrivingDistance(), libsumo::Vehicle::getDrivingDistance2D(), MSLane::getFirstAnyVehicle(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSEdge::getFreeLane(), libsumo::Vehicle::getLanePosition(), MSLane::getLastVehicleInformation(), MSLane::getLeader(), getLeader(), MSLaneChangerSublane::getLeaders(), MSLane::getNettoOccupancy(), libsumo::Vehicle::getNextTLS(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSCFModel_CC::getParameter(), GUIVehicle::getParameterWindow(), MSLane::getPartialBehind(), getPosition(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSLCM_LC2013::getRoundaboutDistBonus(), getSlope(), MSVTKExport::getSpeed(), MSDevice_SSM::getUpstreamVehicles(), MSLane::handleCollisionBetween(), haveValidStopEdges(), MSLane::isInsertionSuccess(), MSAbstractLaneChangeModel::laneChangeOutput(), MSLane::loadState(), MSVehicleTransfer::loadState(), libsumo::Vehicle::moveToXY(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSLane::VehPosition::operator()(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), planMove(), planMoveInternal(), MSAbstractLaneChangeModel::primaryLaneChanged(), MSCalibrator::remainingVehicleCapacity(), replaceRoute(), GUIVehicle::selectBlockingFoes(), setBlinkerInformation(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLane::updateLeaderInfo(), validatePosition(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSFCDExport::write(), 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 4140 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 484 of file MSVehicle.h.
References MSVehicle::State::myPreviousSpeed, and myState.
Referenced by canReverse(), and 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 1386 of file MSVehicle.cpp.
References MSRoute::end(), getCarFollowModel(), MSLane::getLength(), MSLane::getNextNormal(), MSBaseVehicle::myCurrEdge, myLane, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, and myState.
Referenced by libsumo::Vehicle::changeTarget().
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 5327 of file MSVehicle.cpp.
References getCenterOnEdge(), MSBaseVehicle::getVehicleType(), and MSVehicleType::getWidth().
Referenced by MSLCM_SL2015::checkBlockingVehicles(), MSLane::detectCollisions(), GUIVehicle::getLeftSideOnEdge(), GUIVehicle::getRightSideOnEdge2(), and GUIVehicle::getRightSublaneOnEdge().
double MSVehicle::getRightSideOnLane | ( | ) | const |
Get the vehicle's lateral position on the lane:
Definition at line 5321 of file MSVehicle.cpp.
References MSBaseVehicle::getVehicleType(), MSLane::getWidth(), MSVehicleType::getWidth(), myLane, MSVehicle::State::myPosLat, and myState.
Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSLaneChanger::checkChange(), MSLane::checkForPedestrians(), and planMoveInternal().
|
virtualinherited |
Implements SUMOVehicle.
Definition at line 758 of file MSBaseVehicle.cpp.
References MSBaseVehicle::getEdge(), SUMOVehicle::getLane(), MSEdge::getLanes(), and MSLane::getRNG().
Referenced by MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_Kerner::finalizeSpeed(), MSCFModel_PWag2009::followSpeed(), MSCFModel_W99::followSpeed(), MSCFModel_Krauss::patchSpeedBeforeLC(), MSCFModel_KraussOrig1::patchSpeedBeforeLC(), MSCFModel_KraussX::patchSpeedBeforeLC(), MSCFModel_SmartSK::patchSpeedBeforeLC(), planMoveInternal(), setApproachingForAllLinks(), and MSCFModel_SmartSK::updateMyHeadway().
|
virtualinherited |
Implements SUMOVehicle.
Definition at line 747 of file MSBaseVehicle.cpp.
References MSBaseVehicle::getEdge(), SUMOVehicle::getLane(), MSEdge::getLanes(), and MSLane::getRNGIndex().
Referenced by libsumo::Vehicle::changeTarget(), GUIVehicle::rerouteDRTStop(), libsumo::Vehicle::rerouteEffort(), rerouteParkingArea(), and libsumo::Vehicle::rerouteTraveltime().
|
inlinevirtualinherited |
Returns the current route.
Implements SUMOVehicle.
Definition at line 115 of file MSBaseVehicle.h.
References MSBaseVehicle::myRoute.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), GUIBaseVehicle::drawRoute(), MSDevice_SSM::findFoeConflictLane(), MSEdge::getDepartLane(), libsumo::Vehicle::getDrivingDistance(), libsumo::Vehicle::getDrivingDistance2D(), libsumo::Vehicle::getNextTLS(), MSCFModel_CC::getParameter(), libsumo::Vehicle::getRoute(), libsumo::Vehicle::getRouteID(), MSRailSignal::hasOncomingRailTraffic(), MSLane::isInsertionSuccess(), libsumo::Vehicle::moveTo(), libsumo::Vehicle::moveToXY(), MSVehicle::Influencer::postProcessRemoteControl(), rerouteParkingArea(), GUIBaseVehicle::setFunctionalColor(), and MSFCDExport::write().
|
inherited |
return index of edge within route
Definition at line 391 of file MSBaseVehicle.cpp.
References MSRoute::begin(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.
Referenced by libsumo::Vehicle::getDrivingDistance(), libsumo::Vehicle::getDrivingDistance2D(), GUIVehicle::getPreviousLane(), libsumo::Vehicle::getRouteIndex(), libsumo::Vehicle::moveToXY(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), GUIVehicle::rerouteDRTStop(), and MSFCDExport::write().
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 2959 of file MSVehicle.cpp.
References DEBUG_COND, MSCFModel::followSpeed(), getCarFollowModel(), MSBaseVehicle::getID(), Named::getID(), MSLane::getLength(), getSpeed(), MSBaseVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MAX2(), POSITION_EPS, SIMTIME, and MSCFModel::stopSpeed().
Referenced by adaptToLeader(), and MSLane::getCriticalLeader().
|
inline |
Returns the signals.
Definition at line 1252 of file MSVehicle.h.
References mySignals.
Referenced by libsumo::Vehicle::getSignals(), 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 736 of file MSBaseVehicle.cpp.
References MSVehicleType::buildSingularType(), MSBaseVehicle::getID(), MSVehicleType::getID(), MSVehicleType::isVehicleSpecific(), MSBaseVehicle::myType, and MSBaseVehicle::replaceVehicleType().
Referenced by TraCIServerAPI_Vehicle::processSet(), setActionStepLength(), MSDevice_ToC::setState(), and MSDevice_ToC::triggerMRM().
|
virtual |
Returns the slope of the road at vehicle's position.
Reimplemented from MSBaseVehicle.
Definition at line 1258 of file MSVehicle.cpp.
References getPositionOnLane(), MSLane::getShape(), MSLane::interpolateLanePosToGeometryPos(), myLane, and PositionVector::slopeDegreeAtOffset().
Referenced by getCO2Emissions(), getCOEmissions(), getElectricityConsumption(), getFuelConsumption(), getHCEmissions(), getNOxEmissions(), GUIVehicle::getParameterWindow(), getPMxEmissions(), libsumo::Vehicle::getSlope(), MSCFModel_KraussPS::maxNextSpeed(), MSCFModel_Rail::maxNextSpeed(), and MSCFModel_Rail::minNextSpeed().
|
protected |
Definition at line 4152 of file MSVehicle.cpp.
References MSCFModel::brakeGap(), getBackPositionOnLane(), getCarFollowModel(), MSLane::getEdge(), getLane(), MSLane::getLength(), getSpeed(), MSLane::getVehiclesSecure(), isFrontOnLane(), MSEdge::isRoundabout(), MSLane::releaseVehicles(), and SUMO_const_haltingSpeed.
Referenced by checkRewindLinkLanes().
|
inlinevirtual |
Returns the vehicle's current speed.
Implements SUMOTrafficObject.
Definition at line 476 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(), MSLCM_LC2013::addLCSpeedAdvice(), MSLCM_SL2015::addLCSpeedAdvice(), addStop(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlockingVehicles(), MSLaneChanger::checkChange(), MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_ToC::checkDynamicToC(), GUIApplicationWindow::checkGamingEvents(), GUIApplicationWindow::checkGamingEventsDRT(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSLCM_SL2015::commitFollowSpeed(), MSLCM_SL2015::commitManoeuvre(), MSDevice_SSM::computeDRAC(), MSDevice_SSM::computeGlobalMeasures(), MSLaneChanger::computeOvertakingTime(), MSLCM_LC2013::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), MSLink::couldBrakeForLeader(), MSLane::detectCollisions(), MSDevice_SSM::determineTTCandDRAC(), MSDevice_SSM::estimateConflictTimes(), executeMove(), MSCFModel::finalizeSpeed(), MSCFModel_CC::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_PWag2009::finalizeSpeed(), MSCFModel_Wiedemann::finalizeSpeed(), MSLane::forceVehicleInsertion(), MSLane::freeInsertion(), MSVehicle::Influencer::gapControlSpeed(), MSCFModel_CC::getACCAcceleration(), getBrakeGap(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSLCM_SL2015::getLateralDrift(), MSLane::getLeader(), getLeader(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getMissingRearGap(), MSCFModel_CC::getParameter(), GUIVehicle::getParameterWindow(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealLeader(), getSafeFollowSpeed(), getSpaceTillLastStanding(), MSVTKExport::getSpeed(), libsumo::Vehicle::getSpeed(), getTimeGapOnLane(), MSCFModel_CC::getVehicleInformation(), MSPModel_Striping::getVehicleObstacles(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MSLCM_DK2008::informBlocker(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeaders(), MSCFModel::interactionGap(), MSCFModel_IDM::interactionGap(), MSLane::isInsertionSuccess(), isLeader(), MSAbstractLaneChangeModel::laneChangeOutput(), MSLane::lastInsertion(), MSLane::loadState(), MSVehicleTransfer::loadState(), MSDevice_ToC::MRMExecutionStep(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSCFModel_KraussX::patchSpeedBeforeLC(), MSCFModel_SmartSK::patchSpeedBeforeLC(), planMove(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSAbstractLaneChangeModel::predInteraction(), MSLCM_LC2013::prepareStep(), processLinkApproaches(), processNextStop(), MSAbstractLaneChangeModel::remainingTime(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), setBrakingSignals(), MSAbstractLaneChangeModel::setFollowerGaps(), MSAbstractLaneChangeModel::setLeaderGaps(), MSAbstractLaneChangeModel::setOrigLeaderGaps(), libsumo::Vehicle::slowDown(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), MSSimpleDriverState::updateAssumedGaps(), 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 5915 of file MSVehicle.cpp.
References MSVehicle::Influencer::getOriginalSpeed(), myInfluencer, MSVehicle::State::mySpeed, and myState.
Referenced by libsumo::Vehicle::getSpeedWithoutTraCI().
|
protectedvirtual |
Returns the list of still pending stop edges also returns the first and last stop position.
Implements MSBaseVehicle.
Definition at line 2030 of file MSVehicle.cpp.
References MSVehicle::Stop::edge, MSVehicle::Stop::getEndPos(), haveValidStopEdges(), and myStops.
|
protectedvirtual |
return list of route indices for the remaining stops
Implements SUMOVehicle.
Definition at line 2056 of file MSVehicle.cpp.
References MSRoute::begin(), MSBaseVehicle::myRoute, and myStops.
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 5160 of file MSVehicle.cpp.
References getLeader(), getSpeed(), and MSBaseVehicle::getVehicleType().
Referenced by GUIVehicle::getColorValue(), and GUIVehicle::getParameterWindow().
|
inline |
Returns the SUMOTime lost (speed was lesser maximum speed)
Definition at line 637 of file MSVehicle.h.
References myTimeLoss, and TIME2STEPS.
|
inline |
Returns the time loss in seconds.
Definition at line 672 of file MSVehicle.h.
References myTimeLoss.
Referenced by GUIVehicle::getColorValue(), and GUIVehicle::getParameterWindow().
|
inlinevirtualinherited |
Returns the vehicle's access class.
Implements SUMOTrafficObject.
Definition at line 131 of file MSBaseVehicle.h.
References MSVehicleType::getParameter(), MSBaseVehicle::myType, and SUMOVTypeParameter::vehicleClass.
Referenced by canReverse(), MSLaneChanger::changeOpposite(), GUIVehicle::drawRouteHelper(), libsumo::Vehicle::getNextTLS(), MSLane::getStopOffset(), MSPedestrianPushButton::isActiveForEdge(), libsumo::Vehicle::moveToXY(), and MSBaseVehicle::reroute().
|
inlinevirtualinherited |
Returns the vehicle's type definition.
Implements SUMOTrafficObject.
Definition at line 123 of file MSBaseVehicle.h.
References MSBaseVehicle::myType.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSCFModel_ACC::accelGapControl(), MSLCM_LC2013::adaptSpeedToPedestrians(), adaptToLeaders(), MSPModel_Striping::addCrossingVehs(), libsumo::Helper::applySubscriptionFilters(), basePos(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeToNewLane(), MSLane::checkFailure(), MSLane::checkForPedestrians(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), MSLCM_SL2015::commitManoeuvre(), MSLaneChanger::computeOvertakingTime(), MSAbstractLaneChangeModel::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), GUIVehicle::drawAction_drawCarriageClass(), GUIVehicle::drawAction_drawLinkItems(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBrakeLight(), GUIEdge::drawMesoVehicles(), MSLane::enteredByLaneChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), MSDevice_SSM::estimateConflictTimes(), MSAbstractLaneChangeModel::estimateLCDuration(), estimateLeaveSpeed(), MEVehicle::estimateLeaveSpeed(), MSLane::executeMovements(), MSLane::freeInsertion(), MSVehicle::Influencer::gapControlSpeed(), MEVehicle::getBackPositionOnLane(), MSLane::getBruttoOccupancy(), GUIBaseVehicle::getCenteringBoundary(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSEdge::getDepartLane(), MSEdge::getDepartPosBound(), MSLane::getDepartPosLat(), libsumo::Vehicle::getDrivingDistance2D(), 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(), getSafeFollowSpeed(), MSLeaderInfo::getSubLanes(), getTimeGapOnLane(), MESegment::getTimeHeadway(), MSPModel_Striping::getVehicleObstacles(), libsumo::Helper::getVehicleType(), GUIBaseVehicle::getVType(), MSLCM_SL2015::getWidth(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MESegment::hasSpaceFor(), ignoreRed(), MSVehicle::Influencer::implicitSpeedRemote(), MSLane::incorporateVehicle(), MSLCM_SL2015::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_SL2015::informLeaders(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), MESegment::isOpen(), keepClear(), MSLCM_SL2015::keepLatGap(), MSAbstractLaneChangeModel::laneChangeOutput(), MSLane::lastInsertion(), MSLane::leftByLaneChange(), MESegment::loadState(), MSLaneChanger::mayChange(), MSPModel_Striping::moveInDirection(), libsumo::Vehicle::moveToXY(), libsumo::Vehicle::openGap(), overlap(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), MSCFModel_Krauss::patchSpeedBeforeLC(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), processLinkApproaches(), processNextStop(), processTraCISpeedControl(), MESegment::receive(), MSLaneChanger::ChangeElem::registerHop(), MSLaneChanger::registerUnchanged(), MSAbstractLaneChangeModel::remainingTime(), MESegment::removeCar(), MSLane::removeVehicle(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSBaseVehicle::saveState(), GUIVehicle::selectBlockingFoes(), MSVehicleType::setActionStepLength(), MSAbstractLaneChangeModel::setFollowerGaps(), GUIBaseVehicle::setFunctionalColor(), MSAbstractLaneChangeModel::setLeaderGaps(), MSAbstractLaneChangeModel::setOrigLeaderGaps(), setTentativeLaneAndPosition(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSCFModel_CACC::speedGapControl(), MSLaneChangerSublane::startChangeSublane(), unsafeLinkAhead(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), 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 688 of file MSVehicle.h.
References myAngle, myState, and MSVehicle::State::speed().
Referenced by MSCFModel_CC::_consensus(), MSCFModel_CC::getParameter(), and 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 656 of file MSVehicle.h.
References myWaitingTime, and STEPS2TIME.
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), libsumo::Vehicle::getWaitingTime(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::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 SUMOTrafficObject.
Definition at line 624 of file MSVehicle.h.
References myWaitingTime.
Referenced by checkLinkLeader(), checkRewindLinkLanes(), MSLane::executeMovements(), MSLink::getLeaderInfo(), processLinkApproaches(), GUIVehicle::selectBlockingFoes(), and setApproachingForAllLinks().
MSEdgeWeightsStorage & MSVehicle::getWeightsStorage | ( | ) |
Definition at line 1191 of file MSVehicle.cpp.
References _getWeightsStorage().
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 1185 of file MSVehicle.cpp.
References _getWeightsStorage().
Referenced by libsumo::Vehicle::getAdaptedTraveltime(), MSNet::getEffort(), libsumo::Vehicle::getEffort(), MSNet::getTravelTime(), libsumo::Vehicle::setAdaptedTraveltime(), and libsumo::Vehicle::setEffort().
|
inlineinherited |
Returns the vehicle's width.
Definition at line 418 of file MSBaseVehicle.h.
References MSVehicleType::getWidth(), and MSBaseVehicle::myType.
Referenced by MSDevice_SSM::classifyEncounter(), MSAbstractLaneChangeModel::determineTargetLane(), GUIVehicle::drawAction_drawCarriageClass(), GUIMEVehicle::drawAction_drawCarriageClass(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBrakeLight(), getLateralOverlap(), lateralDistanceToLane(), planMoveInternal(), MSLaneChangerSublane::startChangeSublane(), 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 1074 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(), MSLane::executeMovements(), and processLaneAdvances().
|
virtualinherited |
Returns whether this vehicle has already departed.
Implements SUMOVehicle.
Definition at line 379 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDeparture, and MSBaseVehicle::NOT_YET_DEPARTED.
Referenced by addStop(), MSBaseVehicle::createDevice(), MSLane::forceVehicleInsertion(), libsumo::Vehicle::getRouteIndex(), MEVehicle::loadState(), loadState(), libsumo::Vehicle::moveTo(), libsumo::Vehicle::remove(), and MSBaseVehicle::saveState().
|
inherited |
check whether the vehicle is equiped with a device of the given type
Definition at line 673 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
Referenced by MSBaseVehicle::createDevice(), and libsumo::Vehicle::getParameter().
|
inline |
Whether this vehicle is equipped with a MSDriverState.
Definition at line 1003 of file MSVehicle.h.
References myDriverState.
Referenced by MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), and planMove().
|
inline |
Definition at line 1777 of file MSVehicle.h.
References myInfluencer.
Referenced by MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSAbstractLaneChangeModel::checkTraCICommands(), libsumo::Vehicle::deactivateGapControl(), MSLane::detectCollisionBetween(), MSLane::handleCollisionBetween(), influenceChangeDecision(), and MSLCM_SL2015::keepLatGap().
|
inline |
Returns whether the vehicle has to stop somewhere.
Definition at line 997 of file MSVehicle.h.
References myStops.
Referenced by basePos(), MSDevice_ToC::checkDynamicToC(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), GUIVehicle::getStopInfo(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), and libsumo::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 435 of file MSBaseVehicle.cpp.
References MSRoute::begin(), MSRoute::end(), MSVehicleType::getVehicleClass(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, and MSBaseVehicle::myType.
Referenced by MESegment::initialise(), libsumo::Vehicle::isRouteValid(), MSBaseVehicle::MSBaseVehicle(), MSBaseVehicle::replaceRouteEdges(), and libsumo::Vehicle::setRouteID().
|
protected |
check whether all stop.edge MSRouteIterators are valid and in order
Definition at line 6164 of file MSVehicle.cpp.
References MSRoute::begin(), MSRoute::end(), MSBaseVehicle::getID(), Named::getID(), MSNet::getInstance(), getPositionOnLane(), MSLane::isInternal(), MSBaseVehicle::myCurrEdge, myLane, MSBaseVehicle::myRoute, myStops, time2string(), toString(), WRITE_ERROR, and WRITE_WARNING.
Referenced by enterLaneAtMove(), getStopEdges(), replaceRoute(), and GUIVehicle::rerouteDRTStop().
|
protected |
decide whether a red (or yellow light) may be ignore
Definition at line 5967 of file MSVehicle.cpp.
References DEBUG_COND, MSVehicle::Influencer::getEmergencyBrakeRedLight(), MSBaseVehicle::getID(), Named::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, SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME, and toString().
Referenced by MSLaneChanger::changeOpposite(), planMoveInternal(), processLaneAdvances(), and processLinkApproaches().
int MSVehicle::influenceChangeDecision | ( | int | state | ) |
allow TraCI to influence a lane change decision
Definition at line 5924 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::changeOpposite(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), MSLCM_SL2015::checkStrategicChange(), and MSAbstractLaneChangeModel::checkTraCICommands().
|
inline |
Returns whether the next simulation step will be an action point for the vehicle.
Definition at line 597 of file MSVehicle.h.
References getActionStepLength(), and myLastActionTime.
Referenced by checkActionStep(), and GUIVehicle::getColorValue().
|
inline |
Returns whether the current simulation step is an action point for the vehicle.
Definition at line 590 of file MSVehicle.h.
References myActionStep.
Referenced by MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLaneChangerSublane::checkChangeToNewLane(), GUIVehicle::getColorValue(), MSLink::getZipperSpeed(), and MSLCM_SL2015::setOwnState().
|
virtual |
Returns the information whether the front of the vehicle is on the given lane.
Reimplemented from MSBaseVehicle.
Definition at line 4146 of file MSVehicle.cpp.
References getLaneChangeModel(), MSAbstractLaneChangeModel::getShadowLane(), and myLane.
Referenced by MSLaneChanger::findCandidate(), MSLane::getFirstVehicleInformation(), MSLane::getFollowersOnConsecutive(), MSLink::getLeaderInfo(), MSLane::getLeadersOnConsecutive(), MSLane::getPartialBehind(), MSLane::getPartialBeyond(), and getSpaceTillLastStanding().
whether the given vehicle must be followed at the given junction
Definition at line 6027 of file MSVehicle.cpp.
References DEBUG_COND, MSLink::fromInternalLane(), MSLane::getEdge(), MSEdge::getFromJunction(), MSBaseVehicle::getID(), Named::getID(), MSLane::getIncomingLanes(), MSLink::getIndex(), MSLink::getInternalLaneBefore(), MSLink::getJunction(), getLane(), MSJunction::getLogic(), MSEdge::getNormalBefore(), MSJunctionLogic::getResponseFor(), getSpeed(), MSEdge::getToJunction(), MSLink::getViaLaneOrLane(), MSLane::isInternal(), myJunctionConflictEntryTime, myJunctionEntryTime, myJunctionEntryTimeNeverYield, myLane, and SIMTIME.
Referenced by checkLinkLeader(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), and GUIVehicle::selectBlockingFoes().
|
inlinevirtual |
Returns the information whether the vehicle is on a road (is simulated)
Reimplemented from MSBaseVehicle.
Definition at line 582 of file MSVehicle.h.
References myAmOnNet.
Referenced by libsumo::Helper::applySubscriptionFilters(), GUIApplicationWindow::checkGamingEvents(), GUIApplicationWindow::checkGamingEventsDRT(), MSDevice_SSM::findSurroundingVehicles(), libsumo::Vehicle::getAllowedSpeed(), libsumo::Vehicle::getBestLanes(), libsumo::Vehicle::getDistance(), getDistanceToPosition(), libsumo::Vehicle::getDrivingDistance(), libsumo::Vehicle::getDrivingDistance2D(), libsumo::Vehicle::getLaneChangeState(), libsumo::Vehicle::getLaneID(), libsumo::Vehicle::getLaneIndex(), libsumo::Vehicle::getLanePosition(), libsumo::Vehicle::getLateralLanePosition(), libsumo::Vehicle::getLeader(), libsumo::Vehicle::getNextTLS(), MSVTKExport::getPositions(), libsumo::Vehicle::getSlope(), MSVTKExport::getSpeed(), libsumo::Vehicle::moveTo(), libsumo::Vehicle::moveToXY(), MSVehicle::Influencer::postProcessRemoteControl(), processNextStop(), MSBatteryExport::write(), and MSQueueExport::writeLane().
|
virtual |
Returns whether the vehicle is parking.
Implements SUMOVehicle.
Definition at line 1780 of file MSVehicle.cpp.
References isStopped(), and myStops.
Referenced by MSVehicleTransfer::add(), computeAngle(), MSLane::executeMovements(), getCurrentParkingArea(), getPosition(), and GUIVehicle::getStopInfo().
|
virtual |
Returns the information whether the vehicle is fully controlled via TraCI.
Reimplemented from MSBaseVehicle.
Definition at line 5943 of file MSVehicle.cpp.
References MSVehicle::Influencer::isRemoteControlled(), and myInfluencer.
Referenced by hasArrived(), processLinkApproaches(), MSLaneChanger::startChange(), and MSLaneChangerSublane::startChangeSublane().
|
inlinevirtualinherited |
whether this vehicle is selected in the GUI
Implements SUMOVehicle.
Reimplemented in GUIVehicle.
Definition at line 479 of file MSBaseVehicle.h.
Referenced by MSCFModel_Wiedemann::_v(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), and MSCFModel_IDM::followSpeed().
|
virtual |
Returns whether the vehicle is at a stop.
Implements SUMOTrafficObject.
Definition at line 1737 of file MSVehicle.cpp.
References myStops.
Referenced by MSLaneChanger::changeOpposite(), GUIApplicationWindow::checkGamingEvents(), GUIApplicationWindow::checkGamingEventsDRT(), checkLinkLeader(), checkRewindLinkLanes(), MSLane::executeMovements(), MSLink::getLeaderInfo(), GUIVehicle::getStopInfo(), libsumo::Vehicle::getStopState(), MSLCM_LC2013::informLeader(), isParking(), isStoppedInRange(), isStoppedOnLane(), isStoppedTriggered(), keepStopping(), remainingStopDuration(), resumeFromStopping(), setBrakingSignals(), updateTimeLoss(), updateWaitingTime(), and willStop().
|
virtual |
return whether the given position is within range of the current stop
Implements SUMOVehicle.
Definition at line 1793 of file MSVehicle.cpp.
References SUMOVehicleParameter::Stop::endPos, isStopped(), MIN_STOP_LENGTH, myStops, MSVehicle::Stop::pars, and SUMOVehicleParameter::Stop::startPos.
bool MSVehicle::isStoppedOnLane | ( | ) | const |
Definition at line 1748 of file MSVehicle.cpp.
References isStopped(), myLane, and myStops.
Referenced by MSLaneChanger::change(), and MSLaneChangerSublane::change().
|
virtual |
Returns whether the vehicle is on a triggered stop.
Implements SUMOVehicle.
Definition at line 1787 of file MSVehicle.cpp.
References isStopped(), and myStops.
Referenced by keepStopping().
|
inlinevirtualinherited |
Get the vehicle's ID.
Implements SUMOTrafficObject.
Definition at line 78 of file MSBaseVehicle.h.
|
protected |
decide whether the given link must be kept clear
Definition at line 5955 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().
bool MSVehicle::keepStopping | ( | bool | afterProcessing = false | ) | const |
Returns whether the vehicle is stopped and must continue to do so.
Definition at line 1753 of file MSVehicle.cpp.
References DELTA_T, isStopped(), isStoppedTriggered(), MSVehicle::State::myPos, myState, and myStops.
Referenced by MSVehicleTransfer::checkInsertions(), planMoveInternal(), and processNextStop().
double MSVehicle::lateralDistanceToLane | ( | const int | offset | ) | const |
Get the minimal lateral distance required to move fully onto the lane at given offset.
Definition at line 5443 of file MSVehicle.cpp.
References DEBUG_COND, MSBaseVehicle::getID(), getLateralPositionOnLane(), MSLane::getParallelLane(), MSBaseVehicle::getWidth(), MSLane::getWidth(), myLane, NUMERICAL_EPS, and SIMTIME.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), and MSAbstractLaneChangeModel::checkTraCICommands().
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 4627 of file MSVehicle.cpp.
References DEBUG_COND, MSLane::getEdge(), MSBaseVehicle::getID(), MSNet::getInstance(), getLane(), MSLane::getLength(), myAmOnNet, MSBaseVehicle::myCurrEdge, myFurtherLanes, myFurtherLanesPosLat, myLane, MSBaseVehicle::myMoveReminders, MSBaseVehicle::myOdometer, 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(), onRemovalFromNet(), MSAbstractLaneChangeModel::primaryLaneChanged(), processLaneAdvances(), and MSLane::removeVehicle().
|
virtual |
Loads the state of this vehicle from the given description.
Implements SUMOVehicle.
Definition at line 6141 of file MSVehicle.cpp.
References SUMOSAXAttributes::getFloat(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::hasAttribute(), MSBaseVehicle::hasDeparted(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myDepartPos, MSBaseVehicle::myDeparture, myLastActionTime, 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.
bool MSVehicle::manoeuvreIsComplete | ( | ) | const |
accessor function to myManoeuvre equivalent
Definition at line 6396 of file MSVehicle.cpp.
References MSVehicle::Manoeuvre::manoeuvreIsComplete(), and myManoeuvre.
Referenced by planMove(), and planMoveInternal().
|
static |
get a numerical value for the priority of the upcoming link
Definition at line 5020 of file MSVehicle.cpp.
References MSLinkContHelper::getConnectingLink(), and MSLink::havePriority().
Referenced by updateBestLanes().
|
inline |
return the distance to the next stop or doubleMax if there is none.
Definition at line 1052 of file MSVehicle.h.
References myStopDist.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), and 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 371 of file MSBaseVehicle.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), SUMOTrafficObject::getPositionOnLane(), MSNet::getVehicleControl(), MSBaseVehicle::myDepartPos, MSBaseVehicle::myDeparture, and MSVehicleControl::vehicleDeparted().
Referenced by enterLaneAtInsertion(), MSVehicle::Influencer::postProcessRemoteControl(), and MESegment::receive().
bool MSVehicle::onFurtherEdge | ( | const MSEdge * | edge | ) | const |
whether this vehicle has its back (and no its front) on the given edge
Definition at line 5616 of file MSVehicle.cpp.
References myFurtherLanes.
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 1060 of file MSVehicle.cpp.
References DEBUG_COND, MSBaseVehicle::getID(), MSVehicleTransfer::getInstance(), leaveLane(), myLFLinkLanes, MSVehicleTransfer::remove(), removeApproachingInformation(), SIMTIME, and toString().
Referenced by MSVehicleTransfer::add(), MSLane::detectCollisions(), MSLane::executeMovements(), libsumo::Vehicle::moveTo(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdRemoveObject(), MSVehicle::Influencer::postProcessRemoteControl(), libsumo::Vehicle::remove(), and MSCalibrator::removePending().
Returns true if the two vehicles overlap.
Definition at line 708 of file MSVehicle.h.
References MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myPos, and myState.
bool MSVehicle::passingMinor | ( | ) | const |
decide whether the vehicle is passing a minor link or has comitted to do so
Definition at line 6011 of file MSVehicle.cpp.
References MSLane::getEdge(), MSLink::getFoeVisibilityDistance(), MSLane::getIncomingLanes(), MSLink::havePriority(), MSEdge::isInternal(), myLane, and myLFLinkLanes.
Referenced by MSCFModel_Krauss::patchSpeedBeforeLC().
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 2146 of file MSVehicle.cpp.
References checkActionStep(), checkRewindLinkLanes(), DEBUG_COND, MSDevice_DriverState::getDriverState(), MSBaseVehicle::getID(), Named::getID(), getLaneChangeModel(), getLateralPositionOnLane(), getManoeuvreType(), getPositionOnLane(), getSpeed(), MSGlobals::gModelParkingManoeuver, gPrecision, hasDriverState(), MANOEUVRE_EXIT, MANOEUVRE_NONE, manoeuvreIsComplete(), myDriverState, myLane, myLFLinkLanes, myLFLinkLanesPrev, myNextDriveItem, myNextTurn, myStopDist, planMoveInternal(), removePassedDriveItems(), MSAbstractLaneChangeModel::resetChanged(), setActionStepLength(), setManoeuvreType(), SIMTIME, STEPS2TIME, and MSDevice_DriverState::update().
|
protected |
Definition at line 2213 of file MSVehicle.cpp.
References MSVehicle::DriveProcessItem::adaptLeaveSpeed(), adaptToLeaders(), MSLeaderInfo::addLeader(), ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, MSCFModel::brakeGap(), canReverse(), checkLinkLeaderCurrentAndParallel(), MSLeaderInfo::clear(), MSVehicle::Influencer::considerSafeVelocity(), CRLL_LOOK_AHEAD, DEBUG_COND, DELTA_T, DIST_TO_STOPLINE_EXPECT_PRIORITY, MSRoute::end(), SUMOVehicleParameter::Stop::endPos, estimateLeaveSpeed(), MSCFModel::estimateSpeedAfterDistance(), MSCFModel::freeSpeed(), MSVehicle::Influencer::gapControlSpeed(), getBestLanesContinuation(), getCarFollowModel(), MSAbstractLaneChangeModel::getCommittedSpeed(), MSLane::getEdge(), MSVehicle::Stop::getEndPos(), MSBaseVehicle::getID(), Named::getID(), MSLane::getIncomingLanes(), MSNet::getInstance(), getLane(), getLaneChangeModel(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), getLateralOverlap(), MSLane::getLength(), MSVehicleType::getLength(), MSLane::getLinkCont(), MSCFModel::getMaxAccel(), MSCFModel::getMaxDecel(), MSCFModel::getMinimalArrivalSpeed(), MSCFModel::getMinimalArrivalSpeedEuler(), MSCFModel::getMinimalArrivalTime(), MSPModel::getModel(), MSLane::getOpposite(), MSLane::getOppositeLeader(), MSBaseVehicle::getParameter(), MSEdge::getPersons(), getPositionOnLane(), MSLane::getRightSideOnEdge(), getRightSideOnLane(), MSBaseVehicle::getRNG(), MSAbstractLaneChangeModel::getShadowLane(), getSpeed(), MSLane::getStopOffset(), MSLane::getVehicleMaxSpeed(), MSLane::getVehicleNumber(), MSLane::getVehicleNumberWithPartials(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::getWidth(), MSEdge::getWidth(), MSGlobals::gLateralResolution, MSGlobals::gModelParkingManoeuver, MSGlobals::gSemiImplicitEulerUpdate, MSPModel::hasPedestrians(), ignoreRed(), MSVehicle::Influencer::influenceSpeed(), MSEdge::isFringe(), MSEdge::isInternal(), MSLane::isInternal(), MSLane::isLinkEnd(), MSAbstractLaneChangeModel::isOpposite(), isRailway(), keepStopping(), LINKDIR_LEFT, LINKDIR_NODIR, LINKDIR_RIGHT, LINKDIR_STRAIGHT, LINKSTATE_EQUAL, manoeuvreIsComplete(), MAX2(), MSCFModel::maximumSafeStopSpeed(), MSCFModel::maxNextSpeed(), MIN2(), MSCFModel::minNextSpeed(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, myFurtherLanes, myInfluencer, myLane, myNextTurn, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myStopDist, myStops, MSVehicle::DriveProcessItem::myVLinkWait, myWaitingTime, MSPModel::nextBlocking(), NUMERICAL_EPS, NUMERICAL_EPS_SPEED, MSVehicle::Stop::parkingarea, MSVehicle::Stop::pars, POSITION_EPS, RandHelper::rand(), MSVehicle::Stop::reached, SIMTIME, SUMOVehicleParameter::Stop::speed, SPEED2DIST, SUMOVehicleParameter::Stop::startPos, STEPS2TIME, MSCFModel::stopSpeed(), MSLane::succLinkSec(), SUMO_ATTR_JM_DRIVE_RED_SPEED, TIME2STEPS, and toString().
Referenced by planMove().
|
protected |
This method checks if the vehicle has advanced over one or several lanes along its route and triggers the corresponding actions for the lanes and the vehicle. and adapts the given in/out parameters to the appropriate values.
[out] | passedLanes | Lanes, which the vehicle touched at some moment of the executed simstep |
[out] | moved | Whether the vehicle did move to another lane |
[out] | emergencyReason | Reason for a possible emergency stop |
Definition at line 3595 of file MSVehicle.cpp.
References canReverse(), MSEdgeControl::checkCollisionForInactive(), DEBUG_COND, MSRoute::end(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), enterLaneAtMove(), MSLinkContHelper::getConnectingLink(), MSNet::getCurrentTimeStep(), MSLink::getDirection(), MSLane::getEdge(), MSNet::getEdgeControl(), MSVehicle::Influencer::getEmergencyBrakeRedLight(), MSBaseVehicle::getID(), Named::getID(), MSNet::getInstance(), MSLink::getLaneBefore(), getLaneChangeModel(), MSLane::getLength(), MSVehicleType::getLength(), MSLane::getLinkCont(), MSLane::getStopOffset(), MSLink::getViaLane(), MSLink::getViaLaneOrLane(), MSGlobals::gUsingInternalLanes, hasArrived(), MSLink::haveRed(), ignoreRed(), MSLink::isConflictEntryLink(), MSLink::isEntryLink(), MSLink::isExitLink(), MSEdge::isVaporizing(), leaveLane(), LINKDIR_LEFT, LINKDIR_RIGHT, MSLane::mustCheckJunctionCollisions(), MSBaseVehicle::myCurrEdge, myFurtherLanes, myInfluencer, myJunctionConflictEntryTime, myJunctionEntryTime, myJunctionEntryTimeNeverYield, myLane, myLFLinkLanes, myNextDriveItem, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myType, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_VAPORIZED, NUMERICAL_EPS, SUMOTime_MAX, time2string(), and WRITE_WARNING.
Referenced by executeMove().
|
protected |
This method iterates through the driveprocess items for the vehicle and adapts the given in/out parameters to the appropriate values.
[in/out] | vSafe The maximal safe (or admissible) velocity. |
[in/out] | vSafeMin The minimal safe (or admissible) velocity (used her for ensuring the clearing of junctions in time). |
[in/out] | vSafeMinDist The distance to the next link, which should either be crossed this step, or in front of which the vehicle need to stop. |
Definition at line 3013 of file MSVehicle.cpp.
References ACCEL2SPEED, MSCFModel::brakeGap(), DEBUG_COND, DIST2SPEED, gDebugFlag1, getCarFollowModel(), MSLane::getEdge(), MSLink::getFoeVisibilityDistance(), MSBaseVehicle::getID(), Named::getID(), MSBaseVehicle::getImpatience(), MSLink::getInternalLaneBefore(), MSLink::getJunction(), MSLink::getLaneBefore(), getLaneChangeModel(), getLateralPositionOnLane(), MSVehicleType::getLength(), MSCFModel::getMaxDecel(), MSLink::getParallelLink(), MSVehicle::Influencer::getRespectJunctionPriority(), MSAbstractLaneChangeModel::getShadowDirection(), MSAbstractLaneChangeModel::getShadowLane(), getSpeed(), MSLink::getState(), MSLane::getStopOffset(), MSEdge::getToJunction(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), getWaitingTime(), MSLane::getWidth(), MSLink::getZipperSpeed(), MSGlobals::gSemiImplicitEulerUpdate, MSLink::havePriority(), MSLink::haveYellow(), ignoreRed(), MSLink::isCont(), MSLane::isInternal(), isRemoteControlled(), MSEdge::isRoundabout(), MSLink::lastWasContMajor(), LINKSTATE_ZIPPER, MIN2(), myHaveToWaitOnNextLink, myInfluencer, myJunctionConflictEntryTime, myJunctionEntryTime, myLane, myLFLinkLanes, MSVehicle::State::mySpeed, myState, NUMERICAL_EPS, MSLink::opened(), POSITION_EPS, SIMTIME, SUMO_const_haltingSpeed, and SUMOTime_MAX.
Referenced by executeMove().
double MSVehicle::processNextStop | ( | double | currentVelocity | ) |
Processes stops, returns the velocity needed to reach the stop.
Definition at line 1806 of file MSVehicle.cpp.
References activateReminders(), MSStopOut::active(), MSBaseVehicle::addReminder(), MSEdge::addWaiting(), MSTransportableControl::boardAnyWaiting(), MSVehicle::Stop::busstop, MSVehicle::Stop::containerstop, MSVehicle::Stop::containerTriggered, DEBUG_COND, MSVehicle::Stop::duration, MSVehicle::Stop::edge, MSVehicle::Stop::endBoarding, MSParkingArea::enter(), MSStoppingPlace::enter(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), SUMOVehicleParameter::Stop::extension, MSStoppingPlace::fits(), getActionStepLength(), MSStoppingPlace::getBeginLanePosition(), MSParkingArea::getCapacity(), getCarFollowModel(), MSNet::getContainerControl(), MSBaseVehicle::getContainerNumber(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSVehicle::Stop::getEndPos(), MSBaseVehicle::getID(), Named::getID(), MSNet::getInstance(), MSStopOut::getInstance(), MSVehicleType::getLength(), MSCFModel::getMaxDecel(), MSLane::getMoveReminders(), MSParkingArea::getOccupancy(), MSParkingArea::getOccupancyIncludingBlocked(), MSBaseVehicle::getParameter(), MSNet::getPersonControl(), MSBaseVehicle::getPersonNumber(), getSpeed(), MSDevice_Transportable::getTransportables(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSGlobals::gModelParkingManoeuver, MSGlobals::gSemiImplicitEulerUpdate, MSNet::hasContainers(), MSNet::hasPersons(), MSNet::informVehicleStateListener(), isOnRoad(), keepStopping(), MSVehicle::Stop::lane, SUMOVehicleParameter::Stop::line, MSTransportableControl::loadAnyWaiting(), MAX2(), myAmRegisteredAsWaitingForContainer, myAmRegisteredAsWaitingForPerson, MSBaseVehicle::myContainerDevice, MSBaseVehicle::myCurrEdge, myLane, myLFLinkLanes, myManoeuvre, MSBaseVehicle::myPersonDevice, MSVehicle::State::myPos, myState, myStops, MSBaseVehicle::myType, MSMoveReminder::NOTIFICATION_PARKING_REROUTE, NUMERICAL_EPS, MSVehicle::Stop::numExpectedContainer, MSVehicle::Stop::numExpectedPerson, MSVehicle::Stop::parkingarea, MSVehicle::Stop::pars, MSVehicle::State::pos(), MSVehicle::Stop::reached, MSVehicleControl::registerOneWaiting(), MSStoppingPlace::removeTransportable(), resumeFromStopping(), SIMTIME, SUMOVehicleParameter::Stop::speed, SUMOVehicleParameter::Stop::startPos, STEPS2TIME, STOPPING_PLACE_OFFSET, MSStopOut::stopStarted(), SUMO_const_haltingSpeed, SUMOTime_MAX, MSVehicle::Stop::timeToBoardNextPerson, MSVehicle::Stop::timeToLoadNextContainer, MSVehicle::Stop::triggered, SUMOVehicleParameter::Stop::tripId, MSVehicleControl::unregisterOneWaiting(), SUMOVehicleParameter::Stop::until, MSNet::VEHICLE_STATE_STARTING_STOP, and WRITE_WARNING.
Referenced by MSVehicleTransfer::checkInsertions(), MSCFModel::finalizeSpeed(), MSCFModel_CC::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSLane::loadState(), and MSVehicleTransfer::loadState().
|
protected |
Check for speed advices from the traci client and adjust the speed vNext in the current (euler) / after the current (ballistic) simstep accordingly.
[in] | vSafe | The maximal safe (or admissible) velocity as determined from stops, junction approaches, car following, lane changing, etc. |
[in] | vNext | The next speed (possibly subject to traci influence) |
Definition at line 3262 of file MSVehicle.cpp.
References DEBUG_COND2, MSVehicleType::getCarFollowModel(), MSBaseVehicle::getID(), MSNet::getInstance(), MSBaseVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MSVehicle::Influencer::implicitSpeedRemote(), MSVehicle::Influencer::influenceSpeed(), MSVehicle::Influencer::isRemoteControlled(), MAX2(), MSCFModel::maxNextSpeed(), MSCFModel::minNextSpeed(), myInfluencer, MSVehicle::State::mySpeed, myState, and SIMTIME.
Referenced by executeMove(), and MSVehicle::Influencer::postProcessRemoteControl().
|
virtual |
Returns the remaining stop duration for a stopped vehicle or 0.
Implements SUMOVehicle.
Definition at line 1765 of file MSVehicle.cpp.
References isStopped(), and myStops.
Referenced by MSVehicle::Manoeuvre::configureExitManoeuvre().
|
protected |
unregister approach from all upcoming links
Definition at line 5499 of file MSVehicle.cpp.
References getLaneChangeModel(), and MSAbstractLaneChangeModel::removeShadowApproachingInformation().
Referenced by onRemovalFromNet(), setApproachingForAllLinks(), and ~MSVehicle().
|
protected |
Erase passed drive items from myLFLinkLanes (and unregister approaching information for corresponding links). Further, myNextDriveItem is reset.
Definition at line 3290 of file MSVehicle.cpp.
References DEBUG_COND, MSBaseVehicle::getID(), Named::getID(), myLFLinkLanes, myNextDriveItem, and SIMTIME.
Referenced by planMove().
|
inherited |
Removes a MoveReminder dynamically.
[in] | rem | the reminder to remove |
Definition at line 474 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
|
virtualinherited |
removes a person or container
Implements SUMOVehicle.
Definition at line 640 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myContainerDevice, MSBaseVehicle::myPersonDevice, and MSDevice_Transportable::removeTransportable().
|
virtualinherited |
replace the vehicle parameter (deleting the old one)
Implements SUMOVehicle.
Definition at line 159 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myParameter.
Referenced by rerouteParkingArea().
|
virtual |
replace the current parking area stop with a new stop with merge duration
Implements SUMOVehicle.
Definition at line 1676 of file MSVehicle.cpp.
References SUMOVehicleParameter::Stop::duration, MSVehicle::Stop::edge, MSRoute::end(), SUMOVehicleParameter::Stop::endPos, MSStoppingPlace::getBeginLanePosition(), MSStoppingPlace::getEndLanePosition(), Named::getID(), MSStoppingPlace::getLane(), MSVehicle::Stop::lane, SUMOVehicleParameter::Stop::lane, MSBaseVehicle::myRoute, myStops, MSVehicle::Stop::parkingarea, SUMOVehicleParameter::Stop::parkingarea, MSVehicle::Stop::pars, and SUMOVehicleParameter::Stop::startPos.
Referenced by rerouteParkingArea().
|
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 |
[in] | info | Information regarding the replacement |
[in] | removeStops | Whether stops should be removed if they do not fit onto the new route |
Implements SUMOVehicle.
Definition at line 1083 of file MSVehicle.cpp.
References MSRoute::addReference(), addStop(), MSBaseVehicle::addStops(), MSRoute::begin(), MSBaseVehicle::calculateArrivalParams(), MSRoute::contains(), DEBUG_COND, MSGlobals::gCheckRoutes, MSLane::getEdge(), MSRoute::getEdges(), Named::getID(), MSNet::getInstance(), MSLane::getOutgoingViaLanes(), getPositionOnLane(), MSRoute::getStops(), haveValidStopEdges(), MSNet::informVehicleStateListener(), MSEdge::isInternal(), MSLane::isInternal(), MSBaseVehicle::myCurrEdge, myLane, myLastBestLanesEdge, myLastBestLanesInternalLane, MSBaseVehicle::myNumberReroutes, MSBaseVehicle::myRoute, myStops, MSRoute::release(), updateBestLanes(), MSNet::VEHICLE_STATE_NEWROUTE, and WRITE_WARNING.
Referenced by libsumo::Vehicle::setRouteID().
|
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] | removeStops | Whether stops should be removed if they do not fit onto the new route |
Implements SUMOVehicle.
Definition at line 303 of file MSBaseVehicle.cpp.
References MSRoute::addReference(), MSRoute::begin(), RGBColor::DEFAULT_COLOR, MSRoute::dictionary(), StringUtils::endsWith(), MSGlobals::gCheckRoutes, MSRoute::getColor(), MSRoute::getEdges(), MSBaseVehicle::getID(), Named::getID(), MSBaseVehicle::getNumberReroutes(), MSBaseVehicle::getRerouteOrigin(), MSBaseVehicle::hasValidRoute(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, MSRoute::release(), SUMOVehicle::replaceRoute(), MSRoute::setCosts(), MSRoute::setSavings(), MSRoute::size(), SUMO_TAG_PARKING_ZONE_REROUTE, toString(), and WRITE_WARNING.
Referenced by libsumo::Vehicle::changeTarget(), MSVehicle::Influencer::postProcessRemoteControl(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), rerouteParkingArea(), and libsumo::Vehicle::setRoute().
|
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 726 of file MSBaseVehicle.cpp.
References MSNet::getInstance(), MSNet::getVehicleControl(), MSVehicleType::isVehicleSpecific(), MSBaseVehicle::myType, and MSVehicleControl::removeVType().
Referenced by MSBaseVehicle::getSingularType(), libsumo::Vehicle::setType(), and MSDevice_ToC::switchHolderType().
|
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 187 of file MSBaseVehicle.cpp.
References MSEdge::allowedLanes(), MSBaseVehicle::calculateArrivalParams(), SUMOAbstractRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::computeLooped(), DEBUG_COND, MSInsertionControl::descheduleDeparture(), MSEdge::dictionary(), MSRoute::end(), SUMOVehicleParameter::fromTaz, MSGlobals::gCheckRoutes, MSRoute::getEdges(), MSBaseVehicle::getID(), Named::getID(), MSNet::getInsertionControl(), MSNet::getInstance(), SUMOVehicle::getLane(), MSRoute::getLastEdge(), SUMOTrafficObject::getPositionOnLane(), MSBaseVehicle::getRerouteOrigin(), MSBaseVehicle::getStopEdges(), MSBaseVehicle::getVClass(), MSEdge::isTazConnector(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, SUMOAbstractRouter< E, V >::recomputeCosts(), MSBaseVehicle::replaceRouteEdges(), SIMTIME, toString(), SUMOVehicleParameter::toTaz, SUMOVehicleParameter::via, and WRITE_WARNING.
Referenced by libsumo::Vehicle::changeTarget(), GUIVehicle::rerouteDRTStop(), libsumo::Vehicle::rerouteEffort(), and libsumo::Vehicle::rerouteTraveltime().
bool MSVehicle::rerouteParkingArea | ( | const std::string & | parkingAreaID, |
std::string & | errorMsg | ||
) |
reroute the vehicle to the new parking area, updating routes and passengers/containers associated trips
parkingAreaID | id of the new parking area |
Definition at line 5626 of file MSVehicle.cpp.
References ARRIVAL_POS_GIVEN, SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, SUMOAbstractRouter< E, V >::compute(), MSRoute::end(), MSBaseVehicle::getArrivalPos(), MSStoppingPlace::getBeginLanePosition(), MSBaseVehicle::getEdge(), MSLane::getEdge(), MSStoppingPlace::getEndLanePosition(), MSBaseVehicle::getID(), Named::getID(), getInfluencer(), MSNet::getInstance(), MSStoppingPlace::getLane(), MSRoute::getLastEdge(), getNextParkingArea(), MSBaseVehicle::getParameter(), MSBaseVehicle::getPersons(), MSBaseVehicle::getRNGIndex(), MSBaseVehicle::getRoute(), MSVehicle::Influencer::getRouterTT(), MSNet::getStoppingPlace(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, SUMOAbstractRouter< E, V >::recomputeCosts(), MSBaseVehicle::replaceParameter(), replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), SUMO_TAG_PARKING_AREA, SUMO_TAG_PARKING_ZONE_REROUTE, time2string(), toString(), and WRITE_WARNING.
Referenced by libsumo::Vehicle::rerouteParkingArea().
void MSVehicle::resetActionOffset | ( | const SUMOTime | timeUntilNextAction = 0 | ) |
Resets the action offset for the vehicle.
[in] | timeUntilNextAction | time interval from now for the next action, defaults to 0, which implies an immediate action point in the current step. |
Definition at line 2121 of file MSVehicle.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), and myLastActionTime.
Referenced by MSVehicleType::setActionStepLength(), setActionStepLength(), and updateActionOffset().
|
inherited |
reset index of edge within route
Definition at line 397 of file MSBaseVehicle.cpp.
References MSRoute::begin(), MSRoute::end(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, and MSBaseVehicle::myRoute.
Referenced by MSCalibrator::execute(), and libsumo::Vehicle::moveTo().
bool MSVehicle::resumeFromStopping | ( | ) |
resumes a vehicle from stopping
Definition at line 5839 of file MSVehicle.cpp.
References MSStopOut::active(), MSLane::COLLISION_ACTION_WARN, MSLane::getCollisionAction(), MSBaseVehicle::getDevice(), MSLane::getEdge(), MSNet::getInstance(), MSStopOut::getInstance(), MSNet::getVehicleControl(), MSNet::informVehicleStateListener(), isStopped(), myAmRegisteredAsWaitingForContainer, myAmRegisteredAsWaitingForPerson, myCollisionImmunity, myLane, myStops, myWaitingTime, MSEdge::removeWaiting(), MSStopOut::stopEnded(), MSDevice_Vehroutes::stopEnded(), TIME2STEPS, MSVehicleControl::unregisterOneWaiting(), updateBestLanes(), and MSNet::VEHICLE_STATE_ENDING_STOP.
Referenced by MSLane::executeMovements(), leaveLane(), processNextStop(), and libsumo::Vehicle::resume().
|
virtual |
Saves the states of a vehicle.
Reimplemented from MSBaseVehicle.
Definition at line 6116 of file MSVehicle.cpp.
References MSRoute::begin(), OutputDevice::closeTag(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myDepartPos, MSBaseVehicle::myDeparture, MSBaseVehicle::myDevices, myLastActionTime, 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().
void MSVehicle::setActionStepLength | ( | double | actionStepLength, |
bool | resetActionOffset = true |
||
) |
Sets the action steplength of the vehicle.
actionStepLength | New value |
resetActionOffset | whether the action offset should be reset to zero, i.e., the next action step should follow immediately. |
Definition at line 1422 of file MSVehicle.cpp.
References getActionStepLength(), MSBaseVehicle::getSingularType(), SUMOVehicleParserHelper::processActionStepLength(), resetActionOffset(), MSVehicleType::setActionStepLength(), and updateActionOffset().
Referenced by planMove().
void MSVehicle::setAngle | ( | double | angle, |
bool | straightenFurther = false |
||
) |
Set a custom vehicle angle in rad, optionally updates furtherLanePosLat.
Definition at line 1399 of file MSVehicle.cpp.
References DEBUG_COND, MSBaseVehicle::getID(), getLateralPositionOnLane(), MSLane::getLinkTo(), myAngle, myFurtherLanes, myFurtherLanesPosLat, myLane, and SIMTIME.
Referenced by MSVehicle::Influencer::postProcessRemoteControl(), and MSLaneChangerSublane::startChangeSublane().
void MSVehicle::setApproachingForAllLinks | ( | const SUMOTime | t | ) |
Register junction approaches for all link items in the current plan.
Definition at line 4383 of file MSVehicle.cpp.
References checkActionStep(), DEBUG_COND, MSBaseVehicle::getID(), getLaneChangeModel(), MSLink::getParallelLink(), MSBaseVehicle::getRNG(), MSAbstractLaneChangeModel::getShadowDirection(), MSAbstractLaneChangeModel::getShadowLane(), getWaitingTime(), LINKSTATE_ALLWAY_STOP, myLFLinkLanes, myLFLinkLanesPrev, RandHelper::rand(), removeApproachingInformation(), MSLink::setApproaching(), MSAbstractLaneChangeModel::setShadowApproachingInformation(), and SIMTIME.
|
inlinevirtualinherited |
Sets this vehicle's desired arrivalPos for its current route.
Implements SUMOVehicle.
Definition at line 288 of file MSBaseVehicle.h.
References MSBaseVehicle::myArrivalPos.
|
protected |
sets the blue flashing light for emergency vehicles
Definition at line 5236 of file MSVehicle.cpp.
References getBestLanesContinuation(), getCarFollowModel(), MSNet::getInstance(), getLane(), getLaneChangeModel(), MSLane::getLength(), MSLane::getLinkCont(), MSAbstractLaneChangeModel::getOwnState(), getPositionOnLane(), MSVehicle::Influencer::getSignals(), MSLane::getVehicleMaxSpeed(), LCA_BLOCKED, LCA_KEEPRIGHT, LCA_LEFT, LCA_RIGHT, LCA_SUBLANE, MSNet::lefthand(), LINKDIR_LEFT, LINKDIR_PARTLEFT, LINKDIR_PARTRIGHT, LINKDIR_RIGHT, LINKDIR_TURN, myInfluencer, myLane, mySignals, myStopDist, myStops, MSVehicle::Influencer::setSignals(), MSLane::succLinkSec(), switchOffSignal(), switchOnSignal(), VEH_SIGNAL_BLINKER_LEFT, and VEH_SIGNAL_BLINKER_RIGHT.
Referenced by executeMove().
|
protected |
sets the braking lights on/off
Definition at line 3498 of file MSVehicle.cpp.
References ACCEL2SPEED, getSpeed(), isStopped(), SUMO_const_haltingSpeed, switchOffSignal(), switchOnSignal(), and VEH_SIGNAL_BRAKELIGHT.
Referenced by executeMove(), and MSVehicle::Influencer::postProcessRemoteControl().
|
inlinevirtualinherited |
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Implements SUMOVehicle.
Definition at line 433 of file MSBaseVehicle.h.
References MSBaseVehicle::myChosenSpeedFactor.
Referenced by MSCFModel_CC::finalizeSpeed(), and GUISUMOViewParent::onCmdSpeedFactor().
|
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 714 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
Referenced by libsumo::Vehicle::setParameter().
|
protected |
sets the blue flashing light for emergency vehicles
Definition at line 5290 of file MSVehicle.cpp.
References signalSet(), switchOffSignal(), switchOnSignal(), and VEH_SIGNAL_EMERGENCY_BLUE.
Referenced by executeMove().
bool MSVehicle::setExitManoeuvre | ( | ) |
accessor function to myManoeuvre equivalent
Definition at line 6225 of file MSVehicle.cpp.
References MSVehicle::Manoeuvre::configureExitManoeuvre(), and myManoeuvre.
Referenced by MSVehicleTransfer::checkInsertions().
|
inline |
Definition at line 433 of file MSVehicle.h.
References MSVehicle::State::myPosLat, and myState.
Referenced by MSLCM_LC2013::prepareStep().
void MSVehicle::setManoeuvreType | ( | const MSVehicle::ManoeuvreType | mType | ) |
accessor function to myManoeuvre equivalent
Definition at line 6280 of file MSVehicle.cpp.
References myManoeuvre, and MSVehicle::Manoeuvre::setManoeuvreType().
Referenced by planMove().
void MSVehicle::setRemoteState | ( | Position | xyPos | ) |
sets position outside the road network
Definition at line 5937 of file MSVehicle.cpp.
References myCachedPosition.
Referenced by MSVehicle::Influencer::postProcessRemoteControl().
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 5311 of file MSVehicle.cpp.
References MSVehicleType::getLength(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myBackPos, myLane, MSVehicle::State::myPos, MSVehicle::State::myPosLat, and myState.
Referenced by MSLane::freeInsertion(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSVehicleTransfer::loadState(), libsumo::Vehicle::moveTo(), and MSAbstractLaneChangeModel::primaryLaneChanged().
|
inline |
Returns whether the given signal is on.
[in] | signal | The signal to return the value of |
Definition at line 1261 of file MSVehicle.h.
References mySignals.
Referenced by MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), GUIVehicle::drawAction_drawVehicleBlinker(), GUIVehicle::drawAction_drawVehicleBlueLight(), GUIVehicle::drawAction_drawVehicleBrakeLight(), and setEmergencyBlueLight().
|
virtual |
Returns whether the vehicle stops at the given stopping place.
Implements SUMOVehicle.
Definition at line 2067 of file MSVehicle.cpp.
References myStops.
|
virtual |
Returns whether the vehicle stops at the given edge.
Implements SUMOVehicle.
Definition at line 2083 of file MSVehicle.cpp.
References myStops.
|
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 171 of file MSBaseVehicle.cpp.
References MSRoute::begin(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.
Referenced by MSVehicleTransfer::add(), MSLane::appropriate(), MSVehicleTransfer::checkInsertions(), MESegment::getLink(), MSBaseVehicle::hasArrived(), MSPedestrianPushButton::isActiveForEdge(), MELoop::nextSegment(), and MESegment::receive().
|
inline |
Switches the given signal off.
[in] | signal | The signal to mark as being switched off |
Definition at line 1244 of file MSVehicle.h.
References mySignals.
Referenced by MSAbstractLaneChangeModel::endLaneChangeManeuver(), setBlinkerInformation(), setBrakingSignals(), setEmergencyBlueLight(), libsumo::Vehicle::setSignals(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().
|
inline |
Switches the given signal on.
[in] | signal | The signal to mark as being switched on |
Definition at line 1236 of file MSVehicle.h.
References mySignals.
Referenced by MSVehicleTransfer::checkInsertions(), setBlinkerInformation(), setBrakingSignals(), setEmergencyBlueLight(), libsumo::Vehicle::setSignals(), 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 5511 of file MSVehicle.cpp.
References MSCFModel::brakeGap(), getBestLanesContinuation(), getCarFollowModel(), MSLane::getEdge(), MSBaseVehicle::getLength(), MSLane::getLength(), getPositionOnLane(), getSpeed(), MSBaseVehicle::getVehicleType(), MSEdge::isInternal(), MSLane::isLinkEnd(), LINKSTATE_ZIPPER, myLane, myLFLinkLanes, MSLane::succLinkSec(), and MSLink::ZIPPER_ADAPT_DIST.
Referenced by MSLaneChanger::checkChange().
void MSVehicle::updateActionOffset | ( | const SUMOTime | oldActionStepLength, |
const SUMOTime | newActionStepLength | ||
) |
Process an updated action step length value (only affects the vehicle's action offset, The actionStepLength is stored in the (singular) vtype)
[in] | oldActionStepLength | The action step length previous to the update |
[in] | actionStepLength | The new action step length (stored in the vehicle's vtype). |
Definition at line 2127 of file MSVehicle.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), myLastActionTime, and resetActionOffset().
Referenced by MSVehicleType::setActionStepLength(), and setActionStepLength().
void MSVehicle::updateBestLanes | ( | bool | forceRebuild = false , |
const MSLane * | startLane = 0 |
||
) |
computes the best lanes to use in order to continue the route
The information is rebuilt if the vehicle is on a different edge than the one stored in "myLastBestLanesEdge" or "forceRebuild" is true.
Otherwise, only the density changes on the stored lanes are adapted to the container only.
A rebuild must be done if the vehicle leaves a stop; then, another lane may become the best one.
If no starting lane ("startLane") is given, the vehicle's current lane ("myLane") is used as start of best lanes building.
[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 4698 of file MSVehicle.cpp.
References MSEdge::allowedLanes(), MSVehicle::LaneQ::allowsContinuation, MSLane::allowsVehicleClass(), ARRIVAL_LANE_GIVEN, SUMOVehicleParameter::arrivalLaneProcedure, MSVehicle::LaneQ::bestContinuations, MSVehicle::LaneQ::bestLaneOffset, MSVehicle::LaneQ::currentLength, DEBUG_COND, MSVehicle::Stop::edge, MSRoute::end(), getBestLanesContinuation(), MSLane::getEdge(), MSBaseVehicle::getID(), Named::getID(), Named::getIDSecure(), getLaneChangeModel(), MSEdge::getLanes(), MSLane::getLength(), MSLane::getLinkCont(), MSLane::getLogicalPredecessorLane(), MSLane::getNextNormal(), MSLane::getNormalPredecessorLane(), 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, MSVehicle::Stop::pars, POSITION_EPS, SIMTIME, SUMOVehicleParameter::Stop::startPos, toString(), and updateOccupancyAndCurrentBestLane().
Referenced by addTraciStop(), addTraciStopAtStoppingPlace(), MSLaneChanger::change(), MSLaneChangerSublane::change(), enterLaneAtLaneChange(), executeMove(), MSLane::forceVehicleInsertion(), MSEdge::getDepartLane(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLane::loadState(), MSVehicle::Influencer::postProcessRemoteControl(), replaceRoute(), resumeFromStopping(), and libsumo::Vehicle::updateBestLanes().
void MSVehicle::updateDriveItems | ( | ) |
Check whether the drive items (myLFLinkLanes) are up to date, and update them if required.
Definition at line 3344 of file MSVehicle.cpp.
References DEBUG_COND, getBestLanesContinuation(), MSBaseVehicle::getID(), Named::getID(), getLane(), MSLink::getLaneBefore(), MSLane::getLinkTo(), MSLink::getParallelLink(), MSLink::getViaLaneOrLane(), MSLane::isInternal(), myLane, myLFLinkLanes, myNextDriveItem, MSLink::removeApproaching(), MSLink::setApproaching(), and SIMTIME.
Referenced by MSAbstractLaneChangeModel::primaryLaneChanged().
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 3986 of file MSVehicle.cpp.
References DEBUG_COND, MSBaseVehicle::getID(), MSBaseVehicle::getLength(), myFurtherLanes, myFurtherLanesPosLat, MSVehicle::State::myPos, MSVehicle::State::myPosLat, myState, SIMTIME, and toString().
Referenced by executeMove(), and MSAbstractLaneChangeModel::updateShadowLane().
|
protected |
updates LaneQ::nextOccupation and myCurrentLaneInBestLanes
Definition at line 5036 of file MSVehicle.cpp.
References DEBUG_COND, myBestLanes, and myCurrentLaneInBestLanes.
Referenced by 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 3914 of file MSVehicle.cpp.
References DEBUG_COND, MSGlobals::gEmergencyDecelWarningThreshold, getCarFollowModel(), getDeltaPos(), MSBaseVehicle::getID(), MSNet::getInstance(), getLaneChangeModel(), MSCFModel::getMaxDecel(), MSLane::getOpposite(), MSLane::getOppositePos(), MSGlobals::gSemiImplicitEulerUpdate, MSVehicle::Influencer::implicitDeltaPosRemote(), Position::INVALID, MSVehicle::Influencer::isRemoteControlled(), MAX2(), myAcceleration, myCachedPosition, myInfluencer, myLane, MSVehicle::State::myLastCoveredDist, myNextTurn, MSVehicle::State::myPos, MSVehicle::State::myPreviousSpeed, MSVehicle::State::mySpeed, myState, NUMERICAL_EPS, SIMTIME, SPEED2ACCEL, SPEED2DIST, time2string(), toString(), and WRITE_WARNING.
Referenced by executeMove().
|
protected |
Updates the vehicle's time loss.
Definition at line 3529 of file MSVehicle.cpp.
References MSLane::getVehicleMaxSpeed(), isStopped(), myLane, myTimeLoss, and TS.
Referenced by executeMove().
|
protected |
Updates the vehicle's waiting time counters (accumulated and consecutive)
Definition at line 3517 of file MSVehicle.cpp.
References DELTA_T, isStopped(), myWaitingTime, myWaitingTimeCollector, MSVehicle::WaitingTimeCollector::passTime(), and SUMO_const_haltingSpeed.
Referenced by executeMove(), and MSVehicle::Influencer::postProcessRemoteControl().
ensure that a vehicle-relative position is not invalid
Definition at line 1365 of file MSVehicle.cpp.
References MSLane::geometryPositionAtOffset(), getLateralPositionOnLane(), MSLane::getLength(), getPositionOnLane(), Position::INVALID, and myFurtherLanes.
Referenced by getPosition().
Returns the information whether the vehicle is fully controlled via TraCI within the lookBack time.
Reimplemented from MSBaseVehicle.
Definition at line 5949 of file MSVehicle.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSVehicle::Influencer::getLastAccessTimeStep(), and myInfluencer.
bool MSVehicle::willStop | ( | ) | const |
Returns whether the vehicle will stop on the current edge.
Definition at line 1743 of file MSVehicle.cpp.
References MSLane::getEdge(), isStopped(), myLane, and myStops.
Referenced by MSLink::getLeaderInfo().
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 1207 of file MSVehicle.cpp.
References MAX2(), and MSBaseVehicle::myMoveReminders.
Referenced by executeMove().
|
friend |
the lane changer sets myLastLaneChangeOffset
Definition at line 83 of file MSVehicle.h.
|
friend |
Definition at line 84 of file MSVehicle.h.
|
protected |
The current acceleration after dawdling in m/s.
Definition at line 1969 of file MSVehicle.h.
Referenced by executeMove(), getAcceleration(), getCO2Emissions(), getCOEmissions(), getElectricityConsumption(), getFuelConsumption(), getHarmonoise_NoiseEmissions(), getHCEmissions(), getNOxEmissions(), getPMxEmissions(), MSVehicle::Influencer::postProcessRemoteControl(), and updateState().
|
protected |
The flag myActionStep indicates whether the current time step is an action point for the vehicle.
Definition at line 1936 of file MSVehicle.h.
Referenced by checkActionStep(), executeMove(), and isActive().
|
protected |
Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived)
Definition at line 1984 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 1990 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 1987 of file MSVehicle.h.
Referenced by processNextStop(), and resumeFromStopping().
|
protected |
the angle in radians (
Definition at line 1995 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 560 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::calculateArrivalParams(), and updateBestLanes().
|
protectedinherited |
The position on the destination lane where the vehicle stops.
Definition at line 557 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::calculateArrivalParams(), MSBaseVehicle::getArrivalPos(), MSBaseVehicle::getOdometer(), MEVehicle::hasArrived(), hasArrived(), planMoveInternal(), MSBaseVehicle::reroute(), MSBaseVehicle::resetRoutePosition(), MSBaseVehicle::setArrivalPos(), and updateBestLanes().
|
protected |
Definition at line 1956 of file MSVehicle.h.
Referenced by adaptBestLanesOccupation(), GUIVehicle::drawBestLanes(), getBestLaneOffset(), getBestLanes(), getBestLanesContinuation(), updateBestLanes(), and updateOccupancyAndCurrentBestLane().
|
mutableprotected |
Definition at line 2003 of file MSVehicle.h.
Referenced by addStop(), MSLaneChanger::continueChange(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), getPosition(), setRemoteState(), MSLaneChangerSublane::startChangeSublane(), and updateState().
|
private |
The per vehicle variables of the car following model.
Definition at line 2173 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 524 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getChosenSpeedFactor(), MSBaseVehicle::saveState(), and MSBaseVehicle::setChosenSpeedFactor().
|
protected |
amount of time for which the vehicle is immune from collisions
Definition at line 2001 of file MSVehicle.h.
Referenced by collisionStopTime(), executeMove(), and resumeFromStopping().
|
protectedinherited |
The containers this vehicle may have.
Definition at line 548 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::addContainer(), GUIBaseVehicle::drawAction_drawPersonsAndContainers(), MSBaseVehicle::getContainerDevice(), MSBaseVehicle::getContainerNumber(), MSBaseVehicle::getContainers(), processNextStop(), and MSBaseVehicle::removeTransportable().
|
protectedinherited |
Iterator to current route-edge.
Definition at line 521 of file MSBaseVehicle.h.
Referenced by addStop(), canReverse(), GUIVehicle::drawRouteHelper(), GUIMEVehicle::drawRouteHelper(), enterLaneAtMove(), MSBaseVehicle::getCurrentRouteEdge(), getDistanceToPosition(), MSBaseVehicle::getEdge(), MSBaseVehicle::getRerouteOrigin(), getRerouteOrigin(), MSBaseVehicle::getRoutePosition(), MEVehicle::getStopIndices(), MEVehicle::hasArrived(), hasArrived(), MSBaseVehicle::hasValidRoute(), haveValidStopEdges(), leaveLane(), MEVehicle::loadState(), loadState(), MEVehicle::moveRoutePointer(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), processLaneAdvances(), processNextStop(), MEVehicle::replaceRoute(), replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), rerouteParkingArea(), MSBaseVehicle::resetRoutePosition(), MEVehicle::saveState(), saveState(), MSBaseVehicle::succEdge(), and updateBestLanes().
|
protected |
Definition at line 1961 of file MSVehicle.h.
Referenced by updateBestLanes(), and updateOccupancyAndCurrentBestLane().
|
staticprivateinherited |
Definition at line 578 of file MSBaseVehicle.h.
|
protectedinherited |
The real depart position.
Definition at line 554 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getDepartPos(), MSBaseVehicle::getOdometer(), MEVehicle::loadState(), loadState(), MSBaseVehicle::onDepart(), MEVehicle::saveState(), and saveState().
|
protectedinherited |
The real departure time.
Definition at line 551 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 542 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::addContainer(), MSBaseVehicle::addPerson(), MSBaseVehicle::createDevice(), MSBaseVehicle::getDevice(), MSBaseVehicle::getDeviceParameter(), MSBaseVehicle::getDevices(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), GUIBaseVehicle::GUIBaseVehicle(), MSBaseVehicle::hasDevice(), MSBaseVehicle::MSBaseVehicle(), MEVehicle::saveState(), saveState(), MSBaseVehicle::setDeviceParameter(), and MSBaseVehicle::~MSBaseVehicle().
|
protected |
This vehicle's driver state.
Definition at line 1933 of file MSVehicle.h.
Referenced by getDriverState(), hasDriverState(), MSVehicle(), and planMove().
|
mutableprivate |
Definition at line 2170 of file MSVehicle.h.
Referenced by _getWeightsStorage(), and ~MSVehicle().
|
staticprotected |
Definition at line 1963 of file MSVehicle.h.
Referenced by getBestLanesContinuation().
|
staticprotectedinherited |
Definition at line 573 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getContainers(), and MSBaseVehicle::getPersons().
|
protected |
The information into which lanes the vehicle laps into.
Definition at line 1976 of file MSVehicle.h.
Referenced by canReverse(), computeAngle(), enterLaneAtInsertion(), enterLaneAtLaneChange(), executeMove(), getBackLane(), getBackPosition(), getBackPositionOnLane(), getBoundingBox(), getCenterOnEdge(), getFurtherLanes(), getLatOffset(), GUIVehicle::getPreviousLane(), leaveLane(), onFurtherEdge(), planMoveInternal(), processLaneAdvances(), setAngle(), updateFurtherLanes(), validatePosition(), and ~MSVehicle().
|
protected |
lateral positions on further lanes
Definition at line 1978 of file MSVehicle.h.
Referenced by computeAngle(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), getFurtherLanesPosLat(), getLatOffset(), leaveLane(), setAngle(), updateFurtherLanes(), and ~MSVehicle().
|
protected |
Definition at line 1992 of file MSVehicle.h.
Referenced by checkRewindLinkLanes(), and processLinkApproaches().
|
private |
An instance of a velocity/lane influencing instance; built in "getInfluencer".
Definition at line 2176 of file MSVehicle.h.
Referenced by checkRewindLinkLanes(), enterLaneAtMove(), getInfluencer(), getPosition(), getSpeedWithoutTraciInfluence(), hasInfluencer(), ignoreRed(), isRemoteControlled(), planMoveInternal(), processLaneAdvances(), processLinkApproaches(), processTraCISpeedControl(), setBlinkerInformation(), updateState(), wasRemoteControlled(), and ~MSVehicle().
|
protected |
Definition at line 2008 of file MSVehicle.h.
Referenced by checkLinkLeader(), isLeader(), processLaneAdvances(), and processLinkApproaches().
|
protected |
time at which the current junction was entered
Definition at line 2006 of file MSVehicle.h.
Referenced by checkLinkLeader(), isLeader(), processLaneAdvances(), and processLinkApproaches().
|
protected |
Definition at line 2007 of file MSVehicle.h.
Referenced by checkLinkLeader(), isLeader(), and processLaneAdvances().
|
protected |
The lane the vehicle is on.
Definition at line 1944 of file MSVehicle.h.
Referenced by adaptLaneEntering2MoveReminder(), adaptToLeader(), adaptToLeaders(), addTraciStop(), addTraciStopAtStoppingPlace(), canReverse(), checkLinkLeader(), checkRewindLinkLanes(), computeAngle(), GUIVehicle::drawAction_drawCarriageClass(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), getBackLane(), getBackPosition(), getBackPositionOnLane(), getCenterOnEdge(), getDistanceToPosition(), getLane(), GUIVehicle::getLaneID(), getLaneIndex(), getLateralOverlap(), getLatOffset(), getLeader(), GUIVehicle::getLeftSublaneOnEdge(), getMaxSpeedOnLane(), getPosition(), getPositionAlongBestLanes(), GUIVehicle::getPreviousLane(), getRerouteOrigin(), getRightSideOnLane(), GUIVehicle::getRightSublaneOnEdge(), getSlope(), haveValidStopEdges(), influenceChangeDecision(), isFrontOnLane(), isLeader(), isStoppedOnLane(), lateralDistanceToLane(), leaveLane(), passingMinor(), planMove(), planMoveInternal(), processLaneAdvances(), processLinkApproaches(), processNextStop(), replaceRoute(), resumeFromStopping(), GUIVehicle::selectBlockingFoes(), setAngle(), setBlinkerInformation(), setTentativeLaneAndPosition(), unsafeLinkAhead(), updateBestLanes(), updateDriveItems(), updateState(), updateTimeLoss(), and willStop().
|
protected |
Definition at line 1946 of file MSVehicle.h.
Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), getLaneChangeModel(), MSVehicle(), and ~MSVehicle().
|
protected |
Action offset (actions are taken at time myActionOffset + N*getActionStepLength()) Initialized to 0, to be set at insertion.
Definition at line 1939 of file MSVehicle.h.
Referenced by checkActionStep(), enterLaneAtInsertion(), getLastActionTime(), isActionStep(), loadState(), resetActionOffset(), saveState(), and updateActionOffset().
|
protected |
Definition at line 1948 of file MSVehicle.h.
Referenced by enterLaneAtMove(), replaceRoute(), and updateBestLanes().
|
protected |
Definition at line 1949 of file MSVehicle.h.
Referenced by replaceRoute(), and updateBestLanes().
|
protected |
container for the planned speeds in the current step
Definition at line 2072 of file MSVehicle.h.
Referenced by GUIVehicle::drawAction_drawLinkItems(), MSVehicle(), onRemovalFromNet(), passingMinor(), planMove(), processLaneAdvances(), processLinkApproaches(), processNextStop(), removePassedDriveItems(), GUIVehicle::selectBlockingFoes(), setApproachingForAllLinks(), unsafeLinkAhead(), updateDriveItems(), and ~MSVehicle().
|
protected |
planned speeds from the previous step for un-registering from junctions after the new container is filled
Definition at line 2075 of file MSVehicle.h.
Referenced by planMove(), and setApproachingForAllLinks().
Manoeuvre MSVehicle::myManoeuvre |
Definition at line 1441 of file MSVehicle.h.
Referenced by getManoeuvreType(), manoeuvreIsComplete(), processNextStop(), setExitManoeuvre(), and setManoeuvreType().
|
protectedinherited |
Currently relevant move reminders.
Definition at line 538 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::activateReminders(), activateReminders(), adaptLaneEntering2MoveReminder(), MSBaseVehicle::addContainer(), MSBaseVehicle::addPerson(), MSBaseVehicle::addReminder(), GUIBaseVehicle::GUIBaseVehicle(), leaveLane(), MSBaseVehicle::MSBaseVehicle(), MSBaseVehicle::removeReminder(), MEVehicle::updateDetectorForWriting(), MEVehicle::updateDetectors(), and workOnMoveReminders().
|
protected |
iterator pointing to the next item in myLFLinkLanes
Definition at line 2082 of file MSVehicle.h.
Referenced by MSVehicle(), planMove(), processLaneAdvances(), removePassedDriveItems(), and updateDriveItems().
|
protected |
the upcoming turn for the vehicle
Definition at line 1973 of file MSVehicle.h.
Referenced by getNextTurn(), planMove(), planMoveInternal(), and updateState().
|
protectedinherited |
The number of reroutings.
Definition at line 563 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getNumberReroutes(), MEVehicle::replaceRoute(), and replaceRoute().
|
privateinherited |
Definition at line 576 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getNumericalID().
|
protectedinherited |
A simple odometer to keep track of the length of the route already driven.
Definition at line 566 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getOdometer(), leaveLane(), and MEVehicle::updateDetectors().
|
protectedinherited |
This vehicle's parameter.
Definition at line 512 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::addContainer(), MSBaseVehicle::addPerson(), addStop(), MSBaseVehicle::addStops(), addTraciStop(), MSBaseVehicle::calculateArrivalParams(), MSBaseVehicle::createDevice(), enterLaneAtMove(), GUIVehicle::getColorValue(), MSBaseVehicle::getContainerNumber(), MSBaseVehicle::getID(), MSBaseVehicle::getParameter(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), MSBaseVehicle::getPersonNumber(), MEVehicle::moveRoutePointer(), MSBaseVehicle::MSBaseVehicle(), planMoveInternal(), MSBaseVehicle::replaceParameter(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), MSBaseVehicle::resetRoutePosition(), MEVehicle::saveState(), MSBaseVehicle::saveState(), saveState(), updateBestLanes(), and MSBaseVehicle::~MSBaseVehicle().
|
protectedinherited |
The passengers this vehicle may have.
Definition at line 545 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::addPerson(), GUIBaseVehicle::drawAction_drawPersonsAndContainers(), MSBaseVehicle::getPersonDevice(), MSBaseVehicle::getPersonNumber(), MSBaseVehicle::getPersons(), processNextStop(), and MSBaseVehicle::removeTransportable().
|
protectedinherited |
This vehicle's route.
Definition at line 515 of file MSBaseVehicle.h.
Referenced by addStop(), MSBaseVehicle::addStops(), basePos(), MSBaseVehicle::calculateArrivalParams(), canReverse(), GUIVehicle::drawRouteHelper(), getDistanceToPosition(), GUIVehicle::getPreviousLane(), getRerouteOrigin(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRoutePosition(), MEVehicle::getStopIndices(), getStopIndices(), MEVehicle::hasArrived(), hasArrived(), MSBaseVehicle::hasValidRoute(), haveValidStopEdges(), MEVehicle::moveRoutePointer(), MSBaseVehicle::MSBaseVehicle(), planMoveInternal(), processLaneAdvances(), replaceParkingArea(), MEVehicle::replaceRoute(), replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), rerouteParkingArea(), MSBaseVehicle::resetRoutePosition(), MEVehicle::saveState(), MSBaseVehicle::saveState(), saveState(), MSBaseVehicle::succEdge(), updateBestLanes(), and MSBaseVehicle::~MSBaseVehicle().
|
protected |
State of things of the vehicle that can be on or off.
Definition at line 1981 of file MSVehicle.h.
Referenced by getSignals(), setBlinkerInformation(), signalSet(), switchOffSignal(), and switchOnSignal().
|
protected |
This Vehicles driving state (pos and speed)
Definition at line 1930 of file MSVehicle.h.
Referenced by adaptToLeaders(), addStop(), canReverse(), MSLaneChangerSublane::checkChangeToNewLane(), checkRewindLinkLanes(), computeAngle(), congested(), MSLaneChanger::continueChange(), GUIVehicle::drawAction_drawCarriageClass(), 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(), keepStopping(), leaveLane(), loadState(), overlap(), planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), processLaneAdvances(), processLinkApproaches(), processNextStop(), processTraCISpeedControl(), saveState(), setLateralPositionOnLane(), setTentativeLaneAndPosition(), MSLaneChangerSublane::startChangeSublane(), updateFurtherLanes(), and updateState().
|
protected |
distance to the next stop or doubleMax if there is none
Definition at line 1998 of file MSVehicle.h.
Referenced by nextStopDist(), planMove(), planMoveInternal(), and setBlinkerInformation().
|
protected |
The vehicle's list of stops.
Definition at line 1966 of file MSVehicle.h.
Referenced by addContainer(), addPerson(), addStop(), addTraciStop(), addTraciStopAtStoppingPlace(), basePos(), canReverse(), collisionStopTime(), computeAngle(), GUIVehicle::drawRouteHelper(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), getCurrentParkingArea(), getMyStops(), getNextParkingArea(), getNextStop(), getPosition(), getStopEdges(), getStopIndices(), GUIVehicle::getStopInfo(), hasArrived(), hasStops(), haveValidStopEdges(), isParking(), isStopped(), isStoppedInRange(), isStoppedOnLane(), isStoppedTriggered(), keepStopping(), leaveLane(), planMoveInternal(), processNextStop(), remainingStopDuration(), replaceParkingArea(), replaceRoute(), GUIVehicle::rerouteDRTStop(), resumeFromStopping(), saveState(), setBlinkerInformation(), stopsAt(), stopsAtEdge(), updateBestLanes(), and willStop().
|
protected |
the time loss in seconds due to driving with less than maximum speed
Definition at line 1927 of file MSVehicle.h.
Referenced by getTimeLoss(), getTimeLossSeconds(), and updateTimeLoss().
|
protectedinherited |
This vehicle's type.
Definition at line 518 of file MSBaseVehicle.h.
Referenced by addStop(), MSBaseVehicle::calculateArrivalParams(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), enterLaneAtInsertion(), executeMove(), getActionStepLength(), getActionStepLengthSecs(), getBackPosition(), getBackPositionOnLane(), getBoundingBox(), getBoundingPoly(), getCarFollowModel(), getCO2Emissions(), getCOEmissions(), getElectricityConsumption(), getFuelConsumption(), getHarmonoise_NoiseEmissions(), getHCEmissions(), MSBaseVehicle::getLength(), MSBaseVehicle::getMaxSpeed(), getMaxSpeedOnLane(), getNOxEmissions(), getPMxEmissions(), getPositionOnLane(), MSBaseVehicle::getSingularType(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), MSBaseVehicle::getVClass(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::getWidth(), MSBaseVehicle::hasValidRoute(), processLaneAdvances(), processNextStop(), MSBaseVehicle::replaceVehicleType(), updateBestLanes(), and ~MSVehicle().
|
protected |
The time the vehicle waits (is not faster than 0.1m/s) in seconds.
Definition at line 1923 of file MSVehicle.h.
Referenced by getWaitingSeconds(), getWaitingTime(), leaveLane(), loadState(), planMoveInternal(), resumeFromStopping(), saveState(), and updateWaitingTime().
|
protected |
Definition at line 1924 of file MSVehicle.h.
Referenced by getAccumulatedWaitingTime(), and updateWaitingTime().
|
staticprotectedinherited |
Definition at line 571 of file MSBaseVehicle.h.
Referenced by enterLaneAtInsertion(), MSBaseVehicle::hasDeparted(), and MSVehicle::Influencer::postProcessRemoteControl().