SUMO - Simulation of Urban MObility
|
Representation of a vehicle in the micro simulation. More...
#include <MSVehicle.h>
Data Structures | |
struct | DriveProcessItem |
class | Influencer |
Changes the wished vehicle speed / lanes. More... | |
struct | LaneQ |
A structure representing the best lanes for continuing the route. More... | |
class | State |
Container that holds the vehicles driving state (position+speed). More... | |
struct | Stop |
Definition of vehicle stop (position and duration) More... | |
Public Types | |
enum | ChangeRequest { REQUEST_NONE, REQUEST_LEFT, REQUEST_RIGHT, REQUEST_HOLD } |
Requests set via TraCI. More... | |
Public Member Functions | |
void | activateReminders (const MSMoveReminder::Notification reason) |
"Activates" all current move reminder More... | |
void | addReminder (MSMoveReminder *rem) |
Adds a MoveReminder dynamically. More... | |
bool | addTraciStop (MSLane *lane, SUMOReal pos, SUMOReal radius, SUMOTime duration, bool parking, bool triggered) |
bool | congested () const |
void | enterLaneAtInsertion (MSLane *enteredLane, SUMOReal pos, SUMOReal speed, MSMoveReminder::Notification notification) |
Update when the vehicle enters a new lane in the emit step. More... | |
void | enterLaneAtLaneChange (MSLane *enteredLane) |
Update when the vehicle enters a new lane in the laneChange step. More... | |
bool | enterLaneAtMove (MSLane *enteredLane, bool onTeleporting=false) |
Update when the vehicle enters a new lane in the move step. More... | |
bool | executeMove () |
Executes planned vehicle movements with regards to right-of-way. More... | |
bool | fixPosition () |
repair errors in vehicle position after changing between internal edges More... | |
virtual SUMOReal | getArrivalPos () const |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute) More... | |
const MSCFModel & | getCarFollowModel () const |
Returns the vehicle's car following model definition. More... | |
MSCFModel::VehicleVariables * | getCarFollowVariables () const |
Returns the vehicle's car following model variables. 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... | |
SUMOReal | getDistanceToPosition (SUMOReal destPos, const MSEdge *destEdge) |
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... | |
Influencer & | getInfluencer () |
Returns the velocity/lane influencer. More... | |
MSAbstractLaneChangeModel & | getLaneChangeModel () |
const MSAbstractLaneChangeModel & | getLaneChangeModel () const |
unsigned int | getLaneIndex () const |
SUMOReal | getMaxSpeed () const |
Returns the maximum speed. More... | |
Stop & | getNextStop () |
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... | |
const MSRoute & | getRoute () const |
Returns the current route. More... | |
SUMOReal | getSpeedWithoutTraciInfluence () const |
Returns the uninfluenced velocity. More... | |
const MSVehicleType & | getVehicleType () const |
Returns the vehicle's type definition. More... | |
bool | hasDeparted () const |
Returns whether this vehicle has already departed. More... | |
bool | hasInfluencer () const |
bool | hasValidRoute (std::string &msg) const |
Validates the current route. More... | |
bool | knowsEdgeTest (MSEdge &edge) const |
void | leaveLane (const MSMoveReminder::Notification reason) |
Update of members if vehicle leaves a new lane in the lane change step or at arrival. More... | |
MSVehicle (SUMOVehicleParameter *pars, const MSRoute *route, const MSVehicleType *type, SUMOReal speedFactor, int vehicleIndex) | |
Constructor. More... | |
void | onDepart () |
Called when the vehicle is inserted into the network. More... | |
void | planMove (const SUMOTime t, const MSVehicle *pred, const SUMOReal lengthsInFront) |
Compute safe velocities for the upcoming lanes based on positions and speeds from the last time step. Also registers ApproachingVehicleInformation for all links. More... | |
SUMOReal | processNextStop (SUMOReal currentVelocity) |
Processes stops, returns the velocity needed to reach the stop. More... | |
void | removeReminder (MSMoveReminder *rem) |
Removes a MoveReminder dynamically. More... | |
bool | replaceRouteEdges (const MSEdgeVector &edges, bool onInit=false) |
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, SUMOAbstractRouter< MSEdge, SUMOVehicle > &router, bool withTaz=false) |
Performs a rerouting using the given router. More... | |
bool | resumeFromStopping () |
const MSEdge * | succEdge (unsigned int nSuccs) const |
Returns the nSuccs'th successor of edge the vehicle is currently at. More... | |
virtual | ~MSVehicle () |
Destructor. More... | |
insertion/removal | |
void | onRemovalFromNet (const MSMoveReminder::Notification reason) |
Called when the vehicle is removed from the network. More... | |
interaction with the route | |
bool | hasArrived () const |
Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge) More... | |
bool | replaceRoute (const MSRoute *route, bool onInit=false) |
Replaces the current route by the given one. More... | |
bool | willPass (const MSEdge *const edge) const |
Returns whether the vehicle wil pass the given edge. More... | |
unsigned int | getRoutePosition () const |
void | resetRoutePosition (unsigned int index) |
const MSEdgeWeightsStorage & | getWeightsStorage () const |
Returns the vehicle's internal edge travel times/efforts container. More... | |
MSEdgeWeightsStorage & | getWeightsStorage () |
state setter/getter | |
SUMOReal | getPositionOnLane () const |
Get the vehicle's position along the lane. More... | |
SUMOReal | getSpeed () const |
Returns the vehicle's current speed. More... | |
SUMOReal | getAcceleration () const |
Returns the vehicle's acceleration. More... | |
Other getter methods | |
Position | getPosition (SUMOReal offset=0) const |
Return current position (x/y, cartesian) More... | |
MSLane * | getLane () const |
Returns the lane the vehicle is on. More... | |
bool | isOnRoad () const |
Returns the information whether the vehicle is on a road (is simulated) More... | |
SUMOTime | getWaitingTime () const |
Returns the SUMOTime waited (speed was lesser than 0.1m/s) More... | |
SUMOReal | getWaitingSeconds () const |
Returns the number of seconds waited (speed was lesser than 0.1m/s) More... | |
SUMOReal | getAngle () const |
Returns the vehicle's direction in degrees. More... | |
strategical/tactical lane choosing methods | |
virtual const std::vector < LaneQ > & | getBestLanes (bool forceRebuild=false, MSLane *startLane=0) const |
Returns the description of best lanes to use in order to continue the route. More... | |
const std::vector< MSLane * > & | getBestLanesContinuation () const |
Returns the subpart of best lanes that describes the vehicle's current lane and their successors. More... | |
const std::vector< MSLane * > & | getBestLanesContinuation (const MSLane *const l) const |
Returns the subpart of best lanes that describes the given lane and their successors. More... | |
bool | fixContinuations () |
repair errors in bestLanes after changing between internal edges More... | |
vehicle stops definitions and i/o | |
bool | addStop (const SUMOVehicleParameter::Stop &stopPar, SUMOTime untilOffset=0) |
Adds a stop. More... | |
bool | hasStops () const |
Returns whether the vehicle has to stop somewhere. More... | |
bool | isStopped () const |
Returns whether the vehicle is at a stop. More... | |
bool | isParking () const |
Returns whether the vehicle is parking. More... | |
bool | isStoppedTriggered () const |
Returns whether the vehicle is on a triggered stop. More... | |
Emission retrieval | |
SUMOReal | getHBEFA_CO2Emissions () const |
Returns CO2 emission of the current state. More... | |
SUMOReal | getHBEFA_COEmissions () const |
Returns CO emission of the current state. More... | |
SUMOReal | getHBEFA_HCEmissions () const |
Returns HC emission of the current state. More... | |
SUMOReal | getHBEFA_NOxEmissions () const |
Returns NOx emission of the current state. More... | |
SUMOReal | getHBEFA_PMxEmissions () const |
Returns PMx emission of the current state. More... | |
SUMOReal | getHBEFA_FuelConsumption () const |
Returns fuel consumption of the current state. More... | |
SUMOReal | getHarmonoise_NoiseEmissions () const |
Returns noise emissions of the current state. More... | |
Interaction with persons | |
void | addPerson (MSPerson *person) |
Adds a passenger. More... | |
unsigned int | getPersonNumber () const |
Returns the number of persons. More... | |
SUMOReal | getImpatience () const |
Returns this vehicles impatience. More... | |
state io | |
void | saveState (OutputDevice &out) |
Saves the states of a vehicle. More... | |
void | loadState (const SUMOSAXAttributes &attrs, const SUMOTime offset) |
Loads the state of this vehicle from the given description. More... | |
Static Public Member Functions | |
static SUMOReal | gap (SUMOReal predPos, SUMOReal predLength, SUMOReal pos) |
Uses the given values to compute the brutto-gap. More... | |
static bool | overlap (const MSVehicle *veh1, const MSVehicle *veh2) |
Protected Types | |
typedef std::vector < DriveProcessItem > | DriveItemVector |
Protected Member Functions | |
void | adaptToLeader (const std::pair< const MSVehicle *, SUMOReal > leaderInfo, const SUMOReal seen, DriveProcessItem *const lastLink, const MSLane *const lane, SUMOReal &v, SUMOReal &vLinkPass) const |
void | calculateArrivalPos () |
(Re-)Calculates the arrival position from the vehicle parameters More... | |
void | checkRewindLinkLanes (const SUMOReal lengthsInFront, DriveItemVector &lfLinks) const |
SUMOReal | estimateLeaveSpeed (const MSLink *const link, const SUMOReal vLinkPass) const |
estimate leaving speed when accelerating across a link More... | |
SUMOReal | estimateSpeedAfterDistance (const SUMOReal dist, const SUMOReal v, const SUMOReal accel) const |
SUMOReal | getSpaceTillLastStanding (const MSLane *l, bool &foundStopped) const |
void | planMoveInternal (const SUMOTime t, const MSVehicle *pred, DriveItemVector &lfLinks) const |
void | setBlinkerInformation () |
Protected Attributes | |
SUMOReal | myAcceleration |
The current acceleration before dawdling. More... | |
bool | myAmOnNet |
Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived) More... | |
bool | myAmRegisteredAsWaitingForPerson |
Whether this vehicle is registered as waiting for a person (for deadlock-recognition) More... | |
SUMOReal | myArrivalPos |
the position on the destination lane where the vehicle stops More... | |
std::vector< std::vector< LaneQ > > | myBestLanes |
const 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... | |
std::vector< LaneQ >::iterator | myCurrentLaneInBestLanes |
SUMOTime | myDeparture |
The real departure time. More... | |
std::vector< MSDevice * > | myDevices |
The devices this vehicle has. More... | |
std::vector< MSLane * > | myFurtherLanes |
The information into which lanes the vehicle laps into. More... | |
bool | myHaveToWaitOnNextLink |
MSLane * | myLane |
The lane the vehicle is on. More... | |
MSAbstractLaneChangeModel * | myLaneChangeModel |
const MSEdge * | myLastBestLanesEdge |
DriveItemVector | myLFLinkLanes |
Container for used Links/visited Lanes during lookForward. More... | |
unsigned int | myNumberReroutes |
The number of reroutings. More... | |
const SUMOVehicleParameter * | myParameter |
This Vehicle's parameter. More... | |
MSDevice_Person * | myPersonDevice |
The passengers this vehicle may have. More... | |
const MSRoute * | myRoute |
This Vehicle's route. More... | |
int | mySignals |
State of things of the vehicle that can be on or off. More... | |
State | myState |
This Vehicles driving state (pos and speed) More... | |
std::list< Stop > | myStops |
The vehicle's list of stops. More... | |
const MSVehicleType * | myType |
This Vehicle's type. More... | |
SUMOTime | myWaitingTime |
The time the vehicle waits (is not faster than 0.1m/s) in seconds. More... | |
Static Protected Attributes | |
static std::vector< MSLane * > | myEmptyLaneVector |
Private Member Functions | |
MSEdgeWeightsStorage & | _getWeightsStorage () const |
MSVehicle () | |
invalidated default constructor More... | |
MSVehicle (const MSVehicle &) | |
invalidated copy constructor More... | |
MSVehicle & | operator= (const MSVehicle &) |
invalidated assignment operator More... | |
Private Attributes | |
MSCFModel::VehicleVariables * | myCFVariables |
The per vehicle variables of the car following model. More... | |
MSEdgeWeightsStorage * | myEdgeWeights |
Influencer * | myInfluencer |
An instance of a velicty/lane influencing instance; built in "getInfluencer". More... | |
Friends | |
class | MSLaneChanger |
the lane changer sets myLastLaneChangeOffset More... | |
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... | |
Interaction with move reminders | |
void | workOnMoveReminders (SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) |
Processes active move reminder. More... | |
void | adaptLaneEntering2MoveReminder (const MSLane &enteredLane) |
Adapts the vehicle's entering of a new lane. More... | |
Access to bool signals | |
enum | Signalling { VEH_SIGNAL_NONE = 0, VEH_SIGNAL_BLINKER_RIGHT = 1, VEH_SIGNAL_BLINKER_LEFT = 2, VEH_SIGNAL_BLINKER_EMERGENCY = 4, VEH_SIGNAL_BRAKELIGHT = 8, VEH_SIGNAL_FRONTLIGHT = 16, VEH_SIGNAL_FOGLIGHT = 32, VEH_SIGNAL_HIGHBEAM = 64, VEH_SIGNAL_BACKDRIVE = 128, VEH_SIGNAL_WIPER = 256, VEH_SIGNAL_DOOR_OPEN_LEFT = 512, VEH_SIGNAL_DOOR_OPEN_RIGHT = 1024, VEH_SIGNAL_EMERGENCY_BLUE = 2048, VEH_SIGNAL_EMERGENCY_RED = 4096, VEH_SIGNAL_EMERGENCY_YELLOW = 8192 } |
Some boolean values which describe the state of some vehicle parts. More... | |
void | switchOnSignal (int signal) |
Switches the given signal on. More... | |
void | switchOffSignal (int signal) |
Switches the given signal off. More... | |
int | getSignals () const |
Returns the signals. More... | |
bool | signalSet (int which) const |
Returns whether the given signal is on. More... | |
Representation of a vehicle in the micro simulation.
Definition at line 77 of file MSVehicle.h.
|
protected |
Definition at line 1049 of file MSVehicle.h.
|
protectedinherited |
Definition of a move reminder container.
Definition at line 291 of file MSBaseVehicle.h.
Requests set via TraCI.
Definition at line 125 of file MSVehicle.h.
Some boolean values which describe the state of some vehicle parts.
Definition at line 686 of file MSVehicle.h.
MSVehicle::MSVehicle | ( | SUMOVehicleParameter * | pars, |
const MSRoute * | route, | ||
const MSVehicleType * | type, | ||
SUMOReal | speedFactor, | ||
int | vehicleIndex | ||
) |
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 |
[in] | vehicleIndex | The vehicle's running index |
ProcessError | If a value is wrong |
Definition at line 286 of file MSVehicle.cpp.
References addStop(), MSCFModel::createVehicleVariables(), DEPART_SPEED_GIVEN, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, MSVehicleType::getCarFollowModel(), Named::getID(), MSVehicleType::getID(), MSVehicleType::getMaxSpeed(), MSLane::getSpeedLimit(), MSRoute::getStops(), SUMOVehicleParameter::id, myCFVariables, myLaneChangeModel, and SUMOVehicleParameter::stops.
|
virtual |
Destructor.
Definition at line 263 of file MSVehicle.cpp.
References MSVehicleType::amVehicleSpecific(), myEdgeWeights, myFurtherLanes, myInfluencer, myLaneChangeModel, myLFLinkLanes, and MSBaseVehicle::myType.
|
private |
invalidated default constructor
|
private |
invalidated copy constructor
|
private |
Definition at line 430 of file MSVehicle.cpp.
References myEdgeWeights.
Referenced by getWeightsStorage().
|
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 from MSBaseVehicle.
Definition at line 1338 of file MSVehicle.cpp.
References getLane(), and MSBaseVehicle::myMoveReminders.
Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), and enterLaneAtMove().
|
protected |
Adapts the vehicle's entering of a new lane.
All offsets already stored in "myOldLaneMoveReminderOffsets" are increased by the length that has been left. All still active move reminders from "myMoveReminders" are put into "myOldLaneMoveReminders" and the offset to the last lane is added to "myOldLaneMoveReminderOffsets" for each of these.
Move reminder from the given lane are set into "myMoveReminders".
"myLane" must still be the left lane!
[in] | enteredLane |
Definition at line 464 of file MSVehicle.cpp.
References MSBaseVehicle::addReminder(), MSLane::getLength(), MSLane::getMoveReminders(), myLane, MSBaseVehicle::myMoveReminders, and SUMOReal.
Referenced by enterLaneAtMove().
|
protected |
Definition at line 927 of file MSVehicle.cpp.
References MSVehicle::DriveProcessItem::adaptLeaveSpeed(), MSCFModel::followSpeed(), getCarFollowModel(), MSLane::getLength(), getSpeed(), MIN2(), POSITION_EPS, MSCFModel::stopSpeed(), and SUMOReal.
Referenced by planMoveInternal().
|
virtual |
Adds a passenger.
[in] | person | The person to add |
Reimplemented from MSBaseVehicle.
Definition at line 1874 of file MSVehicle.cpp.
References MSDevice_Person::addPerson(), MSDevice_Person::buildVehicleDevices(), MSPerson::getID(), MSBaseVehicle::myDevices, MSBaseVehicle::myMoveReminders, myPersonDevice, and myStops.
Referenced by MSPersonControl::boardAnyWaiting().
|
inherited |
Adds a MoveReminder dynamically.
[in] | rem | the reminder to add |
Definition at line 229 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by adaptLaneEntering2MoveReminder(), enterLaneAtInsertion(), and enterLaneAtLaneChange().
|
virtual |
Adds a stop.
The stop is put into the sorted list.
[in] | stop | The stop to add |
Implements SUMOVehicle.
Definition at line 522 of file MSVehicle.cpp.
References SUMOVehicleParameter::Stop::awaitedPersons, MSVehicle::Stop::awaitedPersons, MSCFModel::brakeGap(), SUMOVehicleParameter::Stop::busstop, MSVehicle::Stop::busstop, MSLane::dictionary(), SUMOVehicleParameter::Stop::duration, MSVehicle::Stop::duration, MSVehicle::Stop::edge, MSRoute::end(), SUMOVehicleParameter::Stop::endPos, MSVehicle::Stop::endPos, MSNet::getBusStop(), getCarFollowModel(), MSLane::getEdge(), MSNet::getInstance(), MSLane::getLength(), SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, MSVehicle::Stop::lane, MSBaseVehicle::myCurrEdge, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myStops, SUMOVehicleParameter::Stop::parking, MSVehicle::Stop::parking, MSVehicle::Stop::reached, SUMOVehicleParameter::Stop::startPos, MSVehicle::Stop::startPos, STOP_INDEX_END, STOP_INDEX_FIT, SUMOReal, SUMOVehicleParameter::Stop::triggered, MSVehicle::Stop::triggered, SUMOVehicleParameter::Stop::until, and MSVehicle::Stop::until.
Referenced by addTraciStop(), and MSVehicle().
bool MSVehicle::addTraciStop | ( | MSLane * | lane, |
SUMOReal | pos, | ||
SUMOReal | radius, | ||
SUMOTime | duration, | ||
bool | parking, | ||
bool | triggered | ||
) |
schedule a new stop for the vehicle; each time a stop is reached, the vehicle will wait for the given duration before continuing on its route
lane | lane on wich to stop |
pos | position on the given lane at wich to stop |
radius | the vehicle will stop if it is within the range [pos-radius, pos+radius] |
duration | after waiting for the time period duration, the vehicle will |
parking | a flag indicating whether the traci stop is used for parking or not |
triggered | a flag indicating whether the traci stop is triggered or not |
Definition at line 1958 of file MSVehicle.cpp.
References addStop(), SUMOVehicleParameter::Stop::busstop, SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, MSNet::getBusStopID(), Named::getID(), MSNet::getInstance(), SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, myStops, SUMOVehicleParameter::Stop::parking, POSITION_EPS, SUMOVehicleParameter::Stop::startPos, STOP_INDEX_FIT, SUMOVehicleParameter::Stop::triggered, and SUMOVehicleParameter::Stop::until.
Referenced by TraCIServerAPI_Vehicle::processSet().
|
protectedinherited |
(Re-)Calculates the arrival position from the vehicle parameters
Definition at line 278 of file MSBaseVehicle.cpp.
References ARRIVAL_POS_GIVEN, ARRIVAL_POS_RANDOM, SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, MSBaseVehicle::getID(), MSEdge::getLanes(), MSRoute::getLastEdge(), MAX2(), MIN2(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, RandHelper::rand(), SUMOReal, and WRITE_WARNING.
Referenced by MSBaseVehicle::MSBaseVehicle(), and replaceRoute().
|
protected |
Definition at line 1179 of file MSVehicle.cpp.
References ACCEL2SPEED, MSVehicle::DriveProcessItem::availableSpace, bla, MSCFModel::brakeGap(), MSEdge::EDGEFUNCTION_INTERNAL, getCarFollowModel(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSCFModel::getHeadwayTime(), getImpatience(), MSNet::getInstance(), MSLink::getLane(), MSLane::getLastVehicle(), MSVehicle::DriveProcessItem::getLeaveSpeed(), MSLane::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), getPositionOnLane(), MSEdge::getPurpose(), getSpaceTillLastStanding(), getSpeed(), MSLane::getVehicleNumber(), MSBaseVehicle::getVehicleType(), MSLane::getVehLenSum(), getWaitingTime(), GLO_VEHICLE, gSelected, MSGlobals::gUsingInternalLanes, MSVehicle::DriveProcessItem::hadVehicle, MSLink::havePriority(), MSLink::isCont(), MSLink::isCrossing(), GUISelectedStorage::isSelected(), LINKSTATE_ALLWAY_STOP, MAX2(), MSVehicle::DriveProcessItem::myArrivalSpeed, MSVehicle::DriveProcessItem::myArrivalTime, myHaveToWaitOnNextLink, myLane, MSVehicle::DriveProcessItem::myLink, MSVehicle::State::mySpeed, myState, MSLink::opened(), RandHelper::rand(), signalSet(), SUMOReal, UNUSED_PARAMETER, and VEH_SIGNAL_BRAKELIGHT.
Referenced by planMove().
|
inline |
Returns true if vehicle's speed is below 60km/h. This is only relevant on highways. Overtaking on the right is allowed then.
Definition at line 378 of file MSVehicle.h.
References MSVehicle::State::mySpeed, myState, and SUMOReal.
Referenced by MSAbstractLaneChangeModel::congested().
void MSVehicle::enterLaneAtInsertion | ( | MSLane * | enteredLane, |
SUMOReal | pos, | ||
SUMOReal | speed, | ||
MSMoveReminder::Notification | notification | ||
) |
Update when the vehicle enters a new lane in the emit step.
[in] | enteredLane | The lane the vehicle enters |
[in] | pos | The position the vehicle was inserted into the lane |
[in] | speed | The speed with which the vehicle was inserted into the lane |
[in] | notification | The cause of insertion (i.e. departure, teleport, parking) |
Definition at line 1465 of file MSVehicle.cpp.
References activateReminders(), MSBaseVehicle::addReminder(), MSGlobals::gCheckRoutes, MSBaseVehicle::getID(), MSVehicleType::getLength(), MSLane::getLogicalPredecessorLane(), MSLane::getMoveReminders(), MSBaseVehicle::hasValidRoute(), myAmOnNet, myFurtherLanes, myLane, MSVehicle::State::myPos, MSVehicle::State::mySpeed, myState, MSBaseVehicle::myType, myWaitingTime, and SUMOReal.
Referenced by MSLane::incorporateVehicle().
void MSVehicle::enterLaneAtLaneChange | ( | MSLane * | enteredLane) |
Update when the vehicle enters a new lane in the laneChange step.
[in] | enteredLane | The lane the vehicle enters |
Definition at line 1407 of file MSVehicle.cpp.
References activateReminders(), MSBaseVehicle::addReminder(), MSRoute::begin(), MSVehicle::Influencer::checkForLaneChanges(), getBestLanes(), MSNet::getCurrentTimeStep(), MSNet::getInstance(), getLaneIndex(), MSVehicleType::getLength(), MSLane::getLogicalPredecessorLane(), MSLane::getMoveReminders(), MSBaseVehicle::getRoute(), MSBaseVehicle::getVehicleType(), myAmOnNet, MSBaseVehicle::myCurrEdge, myFurtherLanes, myInfluencer, myLane, myLaneChangeModel, MSVehicle::State::myPos, myState, MSMoveReminder::NOTIFICATION_LANE_CHANGE, MSAbstractLaneChangeModel::requestLaneChange(), and SUMOReal.
Referenced by MSLaneChanger::change(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().
Update when the vehicle enters a new lane in the move step.
[in] | enteredLane | The lane the vehicle enters |
[in] | onTeleporting | Whether the lane was entered while being teleported |
Definition at line 1369 of file MSVehicle.cpp.
References activateReminders(), adaptLaneEntering2MoveReminder(), MSVehicle::Influencer::checkForLaneChanges(), MSEdge::EDGEFUNCTION_INTERNAL, getBestLanes(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSNet::getInstance(), getLaneIndex(), MSEdge::getPurpose(), hasArrived(), myAmOnNet, MSBaseVehicle::myCurrEdge, myInfluencer, myLane, myLaneChangeModel, MSVehicle::State::myPos, myState, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_TELEPORT, and MSAbstractLaneChangeModel::requestLaneChange().
Referenced by MSVehicleTransfer::addVeh(), MSVehicleTransfer::checkInsertions(), executeMove(), and TraCIServerAPI_Vehicle::processSet().
|
inlineprotected |
estimate leaving speed when accelerating across a link
Definition at line 1058 of file MSVehicle.h.
References estimateSpeedAfterDistance(), MSVehicleType::getCarFollowModel(), MSLink::getLength(), MSCFModel::getMaxAccel(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), and MIN2().
Referenced by planMoveInternal().
|
inlineprotected |
Definition at line 1071 of file MSVehicle.h.
References MSBaseVehicle::getMaxSpeed(), MSBaseVehicle::getVehicleType(), MIN2(), and SUMOReal.
Referenced by estimateLeaveSpeed(), and planMoveInternal().
bool MSVehicle::executeMove | ( | ) |
Executes planned vehicle movements with regards to right-of-way.
This method goes through all DriveProcessItems in myLFLinkLanes in order to find a speed that is safe for all upcoming links.
Using this speed the position is updated and the vehicle is moved to the next lane (myLane is updated) if the end of the current lane is reached (this may happen multiple times in this method)
The vehicle also sets the lanes it is in-lapping into and informs them about it.
Definition at line 950 of file MSVehicle.cpp.
References ACCEL2SPEED, bla, MSCFModel::brakeGap(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), DELTA_T, MSRoute::end(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), enterLaneAtMove(), MSVehicleType::getCarFollowModel(), getCarFollowModel(), MSLink::getDirection(), MSLane::getEdge(), MSCFModel::getHeadwayTime(), Named::getID(), MSBaseVehicle::getID(), getImpatience(), MSNet::getInstance(), getLaneChangeModel(), MSVehicleType::getLength(), MSLane::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), getSpeed(), MSLink::getState(), MSBaseVehicle::getVehicleType(), MSLink::getViaLaneOrLane(), getWaitingTime(), GLO_VEHICLE, gSelected, hasArrived(), MSLink::havePriority(), MSVehicle::Influencer::influenceSpeed(), MSLink::isCont(), GUISelectedStorage::isSelected(), MSEdge::isVaporizing(), MSVehicle::Influencer::isVTDControlled(), leaveLane(), LINKDIR_LEFT, LINKDIR_RIGHT, LINKSTATE_EQUAL, LINKSTATE_TL_GREEN_MAJOR, LINKSTATE_TL_YELLOW_MAJOR, LINKSTATE_TL_YELLOW_MINOR, MAX2(), MSCFModel::maxNextSpeed(), MSCFModel::moveHelper(), myAcceleration, MSBaseVehicle::myCurrEdge, myFurtherLanes, myHaveToWaitOnNextLink, myInfluencer, myLane, myLFLinkLanes, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myWaitingTime, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_VAPORIZED, MSLink::opened(), MSLink::removeApproaching(), setBlinkerInformation(), SPEED2DIST, SUMO_const_haltingSpeed, SUMOReal, switchOffSignal(), switchOnSignal(), time2string(), toString(), VEH_SIGNAL_BRAKELIGHT, workOnMoveReminders(), and WRITE_WARNING.
Referenced by MSLane::executeMovements().
bool MSVehicle::fixContinuations | ( | ) |
repair errors in bestLanes after changing between internal edges
Definition at line 1790 of file MSVehicle.cpp.
References MSLane::getLinkCont(), and myLane.
Referenced by MSAbstractLaneChangeModel::continueLaneChangeManeuver().
bool MSVehicle::fixPosition | ( | ) |
repair errors in vehicle position after changing between internal edges
Definition at line 1801 of file MSVehicle.cpp.
References MSLane::getLength(), getPositionOnLane(), myLane, MSVehicle::State::myPos, and myState.
Referenced by MSAbstractLaneChangeModel::continueLaneChangeManeuver().
Uses the given values to compute the brutto-gap.
[in] | predPos | Position of the leader |
[in] | predLength | Length of the leader |
[in] | pos | Position of the follower |
Definition at line 213 of file MSVehicle.h.
Referenced by MSLane::isInsertionSuccess(), and planMoveInternal().
|
inlinevirtual |
Returns the vehicle's acceleration.
Reimplemented from MSBaseVehicle.
Definition at line 300 of file MSVehicle.h.
References myAcceleration.
Referenced by TraCIServerAPI_Vehicle::processGet().
SUMOReal MSVehicle::getAngle | ( | ) | const |
Returns the vehicle's direction in degrees.
Definition at line 504 of file MSVehicle.cpp.
References MSAbstractLaneChangeModel::getLaneChangeCompletion(), MSAbstractLaneChangeModel::getLaneChangeDirection(), getLaneChangeModel(), MSVehicleType::getLength(), getPositionOnLane(), MSLane::getShape(), MSGlobals::gLaneChangeDuration, MSAbstractLaneChangeModel::isChangingLanes(), MSAbstractLaneChangeModel::isLaneChangeMidpointPassed(), myFurtherLanes, myLane, myState, MSBaseVehicle::myType, PI, MSVehicle::State::pos(), PositionVector::positionAtOffset(), PositionVector::rotationDegreeAtOffset(), STEPS2TIME, SUMOReal, Position::x(), and Position::y().
Referenced by GUIVehicle::drawGL(), MSPerson::MSPersonStage_Driving::getAngle(), GUIVehicle::getParameterWindow(), TraCIServerAPI_Vehicle::processGet(), MSFCDExport::write(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
|
inlinevirtualinherited |
Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
Implements SUMOVehicle.
Definition at line 179 of file MSBaseVehicle.h.
References MSBaseVehicle::myArrivalPos.
|
virtual |
Returns the description of best lanes to use in order to continue the route.
The information is rebuilt if the vehicle is on a different edge than the one stored in "myLastBestLanesEdge" or "forceRebuild" is true.
Otherwise, only the density changes on the stored lanes are adapted to the container only.
A rebuild must be done if the vehicle leaves a stop; then, another lane may get the best one.
If no starting lane ("startLane") is given, the vehicle's current lane ("myLane") is used as start of bect lanes building.
[in] | forceRebuild | Whether the best lanes container shall be rebuilt even if the vehicle's edge has not changed |
[in] | startLane | The lane the process shall start at ("myLane" will be used if ==0) |
Definition at line 1539 of file MSVehicle.cpp.
References abs, MSEdge::allowedLanes(), MSVehicle::LaneQ::allowsContinuation, ARRIVAL_LANE_GIVEN, SUMOVehicleParameter::arrivalLane, SUMOVehicleParameter::arrivalLaneProcedure, MSVehicle::LaneQ::bestContinuations, MSVehicle::LaneQ::bestLaneOffset, bla, MSEdge::EDGEFUNCTION_INTERNAL, MSRoute::end(), MSLane::getEdge(), MSEdge::getLanes(), MSLane::getLength(), MSEdge::getLength(), MSEdge::getPurpose(), MSVehicleType::getVehicleClass(), GLO_VEHICLE, gSelected, GUISelectedStorage::isSelected(), MSVehicle::LaneQ::lane, MSVehicle::Stop::lane, MSVehicle::LaneQ::length, MIN2(), MSBaseVehicle::myArrivalPos, myBestLanes, MSBaseVehicle::myCurrEdge, myCurrentLaneInBestLanes, myLane, myLastBestLanesEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, myStops, MSBaseVehicle::myType, POSITION_EPS, MSVehicle::Stop::startPos, and SUMOReal.
Referenced by MSLaneChanger::change(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), enterLaneAtLaneChange(), enterLaneAtMove(), GUIVehicle::getBestLanes(), MSEdge::getDepartLane(), MSLane::isInsertionSuccess(), MSLane::loadState(), MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Vehicle::processGet(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), and replaceRoute().
const std::vector< MSLane * > & MSVehicle::getBestLanesContinuation | ( | ) | const |
Returns the subpart of best lanes that describes the vehicle's current lane and their successors.
Definition at line 1767 of file MSVehicle.cpp.
References myBestLanes, and myEmptyLaneVector.
Referenced by MSLane::appropriate(), MSLaneChanger::getRealLeader(), MSLaneChanger::getRealThisLeader(), MSLane::isInsertionSuccess(), planMoveInternal(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), setBlinkerInformation(), and TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition().
Returns the subpart of best lanes that describes the given lane and their successors.
Definition at line 1776 of file MSVehicle.cpp.
References myBestLanes, and myEmptyLaneVector.
|
inline |
Returns the vehicle's car following model definition.
This is simply a wrapper around the vehicle type's car-following model retrieval for a shorter access.
Definition at line 513 of file MSVehicle.h.
References MSVehicleType::getCarFollowModel(), and MSBaseVehicle::myType.
Referenced by adaptToLeader(), addStop(), MSLaneChanger::change2left(), MSLaneChanger::change2right(), checkRewindLinkLanes(), executeMove(), MSLane::freeInsertion(), MSLane::getFollowerOnConsecutive(), MSLane::getLeaderOnConsecutive(), MSLane::getMissingRearGap(), MSLaneChanger::getRealLeader(), MSLCM_DK2004::informBlocker(), MSLane::isInsertionSuccess(), MSLane::maxSpeedGapInsertion(), MSLink::maybeOccupied(), MSLCM_DK2004::patchSpeed(), planMoveInternal(), processNextStop(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), GUIVehicle::selectBlockingFoes(), MSLCM_DK2004::wantsChangeToLeft(), and MSLCM_DK2004::wantsChangeToRight().
|
inline |
Returns the vehicle's car following model variables.
Definition at line 522 of file MSVehicle.h.
References myCFVariables.
Referenced by MSCFModel_Kerner::_v(), MSCFModel_Wiedemann::_v(), MSCFModel_IDM::_v(), MSCFModel_SmartSK::_vsafe(), MSCFModel_SmartSK::followSpeed(), MSCFModel_PWag2009::followSpeed(), MSCFModel_SmartSK::moveHelper(), MSCFModel_Kerner::moveHelper(), MSCFModel_PWag2009::moveHelper(), MSCFModel_Wiedemann::moveHelper(), MSCFModel_IDM::moveHelper(), MSCFModel_SmartSK::stopSpeed(), and MSCFModel_SmartSK::updateMyHeadway().
|
inlinevirtualinherited |
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Implements SUMOVehicle.
Definition at line 249 of file MSBaseVehicle.h.
References MSBaseVehicle::myChosenSpeedFactor.
Referenced by GUIVehicle::getParameterWindow().
|
inlinevirtualinherited |
Returns this vehicle's real departure time.
Implements SUMOVehicle.
Definition at line 171 of file MSBaseVehicle.h.
References MSBaseVehicle::myDeparture.
|
virtualinherited |
Returns a device of the given type if it exists or 0.
Implements SUMOVehicle.
Definition at line 302 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDevices.
|
inlinevirtualinherited |
Returns this vehicle's devices.
Implements SUMOVehicle.
Definition at line 202 of file MSBaseVehicle.h.
References MSBaseVehicle::myDevices.
Compute distance that will be covered, if the vehicle moves to a given position on its route, starting at its current position.
destPos,: | position on the destination edge that shall be reached |
destEdge,: | destination edge that shall be reached |
Definition at line 1811 of file MSVehicle.cpp.
References MSRoute::getDistanceBetween(), MSLane::getEdge(), MSLane::getLength(), getPositionOnLane(), isOnRoad(), max, MSBaseVehicle::myCurrEdge, myLane, MSBaseVehicle::myRoute, and SUMOReal.
|
virtualinherited |
Returns the edge the vehicle is currently at.
Implements SUMOVehicle.
Definition at line 124 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myCurrEdge.
Referenced by MSVehicleTransfer::addVeh(), MSVehicleTransfer::checkInsertions(), TraCIServerAPI_Vehicle::commandDistanceRequest(), and TraCIServerAPI_Vehicle::processSet().
SUMOReal MSVehicle::getHarmonoise_NoiseEmissions | ( | ) | const |
Returns noise emissions of the current state.
Definition at line 1868 of file MSVehicle.cpp.
References HelpersHarmonoise::computeNoise(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
SUMOReal MSVehicle::getHBEFA_CO2Emissions | ( | ) | const |
Returns CO2 emission of the current state.
Definition at line 1832 of file MSVehicle.cpp.
References HelpersHBEFA::computeCO2(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
SUMOReal MSVehicle::getHBEFA_COEmissions | ( | ) | const |
Returns CO emission of the current state.
Definition at line 1838 of file MSVehicle.cpp.
References HelpersHBEFA::computeCO(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
SUMOReal MSVehicle::getHBEFA_FuelConsumption | ( | ) | const |
Returns fuel consumption of the current state.
Definition at line 1862 of file MSVehicle.cpp.
References HelpersHBEFA::computeFuel(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), and MSEmissionExport::write().
SUMOReal MSVehicle::getHBEFA_HCEmissions | ( | ) | const |
Returns HC emission of the current state.
Definition at line 1844 of file MSVehicle.cpp.
References HelpersHBEFA::computeHC(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
SUMOReal MSVehicle::getHBEFA_NOxEmissions | ( | ) | const |
Returns NOx emission of the current state.
Definition at line 1850 of file MSVehicle.cpp.
References HelpersHBEFA::computeNOx(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
SUMOReal MSVehicle::getHBEFA_PMxEmissions | ( | ) | const |
Returns PMx emission of the current state.
Definition at line 1856 of file MSVehicle.cpp.
References HelpersHBEFA::computePMx(), MSVehicleType::getEmissionClass(), myAcceleration, myState, MSBaseVehicle::myType, and MSVehicle::State::speed().
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
|
virtualinherited |
Returns the name of the vehicle.
Implements SUMOVehicle.
Definition at line 96 of file MSBaseVehicle.cpp.
References SUMOVehicleParameter::id, and MSBaseVehicle::myParameter.
Referenced by MSBaseVehicle::calculateArrivalPos(), MSVehicleTransfer::checkInsertions(), traci::TraCIServer::commandAddVehicle(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), MSLane::detectCollisions(), GUIEdge::drawGL(), enterLaneAtInsertion(), MSCalibrator::execute(), MSVTypeProbe::execute(), executeMove(), MSLane::executeMovements(), MSLane::isInsertionSuccess(), MSCFModel_SmartSK::moveHelper(), MSCFModel_Daniel1::moveHelper(), MSCalibrator::VehicleRemover::notifyEnter(), planMoveInternal(), TraCIServerAPI_Vehicle::processSet(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), GUIVehicle::selectBlockingFoes(), traci::TraCIServer::setVTDControlled(), MSEmissionExport::write(), MSFCDExport::write(), MSXMLRawOut::writeVehicle(), and MSFullExport::writeVehicles().
SUMOReal MSVehicle::getImpatience | ( | ) | const |
Returns this vehicles impatience.
Definition at line 1950 of file MSVehicle.cpp.
References MSBaseVehicle::getVehicleType(), MSGlobals::gTimeToGridlock, MAX2(), MIN2(), myWaitingTime, and SUMOReal.
Referenced by checkRewindLinkLanes(), executeMove(), MSLane::getLeaderOnConsecutive(), MSLane::isInsertionSuccess(), and GUIVehicle::selectBlockingFoes().
MSVehicle::Influencer & MSVehicle::getInfluencer | ( | ) |
Returns the velocity/lane influencer.
If no influencer was existing before, one is built, first
Definition at line 2003 of file MSVehicle.cpp.
References myInfluencer.
Referenced by MSLaneChanger::change(), MSLane::executeMovements(), TraCIServerAPI_Vehicle::processSet(), and traci::TraCIServer::setVTDControlled().
|
inline |
Returns the lane the vehicle is on.
Definition at line 323 of file MSVehicle.h.
References myLane.
Referenced by activateReminders(), MSVehicleTransfer::addVeh(), MSLaneChanger::change(), MSVehicleTransfer::checkInsertions(), MSAbstractLaneChangeModel::congested(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), MSCFModel_IDM::desiredSpeed(), MSLane::detectCollisions(), MSE2Collector::detectorUpdate(), MSCalibrator::execute(), MSVTypeProbe::execute(), MSLane::executeMovements(), MSVTKExport::getSpeed(), MSCFModel::interactionGap(), MSCFModel_KraussPS::maxNextSpeed(), MSCFModel_SmartSK::moveHelper(), MSCFModel_Daniel1::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel::moveHelper(), MSLCM_DK2004::patchSpeed(), MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), setBlinkerInformation(), TraCIServerAPI_Vehicle::vtdMap_matchingNearest(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSLCM_DK2004::wantsChangeToLeft(), MSLCM_DK2004::wantsChangeToRight(), MSEmissionExport::write(), MSFCDExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel | ( | ) |
Definition at line 1527 of file MSVehicle.cpp.
References myLaneChangeModel.
Referenced by MSVehicleTransfer::addVeh(), MSLaneChanger::change(), MSLaneChanger::change2left(), MSLaneChanger::change2right(), MSLane::detectCollisions(), executeMove(), MSLane::executeMovements(), getAngle(), GUIVehicle::getLastLaneChangeOffset(), getPosition(), MSAbstractLaneChangeModel::MSLCMessager::informLeader(), MSAbstractLaneChangeModel::MSLCMessager::informNeighFollower(), MSAbstractLaneChangeModel::MSLCMessager::informNeighLeader(), MSCFModel_Daniel1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel::moveHelper(), planMove(), planMoveInternal(), TraCIServerAPI_Vehicle::processSet(), MSLaneChanger::registerUnchanged(), setBlinkerInformation(), and MSLaneChanger::startChange().
const MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel | ( | ) | const |
Definition at line 1533 of file MSVehicle.cpp.
References myLaneChangeModel.
unsigned int MSVehicle::getLaneIndex | ( | ) | const |
Definition at line 1943 of file MSVehicle.cpp.
References myLane.
Referenced by enterLaneAtLaneChange(), enterLaneAtMove(), and TraCIServerAPI_Vehicle::processSet().
|
virtualinherited |
Returns the maximum speed.
Implements SUMOVehicle.
Definition at line 108 of file MSBaseVehicle.cpp.
References MSVehicleType::getMaxSpeed(), and MSBaseVehicle::myType.
Referenced by MSCFModel_Wiedemann::_v(), MSVehicleTransfer::checkInsertions(), traci::TraCIServer::commandAddVehicle(), estimateSpeedAfterDistance(), GUIVehicle::getColorValue(), and MSLane::insertVehicle().
MSVehicle::Stop & MSVehicle::getNextStop | ( | ) |
returns the next imminent stop in the stop queue
Definition at line 1997 of file MSVehicle.cpp.
References myStops.
|
inlinevirtualinherited |
Returns the number of new routes this vehicle got.
Implements SUMOVehicle.
Definition at line 195 of file MSBaseVehicle.h.
References MSBaseVehicle::myNumberReroutes.
Referenced by GUIVehicle::drawGLAdditional(), GUIVehicle::getColorValue(), and MSBaseVehicle::replaceRouteEdges().
|
virtualinherited |
Returns the vehicle's parameter (including departure definition)
Implements SUMOVehicle.
Definition at line 102 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myParameter.
Referenced by MSPersonControl::boardAnyWaiting(), MSEdge::getDepartLane(), GUIVehicle::getParameterWindow(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), and GUIVehicle::setFunctionalColor().
unsigned int MSVehicle::getPersonNumber | ( | ) | const |
Returns the number of persons.
Definition at line 1897 of file MSVehicle.cpp.
References MSBaseVehicle::myParameter, myPersonDevice, SUMOVehicleParameter::personNumber, and MSDevice_Person::size().
Referenced by TraCIServerAPI_Vehicle::processGet().
Return current position (x/y, cartesian)
If the vehicle's myLane is 0, Position::INVALID.
[in] | offset | optional offset in longitudianl direction |
Definition at line 484 of file MSVehicle.cpp.
References MSLane::geometryPositionAtOffset(), MSLane::getEdge(), getLaneChangeModel(), MSEdge::getLanes(), Line::getPositionAtDistance(), getPositionOnLane(), MSAbstractLaneChangeModel::getShadowLane(), MSLane::interpolateLanePosToGeometryPos(), Position::INVALID, MSAbstractLaneChangeModel::isLaneChangeMidpointPassed(), isParking(), Line::length(), PositionVector::move2side(), myLane, PositionVector::positionAtOffset(), and SUMO_const_laneWidth.
Referenced by TraCIServerAPI_Vehicle::commandDistanceRequest(), GUIVehicle::drawGL(), GUIVehicle::getCenteringBoundary(), TraCIServerAPI_Vehicle::getPosition(), MSVTKExport::getPositions(), MSDevice_BTreceiver::notifyMove(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), and MSFCDExport::write().
|
inlinevirtual |
Get the vehicle's position along the lane.
Implements SUMOVehicle.
Definition at line 284 of file MSVehicle.h.
References MSVehicle::State::myPos, and myState.
Referenced by MSLaneChanger::change(), MSLaneChanger::change2left(), MSLaneChanger::change2right(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), TraCIServerAPI_Vehicle::commandDistanceRequest(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), MSE2Collector::detectorUpdate(), MSVTypeProbe::execute(), MSLane::executeMovements(), fixPosition(), MSLane::freeInsertion(), getAngle(), getDistanceToPosition(), MSLane::getFollowerOnConsecutive(), MSLane::getLastVehicleInformation(), MSLane::getMissingRearGap(), GUIVehicle::getParameterWindow(), getPosition(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSLaneChanger::getRealThisLeader(), MSVTKExport::getSpeed(), MSLane::isInsertionSuccess(), MSLane::loadState(), MSCFModel_KraussPS::maxNextSpeed(), MSLane::maxSpeedGapInsertion(), MSLink::maybeOccupied(), MSLane::VehPosition::operator()(), MSLane::vehicle_position_sorter::operator()(), planMoveInternal(), MSAbstractLaneChangeModel::predInteraction(), TraCIServerAPI_Vehicle::processGet(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), MSCalibrator::remainingVehicleCapacity(), GUIVehicle::selectBlockingFoes(), setBlinkerInformation(), MSLCM_DK2004::wantsChangeToLeft(), MSLCM_DK2004::wantsChangeToRight(), MSEmissionExport::write(), MSFCDExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
|
inlinevirtualinherited |
Returns the current route.
Implements SUMOVehicle.
Definition at line 86 of file MSBaseVehicle.h.
References MSBaseVehicle::myRoute.
Referenced by TraCIServerAPI_Vehicle::commandDistanceRequest(), enterLaneAtLaneChange(), MSEdge::getDepartLane(), MSLane::isInsertionSuccess(), TraCIServerAPI_Vehicle::processGet(), GUIVehicle::setFunctionalColor(), TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), TraCIServerAPI_Vehicle::vtdMap_matchingNearest(), MSEmissionExport::write(), and MSFullExport::writeVehicles().
unsigned int MSVehicle::getRoutePosition | ( | ) | const |
Definition at line 403 of file MSVehicle.cpp.
References MSRoute::begin(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.
Referenced by TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), and TraCIServerAPI_Vehicle::vtdMap_matchingNearest().
|
inline |
Returns the signals.
Definition at line 739 of file MSVehicle.h.
References mySignals.
Referenced by TraCIServerAPI_Vehicle::processGet(), and MSFCDExport::write().
|
protected |
Definition at line 1161 of file MSVehicle.cpp.
References MSLane::getLength(), MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), SUMO_const_haltingSpeed, and SUMOReal.
Referenced by checkRewindLinkLanes().
|
inlinevirtual |
Returns the vehicle's current speed.
Implements SUMOVehicle.
Definition at line 292 of file MSVehicle.h.
References MSVehicle::State::mySpeed, and myState.
Referenced by MSCFModel_Wiedemann::_v(), adaptToLeader(), MSLaneChanger::change(), MSLaneChanger::change2left(), MSLaneChanger::change2right(), checkRewindLinkLanes(), MSE2Collector::detectorUpdate(), MSVTypeProbe::execute(), executeMove(), MSLane::executeMovements(), MSLane::forceVehicleInsertion(), MSLane::freeInsertion(), GUIVehicle::getColorValue(), MSLane::getFollowerOnConsecutive(), MSLane::getMissingRearGap(), GUIVehicle::getParameterWindow(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSVTKExport::getSpeed(), MSLCM_DK2004::informBlocker(), MSCFModel_IDM::interactionGap(), MSCFModel::interactionGap(), MSLane::isInsertionSuccess(), MSLane::loadState(), MSLane::maxSpeedGapInsertion(), MSLink::maybeOccupied(), MSCFModel_SmartSK::moveHelper(), MSCFModel_Daniel1::moveHelper(), MSCFModel_PWag2009::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_Wiedemann::moveHelper(), MSCFModel::moveHelper(), MSDevice_BTreceiver::notifyMove(), MSLCM_DK2004::patchSpeed(), planMoveInternal(), MSAbstractLaneChangeModel::predInteraction(), TraCIServerAPI_Vehicle::processGet(), processNextStop(), TraCIServerAPI_Vehicle::processSet(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), MSLCM_DK2004::wantsChangeToLeft(), MSLCM_DK2004::wantsChangeToRight(), MSFCDExport::write(), MSEmissionExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
SUMOReal MSVehicle::getSpeedWithoutTraciInfluence | ( | ) | const |
Returns the uninfluenced velocity.
If no influencer exists (myInfluencer==0) the vehicle's current speed is returned. Otherwise the speed returned from myInfluencer->getOriginalSpeed().
Definition at line 2012 of file MSVehicle.cpp.
References MSVehicle::Influencer::getOriginalSpeed(), myInfluencer, MSVehicle::State::mySpeed, and myState.
Referenced by TraCIServerAPI_Vehicle::processGet().
|
inlinevirtualinherited |
Returns the vehicle's type definition.
Implements SUMOVehicle.
Definition at line 94 of file MSBaseVehicle.h.
References MSBaseVehicle::myType.
Referenced by MSLaneChanger::change(), MSVehicleTransfer::checkInsertions(), checkRewindLinkLanes(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), MSLane::detectCollisions(), MSE2Collector::detectorUpdate(), drawAction_drawBlinker(), 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(), enterLaneAtLaneChange(), estimateLeaveSpeed(), estimateSpeedAfterDistance(), MSVTypeProbe::execute(), executeMove(), MSLane::executeMovements(), MSLane::freeInsertion(), MSEdge::getDepartLane(), MSLane::getFollowerOnConsecutive(), getImpatience(), MSLane::getLastVehicleInformation(), MSLane::getLeaderOnConsecutive(), MSLane::getMissingRearGap(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), MSLaneChanger::getRealThisLeader(), MSLane::incorporateVehicle(), MSLane::insertVehicle(), MSLane::integrateNewVehicle(), MSLane::isInsertionSuccess(), MSLane::leftByLaneChange(), MSLane::maxSpeedGapInsertion(), MSLink::maybeOccupied(), overlap(), MSLCM_DK2004::patchSpeed(), planMoveInternal(), MSLane::planMovements(), MSAbstractLaneChangeModel::predInteraction(), TraCIServerAPI_Vehicle::processGet(), processNextStop(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), MSLaneChanger::registerUnchanged(), MSLane::removeVehicle(), GUIVehicle::selectBlockingFoes(), GUIVehicle::setFunctionalColor(), MSLaneChanger::startChange(), MSLCM_DK2004::wantsChangeToLeft(), MSLCM_DK2004::wantsChangeToRight(), MSEmissionExport::write(), MSFCDExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
|
inline |
Returns the number of seconds waited (speed was lesser than 0.1m/s)
The value is reset if the vehicle moves faster than 0.1m/s Intentional stopping does not count towards this time.
Definition at line 353 of file MSVehicle.h.
References myWaitingTime, and STEPS2TIME.
Referenced by GUIVehicle::getColorValue(), GUIVehicle::getParameterWindow(), MSEmissionExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
|
inlinevirtual |
Returns the SUMOTime waited (speed was lesser than 0.1m/s)
The value is reset if the vehicle moves faster than 0.1m/s Intentional stopping does not count towards this time.
Implements SUMOVehicle.
Definition at line 342 of file MSVehicle.h.
References myWaitingTime.
Referenced by checkRewindLinkLanes(), executeMove(), MSLane::executeMovements(), and GUIVehicle::selectBlockingFoes().
const MSEdgeWeightsStorage & MSVehicle::getWeightsStorage | ( | ) | const |
Returns the vehicle's internal edge travel times/efforts container.
If the vehicle does not have such a container, it is built.
Definition at line 418 of file MSVehicle.cpp.
References _getWeightsStorage().
Referenced by MSNet::getEffort(), MSNet::getTravelTime(), TraCIServerAPI_Vehicle::processGet(), and TraCIServerAPI_Vehicle::processSet().
MSEdgeWeightsStorage & MSVehicle::getWeightsStorage | ( | ) |
Definition at line 424 of file MSVehicle.cpp.
References _getWeightsStorage().
|
virtual |
Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge)
Reimplemented from MSBaseVehicle.
Definition at line 350 of file MSVehicle.cpp.
References MSRoute::end(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, MSVehicle::State::myPos, MSBaseVehicle::myRoute, myState, and POSITION_EPS.
Referenced by enterLaneAtMove(), executeMove(), and MSLane::executeMovements().
|
virtualinherited |
Returns whether this vehicle has already departed.
Implements SUMOVehicle.
Definition at line 191 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myDeparture, and MSBaseVehicle::NOT_YET_DEPARTED.
Referenced by loadState(), and TraCIServerAPI_Vehicle::processSet().
|
inline |
Definition at line 915 of file MSVehicle.h.
References myInfluencer.
Referenced by MSLaneChanger::change(), and MSLane::executeMovements().
|
inline |
Returns whether the vehicle has to stop somewhere.
Definition at line 571 of file MSVehicle.h.
References myStops.
|
inherited |
Validates the current route.
[out] | msg | Description why the route is not valid (if it is the case) |
Definition at line 207 of file MSBaseVehicle.cpp.
References MSRoute::end(), MSVehicleType::getVehicleClass(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, and MSBaseVehicle::myType.
Referenced by enterLaneAtInsertion(), and TraCIServerAPI_Vehicle::processGet().
|
inlinevirtual |
Returns the information whether the vehicle is on a road (is simulated)
Reimplemented from MSBaseVehicle.
Definition at line 331 of file MSVehicle.h.
References myAmOnNet.
Referenced by TraCIServerAPI_Vehicle::commandDistanceRequest(), MSVTypeProbe::execute(), getDistanceToPosition(), MSVTKExport::getPositions(), MSVTKExport::getSpeed(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), MSEmissionExport::write(), MSFCDExport::write(), MSQueueExport::writeLane(), and MSFullExport::writeVehicles().
bool MSVehicle::isParking | ( | ) | const |
Returns whether the vehicle is parking.
Definition at line 592 of file MSVehicle.cpp.
References isStopped(), and myStops.
Referenced by MSVehicleTransfer::addVeh(), MSLane::executeMovements(), getPosition(), GUIVehicle::getStopInfo(), and TraCIServerAPI_Vehicle::processGet().
|
virtual |
Returns whether the vehicle is at a stop.
Implements SUMOVehicle.
Definition at line 586 of file MSVehicle.cpp.
References myStops.
Referenced by MSLane::executeMovements(), GUIVehicle::getStopInfo(), isParking(), isStoppedTriggered(), and TraCIServerAPI_Vehicle::processGet().
bool MSVehicle::isStoppedTriggered | ( | ) | const |
Returns whether the vehicle is on a triggered stop.
Definition at line 598 of file MSVehicle.cpp.
References isStopped(), and myStops.
Referenced by TraCIServerAPI_Vehicle::processGet().
void MSVehicle::leaveLane | ( | const MSMoveReminder::Notification | reason) |
Update of members if vehicle leaves a new lane in the lane change step or at arrival.
Definition at line 1496 of file MSVehicle.cpp.
References myAmOnNet, myFurtherLanes, MSBaseVehicle::myMoveReminders, MSVehicle::State::myPos, myState, MSMoveReminder::NOTIFICATION_JUNCTION, and MSMoveReminder::NOTIFICATION_TELEPORT.
Referenced by MSLaneChanger::change(), MSVehicleTransfer::checkInsertions(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), executeMove(), MSLane::executeMovements(), onRemovalFromNet(), MSLane::removeVehicle(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().
|
virtual |
Loads the state of this vehicle from the given description.
Implements SUMOVehicle.
Definition at line 2035 of file MSVehicle.cpp.
References SUMOSAXAttributes::getFloat(), SUMOSAXAttributes::getString(), MSBaseVehicle::hasDeparted(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myDeparture, MSVehicle::State::myPos, MSVehicle::State::mySpeed, myState, SUMO_ATTR_POSITION, SUMO_ATTR_SPEED, and SUMO_ATTR_STATE.
|
virtualinherited |
Called when the vehicle is inserted into the network.
Sets optional information about departure time, informs the vehicle control about a further running vehicle.
Implements SUMOVehicle.
Definition at line 184 of file MSBaseVehicle.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSNet::getVehicleControl(), MSBaseVehicle::myDeparture, and MSVehicleControl::vehicleDeparted().
Referenced by traci::TraCIServer::commandAddVehicle(), and MSCalibrator::execute().
void MSVehicle::onRemovalFromNet | ( | const MSMoveReminder::Notification | reason) |
Called when the vehicle is removed from the network.
Moves along work reminders and informs all devices about quitting. Calls "leaveLane" then.
[in] | reason | why the vehicle leaves (reached its destination, parking, teleport) |
Definition at line 337 of file MSVehicle.cpp.
References leaveLane(), myLFLinkLanes, MSVehicle::State::myPos, MSVehicle::State::mySpeed, myState, SPEED2DIST, and workOnMoveReminders().
Referenced by MSVehicleTransfer::addVeh(), MSCalibrator::execute(), MSLane::executeMovements(), MSVehicle::Influencer::postProcessVTD(), and TraCIServerAPI_Vehicle::processSet().
Returns true if the two vehicles overlap.
Definition at line 368 of file MSVehicle.h.
References MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myPos, and myState.
Referenced by MSLaneChanger::overlapWithHopped().
void MSVehicle::planMove | ( | const SUMOTime | t, |
const MSVehicle * | pred, | ||
const SUMOReal | lengthsInFront | ||
) |
Compute safe velocities for the upcoming lanes based on positions and speeds from the last time step. Also registers ApproachingVehicleInformation for all links.
This method goes through the best continuation lanes of the current lane and computes the safe velocities for passing/stopping at the next link as a DriveProcessItem
Afterwards it checks if any DriveProcessItem should be discared to avoid blocking a junction (checkRewindLinkLanes).
Finally the ApproachingVehicleInformation is registered for all links that shall be passed
[in] | t | The current timeStep |
[in] | pred | The leader (may be 0) |
[in] | lengthsInFront | Sum of vehicle lengths in front of the vehicle |
Definition at line 693 of file MSVehicle.cpp.
References checkRewindLinkLanes(), getLaneChangeModel(), myLFLinkLanes, planMoveInternal(), and MSAbstractLaneChangeModel::resetMoved().
|
protected |
Definition at line 701 of file MSVehicle.cpp.
References MSVehicle::DriveProcessItem::adaptLeaveSpeed(), adaptToLeader(), ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, bla, MSCFModel::brakeGap(), MSVehicle::Stop::busstop, MSEdge::EDGEFUNCTION_INTERNAL, MSRoute::end(), MSVehicle::Stop::endPos, estimateLeaveSpeed(), estimateSpeedAfterDistance(), MSCFModel::freeSpeed(), gap(), getBestLanesContinuation(), MSVehicleType::getCarFollowModel(), getCarFollowModel(), MSLane::getEdge(), MSCFModel::getHeadwayTime(), MSBaseVehicle::getID(), MSNet::getInstance(), getLaneChangeModel(), MSBusStop::getLastFreePos(), MSLane::getLastVehicleInformation(), MSVehicleType::getLength(), MSLane::getLength(), MSCFModel::getMaxAccel(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), getPositionOnLane(), MSEdge::getPurpose(), getSpeed(), MSCFModel::getSpeedAfterMaxDecel(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSGlobals::gLaneChangeDuration, GLO_VEHICLE, gSelected, MSVehicle::Influencer::influenceSpeed(), MSAbstractLaneChangeModel::isLaneChangeMidpointPassed(), MSLane::isLinkEnd(), GUISelectedStorage::isSelected(), MSVehicle::Influencer::isVTDControlled(), LINKDIR_LEFT, LINKDIR_RIGHT, LINKSTATE_ALLWAY_STOP, LINKSTATE_STOP, LINKSTATE_TL_RED, LINKSTATE_TL_YELLOW_MAJOR, LINKSTATE_TL_YELLOW_MINOR, MAX2(), MSCFModel::maxNextSpeed(), MIN2(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, myInfluencer, myLane, MSBaseVehicle::myParameter, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, myStops, POSITION_EPS, SPEED2DIST, STEPS2TIME, MSCFModel::stopSpeed(), MSLane::succLinkSec(), SUMOReal, SUMOTime_MAX, and TIME2STEPS.
Referenced by planMove().
Processes stops, returns the velocity needed to reach the stop.
Definition at line 604 of file MSVehicle.cpp.
References MSVehicleControl::addWaiting(), MSVehicle::Stop::awaitedPersons, MSPersonControl::boardAnyWaiting(), BUS_STOP_OFFSET, MSVehicle::Stop::busstop, DELTA_T, MSVehicle::Stop::duration, MSVehicle::Stop::edge, MSVehicle::Stop::endPos, MSBusStop::enter(), MSBusStop::getBeginLanePosition(), getBestLanes(), getCarFollowModel(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSNet::getInstance(), MSBusStop::getLastFreePos(), MSVehicleType::getLength(), MSVehicleType::getMinGap(), MSNet::getPersonControl(), MSDevice_Person::getPersons(), getSpeed(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSBusStop::leaveFrom(), MAX2(), myAmRegisteredAsWaitingForPerson, MSBaseVehicle::myCurrEdge, myLane, myPersonDevice, myState, myStops, MSBaseVehicle::myType, myWaitingTime, MSVehicle::State::pos(), MSVehicle::Stop::reached, MSVehicleControl::registerOneWaitingForPerson(), MSBusStop::removePerson(), MSVehicleControl::removeWaiting(), MSCFModel::stopSpeed(), SUMOReal, MSVehicle::Stop::triggered, MSVehicleControl::unregisterOneWaitingForPerson(), and MSVehicle::Stop::until.
Referenced by MSVehicleTransfer::checkInsertions(), MSCFModel_SmartSK::moveHelper(), MSCFModel_Daniel1::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), and MSCFModel::moveHelper().
|
inherited |
Removes a MoveReminder dynamically.
[in] | rem | the reminder to remove |
Definition at line 240 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Replaces the current route by the given one.
It is possible that the new route is not accepted, if it does not contain the vehicle's current edge.
[in] | route | The new route to pass |
Implements SUMOVehicle.
Definition at line 356 of file MSVehicle.cpp.
References MSRoute::addReference(), MSRoute::begin(), MSBaseVehicle::calculateArrivalPos(), MSRoute::contains(), getBestLanes(), MSRoute::getEdges(), MSNet::getInstance(), MSNet::informVehicleStateListener(), MSBaseVehicle::myCurrEdge, myLastBestLanesEdge, MSBaseVehicle::myNumberReroutes, MSBaseVehicle::myRoute, myStops, MSRoute::release(), and MSNet::VEHICLE_STATE_NEWROUTE.
Referenced by TraCIServerAPI_Vehicle::processSet().
|
virtualinherited |
Replaces the current route by the given edges.
It is possible that the new route is not accepted, if a) it does not contain the vehicle's current edge, or b) something fails on insertion into the routes container (see in-line comments).
[in] | edges | The new list of edges to pass |
[in] | simTime | The time at which the route was replaced |
Implements SUMOVehicle.
Definition at line 151 of file MSBaseVehicle.cpp.
References MSRoute::addReference(), RGBColor::DEFAULT_COLOR, MSRoute::dictionary(), MSRoute::getColor(), Named::getID(), MSBaseVehicle::getID(), MSBaseVehicle::getNumberReroutes(), MSRoute::getStops(), MSBaseVehicle::myRoute, MSRoute::release(), SUMOVehicle::replaceRoute(), and toString().
Referenced by MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Vehicle::processSet(), and MSBaseVehicle::reroute().
void MSVehicle::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 1935 of file MSVehicle.cpp.
References MSVehicleType::amVehicleSpecific(), and MSBaseVehicle::myType.
|
virtualinherited |
Performs a rerouting using the given router.
Tries to find a new route between the current edge and the destination edge, first. Tries to replace the current route by the new one using replaceRoute.
[in] | t | The time for which the route is computed |
[in] | router | The router to use |
Implements SUMOVehicle.
Definition at line 130 of file MSBaseVehicle.cpp.
References SUMOAbstractRouter< E, V >::compute(), MSEdge::dictionary(), SUMOVehicleParameter::fromTaz, MSBaseVehicle::getID(), MSRoute::getLastEdge(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSBaseVehicle::replaceRouteEdges(), SUMOVehicleParameter::toTaz, and WRITE_WARNING.
Referenced by TraCIServerAPI_Vehicle::processSet().
void MSVehicle::resetRoutePosition | ( | unsigned int | index) |
Definition at line 409 of file MSVehicle.cpp.
References MSRoute::begin(), MSRoute::end(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.
Referenced by MSCalibrator::execute().
bool MSVehicle::resumeFromStopping | ( | ) |
resumes a vehicle from stopping
Definition at line 1986 of file MSVehicle.cpp.
References MSVehicle::Stop::duration, myStops, and MSVehicle::Stop::reached.
|
virtual |
Saves the states of a vehicle.
Reimplemented from MSBaseVehicle.
Definition at line 2021 of file MSVehicle.cpp.
References MSRoute::begin(), OutputDevice::closeTag(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myDeparture, MSVehicle::State::myPos, MSBaseVehicle::myRoute, MSVehicle::State::mySpeed, myState, MSBaseVehicle::saveState(), SUMO_ATTR_POSITION, SUMO_ATTR_SPEED, SUMO_ATTR_STATE, toString(), and OutputDevice::writeAttr().
|
protected |
Definition at line 1904 of file MSVehicle.cpp.
References getBestLanesContinuation(), getLane(), getLaneChangeModel(), MSLane::getLength(), MSLane::getLinkCont(), MSAbstractLaneChangeModel::getOwnState(), getPositionOnLane(), MSLane::getVehicleMaxSpeed(), LCA_LEFT, LCA_RIGHT, LINKDIR_LEFT, LINKDIR_PARTLEFT, LINKDIR_PARTRIGHT, LINKDIR_RIGHT, LINKDIR_TURN, MSLane::succLinkSec(), SUMOReal, switchOffSignal(), switchOnSignal(), VEH_SIGNAL_BLINKER_LEFT, and VEH_SIGNAL_BLINKER_RIGHT.
Referenced by executeMove().
Returns whether the given signal is on.
[in] | signal | The signal to return the value of |
Definition at line 748 of file MSVehicle.h.
References mySignals.
Referenced by checkRewindLinkLanes(), drawAction_drawVehicleBlinker(), and drawAction_drawVehicleBrakeLight().
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 114 of file MSBaseVehicle.cpp.
References MSBaseVehicle::myCurrEdge.
Referenced by MSVehicleTransfer::addVeh(), MSVehicleTransfer::checkInsertions(), MSBaseVehicle::hasArrived(), and TraCIServerAPI_Vehicle::processSet().
|
inline |
Switches the given signal off.
[in] | signal | The signal to mark as being switched off |
Definition at line 731 of file MSVehicle.h.
References mySignals.
Referenced by executeMove(), TraCIServerAPI_Vehicle::processSet(), and setBlinkerInformation().
|
inline |
Switches the given signal on.
[in] | signal | The signal to mark as being switched on |
Definition at line 723 of file MSVehicle.h.
References mySignals.
Referenced by executeMove(), TraCIServerAPI_Vehicle::processSet(), and setBlinkerInformation().
Returns whether the vehicle wil pass the given edge.
[in] | The | edge to find in the vehicle's current route |
Definition at line 397 of file MSVehicle.cpp.
References MSRoute::end(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.
Referenced by TraCIServerAPI_Vehicle::processSet().
Processes active move reminder.
This method goes through all active move reminder, both those for the current lane, stored in "myMoveReminders" and those of prior lanes stored in "myOldLaneMoveReminders" calling "MSMoveReminder::notifyMove".
When processing move reminder from "myOldLaneMoveReminders", the offsets (prior lane lengths) are used, which are stored in "myOldLaneMoveReminderOffsets".
Each move reminder which is no longer active is removed from the container.
[in] | oldPos | The position the vehicle had before it has moved |
[in] | newPos | The position the vehicle has after it has moved |
[in] | newSpeed | The vehicle's speed within this move |
Definition at line 440 of file MSVehicle.cpp.
References MSBaseVehicle::myMoveReminders.
Referenced by executeMove(), MSLane::executeMovements(), and onRemovalFromNet().
|
friend |
the lane changer sets myLastLaneChangeOffset
Definition at line 81 of file MSVehicle.h.
|
protected |
The current acceleration before dawdling.
Definition at line 986 of file MSVehicle.h.
Referenced by executeMove(), getAcceleration(), getHarmonoise_NoiseEmissions(), getHBEFA_CO2Emissions(), getHBEFA_COEmissions(), getHBEFA_FuelConsumption(), getHBEFA_HCEmissions(), getHBEFA_NOxEmissions(), and getHBEFA_PMxEmissions().
|
protected |
Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived)
Definition at line 995 of file MSVehicle.h.
Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), isOnRoad(), and leaveLane().
|
protected |
Whether this vehicle is registered as waiting for a person (for deadlock-recognition)
Definition at line 998 of file MSVehicle.h.
Referenced by processNextStop().
|
protectedinherited |
the position on the destination lane where the vehicle stops
Definition at line 304 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::calculateArrivalPos(), MSBaseVehicle::getArrivalPos(), getBestLanes(), hasArrived(), planMoveInternal(), and resetRoutePosition().
|
mutableprotected |
Definition at line 975 of file MSVehicle.h.
Referenced by GUIVehicle::drawBestLanes(), getBestLanes(), and getBestLanesContinuation().
|
private |
The per vehicle variables of the car following model.
Definition at line 1101 of file MSVehicle.h.
Referenced by getCarFollowVariables(), and MSVehicle().
|
protectedinherited |
A precomputed factor by which the driver wants to be faster than the speed limit.
Definition at line 284 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getChosenSpeedFactor().
|
protectedinherited |
Iterator to current route-edge.
Definition at line 281 of file MSBaseVehicle.h.
Referenced by addStop(), GUIVehicle::drawAction_drawRailCarriages(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), getBestLanes(), getDistanceToPosition(), MSBaseVehicle::getEdge(), getRoutePosition(), hasArrived(), MSBaseVehicle::hasValidRoute(), loadState(), planMoveInternal(), MSVehicle::Influencer::postProcessVTD(), processNextStop(), replaceRoute(), MSBaseVehicle::reroute(), resetRoutePosition(), saveState(), MSBaseVehicle::succEdge(), and willPass().
|
mutableprotected |
Definition at line 976 of file MSVehicle.h.
Referenced by getBestLanes().
|
protectedinherited |
The real departure time.
Definition at line 301 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getDeparture(), MSBaseVehicle::hasDeparted(), loadState(), MSBaseVehicle::onDepart(), and saveState().
|
protectedinherited |
The devices this vehicle has.
Definition at line 298 of file MSBaseVehicle.h.
Referenced by addPerson(), MSBaseVehicle::getDevice(), MSBaseVehicle::getDevices(), GUIVehicle::GUIVehicle(), MSBaseVehicle::MSBaseVehicle(), and MSBaseVehicle::~MSBaseVehicle().
|
mutableprivate |
Definition at line 1098 of file MSVehicle.h.
Referenced by _getWeightsStorage(), and ~MSVehicle().
|
staticprotected |
Definition at line 977 of file MSVehicle.h.
Referenced by getBestLanesContinuation().
|
protected |
The information into which lanes the vehicle laps into.
Definition at line 989 of file MSVehicle.h.
Referenced by enterLaneAtInsertion(), enterLaneAtLaneChange(), executeMove(), getAngle(), leaveLane(), and ~MSVehicle().
|
protected |
Definition at line 1000 of file MSVehicle.h.
Referenced by checkRewindLinkLanes(), and executeMove().
|
private |
An instance of a velicty/lane influencing instance; built in "getInfluencer".
Definition at line 1105 of file MSVehicle.h.
Referenced by enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), getInfluencer(), getSpeedWithoutTraciInfluence(), hasInfluencer(), planMoveInternal(), and ~MSVehicle().
|
protected |
The lane the vehicle is on.
Definition at line 970 of file MSVehicle.h.
Referenced by adaptLaneEntering2MoveReminder(), checkRewindLinkLanes(), GUIVehicle::drawAction_drawRailCarriages(), GUIVehicle::drawGL(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), fixContinuations(), fixPosition(), getAngle(), getBestLanes(), getDistanceToPosition(), getLane(), getLaneIndex(), getPosition(), planMoveInternal(), processNextStop(), and GUIVehicle::selectBlockingFoes().
|
protected |
Definition at line 972 of file MSVehicle.h.
Referenced by enterLaneAtLaneChange(), enterLaneAtMove(), getLaneChangeModel(), MSVehicle(), and ~MSVehicle().
|
mutableprotected |
Definition at line 974 of file MSVehicle.h.
Referenced by getBestLanes(), and replaceRoute().
|
protected |
Container for used Links/visited Lanes during lookForward.
Definition at line 1052 of file MSVehicle.h.
Referenced by GUIVehicle::drawGLAdditional(), executeMove(), onRemovalFromNet(), planMove(), GUIVehicle::selectBlockingFoes(), and ~MSVehicle().
|
protectedinherited |
Current lane's move reminder.
Definition at line 294 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::activateReminders(), activateReminders(), adaptLaneEntering2MoveReminder(), addPerson(), MSBaseVehicle::addReminder(), GUIVehicle::GUIVehicle(), leaveLane(), MSBaseVehicle::MSBaseVehicle(), MSBaseVehicle::removeReminder(), and workOnMoveReminders().
|
protectedinherited |
The number of reroutings.
Definition at line 307 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::getNumberReroutes(), and replaceRoute().
|
protectedinherited |
This Vehicle's parameter.
Definition at line 272 of file MSBaseVehicle.h.
Referenced by MSBaseVehicle::calculateArrivalPos(), getBestLanes(), MSBaseVehicle::getID(), MSBaseVehicle::getParameter(), getPersonNumber(), planMoveInternal(), MSBaseVehicle::reroute(), MSBaseVehicle::saveState(), and MSBaseVehicle::~MSBaseVehicle().
|
protected |
The passengers this vehicle may have.
Definition at line 983 of file MSVehicle.h.
Referenced by addPerson(), GUIVehicle::drawGL(), GUIVehicle::getNumPassengers(), getPersonNumber(), and processNextStop().
|
protectedinherited |
This Vehicle's route.
Definition at line 275 of file MSBaseVehicle.h.
Referenced by addStop(), MSBaseVehicle::calculateArrivalPos(), GUIVehicle::drawAction_drawRailCarriages(), GUIVehicle::drawRoute(), executeMove(), getBestLanes(), getDistanceToPosition(), GUIVehicle::getPreviousLane(), MSBaseVehicle::getRoute(), getRoutePosition(), hasArrived(), MSBaseVehicle::hasValidRoute(), MSBaseVehicle::MSBaseVehicle(), planMoveInternal(), replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::reroute(), resetRoutePosition(), MSBaseVehicle::saveState(), saveState(), willPass(), and MSBaseVehicle::~MSBaseVehicle().
|
protected |
State of things of the vehicle that can be on or off.
Definition at line 992 of file MSVehicle.h.
Referenced by getSignals(), signalSet(), switchOffSignal(), and switchOnSignal().
|
protected |
This Vehicles driving state (pos and speed)
Definition at line 967 of file MSVehicle.h.
Referenced by addStop(), MSLaneChanger::change(), checkRewindLinkLanes(), congested(), GUIVehicle::drawAction_drawRailCarriages(), GUIVehicle::drawGL(), enterLaneAtInsertion(), enterLaneAtLaneChange(), enterLaneAtMove(), executeMove(), fixPosition(), getAngle(), getHarmonoise_NoiseEmissions(), getHBEFA_CO2Emissions(), getHBEFA_COEmissions(), getHBEFA_FuelConsumption(), getHBEFA_HCEmissions(), getHBEFA_NOxEmissions(), getHBEFA_PMxEmissions(), getPositionOnLane(), getSpeed(), getSpeedWithoutTraciInfluence(), hasArrived(), leaveLane(), loadState(), onRemovalFromNet(), overlap(), planMoveInternal(), processNextStop(), and saveState().
|
protected |
The vehicle's list of stops.
Definition at line 980 of file MSVehicle.h.
Referenced by addPerson(), addStop(), addTraciStop(), getBestLanes(), getNextStop(), GUIVehicle::getStopInfo(), hasStops(), isParking(), isStopped(), isStoppedTriggered(), planMoveInternal(), processNextStop(), replaceRoute(), and resumeFromStopping().
|
protectedinherited |
This Vehicle's type.
Definition at line 278 of file MSBaseVehicle.h.
Referenced by enterLaneAtInsertion(), getAngle(), getBestLanes(), getCarFollowModel(), getHarmonoise_NoiseEmissions(), getHBEFA_CO2Emissions(), getHBEFA_COEmissions(), getHBEFA_FuelConsumption(), getHBEFA_HCEmissions(), getHBEFA_NOxEmissions(), getHBEFA_PMxEmissions(), MSBaseVehicle::getMaxSpeed(), GUIVehicle::getParameterWindow(), MSBaseVehicle::getVehicleType(), MSBaseVehicle::hasValidRoute(), processNextStop(), replaceVehicleType(), MSBaseVehicle::saveState(), and ~MSVehicle().
|
protected |
The time the vehicle waits (is not faster than 0.1m/s) in seconds.
Definition at line 964 of file MSVehicle.h.
Referenced by enterLaneAtInsertion(), executeMove(), getImpatience(), getWaitingSeconds(), getWaitingTime(), and processNextStop().