![]() |
Eclipse SUMO - Simulation of Urban MObility
|
The base class for microscopic and mesoscopic vehicles. More...
#include <MSBaseVehicle.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... | |
virtual bool | addStop (const SUMOVehicleParameter::Stop &stopPar, std::string &errorMsg, SUMOTime untilOffset=0, bool collision=false, ConstMSEdgeVector::const_iterator *searchStart=0)=0 |
Adds a stop. More... | |
void | createDevice (const std::string &deviceName) |
create device of the given type More... | |
virtual double | getAcceleration () const |
Returns the vehicle's acceleration. More... | |
virtual SUMOTime | getAccumulatedWaitingTime () const =0 |
virtual double | getAngle () const =0 |
Get the vehicle's angle. More... | |
virtual double | getArrivalPos () const |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute) More... | |
virtual double | getBackPositionOnLane (const MSLane *lane) const =0 |
Get the vehicle's back position along the given lane. More... | |
virtual double | getBrakeGap () const =0 |
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... | |
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... | |
const MSEdge * | getEdge () const |
Returns the edge the vehicle is currently at. More... | |
const std::string & | getID () const |
Returns the name of the vehicle. More... | |
double | getImpatience () const |
Returns this vehicles impatience. More... | |
virtual MSLane * | getLane () const =0 |
Returns the lane the vehicle is on. 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... | |
virtual MSParkingArea * | getNextParkingArea ()=0 |
int | getNumberReroutes () const |
Returns the number of new routes this vehicle got. More... | |
const SUMOVehicleParameter & | getParameter () const |
Returns the vehicle's parameter (including departure definition) More... | |
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... | |
virtual Position | getPosition (const double offset=0) const =0 |
Return current position (x/y, cartesian) More... | |
virtual double | getPositionOnLane () const =0 |
Get the vehicle's position along the lane. More... | |
double | getPreviousSpeed () const |
Returns the vehicle's previous speed. 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... | |
MSVehicleType & | getSingularType () |
Replaces the current vehicle type with a new one used by this vehicle only. More... | |
virtual double | getSlope () const |
Returns the slope of the road at vehicle's position. More... | |
virtual double | getSpeed () const =0 |
Returns the vehicle's current speed. More... | |
virtual std::vector< std::pair< int, double > > | getStopIndices () const =0 |
return list of route indices and stop positions for the remaining stops More... | |
SUMOVehicleClass | getVClass () const |
Returns the vehicle's access class. More... | |
const MSVehicleType & | getVehicleType () const |
Returns the vehicle's type definition. More... | |
virtual SUMOTime | getWaitingTime () const =0 |
double | getWidth () const |
Returns the vehicle's width. More... | |
virtual bool | hasArrived () const |
Returns whether this vehicle has already arived (by default this is true if the vehicle has reached 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... | |
virtual bool | isOnRoad () const |
Returns the information whether the vehicle is on a road (is simulated) More... | |
virtual bool | isParking () const =0 |
Returns the information whether the vehicle is parked. More... | |
virtual bool | isRemoteControlled () const |
Returns the information whether the vehicle is fully controlled via TraCI. More... | |
virtual bool | isStopped () const =0 |
Returns whether the vehicle is at a stop. More... | |
virtual bool | isStoppedInRange (const double pos, const double tolerance) const =0 |
Returns whether the vehicle is stopped in the range of the given position. More... | |
virtual bool | isStoppedTriggered () const =0 |
Returns whether the vehicle is at a stop and waiting for a person or container to continue. More... | |
bool | isVehicle () const |
Get the vehicle's ID. More... | |
MSBaseVehicle (SUMOVehicleParameter *pars, const MSRoute *route, MSVehicleType *type, const double speedFactor) | |
Constructor. More... | |
void | onDepart () |
Called when the vehicle is inserted into the network. More... | |
virtual SUMOTime | remainingStopDuration () const =0 |
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... | |
virtual bool | replaceParkingArea (MSParkingArea *parkingArea, std::string &errorMsg)=0 |
Replaces a stop. More... | |
virtual bool | replaceRoute (const MSRoute *route, const std::string &info, bool onInit=false, int offset=0, bool addStops=true, bool removeStops=true)=0 |
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... | |
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... | |
virtual bool | stopsAt (MSStoppingPlace *stop) const =0 |
Returns whether the vehicle stops at the given stopping place. More... | |
const MSEdge * | succEdge (int nSuccs) const |
Returns the nSuccs'th successor of edge the vehicle is currently at. More... | |
virtual bool | wasRemoteControlled (SUMOTime lookBack=DELTA_T) const |
Returns the information whether the vehicle is fully controlled via TraCI. More... | |
virtual | ~MSBaseVehicle () |
Destructor. More... | |
state io | |
virtual void | loadState (const SUMOSAXAttributes &attrs, const SUMOTime offset)=0 |
Loads the state of this vehicle from the given description. 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... | |
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 Member Functions | |
MSBaseVehicle & | operator= (const MSBaseVehicle &s) |
invalidated assignment operator More... | |
Private Attributes | |
const NumericalID | myNumericalID |
Static Private Attributes | |
static NumericalID | myCurrentNumericalIndex = 0 |
Friends | |
class | GUIBaseVehicle |
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... | |
virtual void | saveState (OutputDevice &out) |
Saves the (common) state of a vehicle. 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... | |
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... | |
virtual const ConstMSEdgeVector | getStopEdges (double &firstPos, double &lastPos) const =0 |
Returns the list of still pending stop edges. 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... | |
The base class for microscopic and mesoscopic vehicles.
Definition at line 52 of file MSBaseVehicle.h.
|
protected |
Definition of a move reminder container.
Definition at line 516 of file MSBaseVehicle.h.
|
inherited |
Definition at line 63 of file SUMOVehicle.h.
MSBaseVehicle::MSBaseVehicle | ( | 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 73 of file MSBaseVehicle.cpp.
References MSRoute::addReference(), MSRoute::begin(), MSDevice::buildVehicleDevices(), calculateArrivalParams(), MSGlobals::gCheckRoutes, MSRoute::getLastEdge(), hasValidRoute(), SUMOVehicleParameter::id, MSEdge::isTazConnector(), myDevices, myMoveReminders, myParameter, myRoute, SUMOVehicleParameter::parametersSet, VEHPARS_FORCE_REROUTE, and SUMOVehicleParameter::wasSet().
|
virtual |
Destructor.
Definition at line 124 of file MSBaseVehicle.cpp.
References MSRoute::checkDist(), myDevices, myParameter, myRoute, MSRoute::release(), SUMOVehicleParameter::repetitionNumber, and SUMOVehicleParameter::routeid.
|
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 in MSVehicle.
Definition at line 458 of file MSBaseVehicle.cpp.
References myMoveReminders.
Referenced by MESegment::receive(), and MELoop::teleportVehicle().
|
virtual |
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 391 of file MSBaseVehicle.cpp.
References MSDevice_Transportable::addTransportable(), MSDevice_Transportable::buildVehicleDevices(), SUMOVehicleParameter::depart, DEPART_TRIGGERED, SUMOVehicleParameter::departProcedure, MSNet::getCurrentTimeStep(), MSNet::getInstance(), myContainerDevice, myDevices, myMoveReminders, and myParameter.
Referenced by MSVehicle::addContainer().
|
virtual |
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 379 of file MSBaseVehicle.cpp.
References MSDevice_Transportable::addTransportable(), MSDevice_Transportable::buildVehicleDevices(), SUMOVehicleParameter::depart, DEPART_TRIGGERED, SUMOVehicleParameter::departProcedure, MSNet::getCurrentTimeStep(), MSNet::getInstance(), myDevices, myMoveReminders, myParameter, and myPersonDevice.
Referenced by MSVehicle::addPerson().
void MSBaseVehicle::addReminder | ( | MSMoveReminder * | rem | ) |
Adds a MoveReminder dynamically.
[in] | rem | the reminder to add |
Definition at line 431 of file MSBaseVehicle.cpp.
References myMoveReminders.
Referenced by MSVehicle::adaptLaneEntering2MoveReminder(), MESegment::addReminders(), MSVehicle::enterLaneAtInsertion(), MSVehicle::enterLaneAtLaneChange(), and MSVehicle::processNextStop().
|
pure virtualinherited |
Adds a stop.
The stop is put into the sorted list.
[in] | stop | The stop to add |
Implemented in MSVehicle, and MEVehicle.
Referenced by addStops().
void MSBaseVehicle::addStops | ( | const bool | ignoreStopErrors | ) |
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 559 of file MSBaseVehicle.cpp.
References SUMOVehicle::addStop(), SUMOVehicleParameter::depart, MSRoute::getStops(), myParameter, myRoute, SUMOVehicleParameter::repetitionOffset, SUMOVehicleParameter::repetitionsDone, SUMOVehicleParameter::stops, and WRITE_WARNING.
Referenced by GUIMEVehicleControl::buildVehicle(), MEVehicleControl::buildVehicle(), GUIVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), MSVehicle::replaceRoute(), and MEVehicle::replaceRoute().
|
protected |
(Re-)Calculates the arrival position and lane from the vehicle parameters
Definition at line 480 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, Named::getID(), getID(), MSEdge::getLanes(), MSRoute::getLastEdge(), MSVehicleType::getVehicleClass(), MSEdge::isTazConnector(), MAX2(), MIN2(), myArrivalLane, myArrivalPos, myParameter, myRoute, myType, RandHelper::rand(), toString(), and WRITE_WARNING.
Referenced by MSBaseVehicle(), MSVehicle::replaceRoute(), MEVehicle::replaceRoute(), and reroute().
void MSBaseVehicle::createDevice | ( | const std::string & | deviceName | ) |
create device of the given type
Definition at line 650 of file MSBaseVehicle.cpp.
References MSDevice_Routing::buildVehicleDevices(), getDevice(), hasDeparted(), hasDevice(), myDevices, myParameter, MSMoveReminder::NOTIFICATION_DEPARTED, and MSDevice_Routing::notifyEnter().
Referenced by libsumo::Vehicle::setParameter().
|
virtual |
Returns the vehicle's acceleration.
This default implementation returns always 0.
Implements SUMOTrafficObject.
Reimplemented in MSVehicle.
Definition at line 348 of file MSBaseVehicle.cpp.
|
pure virtualinherited |
Implemented in MSVehicle, and MEVehicle.
Referenced by MSTriggeredRerouter::notifyEnter().
|
pure virtualinherited |
Get the vehicle's angle.
Implements SUMOTrafficObject.
Implemented in MSVehicle, GUIMEVehicle, GUIVehicle, and MEVehicle.
Referenced by MSDevice_Battery::notifyMove(), MSEmissionExport::write(), MSFCDExport::write(), and MSFullExport::writeVehicles().
|
inlinevirtual |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
Implements SUMOVehicle.
Definition at line 277 of file MSBaseVehicle.h.
References myArrivalPos.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLane::isInsertionSuccess(), and MSVehicle::rerouteParkingArea().
|
pure virtualinherited |
Get the vehicle's back position along the given lane.
Implemented in MSVehicle, MEVehicle, and MSTransportable.
Referenced by MSE3Collector::MSE3EntryReminder::notifyEnter(), MSInductLoop::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), and MSE2Collector::notifyEnter().
|
pure virtualinherited |
get distance for coming to a stop (used for rerouting checks)
Implemented in MSVehicle, and MEVehicle.
Referenced by MSTriggeredRerouter::rerouteParkingArea().
|
inlinevirtual |
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Implements SUMOTrafficObject.
Definition at line 410 of file MSBaseVehicle.h.
References myChosenSpeedFactor.
Referenced by MSLane::getDepartSpeed(), GUIVehicle::getParameterWindow(), and GUIMEVehicle::getParameterWindow().
|
inline |
Definition at line 478 of file MSBaseVehicle.h.
References myContainerDevice.
Referenced by GUIBaseVehicle::getNumContainers().
|
virtual |
Returns the number of containers.
Implements SUMOVehicle.
Definition at line 599 of file MSBaseVehicle.cpp.
References SUMOVehicleParameter::containerNumber, myContainerDevice, myParameter, and MSDevice_Transportable::size().
Referenced by GUIVehicle::getParameterWindow(), MSVehicle::processNextStop(), MEVehicle::processStop(), and MSXMLRawOut::writeVehicle().
|
virtual |
retrieve riding containers
Implements SUMOVehicle.
Definition at line 628 of file MSBaseVehicle.cpp.
References MSDevice_Transportable::getTransportables(), myContainerDevice, and myEmptyTransportableVector.
Referenced by MSXMLRawOut::writeVehicle().
|
inlinevirtual |
Returns an iterator pointing to the current edge in this vehicles route.
Implements SUMOVehicle.
Definition at line 200 of file MSBaseVehicle.h.
References myCurrEdge.
Referenced by MSDevice_SSM::findFoeConflictLane(), libsumo::Vehicle::getDistance(), libsumo::Vehicle::getNextTLS(), MSRailSignal::hasOncomingRailTraffic(), libsumo::Vehicle::moveTo(), and libsumo::Vehicle::moveToXY().
|
inlinevirtual |
Returns the depart delay.
Implements SUMOVehicle.
Definition at line 261 of file MSBaseVehicle.h.
References SUMOVehicleParameter::depart, getDeparture(), and getParameter().
Referenced by GUIMEVehicle::getColorValue(), GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and GUIMEVehicle::getParameterWindow().
|
inlinevirtual |
Returns this vehicle's real departure position.
Implements SUMOVehicle.
Definition at line 269 of file MSBaseVehicle.h.
References myDepartPos.
Referenced by libsumo::Vehicle::getDistance().
|
inlinevirtual |
Returns this vehicle's real departure time.
Implements SUMOVehicle.
Definition at line 256 of file MSBaseVehicle.h.
References myDeparture.
Referenced by getDepartDelay(), and MSVehicle::Influencer::postProcessRemoteControl().
|
virtual |
Returns a device of the given type if it exists or 0.
Implements SUMOVehicle.
Definition at line 532 of file MSBaseVehicle.cpp.
References myDevices.
Referenced by createDevice(), GUIBaseVehicle::drawOnPos(), MSVehicle::MSVehicle(), MEVehicle::processStop(), GUIVehicle::rerouteDRTStop(), MSVehicle::resumeFromStopping(), and MSBatteryExport::write().
std::string MSBaseVehicle::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
Definition at line 669 of file MSBaseVehicle.cpp.
References myDevices.
Referenced by libsumo::Vehicle::getParameter().
|
inlinevirtual |
Returns this vehicle's devices.
Implements SUMOVehicle.
Definition at line 325 of file MSBaseVehicle.h.
References myDevices.
|
virtual |
Returns the edge the vehicle is currently at.
Implements SUMOTrafficObject.
Definition at line 170 of file MSBaseVehicle.cpp.
References myCurrEdge.
Referenced by MSVehicleTransfer::add(), MELoop::changeSegment(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), MSVehicle::enterLaneAtLaneChange(), METriggeredCalibrator::execute(), MSDevice_SSM::findFoeConflictLane(), MSVehicle::Influencer::gapControlSpeed(), MEVehicle::getAngle(), libsumo::Vehicle::getDrivingDistance2D(), GUIMEVehicle::getEdgeID(), MSVehicle::getLatOffset(), MSCFModel_CC::getParameter(), MEVehicle::getPosition(), getRNG(), MEVehicle::getSlope(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), MESegment::receive(), MSVehicle::rerouteParkingArea(), MELoop::teleportVehicle(), MSBatteryExport::write(), and MSFCDExport::write().
|
virtual |
Returns the name of the vehicle.
Implements SUMOTrafficObject.
Definition at line 137 of file MSBaseVehicle.cpp.
References SUMOVehicleParameter::id, and myParameter.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSCFModel_Wiedemann::_v(), MSCFModel_ACC::_v(), MSCFModel_CACC::_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(), calculateArrivalParams(), MSLaneChangerSublane::change(), MSLaneChanger::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(), MSLaneChanger::checkTraCICommands(), MSAbstractLaneChangeModel::checkTraCICommands(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::closeEncounter(), MSLCM_SL2015::commitManoeuvre(), MSVehicle::computeAngle(), MSLCM_SL2015::computeSpeedLat(), MSDevice_SSM::computeSSMs(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), MSLCM_SL2015::decideDirection(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSDevice_SSM::Encounter::Encounter(), MSCalibrator::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel::finalizeSpeed(), MSLaneChanger::findCandidate(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushGlobalMeasures(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), MSVehicle::getCenterOnEdge(), 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(), 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_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::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(), TraCIServerAPI_GUI::processGet(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), MSVehicle::processTraCISpeedControl(), MSVehicle::removePassedDriveItems(), replaceRouteEdges(), reroute(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), libsumo::Vehicle::resume(), MSLane::safeInsertionSpeed(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), 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().
|
virtual |
Returns this vehicles impatience.
Implements SUMOVehicle.
Definition at line 525 of file MSBaseVehicle.cpp.
References 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().
|
pure virtualinherited |
Returns the lane the vehicle is on.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSParkingArea::getLastFreePosWithReservation(), getRNG(), libsumo::Vehicle::isOnInit(), MSTriggeredRerouter::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Battery::notifyMove(), MSDevice_Bluelight::notifyMove(), reroute(), and MSFCDExport::write().
|
inlinevirtual |
Get the vehicle's lateral position on the lane.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 183 of file MSBaseVehicle.h.
|
inline |
Returns the vehicle's length.
Definition at line 394 of file MSBaseVehicle.h.
References MSVehicleType::getLength(), and myType.
Referenced by MSVehicle::addStop(), libsumo::Helper::applySubscriptionFilters(), MSVehicle::basePos(), MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determineTTCandDRAC(), GUIMEVehicle::drawAction_drawCarriageClass(), MSVehicle::enterLaneAtInsertion(), MSDevice_SSM::findSurroundingVehicles(), MSVehicle::Influencer::gapControlSpeed(), MSLink::getLeaderInfo(), MSDevice_SSM::getUpstreamVehicles(), libsumo::Vehicle::highlight(), MSVehicle::updateFurtherLanes(), and MSDevice_SSM::updatePassedEncounter().
|
virtual |
Returns the maximum speed.
Implements SUMOTrafficObject.
Definition at line 154 of file MSBaseVehicle.cpp.
References MSVehicleType::getMaxSpeed(), and myType.
Referenced by MSCFModel_Wiedemann::_v(), MSVehicleTransfer::checkInsertions(), MSCFModel_ACC::followSpeed(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), and MSVehicle::Influencer::implicitDeltaPosRemote().
|
pure virtualinherited |
returns the next imminent stop in the stop queue
Implemented in MSVehicle, and MEVehicle.
Referenced by MSTriggeredRerouter::notifyEnter(), and MSTriggeredRerouter::rerouteParkingArea().
|
inlinevirtual |
Returns the number of new routes this vehicle got.
Implements SUMOVehicle.
Definition at line 299 of file MSBaseVehicle.h.
References myNumberReroutes.
Referenced by GUIBaseVehicle::drawGLAdditional(), GUIMEVehicle::getColorValue(), GUIVehicle::getColorValue(), and replaceRouteEdges().
|
inlinevirtual |
return the numerical ID which is only for internal usage
Implements SUMOVehicle.
Definition at line 470 of file MSBaseVehicle.h.
References myNumericalID.
Referenced by MSVehicleTransfer::VehicleInformation::operator<().
|
virtual |
Returns the vehicle's parameter (including departure definition)
Implements SUMOVehicle.
Definition at line 143 of file MSBaseVehicle.cpp.
References myParameter.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), GUIBaseVehicle::drawOnPos(), 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().
|
inline |
Definition at line 474 of file MSBaseVehicle.h.
References myPersonDevice.
Referenced by GUIBaseVehicle::getNumPassengers().
|
virtual |
Returns the list of persons.
Implements SUMOVehicle.
Definition at line 589 of file MSBaseVehicle.cpp.
References getPersons().
Referenced by libsumo::Vehicle::getPersonIDList().
|
virtual |
Returns the number of persons.
Implements SUMOVehicle.
Definition at line 583 of file MSBaseVehicle.cpp.
References myParameter, myPersonDevice, SUMOVehicleParameter::personNumber, and MSDevice_Transportable::size().
Referenced by GUIVehicle::getParameterWindow(), libsumo::Vehicle::getPersonNumber(), MSVehicle::processNextStop(), MEVehicle::processStop(), and MSXMLRawOut::writeVehicle().
|
virtual |
retrieve riding persons
Implements SUMOVehicle.
Definition at line 618 of file MSBaseVehicle.cpp.
References MSDevice_Transportable::getTransportables(), myEmptyTransportableVector, and myPersonDevice.
Referenced by getPersonIDList(), MSVehicle::rerouteParkingArea(), and MSXMLRawOut::writeVehicle().
|
pure virtualinherited |
Return current position (x/y, cartesian)
If the vehicle is not in the net, Position::INVALID.
[in] | offset | optional offset in longitudinal direction |
Implemented in MSTransportable, MSVehicle, MEVehicle, GUIMEVehicle, and GUIVehicle.
Referenced by MSVTypeProbe::execute(), PolygonDynamics::initTrackedPosition(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), PolygonDynamics::update(), MSEmissionExport::write(), MSFCDExport::write(), and MSFullExport::writeVehicles().
|
pure virtualinherited |
Get the vehicle's position along the lane.
Implemented in MSTransportable, MSVehicle, and MEVehicle.
Referenced by MSVTypeProbe::execute(), MSDevice_Tripinfo::generateOutput(), MSE2Collector::makeVehicleInfo(), MSDevice_Vehroutes::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSInductLoop::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Battery::notifyMove(), onDepart(), reroute(), MSStopOut::stopEnded(), MSEmissionExport::write(), MSFCDExport::write(), MSXMLRawOut::writeVehicle(), and MSFullExport::writeVehicles().
|
virtual |
Returns the vehicle's previous speed.
Implements SUMOTrafficObject.
Reimplemented in MSVehicle.
Definition at line 68 of file MSBaseVehicle.cpp.
|
inlinevirtual |
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 192 of file MSBaseVehicle.h.
References myCurrEdge.
Referenced by replaceRouteEdges(), and reroute().
|
virtual |
Implements SUMOVehicle.
Definition at line 712 of file MSBaseVehicle.cpp.
References getEdge(), SUMOVehicle::getLane(), MSEdge::getLanes(), and MSLane::getRNG().
Referenced by MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSCFModel_Kerner::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_W99::followSpeed(), MSCFModel_PWag2009::followSpeed(), MSCFModel_KraussX::patchSpeedBeforeLC(), MSCFModel_Krauss::patchSpeedBeforeLC(), MSCFModel_KraussOrig1::patchSpeedBeforeLC(), MSCFModel_SmartSK::patchSpeedBeforeLC(), MSVehicle::setApproachingForAllLinks(), and MSCFModel_SmartSK::updateMyHeadway().
|
inlinevirtual |
Returns the current route.
Implements SUMOVehicle.
Definition at line 110 of file MSBaseVehicle.h.
References myRoute.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), GUIBaseVehicle::drawRoute(), MSDevice_SSM::findFoeConflictLane(), MSEdge::getDepartLane(), libsumo::Vehicle::getDistance(), 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().
MSVehicleType & MSBaseVehicle::getSingularType | ( | ) |
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 702 of file MSBaseVehicle.cpp.
References MSVehicleType::buildSingularType(), getID(), MSVehicleType::getID(), MSVehicleType::isVehicleSpecific(), myType, and replaceVehicleType().
Referenced by TraCIServerAPI_Vehicle::processSet(), MSVehicle::setActionStepLength(), and MSDevice_ToC::setState().
|
virtual |
Returns the slope of the road at vehicle's position.
This default implementation returns always 0.
Implements SUMOTrafficObject.
Reimplemented in MSVehicle, and MEVehicle.
Definition at line 354 of file MSBaseVehicle.cpp.
|
pure virtualinherited |
Returns the vehicle's current speed.
Implemented in MSTransportable, MSVehicle, GUIContainer, GUIPerson, and MEVehicle.
Referenced by MSChargingStation::addChargeValueForOutput(), MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSInductLoop::collectVehiclesOnDet(), MSE3Collector::detectorUpdate(), GUIBaseVehicle::drawOnPos(), MSE3Collector::enter(), MSVTypeProbe::execute(), MSVehicle::Influencer::gapControlSpeed(), MSVehicleControl::getHaltingVehicleNo(), MSCFModel_CC::getRadarMeasurements(), MSVehicleControl::getVehicleMeanSpeeds(), MSE3Collector::leave(), MSDevice_Vehroutes::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSInstantInductLoop::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Battery::notifyMove(), MSDevice_Bluelight::notifyMove(), MSEmissionExport::write(), MSFCDExport::write(), MSAmitranTrajectories::writeVehicle(), MSXMLRawOut::writeVehicle(), and MSFullExport::writeVehicles().
|
protectedpure virtual |
|
pure virtualinherited |
|
inlinevirtual |
Returns the vehicle's access class.
Implements SUMOTrafficObject.
Definition at line 126 of file MSBaseVehicle.h.
References MSVehicleType::getParameter(), myType, and SUMOVTypeParameter::vehicleClass.
Referenced by MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), GUIVehicle::drawRouteHelper(), libsumo::Vehicle::getNextTLS(), MSLane::getStopOffset(), MSPedestrianPushButton::isActiveForEdge(), libsumo::Vehicle::moveToXY(), and reroute().
|
inlinevirtual |
Returns the vehicle's type definition.
Implements SUMOTrafficObject.
Definition at line 118 of file MSBaseVehicle.h.
References 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(), MSLCM_SL2015::computeSpeedLat(), MSAbstractLaneChangeModel::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(), MEVehicle::estimateLeaveSpeed(), MSVehicle::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(), 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(), 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_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), 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().
|
pure virtualinherited |
Implemented in MSVehicle, MSTransportable, and MEVehicle.
Referenced by getImpatience(), MSTriggeredRerouter::notifyEnter(), and MSDevice_Tripinfo::notifyMoveInternal().
|
inline |
Returns the vehicle's width.
Definition at line 402 of file MSBaseVehicle.h.
References MSVehicleType::getWidth(), and myType.
Referenced by MSDevice_SSM::classifyEncounter(), MSAbstractLaneChangeModel::determineTargetLane(), GUIMEVehicle::drawAction_drawCarriageClass(), GUIVehicle::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 (by default this is true if the vehicle has reached its final edge)
Implements SUMOTrafficObject.
Reimplemented in MSVehicle, and MEVehicle.
Definition at line 374 of file MSBaseVehicle.cpp.
References succEdge().
|
virtual |
Returns whether this vehicle has already departed.
Implements SUMOVehicle.
Definition at line 368 of file MSBaseVehicle.cpp.
References myDeparture, and NOT_YET_DEPARTED.
Referenced by MSVehicle::addStop(), createDevice(), MSLane::forceVehicleInsertion(), libsumo::Vehicle::getRouteIndex(), MEVehicle::loadState(), MSVehicle::loadState(), libsumo::Vehicle::moveTo(), libsumo::Vehicle::remove(), and saveState().
bool MSBaseVehicle::hasDevice | ( | const std::string & | deviceName | ) | const |
check whether the vehicle is equiped with a device of the given type
Definition at line 639 of file MSBaseVehicle.cpp.
References myDevices.
Referenced by createDevice(), and libsumo::Vehicle::getParameter().
|
virtual |
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 403 of file MSBaseVehicle.cpp.
References MSRoute::begin(), MSRoute::end(), MSVehicleType::getVehicleClass(), myCurrEdge, myRoute, and myType.
Referenced by MESegment::initialise(), libsumo::Vehicle::isRouteValid(), MSBaseVehicle(), replaceRouteEdges(), and libsumo::Vehicle::setRouteID().
|
inlinevirtual |
Returns the information whether the front of the vehhicle is on the given lane.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 175 of file MSBaseVehicle.h.
|
inlinevirtual |
Returns the information whether the vehicle is on a road (is simulated)
Implements SUMOVehicle.
Reimplemented in MSVehicle, and MEVehicle.
Definition at line 155 of file MSBaseVehicle.h.
Referenced by GUIBaseVehicle::drawGLAdditional(), and MSXMLRawOut::writeVehicle().
|
pure virtualinherited |
Returns the information whether the vehicle is parked.
Implemented in MSVehicle, and MEVehicle.
Referenced by GUIVehicleControl::insertVehicleIDs(), libsumo::Vehicle::isVisible(), and MSFCDExport::write().
|
inlinevirtual |
Returns the information whether the vehicle is fully controlled via TraCI.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 163 of file MSBaseVehicle.h.
|
inlinevirtual |
whether this vehicle is selected in the GUI
Implements SUMOVehicle.
Reimplemented in GUIVehicle.
Definition at line 463 of file MSBaseVehicle.h.
Referenced by MSCFModel_Wiedemann::_v(), and MSCFModel_IDM::followSpeed().
|
pure virtualinherited |
Returns whether the vehicle is at a stop.
Implemented in MSVehicle, MSTransportable, and MEVehicle.
Referenced by MSVehicleControl::getVehicleMeanSpeeds(), MSDevice_Transportable::notifyMove(), MSDevice_Tripinfo::notifyMove(), and MSDevice_Transportable::removeTransportable().
|
pure virtualinherited |
|
pure virtualinherited |
|
inlinevirtual |
Get the vehicle's ID.
Implements SUMOTrafficObject.
Definition at line 79 of file MSBaseVehicle.h.
|
pure virtualinherited |
Loads the state of this vehicle from the given description.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSStateHandler::closeVehicle().
|
virtual |
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 360 of file MSBaseVehicle.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), SUMOTrafficObject::getPositionOnLane(), MSNet::getVehicleControl(), myDepartPos, myDeparture, and MSVehicleControl::vehicleDeparted().
Referenced by MSVehicle::enterLaneAtInsertion(), MSVehicle::Influencer::postProcessRemoteControl(), and MESegment::receive().
|
private |
invalidated assignment operator
|
pure virtualinherited |
void MSBaseVehicle::removeReminder | ( | MSMoveReminder * | rem | ) |
Removes a MoveReminder dynamically.
[in] | rem | the reminder to remove |
Definition at line 442 of file MSBaseVehicle.cpp.
References myMoveReminders.
|
virtual |
removes a person or container
Implements SUMOVehicle.
Definition at line 606 of file MSBaseVehicle.cpp.
References myContainerDevice, myPersonDevice, and MSDevice_Transportable::removeTransportable().
|
virtual |
replace the vehicle parameter (deleting the old one)
Implements SUMOVehicle.
Definition at line 148 of file MSBaseVehicle.cpp.
References myParameter.
Referenced by MSVehicle::rerouteParkingArea().
|
pure virtualinherited |
Replaces a stop.
The stop replace the next stop into the sorted list.
[in] | stop | The stop to add |
Implemented in MSVehicle, and MEVehicle.
Referenced by MSTriggeredRerouter::notifyEnter().
|
pure virtualinherited |
Replaces the current route by the given one.
Implemented in MEVehicle, and MSVehicle.
Referenced by MSTriggeredRerouter::notifyEnter(), MSDevice_Routing::preInsertionReroute(), and replaceRouteEdges().
|
virtual |
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 292 of file MSBaseVehicle.cpp.
References MSRoute::addReference(), MSRoute::begin(), RGBColor::DEFAULT_COLOR, MSRoute::dictionary(), StringUtils::endsWith(), MSGlobals::gCheckRoutes, MSRoute::getColor(), MSRoute::getEdges(), Named::getID(), getID(), getNumberReroutes(), getRerouteOrigin(), hasValidRoute(), myCurrEdge, 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(), reroute(), GUIVehicle::rerouteDRTStop(), MSVehicle::rerouteParkingArea(), and libsumo::Vehicle::setRoute().
void MSBaseVehicle::replaceVehicleType | ( | MSVehicleType * | type | ) |
Replaces the current vehicle type by the one given.
If the currently used vehicle type is marked as being used by this vehicle only, it is deleted, first. The new, given type is then assigned to "myType".
[in] | type | The new vehicle type |
Definition at line 692 of file MSBaseVehicle.cpp.
References MSNet::getInstance(), MSNet::getVehicleControl(), MSVehicleType::isVehicleSpecific(), myType, and MSVehicleControl::removeVType().
Referenced by getSingularType(), libsumo::Vehicle::setType(), and MSDevice_ToC::switchHolderType().
|
virtual |
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 176 of file MSBaseVehicle.cpp.
References MSEdge::allowedLanes(), calculateArrivalParams(), SUMOAbstractRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::computeLooped(), DEBUG_COND, MSInsertionControl::descheduleDeparture(), MSEdge::dictionary(), MSRoute::end(), SUMOVehicleParameter::fromTaz, MSGlobals::gCheckRoutes, MSRoute::getEdges(), Named::getID(), getID(), MSNet::getInsertionControl(), MSNet::getInstance(), SUMOVehicle::getLane(), MSRoute::getLastEdge(), SUMOTrafficObject::getPositionOnLane(), getRerouteOrigin(), getStopEdges(), getVClass(), MSEdge::isTazConnector(), myArrivalPos, myCurrEdge, myParameter, myRoute, SUMOAbstractRouter< E, V >::recomputeCosts(), replaceRouteEdges(), SIMTIME, toString(), SUMOVehicleParameter::toTaz, SUMOVehicleParameter::via, and WRITE_WARNING.
Referenced by libsumo::Vehicle::changeTarget(), GUIVehicle::rerouteDRTStop(), libsumo::Vehicle::rerouteEffort(), and libsumo::Vehicle::rerouteTraveltime().
|
virtual |
Saves the (common) state of a vehicle.
Implements SUMOVehicle.
Reimplemented in MSVehicle, and MEVehicle.
Definition at line 543 of file MSBaseVehicle.cpp.
References Named::getID(), getID(), OptionsCont::getOptions(), getVehicleType(), hasDeparted(), myChosenSpeedFactor, myParameter, myRoute, SUMO_ATTR_REROUTE, SUMO_ATTR_ROUTE, SUMO_ATTR_SPEEDFACTOR, SUMO_TAG_VEHICLE, VEHPARS_FORCE_REROUTE, SUMOVehicleParameter::wasSet(), SUMOVehicleParameter::write(), and OutputDevice::writeAttr().
Referenced by MEVehicle::saveState(), and MSVehicle::saveState().
|
inlinevirtual |
Sets this vehicle's desired arrivalPos for its current route.
Implements SUMOVehicle.
Definition at line 283 of file MSBaseVehicle.h.
References myArrivalPos.
|
inlinevirtual |
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Implements SUMOVehicle.
Definition at line 417 of file MSBaseVehicle.h.
References myChosenSpeedFactor.
Referenced by MSCFModel_CC::finalizeSpeed().
void MSBaseVehicle::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
Definition at line 680 of file MSBaseVehicle.cpp.
References myDevices.
Referenced by libsumo::Vehicle::setParameter().
|
pure virtualinherited |
Returns whether the vehicle stops at the given stopping place.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSTransportable::Stage_Driving::isWaitingFor().
|
virtual |
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 160 of file MSBaseVehicle.cpp.
References MSRoute::begin(), myCurrEdge, and myRoute.
Referenced by MSVehicleTransfer::add(), MSLane::appropriate(), MSVehicleTransfer::checkInsertions(), MESegment::getLink(), hasArrived(), MSPedestrianPushButton::isActiveForEdge(), MELoop::nextSegment(), and MESegment::receive().
Returns the information whether the vehicle is fully controlled via TraCI.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 167 of file MSBaseVehicle.h.
References UNUSED_PARAMETER.
|
friend |
Definition at line 63 of file MSBaseVehicle.h.
|
protected |
The destination lane where the vehicle stops.
Definition at line 541 of file MSBaseVehicle.h.
Referenced by calculateArrivalParams(), and MSVehicle::updateBestLanes().
|
protected |
The position on the destination lane where the vehicle stops.
Definition at line 538 of file MSBaseVehicle.h.
Referenced by calculateArrivalParams(), getArrivalPos(), MEVehicle::hasArrived(), MSVehicle::hasArrived(), MSVehicle::planMoveInternal(), reroute(), MSVehicle::resetRoutePosition(), setArrivalPos(), and MSVehicle::updateBestLanes().
|
protected |
A precomputed factor by which the driver wants to be faster than the speed limit.
Definition at line 505 of file MSBaseVehicle.h.
Referenced by getChosenSpeedFactor(), saveState(), and setChosenSpeedFactor().
|
protected |
The containers this vehicle may have.
Definition at line 529 of file MSBaseVehicle.h.
Referenced by addContainer(), GUIBaseVehicle::drawAction_drawPersonsAndContainers(), getContainerDevice(), getContainerNumber(), getContainers(), MSVehicle::processNextStop(), and removeTransportable().
|
protected |
Iterator to current route-edge.
Definition at line 502 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), MSVehicle::canReverse(), GUIVehicle::drawRouteHelper(), GUIMEVehicle::drawRouteHelper(), MSVehicle::enterLaneAtMove(), getCurrentRouteEdge(), MSVehicle::getDistanceToPosition(), getEdge(), getRerouteOrigin(), MSVehicle::getRerouteOrigin(), MSVehicle::getRoutePosition(), MEVehicle::getStopIndices(), MEVehicle::hasArrived(), MSVehicle::hasArrived(), hasValidRoute(), MSVehicle::haveValidStopEdges(), MSVehicle::leaveLane(), MEVehicle::loadState(), MSVehicle::loadState(), MEVehicle::moveRoutePointer(), MSVehicle::planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processLaneAdvances(), MSVehicle::processNextStop(), MSVehicle::replaceRoute(), MEVehicle::replaceRoute(), replaceRouteEdges(), reroute(), MSVehicle::rerouteParkingArea(), MSVehicle::resetRoutePosition(), MEVehicle::saveState(), MSVehicle::saveState(), succEdge(), and MSVehicle::updateBestLanes().
|
staticprivate |
Definition at line 556 of file MSBaseVehicle.h.
|
protected |
The real depart position.
Definition at line 535 of file MSBaseVehicle.h.
Referenced by getDepartPos(), MEVehicle::loadState(), MSVehicle::loadState(), onDepart(), MEVehicle::saveState(), and MSVehicle::saveState().
|
protected |
The real departure time.
Definition at line 532 of file MSBaseVehicle.h.
Referenced by MSVehicle::enterLaneAtInsertion(), getDeparture(), hasDeparted(), MEVehicle::loadState(), MSVehicle::loadState(), onDepart(), MEVehicle::saveState(), and MSVehicle::saveState().
|
protected |
The devices this vehicle has.
Definition at line 523 of file MSBaseVehicle.h.
Referenced by addContainer(), addPerson(), createDevice(), getDevice(), getDeviceParameter(), getDevices(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), GUIBaseVehicle::GUIBaseVehicle(), hasDevice(), MSBaseVehicle(), MEVehicle::saveState(), MSVehicle::saveState(), setDeviceParameter(), and ~MSBaseVehicle().
|
staticprotected |
Definition at line 551 of file MSBaseVehicle.h.
Referenced by getContainers(), and getPersons().
|
protected |
Currently relevant move reminders.
Definition at line 519 of file MSBaseVehicle.h.
Referenced by activateReminders(), MSVehicle::activateReminders(), MSVehicle::adaptLaneEntering2MoveReminder(), addContainer(), addPerson(), addReminder(), GUIBaseVehicle::GUIBaseVehicle(), MSVehicle::leaveLane(), MSBaseVehicle(), removeReminder(), MEVehicle::updateDetectorForWriting(), MEVehicle::updateDetectors(), and MSVehicle::workOnMoveReminders().
|
protected |
The number of reroutings.
Definition at line 544 of file MSBaseVehicle.h.
Referenced by getNumberReroutes(), MSVehicle::replaceRoute(), and MEVehicle::replaceRoute().
|
private |
Definition at line 554 of file MSBaseVehicle.h.
Referenced by getNumericalID().
|
protected |
This vehicle's parameter.
Definition at line 493 of file MSBaseVehicle.h.
Referenced by addContainer(), addPerson(), MSVehicle::addStop(), addStops(), MSVehicle::addTraciStop(), calculateArrivalParams(), createDevice(), MSVehicle::enterLaneAtMove(), getContainerNumber(), getID(), getParameter(), GUIVehicle::getParameterWindow(), GUIMEVehicle::getParameterWindow(), getPersonNumber(), MEVehicle::moveRoutePointer(), MSBaseVehicle(), MSVehicle::planMoveInternal(), replaceParameter(), reroute(), GUIVehicle::rerouteDRTStop(), MSVehicle::resetRoutePosition(), MEVehicle::saveState(), saveState(), MSVehicle::saveState(), MSVehicle::updateBestLanes(), and ~MSBaseVehicle().
|
protected |
The passengers this vehicle may have.
Definition at line 526 of file MSBaseVehicle.h.
Referenced by addPerson(), GUIBaseVehicle::drawAction_drawPersonsAndContainers(), getPersonDevice(), getPersonNumber(), getPersons(), MSVehicle::processNextStop(), and removeTransportable().
|
protected |
This vehicle's route.
Definition at line 496 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), addStops(), MSVehicle::basePos(), calculateArrivalParams(), MSVehicle::canReverse(), GUIVehicle::drawRouteHelper(), MSVehicle::getDistanceToPosition(), GUIVehicle::getPreviousLane(), MSVehicle::getRerouteOrigin(), getRoute(), MSVehicle::getRoutePosition(), MEVehicle::getStopIndices(), MSVehicle::getStopIndices(), MEVehicle::hasArrived(), MSVehicle::hasArrived(), hasValidRoute(), MSVehicle::haveValidStopEdges(), MEVehicle::moveRoutePointer(), MSBaseVehicle(), MSVehicle::planMoveInternal(), MSVehicle::processLaneAdvances(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MEVehicle::replaceRoute(), replaceRouteEdges(), reroute(), GUIVehicle::rerouteDRTStop(), MSVehicle::rerouteParkingArea(), MSVehicle::resetRoutePosition(), MEVehicle::saveState(), saveState(), MSVehicle::saveState(), succEdge(), MSVehicle::updateBestLanes(), and ~MSBaseVehicle().
|
protected |
This vehicle's type.
Definition at line 499 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), calculateArrivalParams(), 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(), getLength(), getMaxSpeed(), MSVehicle::getMaxSpeedOnLane(), MSVehicle::getNOxEmissions(), MSVehicle::getPMxEmissions(), MSVehicle::getPositionOnLane(), getSingularType(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), getVClass(), getVehicleType(), getWidth(), hasValidRoute(), MSVehicle::processLaneAdvances(), MSVehicle::processNextStop(), replaceVehicleType(), MSVehicle::updateBestLanes(), and MSVehicle::~MSVehicle().
|
staticprotected |
Definition at line 549 of file MSBaseVehicle.h.
Referenced by MSVehicle::enterLaneAtInsertion(), hasDeparted(), and MSVehicle::Influencer::postProcessRemoteControl().