![]() |
SUMO - Simulation of Urban MObility
|
Representation of a vehicle. More...
#include <SUMOVehicle.h>
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 | 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 | getMaxSpeed () const =0 |
Returns the vehicle's maximum speed. More... | |
virtual unsigned 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 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 =0 |
Validates the current route. 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 | 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)=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 (unsigned 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 65 of file SUMOVehicle.h.
|
inlinevirtual |
Destructor.
Definition at line 68 of file SUMOVehicle.h.
References addContainer(), addPerson(), addStop(), getAcceleration(), getAngle(), getArrivalPos(), getChosenSpeedFactor(), getCurrentRouteEdge(), getDepartDelay(), getDepartPos(), getDeparture(), getDevice(), getDevices(), getEdge(), getID(), getImpatience(), getLane(), getMaxSpeed(), getNumberReroutes(), getParameter(), getPosition(), getPositionOnLane(), getRoute(), getSlope(), getSpeed(), getVClass(), getVehicleType(), getWaitingTime(), hasArrived(), hasDeparted(), hasValidRoute(), isOnRoad(), isParking(), isStopped(), isStoppedTriggered(), loadState(), onDepart(), replaceRoute(), replaceRouteEdges(), reroute(), saveState(), setArrivalPos(), setChosenSpeedFactor(), succEdge(), and SUMOReal.
|
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(), and ~SUMOVehicle().
|
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(), and ~SUMOVehicle().
|
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(), and ~SUMOVehicle().
|
pure virtual |
Returns the vehicle's acceleration.
Implemented in MSVehicle, and MSBaseVehicle.
Referenced by MSDevice_Emissions::notifyMove(), MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Harmonoise::MSLaneMeanDataValues::notifyMoveInternal(), MSEmissionExport::write(), MSAmitranTrajectories::writeVehicle(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
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(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
pure virtual |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
Implemented in MSBaseVehicle.
Referenced by MSDevice_Vehroutes::generateOutput(), MSDevice_Tripinfo::notifyLeave(), and ~SUMOVehicle().
|
pure virtual |
Implemented in MSBaseVehicle.
Referenced by MSLane::getVehicleMaxSpeed(), MSVehicleControl::vehicleDeparted(), and ~SUMOVehicle().
|
pure virtual |
Returns an iterator pointing to the current edge in this vehicles route.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), MSDevice_Vehroutes::generateOutput(), and ~SUMOVehicle().
|
pure virtual |
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::generateOutput(), MSDevice_Tripinfo::updateStatistics(), and ~SUMOVehicle().
|
pure virtual |
Returns this vehicle's real departure position.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), MSDevice_Vehroutes::generateOutput(), MSDevice_Tripinfo::generateOutput(), and ~SUMOVehicle().
|
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(), MSAmitranTrajectories::writeVehicle(), and ~SUMOVehicle().
|
pure virtual |
Returns a device of the given type if it exists or 0.
Implemented in MSBaseVehicle.
Referenced by MSInsertionControl::checkCandidates(), MSTriggeredRerouter::notifyEnter(), MSDevice_Example::notifyMove(), and ~SUMOVehicle().
|
pure virtual |
Returns this vehicle's devices.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::generateOutput(), MSVehicleControl::scheduleVehicleRemoval(), and ~SUMOVehicle().
|
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(), MSContainer::MSContainerStage_Driving::getEdge(), MSPerson::MSPersonStage_Driving::getEdge(), 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(), MSInsertionControl::tryInsert(), and ~SUMOVehicle().
|
pure virtual |
Get the vehicle's ID.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Transportable::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_BTsender::buildVehicleDevices(), MSDevice_BTreceiver::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), MSDevice_Battery::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(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_Battery::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Routing::preInsertionReroute(), MSLane::succLinkSec(), TraCIServer::vehicleStateChanged(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSAmitranTrajectories::writeVehicle(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
pure virtual |
|
pure virtual |
Returns the lane the vehicle is on.
Implemented in MSVehicle, and MEVehicle.
Referenced by GUIBaseVehicle::drawGL(), MSDevice_Battery::getPropEnergy(), MSDevice_Battery::notifyEnter(), MSDevice_Battery::notifyMove(), and ~SUMOVehicle().
|
pure virtual |
Returns the vehicle's maximum speed.
Implemented in MSBaseVehicle.
Referenced by MSLane::getVehicleMaxSpeed(), MSDevice_Tripinfo::notifyMove(), and ~SUMOVehicle().
|
pure virtual |
Returns the number of new routes this vehicle got.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Tripinfo::generateOutput(), MSDevice_Vehroutes::writeXMLRoute(), and ~SUMOVehicle().
|
pure virtual |
Returns the vehicle's parameter (including departure definition)
Implemented in MSBaseVehicle.
Referenced by MSVehicleContainer::add(), MSDevice_Example::buildVehicleDevices(), MSDevice_Battery::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(), MSInsertionControl::tryInsert(), MSVehicleControl::vehicleDeparted(), and ~SUMOVehicle().
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(), MSContainer::MSContainerStage_Driving::getPosition(), MSPerson::MSPersonStage_Driving::getPosition(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSEmissionExport::write(), MSFCDExport::write(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
pure virtual |
Get the vehicle's position along the lane.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), GUIBaseVehicle::drawGL(), MSVTypeProbe::execute(), MSContainer::MSContainerStage_Driving::getEdgePos(), MSPerson::MSPersonStage_Driving::getEdgePos(), MSDevice_Battery::getPropEnergy(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSInductLoop::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Battery::notifyMove(), MSBaseVehicle::onDepart(), MSE2Collector::by_vehicle_position_sorter::operator()(), MSEmissionExport::write(), MSFCDExport::write(), MSXMLRawOut::writeVehicle(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
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(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
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(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
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(), MSContainer::MSContainerStage_Driving::getSpeed(), MSPerson::MSPersonStage_Driving::getSpeed(), MSE3Collector::leave(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Battery::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(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
pure virtual |
Returns the vehicle's access class.
Implemented in MSBaseVehicle.
Referenced by MSLane::getVehicleMaxSpeed(), MSDevice_Routing::reroute(), and ~SUMOVehicle().
|
pure virtual |
Returns the vehicle's type.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Example::buildVehicleDevices(), MSDevice_Battery::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(), MSInductLoop::notifyEnter(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSInstantInductLoop::notifyMove(), MSDevice_Emissions::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSInductLoop::notifyMove(), MSE2Collector::notifyMove(), MSMeanData_Emissions::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Amitran::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Harmonoise::MSLaneMeanDataValues::notifyMoveInternal(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), MSEdge::prohibits(), MSLink::setApproaching(), MSLane::succLinkSec(), MSMeanData::MeanDataValues::vehicleApplies(), MSVehicleControl::vehicleDeparted(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSAmitranTrajectories::writeVehicle(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
pure virtual |
Implemented in MSVehicle, and MEVehicle.
Referenced by MSBaseVehicle::getImpatience(), MSDevice_Tripinfo::notifyMoveInternal(), and ~SUMOVehicle().
|
pure virtual |
Returns whether this vehicle has arrived.
Implemented in MSBaseVehicle, MSVehicle, and MEVehicle.
Referenced by MSDevice_Vehroutes::generateOutput(), MSMeanData::MeanDataValues::notifyMove(), and ~SUMOVehicle().
|
pure virtual |
Returns whether this vehicle has departed.
Implemented in MSBaseVehicle.
Referenced by MSDevice_Vehroutes::addRoute(), MSDevice_Tripinfo::generateOutputForUnfinished(), and ~SUMOVehicle().
|
pure virtual |
Validates the current route.
[out] | msg | Description why the route is not valid (if it is the case) |
Implemented in MSBaseVehicle.
Referenced by MSEdge::insertVehicle(), and ~SUMOVehicle().
|
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(), MSFullExport::writeVehicles(), and ~SUMOVehicle().
|
pure virtual |
Returns the information whether the vehicle is parked.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSFCDExport::write(), and ~SUMOVehicle().
|
pure virtual |
Returns whether the vehicle is at a stop.
Implemented in MSVehicle, and MEVehicle.
Referenced by MSDevice_Transportable::notifyMove(), and ~SUMOVehicle().
|
pure virtual |
Returns whether the vehicle is at a stop and waiting for a person or container to continue.
Implemented in MSVehicle, and MEVehicle.
Referenced by ~SUMOVehicle().
|
pure virtual |
Loads the state of this vehicle from the given description.
Implemented in MSVehicle, and MEVehicle.
Referenced by ~SUMOVehicle().
|
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.
Referenced by ~SUMOVehicle().
|
pure virtual |
Replaces the current route by the given one.
Implemented in MEVehicle, and MSVehicle.
Referenced by MSTriggeredRerouter::notifyEnter(), MSDevice_Routing::preInsertionReroute(), MSBaseVehicle::replaceRouteEdges(), and ~SUMOVehicle().
|
pure virtual |
Replaces the current route by the given edges.
Implemented in MSBaseVehicle.
Referenced by ~SUMOVehicle().
|
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(), and ~SUMOVehicle().
|
pure virtual |
Saves the states of a vehicle.
Implemented in MSVehicle, MSBaseVehicle, and MEVehicle.
Referenced by ~SUMOVehicle().
|
pure virtual |
Sets this vehicle's desired arrivalPos for its current route.
Implemented in MSBaseVehicle.
Referenced by ~SUMOVehicle().
|
pure virtual |
Implemented in MSBaseVehicle.
Referenced by MSEdge::insertVehicle(), and ~SUMOVehicle().
|
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(), and ~SUMOVehicle().