![]() |
Eclipse SUMO - Simulation of Urban MObility
|
A vehicle from the mesoscopic point of view. More...
#include <MEVehicle.h>
Public Types | |
typedef long long int | NumericalID |
Public Member Functions | |
virtual void | activateReminders (const MSMoveReminder::Notification reason, const MSLane *enteredLane=0) |
"Activates" all current move reminder More... | |
virtual void | addContainer (MSTransportable *container) |
Adds a container to this vehicle. More... | |
virtual void | addPerson (MSTransportable *person) |
Adds a person to this vehicle. More... | |
void | addReminder (MSMoveReminder *rem) |
Adds a MoveReminder dynamically. More... | |
bool | addStop (const SUMOVehicleParameter::Stop &stopPar, std::string &errorMsg, SUMOTime untilOffset=0, bool collision=false, MSRouteIterator *searchStart=0) |
Adds a stop. More... | |
void | createDevice (const std::string &deviceName) |
create device of the given type More... | |
double | estimateLeaveSpeed (const MSLink *link) const |
Returns the vehicle's estimated speed after driving accross the link. More... | |
virtual double | getAcceleration () const |
Returns the vehicle's acceleration. More... | |
SUMOTime | getAccumulatedWaitingTime () const |
Returns the duration for which the vehicle was blocked. More... | |
double | getAngle () const |
Returns the vehicle's direction in degrees. More... | |
virtual double | getArrivalPos () const |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute) More... | |
double | getAverageSpeed () const |
Returns the vehicle's estimated average speed on the segment assuming no further delays. More... | |
double | getBackPositionOnLane (const MSLane *lane) const |
Get the vehicle's position relative to the given lane. More... | |
SUMOTime | getBlockTime () const |
Returns the time at which the vehicle was blocked. More... | |
double | getBlockTimeSeconds () const |
Returns the time at which the vehicle was blocked on the current segment. More... | |
double | getBrakeGap () const |
get distance for coming to a stop (used for rerouting checks) More... | |
double | getChosenSpeedFactor () const |
Returns the precomputed factor by which the driver wants to be faster than the speed limit. More... | |
double | getConservativeSpeed (SUMOTime &earliestArrival) const |
Returns the vehicle's estimated speed taking into account delays. More... | |
int | getContainerNumber () const |
Returns the number of containers. More... | |
const std::vector< MSTransportable * > & | getContainers () const |
retrieve riding containers More... | |
double | getCurrentLinkPenaltySeconds () const |
Returns the delay that is accrued due to option –meso-tls-penalty or –meso-minor-penalty. More... | |
const MSRouteIterator & | getCurrentRouteEdge () const |
Returns an iterator pointing to the current edge in this vehicles route. More... | |
double | getCurrentStoppingTimeSeconds () const |
Returns the delay that is accrued due to option –meso-tls-penalty or –meso-minor-penalty. 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... | |
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... | |
SUMOTime | getEventTime () const |
Returns the (planned) time at which the vehicle leaves his current cell. More... | |
double | getEventTimeSeconds () const |
Returns the earliest leave time for the current segment. More... | |
const std::string & | getID () const |
Returns the name of the vehicle. More... | |
double | getImpatience () const |
Returns this vehicles impatience. More... | |
MSLane * | getLane () const |
Returns the lane the vehicle is on. More... | |
SUMOTime | getLastEntryTime () const |
Returns the time the vehicle entered the current segment. More... | |
double | getLastEntryTimeSeconds () const |
Returns the entry time for the current segment. More... | |
virtual double | getLateralPositionOnLane () const |
Get the vehicle's lateral position on the lane. More... | |
double | getLength () const |
Returns the vehicle's length. More... | |
double | getMaxSpeed () const |
Returns the maximum speed. More... | |
MSParkingArea * | getNextParkingArea () |
get the current parking area stop More... | |
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... | |
Position | getPosition (const double offset=0) const |
Return current position (x/y, cartesian) More... | |
double | getPositionOnLane () const |
Get the vehicle's position along the lane. More... | |
double | getPreviousSpeed () const |
Returns the vehicle's previous speed. More... | |
int | getQueIndex () const |
Returns the index of the que the vehicle is in. More... | |
virtual const MSEdge * | getRerouteOrigin () const |
Returns the starting point for reroutes (usually the current edge) More... | |
const MSRoute & | getRoute () const |
Returns the current route. More... | |
int | getRoutePosition () const |
return index of edge within route More... | |
MESegment * | getSegment () const |
Returns the current segment the vehicle is on. More... | |
MSVehicleType & | getSingularType () |
Replaces the current vehicle type with a new one used by this vehicle only. More... | |
double | getSlope () const |
Returns the slope of the road at vehicle's position. More... | |
double | getSpeed () const |
Returns the vehicle's estimated speed assuming no delays. More... | |
const ConstMSEdgeVector | getStopEdges (double &firstPos, double &lastPos) const |
Returns the list of still pending stop edges. More... | |
std::vector< std::pair< int, double > > | getStopIndices () const |
return list of route indices for the remaining stops More... | |
SUMOTime | getStoptime (const MESegment *const seg, SUMOTime time) const |
Returns until when to stop at the given segment. More... | |
SUMOVehicleClass | getVClass () const |
Returns the vehicle's access class. More... | |
const MSVehicleType & | getVehicleType () const |
Returns the vehicle's type definition. More... | |
double | getWaitingSeconds () const |
Returns the number of seconds waited (speed was lesser than 0.1m/s) More... | |
SUMOTime | getWaitingTime () const |
Returns the duration for which the vehicle was blocked. More... | |
double | getWidth () const |
Returns the vehicle's width. More... | |
bool | hasArrived () const |
Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge) 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 | hasValidRoute (std::string &msg, const MSRoute *route=0) const |
Validates the current or given route. More... | |
virtual bool | isFrontOnLane (const MSLane *) const |
Returns the information whether the front of the vehhicle is on the given lane. More... | |
bool | isOnRoad () const |
Returns the information whether the vehicle is on a road (is simulated) More... | |
bool | isParking () const |
Returns whether the vehicle is parking. More... | |
virtual bool | isRemoteControlled () const |
Returns the information whether the vehicle is fully controlled via TraCI. More... | |
bool | isStopped () const |
Returns whether the vehicle is at a stop. More... | |
bool | isStoppedInRange (const double pos, const double tolerance) const |
return whether the given position is within range of the current stop More... | |
bool | isStoppedTriggered () const |
Returns whether the vehicle is on a triggered stop. More... | |
bool | isVehicle () const |
Get the vehicle's ID. More... | |
bool | mayProceed () const |
Returns whether the vehicle is allowed to pass the next junction. More... | |
MEVehicle (SUMOVehicleParameter *pars, const MSRoute *route, MSVehicleType *type, const double speedFactor) | |
Constructor. More... | |
bool | moveRoutePointer () |
Update when the vehicle enters a new edge in the move step. More... | |
void | onDepart () |
Called when the vehicle is inserted into the network. More... | |
void | processStop () |
ends the current stop and performs loading/unloading More... | |
SUMOTime | remainingStopDuration () const |
Returns the remaining stop duration for a stopped vehicle or 0. 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 | replaceParkingArea (MSParkingArea *, std::string &) |
replace the current parking area stop with a new stop with merge duration 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... | |
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... | |
void | resetRoutePosition (int index, DepartLaneDefinition departLaneProcedure) |
reset index of edge within route More... | |
virtual void | setArrivalPos (double arrivalPos) |
Sets this vehicle's desired arrivalPos for its current route. More... | |
void | setBlockTime (const SUMOTime t) |
Sets the time at which the vehicle was blocked. More... | |
void | setChosenSpeedFactor (const double factor) |
Returns the precomputed factor by which the driver wants to be faster than the speed limit. More... | |
void | setDeviceParameter (const std::string &deviceName, const std::string &key, const std::string &value) |
try to set the given parameter from any of the vehicles devices, raise InvalidArgument if no device parameter by that name exists More... | |
void | setEventTime (SUMOTime t, bool hasDelay=true) |
Sets the (planned) time at which the vehicle leaves his current cell. More... | |
void | setLastEntryTime (SUMOTime t) |
Sets the entry time for the current segment. More... | |
virtual void | setSegment (MESegment *s, int idx=0) |
Sets the current segment the vehicle is at together with its que. More... | |
bool | stopsAt (MSStoppingPlace *) const |
Returns whether the vehicle stops at the given stopping place. More... | |
bool | stopsAtEdge (const MSEdge *) const |
Returns whether the vehicle stops at the given edge. More... | |
const MSEdge * | succEdge (int nSuccs) const |
Returns the nSuccs'th successor of edge the vehicle is currently at. More... | |
void | updateDetectorForWriting (MSMoveReminder *rem, SUMOTime currentTime, SUMOTime exitTime) |
Updates a single vehicle detector if present. More... | |
void | updateDetectors (SUMOTime currentTime, const bool isLeave, const MSMoveReminder::Notification reason=MSMoveReminder::NOTIFICATION_JUNCTION) |
Updates all vehicle detectors. More... | |
virtual bool | wasRemoteControlled (SUMOTime lookBack=DELTA_T) const |
Returns the information whether the vehicle is fully controlled via TraCI. More... | |
Protected Attributes | |
int | myArrivalLane |
The destination lane where the vehicle stops. More... | |
double | myArrivalPos |
The position on the destination lane where the vehicle stops. More... | |
MSDevice_Transportable * | myContainerDevice |
The containers this vehicle may have. More... | |
double | myDepartPos |
The real depart position. More... | |
SUMOTime | myDeparture |
The real departure time. More... | |
std::vector< MSVehicleDevice * > | myDevices |
The devices this vehicle has. 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... | |
Static Protected Attributes | |
static std::vector< MSTransportable * > | myEmptyTransportableVector |
static const SUMOTime | NOT_YET_DEPARTED = SUMOTime_MAX |
Private Attributes | |
const NumericalID | myNumericalID |
Static Private Attributes | |
static NumericalID | myCurrentNumericalIndex = 0 |
state io | |
MESegment * | mySegment |
The segment the vehicle is at. More... | |
int | myQueIndex |
Index of the que the vehicle is in (important for multiqueue extension) More... | |
SUMOTime | myEventTime |
The (planned) time of leaving the segment (cell) More... | |
SUMOTime | myLastEntryTime |
The time the vehicle entered its current segment. More... | |
SUMOTime | myBlockTime |
The time at which the vehicle was blocked on its current segment. More... | |
std::map< const MESegment *const, std::vector< SUMOVehicleParameter::Stop > > | myStops |
where to stop More... | |
ConstMSEdgeVector | myStopEdges |
edges to stop More... | |
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... | |
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 | |
MoveReminderCont | myMoveReminders |
Currently relevant move reminders. More... | |
typedef std::vector< std::pair< MSMoveReminder *, double > > | MoveReminderCont |
Definition of a move reminder container. More... | |
A vehicle from the mesoscopic point of view.
Definition at line 44 of file MEVehicle.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.
MEVehicle::MEVehicle | ( | 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 50 of file MEVehicle.cpp.
References DEPART_SPEED_GIVEN, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, MSVehicleType::getID(), MSVehicleType::getMaxSpeed(), MSVehicleType::getVehicleClass(), and SUMOVehicleParameter::id.
|
virtualinherited |
"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 in MSVehicle.
Definition at line 490 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by MESegment::receive(), and MELoop::teleportVehicle().
|
virtualinherited |
Adds a container to this vehicle.
The default implementation does nothing since containers are not supported by default
[in] | container | The container to add |
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 423 of file MSBaseVehicle.cpp.
References MSDevice_Transportable::addTransportable(), MSDevice_Transportable::buildVehicleDevices(), SUMOVehicleParameter::depart, DEPART_TRIGGERED, SUMOVehicleParameter::departProcedure, MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSBaseVehicle::myContainerDevice, MSBaseVehicle::myDevices, MSBaseVehicle::myMoveReminders, and MSBaseVehicle::myParameter.
Referenced by MSVehicle::addContainer().
|
virtualinherited |
Adds a person to this vehicle.
The default implementation does nothing since persons are not supported by default
[in] | person | The person to add |
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 411 of file MSBaseVehicle.cpp.
References MSDevice_Transportable::addTransportable(), MSDevice_Transportable::buildVehicleDevices(), SUMOVehicleParameter::depart, DEPART_TRIGGERED, SUMOVehicleParameter::departProcedure, MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSBaseVehicle::myDevices, MSBaseVehicle::myMoveReminders, MSBaseVehicle::myParameter, and MSBaseVehicle::myPersonDevice.
Referenced by MSVehicle::addPerson().
|
inherited |
Adds a MoveReminder dynamically.
[in] | rem | the reminder to add |
Definition at line 463 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by MSVehicle::adaptLaneEntering2MoveReminder(), MESegment::addReminders(), MSVehicle::enterLaneAtInsertion(), MSVehicle::enterLaneAtLaneChange(), and MSVehicle::processNextStop().
|
virtual |
Adds a stop.
The stop is put into the sorted list.
[in] | stop | The stop to add |
Implements SUMOVehicle.
Definition at line 220 of file MEVehicle.cpp.
References MSEdge::dictionary(), SUMOVehicleParameter::Stop::endPos, MELoop::getSegmentForEdge(), MSGlobals::gMesoNet, SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, myStopEdges, myStops, and STOP_INDEX_FIT.
|
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(), replaceRoute(), and MSVehicle::replaceRoute().
|
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(), replaceRoute(), MSVehicle::replaceRoute(), and MSBaseVehicle::reroute().
|
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().
double MEVehicle::estimateLeaveSpeed | ( | const MSLink * | link | ) | const |
Returns the vehicle's estimated speed after driving accross the link.
Definition at line 122 of file MEVehicle.cpp.
References MSLink::getLength(), getSpeed(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), and MIN2().
Referenced by MESegment::isOpen().
|
virtualinherited |
Returns the vehicle's acceleration.
This default implementation returns always 0.
Implements SUMOTrafficObject.
Reimplemented in MSVehicle.
Definition at line 359 of file MSBaseVehicle.cpp.
|
inlinevirtual |
Returns the duration for which the vehicle was blocked.
Implements SUMOVehicle.
Definition at line 299 of file MEVehicle.h.
References getWaitingTime().
|
virtual |
Returns the vehicle's direction in degrees.
Implements SUMOVehicle.
Definition at line 85 of file MEVehicle.cpp.
References MSBaseVehicle::getEdge(), MSEdge::getLanes(), getPositionOnLane(), MSLane::getShape(), MSLane::interpolateLanePosToGeometryPos(), and PositionVector::rotationAtOffset().
Referenced by GUIMEVehicle::getAngle().
|
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 MSVehicle::rerouteParkingArea().
double MEVehicle::getAverageSpeed | ( | ) | const |
Returns the vehicle's estimated average speed on the segment assuming no further delays.
Definition at line 116 of file MEVehicle.cpp.
References MESegment::getLength(), myEventTime, myLastEntryTime, mySegment, and STEPS2TIME.
Referenced by getSpeed().
|
virtual |
Get the vehicle's position relative to the given lane.
Implements SUMOTrafficObject.
Definition at line 71 of file MEVehicle.cpp.
References MSVehicleType::getLength(), getPositionOnLane(), and MSBaseVehicle::getVehicleType().
|
inline |
Returns the time at which the vehicle was blocked.
Definition at line 288 of file MEVehicle.h.
References myBlockTime.
Referenced by MELoop::checkCar(), and getBlockTimeSeconds().
|
inline |
Returns the time at which the vehicle was blocked on the current segment.
Definition at line 326 of file MEVehicle.h.
References getBlockTime(), and STEPS2TIME.
Referenced by GUIMEVehicle::getParameterWindow().
|
inlinevirtual |
get distance for coming to a stop (used for rerouting checks)
Implements SUMOVehicle.
Definition at line 198 of file MEVehicle.h.
|
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 MEVehicle::getConservativeSpeed | ( | SUMOTime & | earliestArrival | ) | const |
Returns the vehicle's estimated speed taking into account delays.
[in,out] | earliestArrival | A lower bound on leaveTime, modified to contain new lower bound on leave Time |
Definition at line 131 of file MEVehicle.cpp.
References DELTA_T, MESegment::getLength(), MAX2(), myEventTime, myLastEntryTime, mySegment, and STEPS2TIME.
|
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(), MSVehicle::processNextStop(), 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 MEVehicle::getCurrentLinkPenaltySeconds | ( | ) | const |
Returns the delay that is accrued due to option –meso-tls-penalty or –meso-minor-penalty.
Definition at line 368 of file MEVehicle.cpp.
References MESegment::getLinkPenalty(), mySegment, and STEPS2TIME.
Referenced by GUIMEVehicle::getParameterWindow().
|
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 MEVehicle::getCurrentStoppingTimeSeconds | ( | ) | const |
Returns the delay that is accrued due to option –meso-tls-penalty or –meso-minor-penalty.
Definition at line 275 of file MEVehicle.cpp.
References getStoptime(), myLastEntryTime, mySegment, and STEPS2TIME.
Referenced by GUIMEVehicle::getParameterWindow(), and MSDevice_Tripinfo::notifyMoveInternal().
|
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::MSVehicle(), processStop(), GUIVehicle::rerouteDRTStop(), MSVehicle::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.
|
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(), MSVehicle::enterLaneAtLaneChange(), METriggeredCalibrator::execute(), MSDevice_SSM::findFoeConflictLane(), MSVehicle::Influencer::gapControlSpeed(), getAngle(), libsumo::Vehicle::getDrivingDistance2D(), GUIMEVehicle::getEdgeID(), MSVehicle::getLatOffset(), MSCFModel_CC::getParameter(), getPosition(), MSBaseVehicle::getRNG(), MSBaseVehicle::getRNGIndex(), getSlope(), TraCIServerAPI_Vehicle::processSet(), processStop(), MESegment::receive(), MSVehicle::rerouteParkingArea(), MELoop::teleportVehicle(), updateDetectors(), MSFCDExport::write(), and MSBatteryExport::write().
|
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().
|
inline |
Returns the (planned) time at which the vehicle leaves his current cell.
Definition at line 229 of file MEVehicle.h.
References myEventTime.
Referenced by MELoop::addLeaderCar(), MELoop::checkCar(), getEventTimeSeconds(), MESegment::isOpen(), MESegment::receive(), MELoop::removeLeaderCar(), MESegment::send(), MELoop::setApproaching(), MESegment::setSpeedForQueue(), MELoop::teleportVehicle(), updateDetectors(), and MELoop::vaporizeCar().
|
inline |
Returns the earliest leave time for the current segment.
Definition at line 316 of file MEVehicle.h.
References getEventTime(), and STEPS2TIME.
Referenced by GUIMEVehicle::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(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSVehicleTransfer::add(), MSPModel_Striping::addCrossingVehs(), MSLCM_SL2015::addLCSpeedAdvice(), MSVehicle::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(), MSVehicle::checkLinkLeader(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::closeEncounter(), MSLCM_SL2015::commitManoeuvre(), MSVehicle::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(), MSVehicle::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(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), MSVehicle::getCenterOnEdge(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSLane::getLastVehicleInformation(), MSVehicle::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(), MSVehicle::getSafeFollowSpeed(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::Vehicle::highlight(), MSVehicle::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(), MSVehicle::isLeader(), MSAbstractLaneChangeModel::laneChangeOutput(), MSVehicle::lateralDistanceToLane(), MSVehicle::leaveLane(), libsumo::Vehicle::moveToXY(), MSLCM_LC2013::MSLCM_LC2013(), MSSimpleDriverState::MSSimpleDriverState(), MSCalibrator::VehicleRemover::notifyEnter(), MSVehicle::onRemovalFromNet(), MSLaneChangerSublane::outputLCStarted(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSCFModel_CC::performAutoLaneChange(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLCM_SL2015::prepareStep(), MSAbstractLaneChangeModel::primaryLaneChanged(), TraCIServerAPI_GUI::processGet(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), MSVehicle::processTraCISpeedControl(), MSVehicle::removePassedDriveItems(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), libsumo::Vehicle::resume(), MSLane::safeInsertionSpeed(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSBaseVehicle::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSVehicle::setAngle(), MSVehicle::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(), MSVehicle::updateBestLanes(), MSVehicle::updateDriveItems(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSVehicle::updateFurtherLanes(), MSLCM_SL2015::updateGaps(), MSAbstractLaneChangeModel::updateShadowLane(), MSVehicle::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 MSVehicle::checkRewindLinkLanes(), MSLane::getCriticalLeader(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), GUIVehicle::getParameterWindow(), MSLCM_LC2013::informFollower(), MSLane::isInsertionSuccess(), MESegment::isOpen(), MSVehicle::processLinkApproaches(), and GUIVehicle::selectBlockingFoes().
|
inlinevirtual |
Returns the lane the vehicle is on.
Implements SUMOVehicle.
Definition at line 83 of file MEVehicle.h.
|
inline |
Returns the time the vehicle entered the current segment.
Definition at line 271 of file MEVehicle.h.
References myLastEntryTime.
Referenced by getLastEntryTimeSeconds(), MESegment::newArrival(), updateDetectorForWriting(), and updateDetectors().
|
inline |
Returns the entry time for the current segment.
Definition at line 321 of file MEVehicle.h.
References getLastEntryTime(), and STEPS2TIME.
Referenced by GUIMEVehicle::getParameterWindow().
|
inlinevirtualinherited |
Get the vehicle's lateral position on the lane.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 188 of file MSBaseVehicle.h.
|
inlineinherited |
Returns the vehicle's length.
Definition at line 410 of file MSBaseVehicle.h.
References MSVehicleType::getLength(), and MSBaseVehicle::myType.
Referenced by MSVehicle::addStop(), libsumo::Helper::applySubscriptionFilters(), MSVehicle::basePos(), MSDevice_SSM::checkConflictEntryAndExit(), MSVehicle::checkRewindLinkLanes(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determineTTCandDRAC(), GUIMEVehicle::drawAction_drawCarriageClass(), GUIVehicle::drawAction_drawLinkItems(), MSVehicle::enterLaneAtInsertion(), MSDevice_SSM::findSurroundingVehicles(), MSVehicle::Influencer::gapControlSpeed(), MSLink::getLeaderInfo(), MSDevice_SSM::getUpstreamVehicles(), libsumo::Vehicle::highlight(), GUIVehicle::selectBlockingFoes(), MSVehicle::unsafeLinkAhead(), MSVehicle::updateFurtherLanes(), and MSDevice_SSM::updatePassedEncounter().
|
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().
|
inlinevirtual |
get the current parking area stop
Implements SUMOVehicle.
Definition at line 210 of file MEVehicle.h.
|
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(), MSVehicle::planMoveInternal(), MSVehicle::processNextStop(), MSVehicle::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(), MSVehicle::processNextStop(), 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(), MSVehicle::rerouteParkingArea(), and MSXMLRawOut::writeVehicle().
|
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 99 of file MEVehicle.cpp.
References MSLane::geometryPositionAtOffset(), MSBaseVehicle::getEdge(), MSEdge::getLanes(), and getPositionOnLane().
Referenced by GUIMEVehicle::getPosition().
|
virtual |
Get the vehicle's position along the lane.
Implements SUMOTrafficObject.
Definition at line 77 of file MEVehicle.cpp.
References MESegment::getIndex(), MESegment::getLength(), and mySegment.
Referenced by getAngle(), getBackPositionOnLane(), GUIMEVehicle::getParameterWindow(), getPosition(), getSlope(), and hasArrived().
|
virtualinherited |
Returns the vehicle's previous speed.
Implements SUMOTrafficObject.
Reimplemented in MSVehicle.
Definition at line 68 of file MSBaseVehicle.cpp.
|
inline |
Returns the index of the que the vehicle is in.
Definition at line 255 of file MEVehicle.h.
References myQueIndex.
Referenced by MESegment::getLink(), MESegment::removeCar(), saveState(), and MESegment::send().
|
inlinevirtualinherited |
Returns the starting point for reroutes (usually the current edge)
This differs from *myCurrEdge only if the vehicle is on an internal edge
Reimplemented in MSVehicle.
Definition at line 197 of file MSBaseVehicle.h.
References MSBaseVehicle::myCurrEdge.
Referenced by MSBaseVehicle::replaceRouteEdges(), and MSBaseVehicle::reroute().
|
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(), MSVehicle::planMoveInternal(), MSVehicle::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(), MSVehicle::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(), MSVehicle::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().
|
inline |
Returns the current segment the vehicle is on.
Definition at line 247 of file MEVehicle.h.
References mySegment.
Referenced by MELoop::changeSegment(), MELoop::checkCar(), GUIMEVehicle::getColorValue(), GUIMEVehicle::getSegmentIndex(), isOnRoad(), MESegment::loadState(), MELoop::setApproaching(), MELoop::teleportVehicle(), and MELoop::vaporizeCar().
|
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(), MSVehicle::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 92 of file MEVehicle.cpp.
References MSBaseVehicle::getEdge(), MSEdge::getLanes(), getPositionOnLane(), MSLane::getShape(), MSLane::interpolateLanePosToGeometryPos(), and PositionVector::slopeDegreeAtOffset().
|
virtual |
Returns the vehicle's estimated speed assuming no delays.
Implements SUMOTrafficObject.
Definition at line 106 of file MEVehicle.cpp.
References getAverageSpeed(), and getWaitingTime().
Referenced by estimateLeaveSpeed(), GUIMEVehicle::getColorValue(), GUIMEVehicle::getParameterWindow(), MESegment::isOpen(), MESegment::newArrival(), MESegment::receive(), and MELoop::setApproaching().
|
virtual |
Returns the list of still pending stop edges.
Implements MSBaseVehicle.
Definition at line 281 of file MEVehicle.cpp.
References myStopEdges.
|
virtual |
return list of route indices for the remaining stops
Implements SUMOVehicle.
Definition at line 292 of file MEVehicle.cpp.
References MSRoute::begin(), MSRoute::end(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, and myStopEdges.
Returns until when to stop at the given segment.
[in] | seg | The segment in question |
[in] | time | the current time |
Definition at line 259 of file MEVehicle.cpp.
References myStops.
Referenced by getCurrentStoppingTimeSeconds(), and MESegment::receive().
|
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 MSVehicle::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(), MSVehicle::adaptToLeaders(), MSPModel_Striping::addCrossingVehs(), libsumo::Helper::applySubscriptionFilters(), MSVehicle::basePos(), MSLaneChanger::change(), MSLaneChanger::changeOpposite(), MSLCM_SL2015::checkBlocking(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeToNewLane(), MSLane::checkFailure(), MSLane::checkForPedestrians(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), MSVehicle::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(), MSVehicle::enterLaneAtInsertion(), MSVehicle::enterLaneAtLaneChange(), MSDevice_SSM::estimateConflictTimes(), MSAbstractLaneChangeModel::estimateLCDuration(), MSVehicle::estimateLeaveSpeed(), estimateLeaveSpeed(), MSLane::executeMovements(), MSLane::freeInsertion(), MSVehicle::Influencer::gapControlSpeed(), getBackPositionOnLane(), MSLane::getBruttoOccupancy(), GUIBaseVehicle::getCenteringBoundary(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSEdge::getDepartLane(), MSEdge::getDepartPosBound(), MSLane::getDepartPosLat(), libsumo::Vehicle::getDrivingDistance2D(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), MSBaseVehicle::getImpatience(), MSVehicle::getLateralOverlap(), MSLane::getLeader(), MSVehicle::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), GUIVehicle::getLeftSideOnEdge(), MSLane::getNettoOccupancy(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSVehicle::getRightSideOnEdge(), MSVehicle::getRightSideOnLane(), MSVehicle::getSafeFollowSpeed(), MSLeaderInfo::getSubLanes(), MSVehicle::getTimeGapOnLane(), MESegment::getTimeHeadway(), MSPModel_Striping::getVehicleObstacles(), libsumo::Helper::getVehicleType(), GUIBaseVehicle::getVType(), MSLCM_SL2015::getWidth(), MSLink::getZipperSpeed(), MSLane::handleCollisionBetween(), MESegment::hasSpaceFor(), MSVehicle::ignoreRed(), MSVehicle::Influencer::implicitSpeedRemote(), MSLane::incorporateVehicle(), MSLCM_SL2015::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_SL2015::informLeaders(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), MESegment::isOpen(), MSVehicle::keepClear(), MSLCM_SL2015::keepLatGap(), MSAbstractLaneChangeModel::laneChangeOutput(), MSLane::lastInsertion(), MSLane::leftByLaneChange(), MESegment::loadState(), MSLaneChanger::mayChange(), MSPModel_Striping::moveInDirection(), libsumo::Vehicle::moveToXY(), libsumo::Vehicle::openGap(), MSVehicle::overlap(), MSLCM_LC2013::overtakeDistance(), MSLCM_DK2008::patchSpeed(), MSCFModel_Krauss::patchSpeedBeforeLC(), MSVehicle::planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), MSVehicle::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(), MSVehicle::setTentativeLaneAndPosition(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSCFModel_CACC::speedGapControl(), MSLaneChangerSublane::startChangeSublane(), MSVehicle::unsafeLinkAhead(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSLCM_SL2015::updateGaps(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSBatteryExport::write(), and MSQueueExport::writeLane().
|
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 310 of file MEVehicle.h.
References getWaitingTime(), and STEPS2TIME.
Referenced by GUIMEVehicle::getColorValue(), GUIMEVehicle::getParameterWindow(), and MSEmissionExport::write().
|
inlinevirtual |
Returns the duration for which the vehicle was blocked.
Implements SUMOTrafficObject.
Definition at line 294 of file MEVehicle.h.
References MAX2(), myBlockTime, and myEventTime.
Referenced by MELoop::checkCar(), getAccumulatedWaitingTime(), getSpeed(), getWaitingSeconds(), MESegment::isOpen(), and MELoop::setApproaching().
|
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(), MSVehicle::getLateralOverlap(), MSVehicle::lateralDistanceToLane(), MSVehicle::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 156 of file MEVehicle.cpp.
References MSRoute::end(), getPositionOnLane(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, myEventTime, MSBaseVehicle::myRoute, mySegment, POSITION_EPS, and SUMOTime_MIN.
Referenced by moveRoutePointer(), and MESegment::receive().
|
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 MSVehicle::addStop(), MSBaseVehicle::createDevice(), MSLane::forceVehicleInsertion(), libsumo::Vehicle::getRouteIndex(), loadState(), MSVehicle::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().
|
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().
|
inlinevirtualinherited |
Returns the information whether the front of the vehhicle is on the given lane.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 180 of file MSBaseVehicle.h.
|
virtual |
Returns the information whether the vehicle is on a road (is simulated)
Reimplemented from MSBaseVehicle.
Definition at line 165 of file MEVehicle.cpp.
References getSegment().
|
virtual |
Returns whether the vehicle is parking.
Implements SUMOVehicle.
Definition at line 171 of file MEVehicle.cpp.
Referenced by GUIMEVehicle::getStopInfo().
|
inlinevirtualinherited |
Returns the information whether the vehicle is fully controlled via TraCI.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 168 of file MSBaseVehicle.h.
|
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 241 of file MEVehicle.cpp.
References mySegment, and myStops.
Referenced by GUIMEVehicle::getStopInfo(), isStoppedInRange(), processStop(), MESegment::receive(), and MESegment::send().
|
virtual |
return whether the given position is within range of the current stop
Implements SUMOVehicle.
Definition at line 253 of file MEVehicle.cpp.
References isStopped().
|
virtual |
Returns whether the vehicle is on a triggered stop.
Implements SUMOVehicle.
Definition at line 247 of file MEVehicle.cpp.
|
inlinevirtualinherited |
Get the vehicle's ID.
Implements SUMOTrafficObject.
Definition at line 78 of file MSBaseVehicle.h.
|
virtual |
Loads the state of this vehicle from the given description.
Implements SUMOVehicle.
Definition at line 465 of file MEVehicle.cpp.
References MELoop::addLeaderCar(), MESegment::getIndex(), MESegment::getNextSegment(), MELoop::getSegmentForEdge(), SUMOSAXAttributes::getString(), MSGlobals::gMesoNet, SUMOSAXAttributes::hasAttribute(), MSBaseVehicle::hasDeparted(), myBlockTime, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myDepartPos, MSBaseVehicle::myDeparture, myEventTime, myLastEntryTime, setSegment(), SUMO_ATTR_POSITION, SUMO_ATTR_STATE, SUMOTime_MAX, and SUMOTime_MIN.
bool MEVehicle::mayProceed | ( | ) | const |
Returns whether the vehicle is allowed to pass the next junction.
Definition at line 362 of file MEVehicle.cpp.
References MESegment::isOpen(), and mySegment.
Referenced by MELoop::changeSegment(), and MELoop::checkCar().
bool MEVehicle::moveRoutePointer | ( | ) |
Update when the vehicle enters a new edge in the move step.
Definition at line 138 of file MEVehicle.cpp.
References MSRoute::end(), hasArrived(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, and SUMOVehicleParameter::via.
Referenced by METriggeredCalibrator::execute(), MESegment::receive(), and MELoop::teleportVehicle().
|
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 MSVehicle::enterLaneAtInsertion(), MSVehicle::Influencer::postProcessRemoteControl(), and MESegment::receive().
void MEVehicle::processStop | ( | ) |
ends the current stop and performs loading/unloading
Definition at line 306 of file MEVehicle.cpp.
References MSStopOut::active(), MSTransportableControl::boardAnyWaiting(), SUMOVehicleParameter::Stop::endPos, MSNet::getContainerControl(), MSBaseVehicle::getContainerNumber(), MSBaseVehicle::getDevice(), MESegment::getEdge(), MSBaseVehicle::getEdge(), Named::getID(), MSNet::getInstance(), MSStopOut::getInstance(), MESegment::getNextSegment(), MSNet::getPersonControl(), MSBaseVehicle::getPersonNumber(), MSNet::hasContainers(), MSNet::hasPersons(), isStopped(), MSTransportableControl::loadAnyWaiting(), myLastEntryTime, mySegment, myStopEdges, myStops, MSEdge::removeWaiting(), MSStopOut::stopEnded(), MSDevice_Vehroutes::stopEnded(), and MSStopOut::stopStarted().
Referenced by MESegment::send().
|
inlinevirtual |
Returns the remaining stop duration for a stopped vehicle or 0.
Implements SUMOVehicle.
Definition at line 157 of file MEVehicle.h.
|
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 MSVehicle::rerouteParkingArea().
|
inlinevirtual |
replace the current parking area stop with a new stop with merge duration
Implements SUMOVehicle.
Definition at line 204 of file MEVehicle.h.
|
virtual |
Replaces the current route by the given one.
Implements SUMOVehicle.
Definition at line 177 of file MEVehicle.cpp.
References MSRoute::addReference(), MSBaseVehicle::addStops(), MSRoute::begin(), MSBaseVehicle::calculateArrivalParams(), MSRoute::contains(), MSRoute::getEdges(), MSNet::getInstance(), MESegment::getLink(), MSNet::informVehicleStateListener(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myNumberReroutes, MSBaseVehicle::myRoute, mySegment, MSRoute::release(), MSLink::removeApproaching(), MELoop::setApproaching(), UNUSED_PARAMETER, and MSNet::VEHICLE_STATE_NEWROUTE.
|
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(), MSVehicle::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().
|
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().
|
virtual |
Saves the states of a vehicle.
Reimplemented from MSBaseVehicle.
Definition at line 433 of file MEVehicle.cpp.
References MSRoute::begin(), OutputDevice::closeTag(), MESegment::getEdge(), MESegment::getIndex(), getQueIndex(), MESegment::isInvalid(), myBlockTime, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myDepartPos, MSBaseVehicle::myDeparture, MSBaseVehicle::myDevices, myEventTime, myLastEntryTime, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, mySegment, myStops, MSBaseVehicle::saveState(), SUMO_ATTR_STATE, toString(), SUMOVehicleParameter::Stop::write(), OutputDevice::writeAttr(), and Parameterised::writeParams().
|
inlinevirtualinherited |
Sets this vehicle's desired arrivalPos for its current route.
Implements SUMOVehicle.
Definition at line 288 of file MSBaseVehicle.h.
References MSBaseVehicle::myArrivalPos.
|
inline |
Sets the time at which the vehicle was blocked.
[in] | t | The blocking time |
Definition at line 279 of file MEVehicle.h.
References myBlockTime, and myLastEntryTime.
Referenced by MELoop::checkCar(), and MESegment::receive().
|
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().
|
inline |
Sets the (planned) time at which the vehicle leaves his current cell.
[in] | t | The leaving time |
Definition at line 217 of file MEVehicle.h.
References MESegment::getEdge(), MSEdge::markDelayed(), myEventTime, myLastEntryTime, and mySegment.
Referenced by MELoop::checkCar(), METriggeredCalibrator::execute(), MESegment::receive(), MESegment::send(), MESegment::setSpeedForQueue(), and MELoop::teleportVehicle().
|
inline |
Sets the entry time for the current segment.
[in] | t | The entry time |
Definition at line 263 of file MEVehicle.h.
References myLastEntryTime.
Referenced by MESegment::receive().
|
inlinevirtual |
Sets the current segment the vehicle is at together with its que.
[in] | s | The current segment |
[in] | q | The current que |
Definition at line 238 of file MEVehicle.h.
References myQueIndex, and mySegment.
Referenced by MELoop::changeSegment(), METriggeredCalibrator::execute(), loadState(), MESegment::receive(), and MELoop::teleportVehicle().
|
inlinevirtual |
Returns whether the vehicle stops at the given stopping place.
Implements SUMOVehicle.
Definition at line 174 of file MEVehicle.h.
|
inlinevirtual |
Returns whether the vehicle stops at the given edge.
Implements SUMOVehicle.
Definition at line 178 of file MEVehicle.h.
|
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().
void MEVehicle::updateDetectorForWriting | ( | MSMoveReminder * | rem, |
SUMOTime | currentTime, | ||
SUMOTime | exitTime | ||
) |
Updates a single vehicle detector if present.
Definition at line 378 of file MEVehicle.cpp.
References MESegment::getIndex(), getLastEntryTime(), MESegment::getLength(), MSBaseVehicle::myMoveReminders, mySegment, and MSMoveReminder::updateDetector().
void MEVehicle::updateDetectors | ( | SUMOTime | currentTime, |
const bool | isLeave, | ||
const MSMoveReminder::Notification | reason = MSMoveReminder::NOTIFICATION_JUNCTION |
||
) |
Updates all vehicle detectors.
Definition at line 396 of file MEVehicle.cpp.
References MSBaseVehicle::getEdge(), getEventTime(), MESegment::getIndex(), getLastEntryTime(), MESegment::getLength(), MSEdge::getLength(), MSBaseVehicle::myMoveReminders, MSBaseVehicle::myOdometer, mySegment, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_SEGMENT, and MSMoveReminder::NOTIFICATION_TELEPORT.
Referenced by MESegment::receive(), MESegment::removeCar(), and MESegment::setSpeedForQueue().
|
inlinevirtualinherited |
Returns the information whether the vehicle is fully controlled via TraCI.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 172 of file MSBaseVehicle.h.
References UNUSED_PARAMETER.
|
protectedinherited |
The destination lane where the vehicle stops.
Definition at line 560 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::calculateArrivalParams(), and MSVehicle::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(), hasArrived(), MSVehicle::hasArrived(), MSVehicle::planMoveInternal(), MSBaseVehicle::reroute(), MSBaseVehicle::resetRoutePosition(), MSBaseVehicle::setArrivalPos(), and MSVehicle::updateBestLanes().
|
protected |
The time at which the vehicle was blocked on its current segment.
Definition at line 379 of file MEVehicle.h.
Referenced by getBlockTime(), getWaitingTime(), loadState(), saveState(), and setBlockTime().
|
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().
|
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(), MSVehicle::processNextStop(), and MSBaseVehicle::removeTransportable().
|
protectedinherited |
Iterator to current route-edge.
Definition at line 521 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), MSVehicle::canReverse(), GUIVehicle::drawRouteHelper(), GUIMEVehicle::drawRouteHelper(), MSVehicle::enterLaneAtMove(), MSBaseVehicle::getCurrentRouteEdge(), MSVehicle::getDistanceToPosition(), MSBaseVehicle::getEdge(), MSBaseVehicle::getRerouteOrigin(), MSVehicle::getRerouteOrigin(), MSBaseVehicle::getRoutePosition(), getStopIndices(), hasArrived(), MSVehicle::hasArrived(), MSBaseVehicle::hasValidRoute(), MSVehicle::haveValidStopEdges(), MSVehicle::leaveLane(), loadState(), MSVehicle::loadState(), moveRoutePointer(), MSVehicle::planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processLaneAdvances(), MSVehicle::processNextStop(), replaceRoute(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), MSVehicle::rerouteParkingArea(), MSBaseVehicle::resetRoutePosition(), saveState(), MSVehicle::saveState(), MSBaseVehicle::succEdge(), and MSVehicle::updateBestLanes().
|
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(), loadState(), MSVehicle::loadState(), MSBaseVehicle::onDepart(), saveState(), and MSVehicle::saveState().
|
protectedinherited |
The real departure time.
Definition at line 551 of file MSBaseVehicle.h.
Referenced by MSVehicle::enterLaneAtInsertion(), MSBaseVehicle::getDeparture(), MSBaseVehicle::hasDeparted(), loadState(), MSVehicle::loadState(), MSBaseVehicle::onDepart(), saveState(), and MSVehicle::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(), saveState(), MSVehicle::saveState(), MSBaseVehicle::setDeviceParameter(), and MSBaseVehicle::~MSBaseVehicle().
|
staticprotectedinherited |
Definition at line 573 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getContainers(), and MSBaseVehicle::getPersons().
|
protected |
The (planned) time of leaving the segment (cell)
Definition at line 373 of file MEVehicle.h.
Referenced by getAverageSpeed(), getConservativeSpeed(), getEventTime(), getWaitingTime(), hasArrived(), loadState(), saveState(), and setEventTime().
|
protected |
The time the vehicle entered its current segment.
Definition at line 376 of file MEVehicle.h.
Referenced by getAverageSpeed(), getConservativeSpeed(), getCurrentStoppingTimeSeconds(), getLastEntryTime(), loadState(), processStop(), saveState(), setBlockTime(), setEventTime(), and setLastEntryTime().
|
protectedinherited |
Currently relevant move reminders.
Definition at line 538 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::activateReminders(), MSVehicle::activateReminders(), MSVehicle::adaptLaneEntering2MoveReminder(), MSBaseVehicle::addContainer(), MSBaseVehicle::addPerson(), MSBaseVehicle::addReminder(), GUIBaseVehicle::GUIBaseVehicle(), MSVehicle::leaveLane(), MSBaseVehicle::MSBaseVehicle(), MSBaseVehicle::removeReminder(), updateDetectorForWriting(), updateDetectors(), and MSVehicle::workOnMoveReminders().
|
protectedinherited |
The number of reroutings.
Definition at line 563 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getNumberReroutes(), replaceRoute(), and MSVehicle::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(), MSVehicle::leaveLane(), and updateDetectors().
|
protectedinherited |
This vehicle's parameter.
Definition at line 512 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::addContainer(), MSBaseVehicle::addPerson(), MSVehicle::addStop(), MSBaseVehicle::addStops(), MSVehicle::addTraciStop(), MSBaseVehicle::calculateArrivalParams(), MSBaseVehicle::createDevice(), MSVehicle::enterLaneAtMove(), GUIVehicle::getColorValue(), MSBaseVehicle::getContainerNumber(), MSBaseVehicle::getID(), MSBaseVehicle::getParameter(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), MSBaseVehicle::getPersonNumber(), moveRoutePointer(), MSBaseVehicle::MSBaseVehicle(), MSVehicle::planMoveInternal(), MSBaseVehicle::replaceParameter(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), MSBaseVehicle::resetRoutePosition(), saveState(), MSBaseVehicle::saveState(), MSVehicle::saveState(), MSVehicle::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(), MSVehicle::processNextStop(), and MSBaseVehicle::removeTransportable().
|
protected |
Index of the que the vehicle is in (important for multiqueue extension)
Definition at line 370 of file MEVehicle.h.
Referenced by getQueIndex(), and setSegment().
|
protectedinherited |
This vehicle's route.
Definition at line 515 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), MSBaseVehicle::addStops(), MSVehicle::basePos(), MSBaseVehicle::calculateArrivalParams(), MSVehicle::canReverse(), GUIVehicle::drawRouteHelper(), MSVehicle::getDistanceToPosition(), GUIVehicle::getPreviousLane(), MSVehicle::getRerouteOrigin(), MSBaseVehicle::getRoute(), MSBaseVehicle::getRoutePosition(), getStopIndices(), MSVehicle::getStopIndices(), hasArrived(), MSVehicle::hasArrived(), MSBaseVehicle::hasValidRoute(), MSVehicle::haveValidStopEdges(), moveRoutePointer(), MSBaseVehicle::MSBaseVehicle(), MSVehicle::planMoveInternal(), MSVehicle::processLaneAdvances(), MSVehicle::replaceParkingArea(), replaceRoute(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), MSVehicle::rerouteParkingArea(), MSBaseVehicle::resetRoutePosition(), saveState(), MSBaseVehicle::saveState(), MSVehicle::saveState(), MSBaseVehicle::succEdge(), MSVehicle::updateBestLanes(), and MSBaseVehicle::~MSBaseVehicle().
|
protected |
The segment the vehicle is at.
Definition at line 367 of file MEVehicle.h.
Referenced by getAverageSpeed(), getConservativeSpeed(), getCurrentLinkPenaltySeconds(), getCurrentStoppingTimeSeconds(), getPositionOnLane(), getSegment(), hasArrived(), isStopped(), mayProceed(), processStop(), replaceRoute(), saveState(), setEventTime(), setSegment(), updateDetectorForWriting(), and updateDetectors().
|
protected |
edges to stop
Definition at line 385 of file MEVehicle.h.
Referenced by addStop(), getStopEdges(), getStopIndices(), and processStop().
|
protected |
where to stop
Definition at line 382 of file MEVehicle.h.
Referenced by addStop(), getStoptime(), isStopped(), processStop(), and saveState().
|
protectedinherited |
This vehicle's type.
Definition at line 518 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), MSBaseVehicle::calculateArrivalParams(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSVehicle::enterLaneAtInsertion(), MSVehicle::executeMove(), MSVehicle::getActionStepLength(), MSVehicle::getActionStepLengthSecs(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), MSVehicle::getBoundingBox(), MSVehicle::getBoundingPoly(), MSVehicle::getCarFollowModel(), MSVehicle::getCO2Emissions(), MSVehicle::getCOEmissions(), MSVehicle::getElectricityConsumption(), MSVehicle::getFuelConsumption(), MSVehicle::getHarmonoise_NoiseEmissions(), MSVehicle::getHCEmissions(), MSBaseVehicle::getLength(), MSBaseVehicle::getMaxSpeed(), MSVehicle::getMaxSpeedOnLane(), MSVehicle::getNOxEmissions(), MSVehicle::getPMxEmissions(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getSingularType(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), MSBaseVehicle::getVClass(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::getWidth(), MSBaseVehicle::hasValidRoute(), MSVehicle::processLaneAdvances(), MSVehicle::processNextStop(), MSBaseVehicle::replaceVehicleType(), MSVehicle::updateBestLanes(), and MSVehicle::~MSVehicle().
|
staticprotectedinherited |
Definition at line 571 of file MSBaseVehicle.h.
Referenced by MSVehicle::enterLaneAtInsertion(), MSBaseVehicle::hasDeparted(), and MSVehicle::Influencer::postProcessRemoteControl().