|
SUMO - Simulation of Urban MObility
|
The base class for microscopic and mesoscopic vehicles. More...
#include <MSBaseVehicle.h>
Public Member Functions | |
| virtual void | activateReminders (const MSMoveReminder::Notification reason) |
| "Activates" all current move reminder More... | |
| virtual void | addPerson (MSPerson *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)=0 |
| Adds a stop. More... | |
| void | addStops (const bool ignoreStopErrors) |
| Adds stops to the built vehicle. More... | |
| virtual SUMOReal | getAcceleration () const |
| Returns the vehicle's acceleration. More... | |
| virtual SUMOReal | getArrivalPos () const |
| Returns this vehicle's desired arrivalPos for its current route (may change on reroute) More... | |
| SUMOReal | getChosenSpeedFactor () const |
| Returns the precomputed factor by which the driver wants to be faster than the speed limit. More... | |
| SUMOTime | getDeparture () const |
| Returns this vehicle's real departure time. More... | |
| MSDevice * | getDevice (const std::type_info &type) const |
| Returns a device of the given type if it exists or 0. More... | |
| const std::vector< MSDevice * > & | 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... | |
| SUMOReal | getImpatience () const |
| Returns this vehicles impatience. More... | |
| SUMOReal | getMaxSpeed () const |
| Returns the maximum speed. More... | |
| unsigned 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... | |
| virtual SUMOReal | getPositionOnLane () const =0 |
| Get the vehicle's position along the lane. 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... | |
| virtual SUMOReal | getSlope () const |
| Returns the slope of the road at vehicle's position. More... | |
| virtual SUMOReal | getSpeed () const =0 |
| Returns the vehicle's current speed. 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 |
| 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 | hasValidRoute (std::string &msg) const |
| Validates the current route. More... | |
| virtual bool | isOnRoad () const |
| Returns the information whether the vehicle is on a road (is simulated) More... | |
| virtual bool | isStopped () const =0 |
| Returns whether the vehicle is at a stop. More... | |
| MSBaseVehicle (SUMOVehicleParameter *pars, const MSRoute *route, const MSVehicleType *type, const SUMOReal speedFactor) | |
| Constructor. More... | |
| void | onDepart () |
| Called when the vehicle is inserted into the network. More... | |
| void | removeReminder (MSMoveReminder *rem) |
| Removes a MoveReminder dynamically. More... | |
| virtual bool | replaceRoute (const MSRoute *route, bool onInit=false, int offset=0)=0 |
| Replaces the current route by the given one. More... | |
| bool | replaceRouteEdges (MSEdgeVector &edges, bool onInit=false) |
| Replaces the current route by the given edges. More... | |
| void | reroute (SUMOTime t, SUMOAbstractRouter< MSEdge, SUMOVehicle > &router, bool withTaz=false) |
| Performs a rerouting using the given router. More... | |
| void | setChosenSpeedFactor (const SUMOReal factor) |
| Returns the precomputed factor by which the driver wants to be faster than the speed limit. More... | |
| const MSEdge * | succEdge (unsigned int nSuccs) const |
| Returns the nSuccs'th successor of edge the vehicle is currently at. More... | |
| virtual | ~MSBaseVehicle () |
| Destructor. More... | |
state io | |
| virtual void | saveState (OutputDevice &out) |
| Saves the (common) state of a vehicle. 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 Member Functions | |
| void | calculateArrivalPos () |
| (Re-)Calculates the arrival position from the vehicle parameters More... | |
Protected Attributes | |
| SUMOReal | myArrivalPos |
| the position on the destination lane where the vehicle stops More... | |
| SUMOReal | myChosenSpeedFactor |
| A precomputed factor by which the driver wants to be faster than the speed limit. More... | |
| MSRouteIterator | myCurrEdge |
| Iterator to current route-edge. More... | |
| SUMOTime | myDeparture |
| The real departure time. More... | |
| std::vector< MSDevice * > | myDevices |
| The devices this vehicle has. More... | |
| unsigned int | myNumberReroutes |
| The number of reroutings. More... | |
| const SUMOVehicleParameter * | myParameter |
| This Vehicle's parameter. More... | |
| const MSRoute * | myRoute |
| This Vehicle's route. More... | |
| const MSVehicleType * | myType |
| This Vehicle's type. More... | |
Private Member Functions | |
| MSBaseVehicle & | operator= (const MSBaseVehicle &s) |
| invalidated assignment operator More... | |
Static Private Attributes | |
| static const SUMOTime | NOT_YET_DEPARTED = SUMOTime_MAX |
Move reminder structures | |
| typedef std::vector< std::pair < MSMoveReminder *, SUMOReal > > | MoveReminderCont |
| Definition of a move reminder container. More... | |
| MoveReminderCont | myMoveReminders |
| Current lane's move reminder. 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 332 of file MSBaseVehicle.h.
| MSBaseVehicle::MSBaseVehicle | ( | SUMOVehicleParameter * | pars, |
| const MSRoute * | route, | ||
| const MSVehicleType * | type, | ||
| const SUMOReal | 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 64 of file MSBaseVehicle.cpp.
References MSRoute::addReference(), MSDevice::buildVehicleDevices(), calculateArrivalPos(), myDevices, myMoveReminders, and myRoute.
|
virtual |
Destructor.
Definition at line 89 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 |
Reimplemented in MSVehicle.
Definition at line 292 of file MSBaseVehicle.cpp.
References myMoveReminders.
|
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 238 of file MSBaseVehicle.cpp.
| void MSBaseVehicle::addReminder | ( | MSMoveReminder * | rem | ) |
Adds a MoveReminder dynamically.
| [in] | rem | the reminder to add |
Definition at line 265 of file MSBaseVehicle.cpp.
References myMoveReminders.
Referenced by MSVehicle::adaptLaneEntering2MoveReminder(), MSVehicle::enterLaneAtInsertion(), and MSVehicle::enterLaneAtLaneChange().
|
pure virtualinherited |
Adds a stop.
The stop is put into the sorted list.
| [in] | stop | The stop to add |
Implemented in MSVehicle.
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 367 of file MSBaseVehicle.cpp.
References SUMOVehicle::addStop(), MSRoute::getStops(), myParameter, myRoute, SUMOVehicleParameter::stops, and WRITE_WARNING.
Referenced by GUIVehicleControl::buildVehicle(), and MSVehicleControl::buildVehicle().
|
protected |
(Re-)Calculates the arrival position from the vehicle parameters
Definition at line 314 of file MSBaseVehicle.cpp.
References ARRIVAL_POS_GIVEN, ARRIVAL_POS_RANDOM, SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, getID(), MSEdge::getLanes(), MSRoute::getLastEdge(), MAX2(), MIN2(), myArrivalPos, myParameter, myRoute, RandHelper::rand(), SUMOReal, and WRITE_WARNING.
Referenced by MSBaseVehicle(), and MSVehicle::replaceRoute().
|
virtual |
Returns the vehicle's acceleration.
This default implementation returns always 0.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 208 of file MSBaseVehicle.cpp.
|
inlinevirtual |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
Implements SUMOVehicle.
Definition at line 199 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 273 of file MSBaseVehicle.h.
References myChosenSpeedFactor.
Referenced by GUIVehicle::getParameterWindow(), and TraCIServerAPI_Vehicle::processGet().
|
inlinevirtual |
Returns this vehicle's real departure time.
Implements SUMOVehicle.
Definition at line 191 of file MSBaseVehicle.h.
References myDeparture.
|
virtual |
Returns a device of the given type if it exists or 0.
Implements SUMOVehicle.
Definition at line 345 of file MSBaseVehicle.cpp.
References myDevices.
Referenced by GUIVehicle::drawGL().
|
inlinevirtual |
Returns this vehicle's devices.
Implements SUMOVehicle.
Definition at line 226 of file MSBaseVehicle.h.
References myDevices.
|
virtual |
Returns the edge the vehicle is currently at.
Implements SUMOVehicle.
Definition at line 130 of file MSBaseVehicle.cpp.
References myCurrEdge.
Referenced by MSVehicleTransfer::add(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), TraCIServerAPI_Vehicle::commandDistanceRequest(), and TraCIServerAPI_Vehicle::processSet().
|
virtual |
Returns the name of the vehicle.
Implements SUMOVehicle.
Definition at line 102 of file MSBaseVehicle.cpp.
References SUMOVehicleParameter::id, and myParameter.
Referenced by MSLCM_JE2013::_patchSpeed(), MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), MSVehicleTransfer::add(), calculateArrivalPos(), MSLane::checkFailure(), MSVehicleTransfer::checkInsertions(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), MSVehicle::enterLaneAtInsertion(), MSCalibrator::execute(), MSVTypeProbe::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), MSE2Collector::getCurrentVehicleIDs(), GUIVehicle::getParameterWindow(), MSLane::handleCollision(), MSLCM_JE2013::inform(), MSLCM_JE2013::informFollower(), MSLCM_JE2013::informLeader(), MSLane::isInsertionSuccess(), MSVehicle::leaveLane(), MSCFModel_Daniel1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCalibrator::VehicleRemover::notifyEnter(), MSLCM_JE2013::patchSpeed(), MSVehicle::planMoveInternal(), TraCIServerAPI_Vehicle::processSet(), replaceRouteEdges(), reroute(), MSLCM_JE2013::saveBlockerLength(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), TraCIServer::setVTDControlled(), MSLCM_JE2013::slowDownForBlocked(), tryID(), MSLCM_JE2013::wantsChange(), MSFCDExport::write(), MSEmissionExport::write(), MSXMLRawOut::writeVehicle(), and MSFullExport::writeVehicles().
|
virtual |
Returns this vehicles impatience.
Implements SUMOVehicle.
Definition at line 338 of file MSBaseVehicle.cpp.
References getVehicleType(), SUMOVehicle::getWaitingTime(), MSGlobals::gTimeToGridlock, MAX2(), MIN2(), and SUMOReal.
Referenced by MSVehicle::checkRewindLinkLanes(), MSVehicle::executeMove(), MSLane::getCriticalLeader(), MSLane::getLeaderOnConsecutive(), GUIVehicle::getParameterWindow(), MSLane::isInsertionSuccess(), and GUIVehicle::selectBlockingFoes().
|
virtual |
Returns the maximum speed.
Implements SUMOVehicle.
Definition at line 114 of file MSBaseVehicle.cpp.
References MSVehicleType::getMaxSpeed(), and myType.
Referenced by MSCFModel_Wiedemann::_v(), MSVehicleTransfer::checkInsertions(), MSVehicle::estimateSpeedAfterDistance(), GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and MSLane::insertVehicle().
|
inlinevirtual |
Returns the number of new routes this vehicle got.
Implements SUMOVehicle.
Definition at line 215 of file MSBaseVehicle.h.
References myNumberReroutes.
Referenced by GUIVehicle::drawGLAdditional(), GUIVehicle::getColorValue(), and replaceRouteEdges().
|
virtual |
Returns the vehicle's parameter (including departure definition)
Implements SUMOVehicle.
Definition at line 108 of file MSBaseVehicle.cpp.
References myParameter.
Referenced by MSPersonControl::boardAnyWaiting(), MSEdge::getDepartLane(), GUIVehicle::getParameterWindow(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), and GUIVehicle::setFunctionalColor().
|
pure virtualinherited |
Get the vehicle's position along the lane.
Implemented in MSVehicle.
Referenced by MSDevice_Tripinfo::generateOutput(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSE2Collector::by_vehicle_position_sorter::operator()(), and MSXMLRawOut::writeVehicle().
|
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 137 of file MSBaseVehicle.h.
References myCurrEdge.
Referenced by replaceRouteEdges(), and reroute().
|
inlinevirtual |
Returns the current route.
Implements SUMOVehicle.
Definition at line 82 of file MSBaseVehicle.h.
References myRoute.
Referenced by TraCIServerAPI_Vehicle::commandDistanceRequest(), MSVehicle::enterLaneAtLaneChange(), MSEdge::getDepartLane(), MSLane::isInsertionSuccess(), TraCIServerAPI_Vehicle::processGet(), GUIVehicle::setFunctionalColor(), TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), TraCIServerAPI_Vehicle::vtdMap_matchingNearest(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
|
virtual |
Returns the slope of the road at vehicle's position.
This default implementation returns always 0.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 214 of file MSBaseVehicle.cpp.
|
pure virtualinherited |
Returns the vehicle's current speed.
Implemented in MSVehicle.
Referenced by MSInductLoop::collectVehiclesOnDet(), MSE3Collector::detectorUpdate(), MSE3Collector::enter(), MSE3Collector::leave(), MSDevice_BTsender::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSInstantInductLoop::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSAmitranTrajectories::writeVehicle(), and MSXMLRawOut::writeVehicle().
|
inlinevirtual |
Returns the vehicle's access class.
Implements SUMOVehicle.
Definition at line 98 of file MSBaseVehicle.h.
References MSVehicleType::getParameter(), myType, and SUMOVTypeParameter::vehicleClass.
|
inlinevirtual |
Returns the vehicle's type definition.
Implements SUMOVehicle.
Definition at line 90 of file MSBaseVehicle.h.
References myType.
Referenced by MSLCM_JE2013::_patchSpeed(), MSLCM_LC2013::_patchSpeed(), MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), MSVehicle::addStop(), MSLaneChanger::change(), MSLaneChanger::checkChange(), MSLane::checkFailure(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkRewindLinkLanes(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), MSE2Collector::detectorUpdate(), GUIVehicle::drawAction_drawRailCarriages(), GUIVehicle::drawAction_drawVehicleAsBoxPlus(), GUIVehicle::drawAction_drawVehicleAsImage(), GUIVehicle::drawAction_drawVehicleAsPoly(), GUIVehicle::drawAction_drawVehicleAsTrianglePlus(), drawAction_drawVehicleBlinker(), drawAction_drawVehicleBrakeLight(), GUIVehicle::drawGL(), GUIVehicle::drawGLAdditional(), MSLane::enteredByLaneChange(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::estimateLeaveSpeed(), MSVehicle::estimateSpeedAfterDistance(), MSVTypeProbe::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), MSLane::freeInsertion(), MSLane::getBruttoOccupancy(), MSLane::getCriticalLeader(), MSEdge::getDepartLane(), MSLane::getFollowerOnConsecutive(), getImpatience(), MSLane::getLastVehicleInformation(), MSVehicle::getLeader(), MSLane::getLeaderOnConsecutive(), MSLane::getNettoOccupancy(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSLaneChanger::getRealThisLeader(), MSVehicle::getTimeGap(), MSLane::handleCollision(), MSLane::incorporateVehicle(), MSLCM_JE2013::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_JE2013::informLeader(), MSLCM_LC2013::informLeader(), MSLane::insertVehicle(), MSLane::integrateNewVehicle(), MSLane::isInsertionSuccess(), MSLane::leftByLaneChange(), MSLane::maxSpeedGapInsertion(), MSLink::maybeOccupied(), MSVehicle::overlap(), MSLCM_DK2008::patchSpeed(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSAbstractLaneChangeModel::predInteraction(), TraCIServerAPI_Vehicle::processGet(), MSVehicle::processNextStop(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), MSLaneChanger::registerUnchanged(), MSLane::removeVehicle(), MSLCM_JE2013::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), GUIVehicle::setFunctionalColor(), MSLCM_JE2013::slowDownForBlocked(), MSLCM_LC2013::slowDownForBlocked(), MSLaneChanger::startChange(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSFCDExport::write(), MSEmissionExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
|
pure virtualinherited |
Implemented in MSVehicle.
Referenced by getImpatience().
|
virtual |
Returns whether this vehicle has already arived (by default this is true if the vehicle has reached its final edge)
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 233 of file MSBaseVehicle.cpp.
References succEdge().
|
virtual |
Returns whether this vehicle has already departed.
Implements SUMOVehicle.
Definition at line 227 of file MSBaseVehicle.cpp.
References myDeparture, and NOT_YET_DEPARTED.
Referenced by MSVehicle::addStop(), MSVehicle::loadState(), and TraCIServerAPI_Vehicle::processSet().
| bool MSBaseVehicle::hasValidRoute | ( | std::string & | msg | ) | const |
Validates the current route.
| [out] | msg | Description why the route is not valid (if it is the case) |
Definition at line 243 of file MSBaseVehicle.cpp.
References MSRoute::end(), MSVehicleType::getVehicleClass(), myCurrEdge, myRoute, and myType.
Referenced by MSVehicle::enterLaneAtInsertion(), and TraCIServerAPI_Vehicle::processGet().
|
inlinevirtual |
Returns the information whether the vehicle is on a road (is simulated)
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 127 of file MSBaseVehicle.h.
Referenced by MSXMLRawOut::writeVehicle().
|
pure virtualinherited |
Returns whether the vehicle is at a stop.
Implemented in MSVehicle.
Referenced by MSDevice_Person::notifyMove().
|
pure virtualinherited |
Loads the state of this vehicle from the given description.
Implemented in MSVehicle.
Referenced by MSStateHandler::myStartElement().
|
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 220 of file MSBaseVehicle.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSNet::getVehicleControl(), myDeparture, and MSVehicleControl::vehicleDeparted().
Referenced by MSCalibrator::execute().
|
private |
invalidated assignment operator
| void MSBaseVehicle::removeReminder | ( | MSMoveReminder * | rem | ) |
Removes a MoveReminder dynamically.
| [in] | rem | the reminder to remove |
Definition at line 276 of file MSBaseVehicle.cpp.
References myMoveReminders.
|
pure virtualinherited |
Replaces the current route by the given one.
Implemented in 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] | simTime | The time at which the route was replaced |
Implements SUMOVehicle.
Definition at line 157 of file MSBaseVehicle.cpp.
References MSRoute::addReference(), MSRoute::begin(), RGBColor::DEFAULT_COLOR, MSRoute::dictionary(), MSRoute::getColor(), MSRoute::getEdges(), Named::getID(), getID(), getNumberReroutes(), getRerouteOrigin(), MSRoute::getStops(), myCurrEdge, myRoute, MSRoute::release(), SUMOVehicle::replaceRoute(), and toString().
Referenced by MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Vehicle::processSet(), and reroute().
|
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 136 of file MSBaseVehicle.cpp.
References SUMOAbstractRouter< E, V >::compute(), MSEdge::dictionary(), SUMOVehicleParameter::fromTaz, getID(), MSRoute::getLastEdge(), getRerouteOrigin(), myParameter, myRoute, replaceRouteEdges(), SUMOVehicleParameter::toTaz, and WRITE_WARNING.
Referenced by TraCIServerAPI_Vehicle::processSet().
|
virtual |
Saves the (common) state of a vehicle.
Implements SUMOVehicle.
Reimplemented in MSVehicle.
Definition at line 356 of file MSBaseVehicle.cpp.
References SUMOVehicleParameter::depart, Named::getID(), MSVehicleType::getID(), SUMOVehicleParameter::id, myParameter, myRoute, myType, OutputDevice::openTag(), SUMO_ATTR_DEPART, SUMO_ATTR_ID, SUMO_ATTR_ROUTE, SUMO_ATTR_TYPE, SUMO_TAG_VEHICLE, and OutputDevice::writeAttr().
Referenced by MSVehicle::saveState().
|
inlinevirtual |
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Implements SUMOVehicle.
Definition at line 280 of file MSBaseVehicle.h.
References myChosenSpeedFactor.
Referenced by TraCIServerAPI_Vehicle::processSet().
|
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 120 of file MSBaseVehicle.cpp.
References myCurrEdge.
Referenced by MSVehicleTransfer::add(), MSLane::appropriate(), MSVehicleTransfer::checkInsertions(), hasArrived(), and TraCIServerAPI_Vehicle::processSet().
|
protected |
the position on the destination lane where the vehicle stops
Definition at line 345 of file MSBaseVehicle.h.
Referenced by calculateArrivalPos(), getArrivalPos(), MSVehicle::hasArrived(), MSVehicle::planMoveInternal(), MSVehicle::resetRoutePosition(), and MSVehicle::updateBestLanes().
|
protected |
A precomputed factor by which the driver wants to be faster than the speed limit.
Definition at line 325 of file MSBaseVehicle.h.
Referenced by getChosenSpeedFactor(), and setChosenSpeedFactor().
|
protected |
Iterator to current route-edge.
Definition at line 322 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::enterLaneAtMove(), MSVehicle::executeMove(), MSVehicle::getDistanceToPosition(), getEdge(), getRerouteOrigin(), MSVehicle::getRerouteOrigin(), MSVehicle::getRoutePosition(), MSVehicle::hasArrived(), hasValidRoute(), MSVehicle::leaveLane(), MSVehicle::loadState(), MSVehicle::planMoveInternal(), MSVehicle::Influencer::postProcessVTD(), MSVehicle::processNextStop(), MSVehicle::replaceRoute(), replaceRouteEdges(), MSVehicle::resetRoutePosition(), MSVehicle::saveState(), succEdge(), MSVehicle::updateBestLanes(), and MSVehicle::willPass().
|
protected |
The real departure time.
Definition at line 342 of file MSBaseVehicle.h.
Referenced by getDeparture(), hasDeparted(), MSVehicle::loadState(), onDepart(), and MSVehicle::saveState().
|
protected |
The devices this vehicle has.
Definition at line 339 of file MSBaseVehicle.h.
Referenced by MSVehicle::addPerson(), getDevice(), getDevices(), GUIVehicle::getParameterWindow(), GUIVehicle::GUIVehicle(), MSBaseVehicle(), and ~MSBaseVehicle().
|
protected |
Current lane's move reminder.
Definition at line 335 of file MSBaseVehicle.h.
Referenced by activateReminders(), MSVehicle::activateReminders(), MSVehicle::adaptLaneEntering2MoveReminder(), MSVehicle::addPerson(), addReminder(), GUIVehicle::GUIVehicle(), MSVehicle::leaveLane(), MSBaseVehicle(), removeReminder(), and MSVehicle::workOnMoveReminders().
|
protected |
The number of reroutings.
Definition at line 348 of file MSBaseVehicle.h.
Referenced by getNumberReroutes(), and MSVehicle::replaceRoute().
|
protected |
This Vehicle's parameter.
Definition at line 313 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), addStops(), calculateArrivalPos(), getID(), getParameter(), MSVehicle::getPersonNumber(), MSVehicle::planMoveInternal(), reroute(), saveState(), MSVehicle::updateBestLanes(), and ~MSBaseVehicle().
|
protected |
This Vehicle's route.
Definition at line 316 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), addStops(), calculateArrivalPos(), GUIVehicle::drawRoute(), GUIVehicle::drawRouteHelper(), MSVehicle::executeMove(), MSVehicle::getDistanceToPosition(), MSVehicle::getRerouteOrigin(), getRoute(), MSVehicle::getRoutePosition(), MSVehicle::hasArrived(), hasValidRoute(), MSBaseVehicle(), MSVehicle::planMoveInternal(), MSVehicle::replaceRoute(), replaceRouteEdges(), reroute(), MSVehicle::resetRoutePosition(), saveState(), MSVehicle::saveState(), MSVehicle::updateBestLanes(), MSVehicle::willPass(), and ~MSBaseVehicle().
|
protected |
This Vehicle's type.
Definition at line 319 of file MSBaseVehicle.h.
Referenced by MSVehicle::addStop(), MSVehicle::enterLaneAtInsertion(), MSVehicle::getAngle(), MSVehicle::getCarFollowModel(), MSVehicle::getCO2Emissions(), MSVehicle::getCOEmissions(), MSVehicle::getFuelConsumption(), MSVehicle::getHarmonoise_NoiseEmissions(), MSVehicle::getHCEmissions(), getMaxSpeed(), MSVehicle::getNOxEmissions(), GUIVehicle::getParameterWindow(), MSVehicle::getPMxEmissions(), getVClass(), getVehicleType(), hasValidRoute(), MSVehicle::processNextStop(), MSVehicle::replaceVehicleType(), saveState(), MSVehicle::updateBestLanes(), and MSVehicle::~MSVehicle().
|
staticprivate |
Definition at line 354 of file MSBaseVehicle.h.
Referenced by hasDeparted().