SUMO - Simulation of Urban MObility
|
Representation of a vehicle. More...
#include <SUMOVehicle.h>
Public Types | |
typedef Named::NamedLikeComparatorIdLess < SUMOVehicle > | ComparatorIdLess |
Public Member Functions | |
virtual void | addContainer (MSTransportable *container)=0 |
Adds a container to this vehicle. More... | |
virtual void | addPerson (MSTransportable *person)=0 |
Adds a person to this vehicle. More... | |
virtual bool | addStop (const SUMOVehicleParameter::Stop &stopPar, std::string &errorMsg, SUMOTime untilOffset=0)=0 |
Adds a stop. More... | |
virtual SUMOReal | getAcceleration () const =0 |
Returns the vehicle's acceleration. More... | |
virtual SUMOReal | getAngle () const =0 |
Get the vehicle's angle. More... | |
virtual SUMOReal | getArrivalPos () const =0 |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute) More... | |
virtual SUMOReal | getBackPositionOnLane (const MSLane *lane) const =0 |
Get the vehicle's back position along the given lane. More... | |
virtual SUMOReal | getChosenSpeedFactor () const =0 |
virtual const ConstMSEdgeVector::const_iterator & | getCurrentRouteEdge () const =0 |
Returns an iterator pointing to the current edge in this vehicles route. More... | |
virtual SUMOTime | getDepartDelay () const =0 |
virtual SUMOReal | getDepartPos () const =0 |
Returns this vehicle's real departure position. More... | |
virtual SUMOTime | getDeparture () const =0 |
Returns this vehicle's real departure time. More... | |
virtual MSDevice * | getDevice (const std::type_info &type) const =0 |
Returns a device of the given type if it exists or 0. More... | |
virtual const std::vector < MSDevice * > & | getDevices () const =0 |
Returns this vehicle's devices. More... | |
virtual const MSEdge * | getEdge () const =0 |
Returns the edge the vehicle is currently at. More... | |
virtual const std::string & | getID () const =0 |
Get the vehicle's ID. More... | |
virtual SUMOReal | getImpatience () const =0 |
Returns this vehicles impatience. More... | |
virtual MSLane * | getLane () const =0 |
Returns the lane the vehicle is on. More... | |
virtual SUMOReal | getLateralPositionOnLane () const =0 |
Get the vehicle's lateral position on the lane. More... | |
virtual SUMOReal | getMaxSpeed () const =0 |
Returns the vehicle's maximum speed. More... | |
virtual int | getNumberReroutes () const =0 |
Returns the number of new routes this vehicle got. More... | |
virtual const SUMOVehicleParameter & | getParameter () const =0 |
Returns the vehicle's parameter (including departure definition) More... | |
virtual Position | getPosition (const SUMOReal offset=0) const =0 |
Return current position (x/y, cartesian) More... | |
virtual SUMOReal | getPositionOnLane () const =0 |
Get the vehicle's position along the lane. More... | |
virtual SUMOReal | getPreviousSpeed () const =0 |
Returns the vehicle's previous speed. More... | |
virtual const MSRoute & | getRoute () const =0 |
Returns the current route. More... | |
virtual SUMOReal | getSlope () const =0 |
Returns the slope of the road at vehicle's position. More... | |
virtual SUMOReal | getSpeed () const =0 |
Returns the vehicle's current speed. More... | |
virtual SUMOVehicleClass | getVClass () const =0 |
Returns the vehicle's access class. More... | |
virtual const MSVehicleType & | getVehicleType () const =0 |
Returns the vehicle's type. More... | |
virtual SUMOTime | getWaitingTime () const =0 |
virtual bool | hasArrived () const =0 |
Returns whether this vehicle has arrived. More... | |
virtual bool | hasDeparted () const =0 |
Returns whether this vehicle has departed. More... | |
virtual bool | hasValidRoute (std::string &msg, const MSRoute *route=0) const =0 |
Validates the current or given route. More... | |
virtual bool | isFrontOnLane (const MSLane *) const =0 |
Returns the information whether the front of the vehhicle is on the given lane. More... | |
virtual bool | isOnRoad () const =0 |
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 =0 |
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 | isStoppedTriggered () const =0 |
Returns whether the vehicle is at a stop and waiting for a person or container to continue. More... | |
virtual void | onDepart ()=0 |
Called when the vehicle is inserted into the network. More... | |
virtual bool | replaceRoute (const MSRoute *route, bool onInit=false, int offset=0)=0 |
Replaces the current route by the given one. More... | |
virtual bool | replaceRouteEdges (ConstMSEdgeVector &edges, bool onInit=false, bool check=false)=0 |
Replaces the current route by the given edges. More... | |
virtual void | reroute (SUMOTime t, SUMOAbstractRouter< MSEdge, SUMOVehicle > &router, const bool onInit=false, const bool withTaz=false)=0 |
Performs a rerouting using the given router. More... | |
virtual void | setArrivalPos (SUMOReal arrivalPos)=0 |
Sets this vehicle's desired arrivalPos for its current route. More... | |
virtual void | setChosenSpeedFactor (const SUMOReal factor)=0 |
virtual const MSEdge * | succEdge (int nSuccs) const =0 |
Returns the nSuccs'th successor of edge the vehicle is currently at. More... | |
virtual | ~SUMOVehicle () |
Destructor. More... | |
state io | |
virtual void | saveState (OutputDevice &out)=0 |
Saves the states of a vehicle. More... | |
virtual void | loadState (const SUMOSAXAttributes &attrs, const SUMOTime offset)=0 |
Loads the state of this vehicle from the given description. More... | |
Representation of a vehicle.
Definition at line 66 of file SUMOVehicle.h.
Definition at line 79 of file SUMOVehicle.h.
|
inlinevirtual |
Destructor.
Definition at line 82 of file SUMOVehicle.h.
|
pure virtual |
Adds a container to this vehicle.
May do nothing since containers are not supported by default
[in] | container | The container to add |
Implemented in MSVehicle, and MSBaseVehicle.
Referenced by MSContainer::MSContainerStage_Driving::proceed().
|
pure virtual |
Adds a person to this vehicle.
May do nothing since persons are not supported by default
[in] | person | The person to add |
Implemented in MSVehicle, and MSBaseVehicle.
Referenced by MSPerson::MSPersonStage_Driving::proceed().
|
pure virtual |
Adds a stop.
The stop is put into the sorted list.
[in] | stop | The stop to add |
Implemented in MSVehicle, and MEVehicle.
Referenced by MSBaseVehicle::addStops().
|
pure virtual |
Returns the vehicle's acceleration.
Implemented in MSVehicle, and MSBaseVehicle.
Referenced by MSDevice_Emissions::notifyMove(), MSE2Collector::notifyMove(), MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Harmonoise::MSLaneMeanDataValues::notifyMoveInternal(), MSEmissionExport::write(), MSAmitranTrajectories::writeVehicle(), and MSFullExport::writeVehicles().
|
pure virtual |
Get the vehicle's angle.
Implemented in MSVehicle, GUIMEVehicle, GUIVehicle, and MEVehicle.
Referenced by MSDevice_Battery::getPropEnergy(), MSDevice_Battery::notifyMove(), MSEmissionExport::write(), MSFCDExport::write(), and MSFullExport::writeVehicles().
|
pure virtual |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
Implemented in MSBaseVehicle.
Referenced by MSDevice_Vehroutes::generateOutput(), MSTriggeredRerouter::notifyEnter(), and MSDevice_Tripinfo::notifyLeave().
Get the vehicle's back position along the given lane.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSInductLoop::notifyEnter(), and MSE2Collector::notifyEnter().
|
pure virtual |
Implemented in MSBaseVehicle.
Referenced by MSLane::getVehicleMaxSpeed(), MSEdge::insertVehicle(), and MSVehicleControl::vehicleDeparted().
|
pure virtual |
Returns an iterator pointing to the current edge in this vehicles route.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), and MSDevice_Vehroutes::generateOutput().
|
pure virtual |
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::generateOutput(), and MSDevice_Tripinfo::updateStatistics().
|
pure virtual |
Returns this vehicle's real departure position.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), MSDevice_Vehroutes::generateOutput(), and MSDevice_Tripinfo::generateOutput().
|
pure virtual |
Returns this vehicle's real departure time.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), MSDevice_Vehroutes::generateOutput(), MSDevice_Tripinfo::generateOutput(), MSVehicleControl::scheduleVehicleRemoval(), MSVehicleControl::vehicleDeparted(), and MSAmitranTrajectories::writeVehicle().
|
pure virtual |
Returns a device of the given type if it exists or 0.
Implemented in MSBaseVehicle.
Referenced by MSInsertionControl::checkCandidates(), MSTriggeredRerouter::notifyEnter(), and MSDevice_Example::notifyMove().
|
pure virtual |
Returns this vehicle's devices.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::generateOutput(), and MSVehicleControl::scheduleVehicleRemoval().
|
pure virtual |
Returns the edge the vehicle is currently at.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Vehroutes::addRoute(), MSInsertionControl::checkCandidates(), MSDevice_Tripinfo::computeLengthAndDuration(), MSDevice_Tripinfo::generateOutput(), MSEdge::insertVehicle(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Vehroutes::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Transportable::notifyMove(), MSDevice_Tripinfo::notifyMove(), MSDevice_Tripinfo::notifyMoveInternal(), and MSInsertionControl::tryInsert().
|
pure virtual |
Get the vehicle's ID.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Transportable::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_BTreceiver::buildVehicleDevices(), MSDevice_BTsender::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), MSDevice_Emissions::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSInductLoop::collectVehiclesOnDet(), MSVehicleControl::deleteVehicle(), MSE3Collector::enter(), MSDevice::equippedByDefaultAssignmentOptions(), MSVTypeProbe::execute(), MSDevice_Vehroutes::generateOutput(), MSDevice_Tripinfo::generateOutput(), TraCIServerAPI_Vehicle::getSingularType(), MSEdge::insertVehicle(), MSE3Collector::leave(), MSInductLoop::leaveDetectorByMove(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Battery::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTsender::notifyMove(), MSE2Collector::notifyMove(), MSDevice_Routing::preInsertionReroute(), MSLane::succLinkSec(), TraCIServer::vehicleStateChanged(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSAmitranTrajectories::writeVehicle(), and MSFullExport::writeVehicles().
|
pure virtual |
Returns this vehicles impatience.
Implemented in MSBaseVehicle.
|
pure virtual |
Returns the lane the vehicle is on.
Implemented in MSVehicle, and MEVehicle.
Referenced by GUIBaseVehicle::drawOnPos(), MSDevice_Battery::getPropEnergy(), MSDevice_Battery::notifyEnter(), MSTriggeredRerouter::notifyEnter(), and MSDevice_Battery::notifyMove().
|
pure virtual |
Get the vehicle's lateral position on the lane.
Implemented in MSVehicle, and MSBaseVehicle.
Referenced by MSLink::opened().
|
pure virtual |
Returns the vehicle's maximum speed.
Implemented in MSBaseVehicle.
Referenced by MSLane::getVehicleMaxSpeed().
|
pure virtual |
Returns the number of new routes this vehicle got.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::generateOutput(), and MSDevice_Vehroutes::writeXMLRoute().
|
pure virtual |
Returns the vehicle's parameter (including departure definition)
Implemented in MSBaseVehicle.
Referenced by MSVehicleContainer::add(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSRouteHandler::closeVehicle(), MSDevice::equippedByDefaultAssignmentOptions(), MSDevice_Vehroutes::generateOutput(), MSVehicleControl::getWaitingVehicle(), MSEdge::insertVehicle(), MSDevice_Routing::MSDevice_Routing(), MSDevice_Vehroutes::notifyEnter(), MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), MSVehicleContainer::remove(), MSInsertionControl::tryInsert(), and MSVehicleControl::vehicleDeparted().
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 MSVehicle, MEVehicle, GUIMEVehicle, and GUIVehicle.
Referenced by MSVTypeProbe::execute(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSEmissionExport::write(), MSFCDExport::write(), and MSFullExport::writeVehicles().
|
pure virtual |
Get the vehicle's position along the lane.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), GUIBaseVehicle::drawOnPos(), MSVTypeProbe::execute(), MSDevice_Battery::getPropEnergy(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSInductLoop::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Battery::notifyMove(), MSBaseVehicle::onDepart(), MSEmissionExport::write(), MSFCDExport::write(), MSXMLRawOut::writeVehicle(), and MSFullExport::writeVehicles().
|
pure virtual |
Returns the vehicle's previous speed.
Implemented in MSVehicle, and MSBaseVehicle.
Referenced by MSE3Collector::MSE3EntryReminder::notifyMove(), MSInstantInductLoop::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSInductLoop::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), and MSE2Collector::notifyMove().
|
pure virtual |
Returns the current route.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Vehroutes::addRoute(), MSRouteHandler::closeVehicle(), MSDevice_Tripinfo::computeLengthAndDuration(), MSDevice_Vehroutes::generateOutput(), MSDevice_Tripinfo::generateOutput(), MSTriggeredRerouter::getCurrentReroute(), MSRouteProbe::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_Routing::preInsertionReroute(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
|
pure virtual |
Returns the slope of the road at vehicle's position.
Implemented in MSVehicle, MSBaseVehicle, and MEVehicle.
Referenced by MSDevice_Emissions::notifyMove(), MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal(), MSEmissionExport::write(), MSFCDExport::write(), and MSFullExport::writeVehicles().
|
pure virtual |
Returns the vehicle's current speed.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSInductLoop::collectVehiclesOnDet(), MSE3Collector::detectorUpdate(), MSE3Collector::enter(), MSVTypeProbe::execute(), MSDevice_Battery::getPropEnergy(), MSE3Collector::leave(), MSDevice_Battery::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSInstantInductLoop::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Battery::notifyMove(), MSEmissionExport::write(), MSFCDExport::write(), MSAmitranTrajectories::writeVehicle(), MSXMLRawOut::writeVehicle(), and MSFullExport::writeVehicles().
|
pure virtual |
Returns the vehicle's access class.
Implemented in MSBaseVehicle.
Referenced by MSLane::getVehicleMaxSpeed(), and MSDevice_Routing::reroute().
|
pure virtual |
Returns the vehicle's type.
Implemented in MSBaseVehicle.
Referenced by MSLink::blockedByFoe(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSInductLoop::collectVehiclesOnDet(), MSDevice::equippedByDefaultAssignmentOptions(), MSVTypeProbe::execute(), MSDevice_Vehroutes::generateOutput(), MSDevice_Tripinfo::generateOutput(), MSStoppingPlace::getLastFreePos(), TraCIServerAPI_Vehicle::getSingularType(), MSEdge::insertVehicle(), MSInductLoop::leaveDetectorByMove(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyEnter(), MSInstantInductLoop::notifyMove(), MSDevice_Emissions::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSInductLoop::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Harmonoise::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), MSEdge::prohibits(), MSLink::setApproaching(), MSLane::succLinkSec(), MSDetectorFileOutput::vehicleApplies(), MSVehicleControl::vehicleDeparted(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSAmitranTrajectories::writeVehicle(), and MSFullExport::writeVehicles().
|
pure virtual |
Implemented in MSVehicle, and MEVehicle.
Referenced by MSBaseVehicle::getImpatience(), and MSDevice_Tripinfo::notifyMoveInternal().
|
pure virtual |
Returns whether this vehicle has arrived.
Implemented in MSBaseVehicle, MSVehicle, and MEVehicle.
Referenced by MSDevice_Vehroutes::generateOutput(), and MSMeanData::MeanDataValues::notifyMove().
|
pure virtual |
Returns whether this vehicle has departed.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Vehroutes::addRoute(), MSDevice_Tripinfo::generateOutputForUnfinished(), MSContainer::MSContainerStage_Driving::proceed(), and MSPerson::MSPersonStage_Driving::proceed().
|
pure 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) |
Implemented in MSBaseVehicle.
Referenced by MSEdge::insertVehicle().
|
pure virtual |
Returns the information whether the front of the vehhicle is on the given lane.
Implemented in MSVehicle, and MSBaseVehicle.
|
pure virtual |
Returns the information whether the vehicle is on a road (is simulated)
Implemented in MSVehicle, MEVehicle, and MSBaseVehicle.
Referenced by MSVTypeProbe::execute(), GUIMEVehicleControl::insertVehicleIDs(), GUIVehicleControl::insertVehicleIDs(), MSE2Collector::notifyEnter(), MSInsertionControl::tryInsert(), MSEmissionExport::write(), MSFCDExport::write(), MSAmitranTrajectories::writeVehicle(), and MSFullExport::writeVehicles().
|
pure virtual |
Returns the information whether the vehicle is parked.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSFCDExport::write().
|
pure virtual |
Returns the information whether the vehicle is fully controlled via TraCI.
Implemented in MSVehicle, and MSBaseVehicle.
Referenced by MSFCDExport::write().
|
pure virtual |
Returns whether the vehicle is at a stop.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSDevice_Transportable::notifyMove(), and MSDevice_Tripinfo::notifyMove().
|
pure virtual |
|
pure virtual |
|
pure 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.
Implemented in MSBaseVehicle.
|
pure virtual |
Replaces the current route by the given one.
Implemented in MEVehicle, and MSVehicle.
Referenced by MSTriggeredRerouter::notifyEnter(), MSDevice_Routing::preInsertionReroute(), and MSBaseVehicle::replaceRouteEdges().
|
pure 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 |
Implemented in MSBaseVehicle.
|
pure 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 |
Implemented in MSBaseVehicle.
Referenced by MSDevice_Routing::reroute().
|
pure virtual |
Saves the states of a vehicle.
Implemented in MSVehicle, MSBaseVehicle, and MEVehicle.
|
pure virtual |
Sets this vehicle's desired arrivalPos for its current route.
Implemented in MSBaseVehicle.
|
pure virtual |
Implemented in MSBaseVehicle.
Referenced by MSEdge::insertVehicle().
|
pure virtual |
Returns the nSuccs'th successor of edge the vehicle is currently at.
If the rest of the route (counted from the current edge) than nSuccs, 0 is returned.
[in] | nSuccs | The number of edge to look forward |
Implemented in MSBaseVehicle.
Referenced by MSLane::succLinkSec().