SUMO - Simulation of Urban MObility

GUIVehicle Class Reference

A MSVehicle extended by some values for usage within the gui. More...

#include <GUIVehicle.h>

Inheritance diagram for GUIVehicle:
MSVehicle GUIGlObject MSBaseVehicle SUMOVehicle

Data Structures

class  GUIVehiclePopupMenu

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) throw ()
 "Activates" all current move reminder
SUMOReal adaptMaxSpeed (SUMOReal referenceSpeed)
 Adapts the current maximum speed using the distribution given in the type.
void addPerson (MSPerson *person) throw ()
 Adds a person to this vehicle.
void addReminder (MSMoveReminder *rem) throw ()
 Adds a MoveReminder dynamically.
bool addTraciStop (MSLane *lane, SUMOReal pos, SUMOReal radius, SUMOTime duration)
bool congested () const
void drawName (const Position &pos, const SUMOReal scale, const GUIVisualizationTextSettings &settings, const SUMOReal angle=0) const
void enterLaneAtInsertion (MSLane *enteredLane, SUMOReal pos, SUMOReal speed, MSMoveReminder::Notification notification) throw (ProcessError)
 Update when the vehicle enters a new lane in the emit step.
void enterLaneAtLaneChange (MSLane *enteredLane)
 Update when the vehicle enters a new lane in the laneChange step.
bool enterLaneAtMove (MSLane *enteredLane, bool onTeleporting=false)
 Update when the vehicle enters a new lane in the move step.
SUMOReal gap2pred (const MSVehicle &pred) const throw ()
 Returns the gap between pred and this vehicle.
const std::vector< LaneQ > & getBestLanes () const throw ()
 Returns the description of best lanes to use in order to continue the route.
const MSCFModel & getCarFollowModel () const throw ()
 Returns the vehicle's car following model definition.
MSCFModel::VehicleVariables * getCarFollowVariables () const throw ()
 Returns the vehicle's car following model variables.
SUMOTime getDeparture () const throw ()
 Returns this vehicle's real departure time.
const std::vector< MSDevice * > & getDevices () const
 Returns this vehicle's devices.
SUMOReal getDistanceToPosition (SUMOReal destPos, const MSEdge *destEdge)
const MSEdge * getEdge () const
 Returns the edge the vehicle is currently at.
const std::string & getID () const throw ()
 Returns the name of the vehicle.
Influencer & getInfluencer ()
 Returns the velocity/lane influencer.
const MSAbstractLaneChangeModel & getLaneChangeModel () const
MSAbstractLaneChangeModel & getLaneChangeModel ()
unsigned int getLaneIndex () const
SUMOReal getLastLaneChangeOffset () const throw ()
 Returns the time since the last lane change in seconds.
SUMOReal getMaxSpeed () const
 Returns the current maximum speed.
unsigned int getNumberReroutes () const throw ()
 Returns the number of new routes this vehicle got.
const SUMOVehicleParameter & getParameter () const throw ()
 Returns the vehicle's parameter (including departure definition)
const MSRoute & getRoute () const throw ()
 Returns the current route.
SUMOReal getSpeedWithoutTraciInfluence () const
 Returns the uninfluenced velocity.
const MSVehicleType & getVehicleType () const throw ()
 Returns the vehicle's type definition.
 GUIVehicle (SUMOVehicleParameter *pars, const MSRoute *route, const MSVehicleType *type, int vehicleIndex) throw (ProcessError)
 Constructor.
bool hasValidRoute (std::string &msg) const throw ()
 Validates the current route.
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.
bool moveChecked ()
 Moves the vehicle after the responds (right-of-way rules) are known.
bool moveRegardingCritical (SUMOTime t, const MSLane *const lane, const MSVehicle *const pred, const MSVehicle *const neigh, SUMOReal lengthsInFront) throw ()
 Moves vehicles which may run out of the lane.
void onDepart () throw ()
 Called when the vehicle is inserted into the network.
SUMOReal processNextStop (SUMOReal currentVelocity) throw ()
 Processes stops, returns the velocity needed to reach the stop.
void removeReminder (MSMoveReminder *rem) throw ()
 Removes a MoveReminder dynamically.
bool replaceRouteEdges (const MSEdgeVector &edges, bool onInit=false) throw ()
 Replaces the current route by the given edges.
void replaceVehicleType (MSVehicleType *type) throw ()
 Replaces the current vehicle type by the one given.
void reroute (SUMOTime t, SUMOAbstractRouter< MSEdge, SUMOVehicle > &router, bool withTaz=false) throw ()
 Performs a rerouting using the given router.
void setIndividualMaxSpeed (SUMOReal individualMaxSpeed)
void setPreDawdleAcceleration (SUMOReal accel)
const MSEdge * succEdge (unsigned int nSuccs) const throw ()
 Returns the nSuccs'th successor of edge the vehicle is currently at.
void unsetIndividualMaxSpeed (void)
void vsafeCriticalCont (SUMOTime t, SUMOReal boundVSafe)
 ~GUIVehicle () throw ()
 destructor
inherited from GUIGlObject
GUIGLObjectPopupMenu * getPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent) throw ()
 Returns an own popup-menu.
GUIParameterTableWindow * getParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent) throw ()
 Returns an own parameter window.
Boundary getCenteringBoundary () const throw ()
 Returns the boundary to which the view shall be centered in order to show the object.
void drawGL (const GUIVisualizationSettings &s) const throw ()
 Draws the object.
virtual void drawGLAdditional (GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const throw ()
 Draws additionally triggered visualisations.
insertion/removal
void onRemovalFromNet (const MSMoveReminder::Notification reason) throw ()
 Called when the vehicle is removed from the network.
interaction with the route
bool ends () const throw ()
 Returns the information whether the vehicle should end now.
bool replaceRoute (const MSRoute *route, bool onInit=false) throw ()
 Replaces the current route by the given one.
bool willPass (const MSEdge *const edge) const throw ()
 Returns whether the vehicle wil pass the given edge.
MSEdgeWeightsStorage & getWeightsStorage () throw ()
 Returns the vehicle's internal edge travel times/efforts container.
state setter/getter
SUMOReal getPositionOnLane () const throw ()
 Get the vehicle's position along the lane.
SUMOReal getSpeed () const throw ()
 Returns the vehicle's current speed.
SUMOReal getPreDawdleAcceleration () const throw ()
 Returns the vehicle's acceleration before dawdling.
Other getter methods
Position getPosition () const throw ()
 Return current position (x/y, cartesian)
MSLane * getLane () const throw ()
 Returns the lane the vehicle is on.
bool isOnRoad () const throw ()
 Returns the information whether the vehicle is on a road (is simulated)
SUMOTime getWaitingTime () const throw ()
 Returns the SUMOTime waited (speed was lesser than 0.1m/s)
SUMOReal getWaitingSeconds () const throw ()
 Returns the number of seconds waited (speed was lesser than 0.1m/s)
SUMOReal getAngle () const throw ()
 Returns the vehicle's direction in degrees.
strategical/tactical lane choosing methods
virtual const std::vector
< LaneQ > & 
getBestLanes (bool forceRebuild=false, MSLane *startLane=0) const throw ()
 Returns the description of best lanes to use in order to continue the route.
const std::vector< MSLane * > & getBestLanesContinuation () const throw ()
 Returns the subpart of best lanes that describes the vehicle's current lane and their successors.
const std::vector< MSLane * > & getBestLanesContinuation (const MSLane *const l) const throw ()
 Returns the subpart of best lanes that describes the given lane and their successors.
vehicle stops definitions and i/o
bool addStop (const SUMOVehicleParameter::Stop &stopPar, SUMOTime untilOffset=0) throw ()
 Adds a stop.
bool hasStops () const
 Returns whether the vehicle has to stop somewhere.
bool isStopped () const
 Returns whether the vehicle is at a stop.
bool isParking () const
 Returns whether the vehicle is parking.
Emission retrieval
SUMOReal getHBEFA_CO2Emissions () const throw ()
 Returns CO2 emission of the current state.
SUMOReal getHBEFA_COEmissions () const throw ()
 Returns CO emission of the current state.
SUMOReal getHBEFA_HCEmissions () const throw ()
 Returns HC emission of the current state.
SUMOReal getHBEFA_NOxEmissions () const throw ()
 Returns NOx emission of the current state.
SUMOReal getHBEFA_PMxEmissions () const throw ()
 Returns PMx emission of the current state.
SUMOReal getHBEFA_FuelConsumption () const throw ()
 Returns fuel consumption of the current state.
SUMOReal getHarmonoise_NoiseEmissions () const throw ()
 Returns noise emissions of the current state.
Atomar getter methods
const std::string & getFullName () const
 Returns the full name appearing in the tool tip.
GUIGlID getGlID () const throw ()
 Returns the numerical id of the object.
interfaces to be implemented by derived classes
const std::string & getMicrosimID () const
 Returns the id of the object as known to microsim.
void setMicrosimID (const std::string &newID)
 Changes the microsimID of the object (happens in NETEDIT)
GUIGlObjectType getType () const
 Returns the type of the object as coded in GUIGlObjectType.
Parameter table window I/O
void addParameterTable (GUIParameterTableWindow *w) throw ()
 Lets this object know a parameter window showing the object's values was opened.
void removeParameterTable (GUIParameterTableWindow *w) throw ()
 Lets this object know a parameter window showing the object's values was closed.

Static Public Member Functions

static SUMOReal gap (SUMOReal predPos, SUMOReal predLength, SUMOReal pos) throw ()
 Uses the given values to compute the brutto-gap.
static bool overlap (const MSVehicle *veh1, const MSVehicle *veh2)

Static Public Attributes

static StringBijection
< GUIGlObjectType > 
TypeNames
 associates object types with strings

Protected Member Functions

void calculateArrivalPos () throw ()
 (Re-)Calculates the arrival position from the vehicle parameters
void checkRewindLinkLanes (SUMOReal lengthsInFront) throw ()
SUMOReal getSpaceTillLastStanding (MSLane *l, bool &foundStopped) throw ()
void setBlinkerInformation () throw ()
void setPrefix (const std::string &prefix)
helper methods for building popup-menus
void buildPopupHeader (GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true) throw ()
 Builds the header.
void buildCenterPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) throw ()
 Builds an entry which allows to center to the object.
void buildNameCopyPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) throw ()
 Builds entries which allow to copy the name / typed name into the clipboard.
void buildSelectionPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) throw ()
 Builds an entry which allows to (de)select the object.
void buildShowParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) throw ()
 Builds an entry which allows to open the parameter window.
void buildPositionCopyEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) throw ()
 Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position.
void buildShowManipulatorPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) throw ()
 Builds an entry which allows to open the manipulator window.

Protected Attributes

bool myAmOnNet
 Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived)
bool myAmRegisteredAsWaitingForPerson
 Whether this vehicle is registered as waiting for a person (for deadlock-recognition)
SUMOReal myArrivalPos
 the position on the destination lane where the vehicle stops
std::vector< std::vector< LaneQ > > myBestLanes
MSRouteIterator myCurrEdge
 Iterator to current route-edge.
std::vector< LaneQ >::iterator myCurrentLaneInBestLanes
SUMOTime myDeparture
 The real departure time.
std::vector< MSDevice * > myDevices
 The devices this vehicle has.
std::vector< MSLane * > myFurtherLanes
 The information into which lanes the vehicle laps into.
bool myHasIndividualMaxSpeed
 is true if there has an individual speed been set
bool myHaveToWaitOnNextLink
SUMOReal myIndividualMaxSpeed
MSLane * myLane
 The lane the vehicle is on.
MSAbstractLaneChangeModel * myLaneChangeModel
const MSEdge * myLastBestLanesEdge
SUMOTime myLastLaneChangeOffset
 information how long ago the vehicle has performed a lane-change
unsigned int myNumberReroutes
 The number of reroutings.
const SUMOVehicleParameter * myParameter
 This Vehicle's parameter.
MSDevice_Person * myPersonDevice
 The passengers this vehicle may have.
SUMOReal myPreDawdleAcceleration
 The current acceleration before dawdling.
SUMOReal myReferenceSpeed
 the speed which served as reference when calculating the individual maxspeed
const MSRoute * myRoute
 This Vehicle's route.
int mySignals
 State of things of the vehicle that can be on or off.
State myState
 This Vehicles driving state (pos and speed)
std::list< Stop > myStops
 The vehicle's list of stops.
const MSVehicleType * myType
 This Vehicle's type.
SUMOTime myWaitingTime
 The time the vehicle waits (is not faster than 0.1m/s) in seconds.

Static Protected Attributes

static std::vector< MSLane * > myEmptyLaneVector

Private Member Functions

SUMOReal getColorValue (size_t activeScheme) const
 gets the color value according to the current scheme index
void setColor (const GUIVisualizationSettings &s) const
 sets the color according to the currente settings
bool setFunctionalColor (size_t activeScheme) const
 sets the color according to the current scheme index and some vehicle function

Private Attributes

MFXMutex myLock
 The mutex used to avoid concurrent updates of the vehicle buffer.
MSDevice_Vehroutes * myRoutes

Friends

class MSLaneChanger
 the lane changer sets myLastLaneChangeOffset

Additional visualisations

enum  VisualisationFeatures { VO_SHOW_BEST_LANES = 1, VO_SHOW_ROUTE = 2, VO_SHOW_ALL_ROUTES = 4, VO_TRACKED = 8 }
 

Additional visualisation feature ids.

More...
std::map< GUISUMOAbstractView
*, int > 
myAdditionalVisualizations
 Enabled visualisations, per view.
bool hasActiveAddVisualisation (GUISUMOAbstractView *const parent, int which) const throw ()
 Returns whether the named feature is enabled in the given view.
bool addActiveAddVisualisation (GUISUMOAbstractView *const parent, int which) throw ()
 Adds the named visualisation feature to the given view.
bool removeActiveAddVisualisation (GUISUMOAbstractView *const parent, int which) throw ()
 Adds the named visualisation feature to the given view.
void draw (const MSRoute &r) const throw ()
 Draws the route.
void drawRoute (const GUIVisualizationSettings &s, int routeNo, SUMOReal darken) const throw ()
 Chooses the route to draw and draws it, darkening it as given.
void drawBestLanes () const throw ()
 Draws the vehicle's best lanes.

Move reminder structures

MoveReminderCont myMoveReminders
 Current lane's move reminder.
typedef std::vector< std::pair
< MSMoveReminder *, SUMOReal > > 
MoveReminderCont
 Definition of a move reminder container.

Interaction with move reminders

void workOnMoveReminders (SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) throw ()
 Processes active move reminder.
void adaptLaneEntering2MoveReminder (const MSLane &enteredLane) throw ()
 Adapts the vehicle's entering of a new lane.

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) throw ()
 Switches the given signal on.
void switchOffSignal (int signal) throw ()
 Switches the given signal off.
int getSignals () const throw ()
 Returns the signals.
bool signalSet (int which) const throw ()
 Returns whether the given signal is on.

Detailed Description

A MSVehicle extended by some values for usage within the gui.

A visualisable MSVehicle. Extended by the possibility to retrieve names of all available vehicles (static) and the possibility to retrieve the color of the vehicle which is available in different forms allowing an easier recognition of done actions such as lane changing.

Definition at line 63 of file GUIVehicle.h.


Member Typedef Documentation

typedef std::vector< std::pair<MSMoveReminder*, SUMOReal> > MSBaseVehicle::MoveReminderCont [protected, inherited]

Definition of a move reminder container.

Definition at line 260 of file MSBaseVehicle.h.


Member Enumeration Documentation

enum MSVehicle::ChangeRequest [inherited]

Requests set via TraCI.

Enumerator:
REQUEST_NONE 

vehicle doesn't want to change

REQUEST_LEFT 

vehicle want's to change to left lane

REQUEST_RIGHT 

vehicle want's to change to right lane

REQUEST_HOLD 

vehicle want's to keep the current lane

Definition at line 129 of file MSVehicle.h.

enum MSVehicle::Signalling [inherited]

Some boolean values which describe the state of some vehicle parts.

Enumerator:
VEH_SIGNAL_NONE 

Everything is switched off.

VEH_SIGNAL_BLINKER_RIGHT 

Right blinker lights are switched on.

VEH_SIGNAL_BLINKER_LEFT 

Left blinker lights are switched on.

VEH_SIGNAL_BLINKER_EMERGENCY 

Blinker lights on both sides are switched on.

VEH_SIGNAL_BRAKELIGHT 

The brake lights are on.

VEH_SIGNAL_FRONTLIGHT 

The front lights are on (no visualisation)

VEH_SIGNAL_FOGLIGHT 

The fog lights are on (no visualisation)

VEH_SIGNAL_HIGHBEAM 

The high beam lights are on (no visualisation)

VEH_SIGNAL_BACKDRIVE 

The backwards driving lights are on (no visualisation)

VEH_SIGNAL_WIPER 

The wipers are on.

VEH_SIGNAL_DOOR_OPEN_LEFT 

One of the left doors is opened.

VEH_SIGNAL_DOOR_OPEN_RIGHT 

One of the right doors is opened.

VEH_SIGNAL_EMERGENCY_BLUE 

A blue emergency light is on.

VEH_SIGNAL_EMERGENCY_RED 

A red emergency light is on.

VEH_SIGNAL_EMERGENCY_YELLOW 

A yellow emergency light is on.

Definition at line 683 of file MSVehicle.h.

Additional visualisation feature ids.

Enumerator:
VO_SHOW_BEST_LANES 

show vehicle's best lanes

VO_SHOW_ROUTE 

show vehicle's current route

VO_SHOW_ALL_ROUTES 

show all vehicle's routes

VO_TRACKED 

track vehicle

Definition at line 233 of file GUIVehicle.h.


Constructor & Destructor Documentation

GUIVehicle::GUIVehicle ( SUMOVehicleParameter *  pars,
const MSRoute *  route,
const MSVehicleType *  type,
int  vehicleIndex 
) throw (ProcessError)

Constructor.

Parameters:
[in]parsThe vehicle description
[in]routeThe vehicle's route
[in]typeThe vehicle's type
[in]vehicleIndexThe vehicle's running index
Exceptions:
ProcessErrorIf a value is wrong

Definition at line 216 of file GUIVehicle.cpp.

References MSDevice_Vehroutes::buildVehicleDevices(), MSBaseVehicle::myDevices, MSBaseVehicle::myMoveReminders, and myRoutes.

GUIVehicle::~GUIVehicle ( ) throw ()

destructor

Definition at line 227 of file GUIVehicle.cpp.

References MFXMutex::lock(), myAdditionalVisualizations, myLock, myRoutes, and MFXMutex::unlock().


Member Function Documentation

void MSVehicle::activateReminders ( const MSMoveReminder::Notification  reason) throw () [virtual, inherited]

"Activates" all current move reminder

For all move reminder stored in "myMoveReminders", their method "MSMoveReminder::notifyEnter" is called.

Parameters:
[in]reasonThe reason for changing the reminders' states
See also:
MSMoveReminder
MSMoveReminder::notifyEnter
MSMoveReminder::Notification

Reimplemented from MSBaseVehicle.

Definition at line 1196 of file MSVehicle.cpp.

References MSVehicle::getLane(), and MSBaseVehicle::myMoveReminders.

Referenced by MSVehicle::enterLaneAtInsertion(), MSVehicle::enterLaneAtLaneChange(), and MSVehicle::enterLaneAtMove().

void MSVehicle::adaptLaneEntering2MoveReminder ( const MSLane &  enteredLane) throw () [protected, inherited]

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!

Parameters:
[in]enteredLane
See also:
MSMoveReminder
MSLane::getMoveReminder

Definition at line 392 of file MSVehicle.cpp.

References MSBaseVehicle::addReminder(), MSBaseVehicle::myMoveReminders, and SUMOReal.

Referenced by MSVehicle::enterLaneAtMove().

SUMOReal MSBaseVehicle::adaptMaxSpeed ( SUMOReal  referenceSpeed) [virtual, inherited]

Adapts the current maximum speed using the distribution given in the type.

Returns:
The vehicle's new maximum speed

Implements SUMOVehicle.

Definition at line 120 of file MSBaseVehicle.cpp.

References MSVehicleType::getMaxSpeed(), MSVehicleType::getMaxSpeedWithDeviation(), MSVehicleType::hasSpeedDeviation(), MIN2(), MSBaseVehicle::myHasIndividualMaxSpeed, MSBaseVehicle::myIndividualMaxSpeed, MSBaseVehicle::myReferenceSpeed, and MSBaseVehicle::myType.

bool GUIVehicle::addActiveAddVisualisation ( GUISUMOAbstractView *const  parent,
int  which 
) throw ()

Adds the named visualisation feature to the given view.

Parameters:
[in]parentThe view for which the feature shall be enabled
[in]whichThe visualisation feature to enable
Returns:
Always true
See also:
GUISUMOAbstractView::addAdditionalGLVisualisation

Definition at line 1095 of file GUIVehicle.cpp.

References myAdditionalVisualizations.

Referenced by GUIVehicle::GUIVehiclePopupMenu::onCmdShowAllRoutes(), GUIVehicle::GUIVehiclePopupMenu::onCmdShowBestLanes(), GUIVehicle::GUIVehiclePopupMenu::onCmdShowCurrentRoute(), and GUIVehicle::GUIVehiclePopupMenu::onCmdStartTrack().

void GUIGlObject::addParameterTable ( GUIParameterTableWindow *  w) throw () [inherited]

Lets this object know a parameter window showing the object's values was opened.

Parameters:
[in]wThe opened parameter window

Definition at line 187 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

void MSVehicle::addPerson ( MSPerson *  person) throw () [virtual, inherited]

Adds a person to this vehicle.

The default implementation does nothing since persons are not supported by default

Parameters:
[in]personThe person to add

Reimplemented from MSBaseVehicle.

Definition at line 1665 of file MSVehicle.cpp.

References MSDevice_Person::buildVehicleDevices(), MSBaseVehicle::myDevices, MSBaseVehicle::myMoveReminders, and MSVehicle::myStops.

void MSBaseVehicle::addReminder ( MSMoveReminder *  rem) throw () [inherited]

Adds a MoveReminder dynamically.

Parameters:
[in]remthe reminder to add
See also:
MSMoveReminder

Definition at line 254 of file MSBaseVehicle.cpp.

Referenced by MSVehicle::adaptLaneEntering2MoveReminder(), MSVehicle::enterLaneAtInsertion(), and MSVehicle::enterLaneAtLaneChange().

bool MSVehicle::addTraciStop ( MSLane *  lane,
SUMOReal  pos,
SUMOReal  radius,
SUMOTime  duration 
) [inherited]

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

Parameters:
lanelane on wich to stop
posposition on the given lane at wich to stop
radiusthe vehicle will stop if it is within the range [pos-radius, pos+radius]
durationafter waiting for the time period duration, the vehicle will continue until the stop is reached again

Definition at line 1725 of file MSVehicle.cpp.

References MSVehicle::addStop(), SUMOVehicleParameter::Stop::busstop, SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, MSNet::getBusStopID(), Named::getID(), MSNet::getInstance(), SUMOVehicleParameter::Stop::index, SUMOVehicleParameter::Stop::lane, MSVehicle::myStops, SUMOVehicleParameter::Stop::parking, POSITION_EPS, SUMOVehicleParameter::Stop::startPos, STOP_INDEX_END, SUMOVehicleParameter::Stop::triggered, and SUMOVehicleParameter::Stop::until.

void GUIGlObject::buildCenterPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
) throw () [protected, inherited]

Builds an entry which allows to center to the object.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 125 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_RECENTERVIEW, and MID_CENTER.

Referenced by getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), and GUILaneSpeedTrigger::getPopUpMenu().

void GUIGlObject::buildNameCopyPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
) throw () [protected, inherited]

Builds entries which allow to copy the name / typed name into the clipboard.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 134 of file GUIGlObject.cpp.

References MID_COPY_NAME, and MID_COPY_TYPED_NAME.

Referenced by getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), and GUILaneSpeedTrigger::getPopUpMenu().

void GUIGlObject::buildPopupHeader ( GUIGLObjectPopupMenu *  ret,
GUIMainWindow &  app,
bool  addSeparator = true 
) throw () [protected, inherited]

Builds the header.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 115 of file GUIGlObject.cpp.

References GUIGlObject::getFullName().

Referenced by getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), and GUILaneSpeedTrigger::getPopUpMenu().

void GUIGlObject::buildPositionCopyEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
) throw () [protected, inherited]

Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 166 of file GUIGlObject.cpp.

References GeoConvHelper::getDefaultInstance(), MID_COPY_CURSOR_GEOPOSITION, and MID_COPY_CURSOR_POSITION.

Referenced by getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), and GUILaneSpeedTrigger::getPopUpMenu().

void GUIGlObject::buildSelectionPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
) throw () [protected, inherited]

Builds an entry which allows to (de)select the object.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 144 of file GUIGlObject.cpp.

References GUIGlObject::getGlID(), GUIIconSubSys::getIcon(), GUIGlObject::getType(), gSelected, ICON_FLAG_MINUS, ICON_FLAG_PLUS, GUISelectedStorage::isSelected(), MID_ADDSELECT, and MID_REMOVESELECT.

Referenced by getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), and GUILaneSpeedTrigger::getPopUpMenu().

void GUIGlObject::buildShowManipulatorPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
) throw () [protected, inherited]

Builds an entry which allows to open the manipulator window.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 178 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_MANIP, and MID_MANIP.

Referenced by GUILaneSpeedTrigger::getPopUpMenu().

void GUIGlObject::buildShowParamsPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
) throw () [protected, inherited]

Builds an entry which allows to open the parameter window.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 157 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_APP_TABLE, and MID_SHOWPARS.

Referenced by getPopUpMenu(), and GUILaneSpeedTrigger::getPopUpMenu().

void MSBaseVehicle::calculateArrivalPos ( ) throw () [protected, inherited]
bool MSVehicle::congested ( ) const [inline, inherited]

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 401 of file MSVehicle.h.

References MSVehicle::State::mySpeed, MSVehicle::myState, and SUMOReal.

Referenced by MSAbstractLaneChangeModel::congested().

void GUIVehicle::draw ( const MSRoute &  r) const throw ()

Draws the route.

Parameters:
[in]rThe route to draw

Definition at line 1180 of file GUIVehicle.cpp.

References GLHelper::drawBoxLines(), GUIEdge::getLaneGeometry(), GUILaneWrapper::getShape(), GUILaneWrapper::getShapeLengths(), and GUILaneWrapper::getShapeRotations().

Referenced by drawRoute().

void GUIVehicle::drawBestLanes ( ) const throw ()
void GUIVehicle::drawGLAdditional ( GUISUMOAbstractView *const  parent,
const GUIVisualizationSettings &  s 
) const throw () [virtual]

Draws additionally triggered visualisations.

Parameters:
[in]parentThe view
[in]sThe settings for the current view (may influence drawing)

Reimplemented from GUIGlObject.

Definition at line 959 of file GUIVehicle.cpp.

References drawBestLanes(), drawRoute(), GUIGlObject::getGlID(), MSBaseVehicle::getNumberReroutes(), GUIGlObject::getType(), hasActiveAddVisualisation(), SUMOReal, VO_SHOW_ALL_ROUTES, VO_SHOW_BEST_LANES, and VO_SHOW_ROUTE.

void GUIGlObject::drawName ( const Position &  pos,
const SUMOReal  scale,
const GUIVisualizationTextSettings &  settings,
const SUMOReal  angle = 0 
) const [inherited]
void GUIVehicle::drawRoute ( const GUIVisualizationSettings &  s,
int  routeNo,
SUMOReal  darken 
) const throw ()

Chooses the route to draw and draws it, darkening it as given.

Parameters:
[in]sThe visualisation settings, needed to determine the vehicle's color
[in]routeNoThe route to show (0: the current, >0: prior)
[in]darkenThe amount to darken the route by

Definition at line 1112 of file GUIVehicle.cpp.

References draw(), MSDevice_Vehroutes::getRoute(), MSBaseVehicle::myRoute, myRoutes, and setColor().

Referenced by drawGLAdditional().

bool MSVehicle::ends ( ) const throw () [inherited]

Returns the information whether the vehicle should end now.

Returns:
Whether the route ends

Definition at line 318 of file MSVehicle.cpp.

References MSRoute::end(), MSBaseVehicle::myArrivalPos, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, and POSITION_EPS.

Referenced by MSVehicle::enterLaneAtMove(), MSVehicle::moveChecked(), and MSLane::setCritical().

void MSVehicle::enterLaneAtInsertion ( MSLane *  enteredLane,
SUMOReal  pos,
SUMOReal  speed,
MSMoveReminder::Notification  notification 
) throw (ProcessError) [inherited]

Update when the vehicle enters a new lane in the emit step.

Parameters:
[in]enteredLaneThe lane the vehicle enters
[in]posThe position the vehicle was inserted into the lane
[in]speedThe speed with which the vehicle was inserted into the lane
[in]notificationThe cause of insertion (i.e. departure, teleport, parking)

Definition at line 1297 of file MSVehicle.cpp.

References MSVehicle::activateReminders(), MSBaseVehicle::addReminder(), MSGlobals::gCheckRoutes, MSBaseVehicle::getID(), MSVehicleType::getLengthWithGap(), MSLane::getLogicalPredecessorLane(), MSBaseVehicle::hasValidRoute(), MSVehicle::myAmOnNet, MSVehicle::myFurtherLanes, MSBaseVehicle::myType, and SUMOReal.

bool MSVehicle::enterLaneAtMove ( MSLane *  enteredLane,
bool  onTeleporting = false 
) [inherited]

Update when the vehicle enters a new lane in the move step.

Parameters:
[in]enteredLaneThe lane the vehicle enters
[in]onTeleportingWhether the lane was entered while being teleported
Returns:
Whether the vehicle's route has ended (due to vaporization, or because the destination was reached)

Definition at line 1212 of file MSVehicle.cpp.

References MSVehicle::activateReminders(), MSVehicle::adaptLaneEntering2MoveReminder(), MSVehicle::Influencer::checkForLaneChanges(), MSEdge::EDGEFUNCTION_INTERNAL, MSVehicle::ends(), MSVehicle::getBestLanes(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSNet::getInstance(), MSVehicle::getLaneIndex(), MSEdge::getPurpose(), MSVehicle::myAmOnNet, MSBaseVehicle::myCurrEdge, MSVehicle::myInfluencer, MSVehicle::myLaneChangeModel, MSMoveReminder::NOTIFICATION_JUNCTION, and MSAbstractLaneChangeModel::requestLaneChange().

Referenced by MSVehicle::moveChecked().

static SUMOReal MSVehicle::gap ( SUMOReal  predPos,
SUMOReal  predLength,
SUMOReal  pos 
) throw () [inline, static, inherited]

Uses the given values to compute the brutto-gap.

Parameters:
[in]predPosPosition of the leader
[in]predLengthLength of the leader
[in]posPosition of the follower
Returns:
The gap between the leader and the follower

Definition at line 243 of file MSVehicle.h.

Referenced by MSVehicle::gap2pred(), MSLane::isInsertionSuccess(), and MSVehicle::moveRegardingCritical().

SUMOReal MSVehicle::gap2pred ( const MSVehicle &  pred) const throw () [inline, inherited]

Returns the gap between pred and this vehicle.

Assumes both vehicles are on the same or on are on parallel lanes.

Parameters:
[in]predThe leader
Returns:
The gap between this vehicle and the leader (may be <0)

Definition at line 227 of file MSVehicle.h.

References MSVehicle::gap(), MSVehicle::getPositionOnLane(), and SUMOReal.

Referenced by MSVehicle::moveRegardingCritical().

SUMOReal MSVehicle::getAngle ( ) const throw () [inherited]

Returns the vehicle's direction in degrees.

Returns:
The vehicle's current angle

Definition at line 416 of file MSVehicle.cpp.

References MSVehicleType::getLengthWithGap(), MSVehicle::getPositionOnLane(), MSVehicle::myFurtherLanes, MSBaseVehicle::myType, PI, Position::x(), and Position::y().

Referenced by drawGL(), getParameterWindow(), and TraCIServerAPI_Vehicle::processGet().

const std::vector< MSVehicle::LaneQ > & GUIVehicle::getBestLanes ( ) const throw ()

Returns the description of best lanes to use in order to continue the route.

Prevents parallel reading and generation of the information by locking "myLock" before calling MSVehicle::getBestLanes.

Returns:
The best lanes structure holding matching the current vehicle position and state ahead
See also:
MSVehicle::getBestLanes

Definition at line 986 of file GUIVehicle.cpp.

References MFXMutex::lock(), myLock, and MFXMutex::unlock().

const std::vector< MSVehicle::LaneQ > & MSVehicle::getBestLanes ( bool  forceRebuild = false,
MSLane *  startLane = 0 
) const throw () [virtual, inherited]

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.

Parameters:
[in]forceRebuildWhether the best lanes container shall be rebuilt even if the vehicle's edge has not changed
[in]startLaneThe lane the process shall start at ("myLane" will be used if ==0)
Returns:
The best lanes structure holding matching the current vehicle position and state ahead

Definition at line 1361 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, MSRoute::end(), MSLane::getEdge(), MSEdge::getLanes(), MSLane::getLength(), MSVehicleType::getVehicleClass(), GLO_VEHICLE, gSelected, GUISelectedStorage::isSelected(), MSVehicle::LaneQ::lane, MSVehicle::Stop::lane, MSVehicle::LaneQ::length, MSBaseVehicle::myArrivalPos, MSVehicle::myBestLanes, MSBaseVehicle::myCurrEdge, MSVehicle::myCurrentLaneInBestLanes, MSVehicle::myLane, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSVehicle::myStops, MSBaseVehicle::myType, MSVehicle::Stop::startPos, and SUMOReal.

Referenced by MSLaneChanger::change(), MSVehicle::enterLaneAtMove(), TraCIServerAPI_Vehicle::processGet(), and MSVehicle::processNextStop().

const std::vector< MSLane * > & MSVehicle::getBestLanesContinuation ( ) const throw () [inherited]

Returns the subpart of best lanes that describes the vehicle's current lane and their successors.

Returns:
The best lane information for the vehicle's current lane
Todo:
Describe better

Definition at line 1581 of file MSVehicle.cpp.

References MSEdge::EDGEFUNCTION_INTERNAL, MSVehicle::myBestLanes, and MSVehicle::myEmptyLaneVector.

Referenced by MSLane::appropriate(), MSLaneChanger::getRealLeader(), MSLaneChanger::getRealThisLeader(), MSCFModel_PWag2009::moveHelper(), MSVehicle::setBlinkerInformation(), and MSVehicle::vsafeCriticalCont().

const std::vector< MSLane * > & MSVehicle::getBestLanesContinuation ( const MSLane *const  l) const throw () [inherited]

Returns the subpart of best lanes that describes the given lane and their successors.

Returns:
The best lane information for the given lane
Todo:
Describe better

Definition at line 1590 of file MSVehicle.cpp.

References MSVehicle::myBestLanes, and MSVehicle::myEmptyLaneVector.

MSCFModel::VehicleVariables* MSVehicle::getCarFollowVariables ( ) const throw () [inline, inherited]

Returns the vehicle's car following model variables.

Returns:
The vehicle's car following model variables

Definition at line 542 of file MSVehicle.h.

References MSVehicle::myCFVariables.

Referenced by MSCFModel_Wiedemann::_v(), MSCFModel_IDM::_v(), MSCFModel_Wiedemann::moveHelper(), MSCFModel_PWag2009::moveHelper(), and MSCFModel_IDM::moveHelper().

Boundary GUIVehicle::getCenteringBoundary ( ) const throw () [virtual]

Returns the boundary to which the view shall be centered in order to show the object.

Returns:
The boundary the object is within
See also:
GUIGlObject::getCenteringBoundary

Implements GUIGlObject.

Definition at line 322 of file GUIVehicle.cpp.

References Boundary::add(), MSVehicle::getPosition(), and Boundary::grow().

SUMOTime MSBaseVehicle::getDeparture ( ) const throw () [virtual, inherited]

Returns this vehicle's real departure time.

Returns:
This vehicle's real departure time

Implements SUMOVehicle.

Definition at line 210 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myDeparture.

const std::vector<MSDevice*>& MSBaseVehicle::getDevices ( ) const [inline, virtual, inherited]

Returns this vehicle's devices.

Returns:
This vehicle's devices

Implements SUMOVehicle.

Definition at line 177 of file MSBaseVehicle.h.

References MSBaseVehicle::myDevices.

SUMOReal MSVehicle::getDistanceToPosition ( SUMOReal  destPos,
const MSEdge *  destEdge 
) [inherited]

Compute distance that will be covered, if the vehicle moves to a given position on its route, starting at its current position.

Parameters:
destPos,:position on the destination edge that shall be reached
destEdge,:destination edge that shall be reached
Returns:
distance from the vehicles current position to the destination position, or a near infinite real value if the destination position is not contained within the vehicles route or the vehicle is not active

Definition at line 1602 of file MSVehicle.cpp.

References MSRoute::getDistanceBetween(), MSVehicle::getPositionOnLane(), MSVehicle::isOnRoad(), max, MSBaseVehicle::myCurrEdge, MSBaseVehicle::myRoute, and SUMOReal.

const MSEdge * MSBaseVehicle::getEdge ( ) const [virtual, inherited]

Returns the edge the vehicle is currently at.

Returns:
The current edge in the vehicle's route

Implements SUMOVehicle.

Definition at line 144 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myCurrEdge.

Referenced by MSVehicleTransfer::checkInsertions(), and TraCIServerAPI_Vehicle::commandDistanceRequest().

SUMOReal MSVehicle::getHarmonoise_NoiseEmissions ( ) const throw () [inherited]

Returns noise emissions of the current state.

Returns:
The noise produced

Definition at line 1659 of file MSVehicle.cpp.

References HelpersHarmonoise::computeNoise(), MSVehicleType::getEmissionClass(), MSVehicle::myPreDawdleAcceleration, and MSBaseVehicle::myType.

Referenced by getColorValue(), and getParameterWindow().

SUMOReal MSVehicle::getHBEFA_CO2Emissions ( ) const throw () [inherited]

Returns CO2 emission of the current state.

Returns:
The current CO2 emission

Definition at line 1623 of file MSVehicle.cpp.

References HelpersHBEFA::computeCO2(), MSVehicleType::getEmissionClass(), MSVehicle::myPreDawdleAcceleration, and MSBaseVehicle::myType.

Referenced by getColorValue(), and getParameterWindow().

SUMOReal MSVehicle::getHBEFA_COEmissions ( ) const throw () [inherited]

Returns CO emission of the current state.

Returns:
The current CO emission

Definition at line 1629 of file MSVehicle.cpp.

References HelpersHBEFA::computeCO(), MSVehicleType::getEmissionClass(), MSVehicle::myPreDawdleAcceleration, and MSBaseVehicle::myType.

Referenced by getColorValue(), and getParameterWindow().

SUMOReal MSVehicle::getHBEFA_FuelConsumption ( ) const throw () [inherited]

Returns fuel consumption of the current state.

Returns:
The current fuel consumption

Definition at line 1653 of file MSVehicle.cpp.

References HelpersHBEFA::computeFuel(), MSVehicleType::getEmissionClass(), MSVehicle::myPreDawdleAcceleration, and MSBaseVehicle::myType.

Referenced by getColorValue(), and getParameterWindow().

SUMOReal MSVehicle::getHBEFA_HCEmissions ( ) const throw () [inherited]

Returns HC emission of the current state.

Returns:
The current HC emission

Definition at line 1635 of file MSVehicle.cpp.

References HelpersHBEFA::computeHC(), MSVehicleType::getEmissionClass(), MSVehicle::myPreDawdleAcceleration, and MSBaseVehicle::myType.

Referenced by getColorValue(), and getParameterWindow().

SUMOReal MSVehicle::getHBEFA_NOxEmissions ( ) const throw () [inherited]

Returns NOx emission of the current state.

Returns:
The current NOx emission

Definition at line 1641 of file MSVehicle.cpp.

References HelpersHBEFA::computeNOx(), MSVehicleType::getEmissionClass(), MSVehicle::myPreDawdleAcceleration, and MSBaseVehicle::myType.

Referenced by getColorValue(), and getParameterWindow().

SUMOReal MSVehicle::getHBEFA_PMxEmissions ( ) const throw () [inherited]

Returns PMx emission of the current state.

Returns:
The current PMx emission

Definition at line 1647 of file MSVehicle.cpp.

References HelpersHBEFA::computePMx(), MSVehicleType::getEmissionClass(), MSVehicle::myPreDawdleAcceleration, and MSBaseVehicle::myType.

Referenced by getColorValue(), and getParameterWindow().

MSVehicle::Influencer & MSVehicle::getInfluencer ( ) [inherited]

Returns the velocity/lane influencer.

If no influencer was existing before, one is built, first

Returns:
Reference to this vehicle's speed influencer

Definition at line 1753 of file MSVehicle.cpp.

References MSVehicle::myInfluencer.

const MSAbstractLaneChangeModel & MSVehicle::getLaneChangeModel ( ) const [inherited]

Definition at line 1355 of file MSVehicle.cpp.

References MSVehicle::myLaneChangeModel.

unsigned int MSVehicle::getLaneIndex ( ) const [inherited]

Definition at line 1717 of file MSVehicle.cpp.

References MSVehicle::myLane.

Referenced by MSVehicle::enterLaneAtLaneChange(), and MSVehicle::enterLaneAtMove().

SUMOReal GUIVehicle::getLastLaneChangeOffset ( ) const throw () [inline]

Returns the time since the last lane change in seconds.

See also:
MSVehicle::myLastLaneChangeOffset
Returns:
The time since the last lane change in seconds

Definition at line 163 of file GUIVehicle.h.

References MSVehicle::myLastLaneChangeOffset, and STEPS2TIME.

Referenced by getColorValue(), and getParameterWindow().

SUMOReal MSBaseVehicle::getMaxSpeed ( ) const [virtual, inherited]
const std::string& GUIGlObject::getMicrosimID ( ) const [inline, inherited]

Returns the id of the object as known to microsim.

Returns:
The id of the object

Definition at line 137 of file GUIGlObject.h.

References GUIGlObject::myMicrosimID.

Referenced by GUIGlObject::createFullName(), GUIGlObject::drawName(), GUIDialog_GLObjChooser::GUIDialog_GLObjChooser(), and GUIGLObjectPopupMenu::onCmdCopyName().

unsigned int MSBaseVehicle::getNumberReroutes ( ) const throw () [virtual, inherited]

Returns the number of new routes this vehicle got.

Returns:
the number of new routes this vehicle got

Implements SUMOVehicle.

Definition at line 216 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myNumberReroutes.

Referenced by drawGLAdditional(), and getColorValue().

const SUMOVehicleParameter & MSBaseVehicle::getParameter ( ) const throw () [virtual, inherited]

Returns the vehicle's parameter (including departure definition)

Returns:
The vehicle's parameter

Implements SUMOVehicle.

Definition at line 93 of file MSBaseVehicle.cpp.

References MSBaseVehicle::myParameter.

Referenced by getParameterWindow(), TraCIServerAPI_Vehicle::processGet(), and setFunctionalColor().

Position MSVehicle::getPosition ( ) const throw () [inherited]

Return current position (x/y, cartesian)

If the vehicle's myLane is 0, -1000/-1000 is returned.

Todo:
Recheck myLane usage in this context, think about a proper "invalid" return value
Returns:
The current position (in cartesian coordinates)
See also:
myLane

Definition at line 407 of file MSVehicle.cpp.

Referenced by TraCIServerAPI_Vehicle::commandDistanceRequest(), MSVehicle::enterLaneAtLaneChange(), getCenteringBoundary(), MSVehicle::moveChecked(), MSVehicle::moveRegardingCritical(), and TraCIServerAPI_Vehicle::processGet().

SUMOReal MSVehicle::getPreDawdleAcceleration ( ) const throw () [inline, virtual, inherited]

Returns the vehicle's acceleration before dawdling.

Returns:
The acceleration before dawdling

Reimplemented from MSBaseVehicle.

Definition at line 309 of file MSVehicle.h.

References MSVehicle::myPreDawdleAcceleration.

Referenced by TraCIServerAPI_Vehicle::processGet().

const MSRoute & MSBaseVehicle::getRoute ( ) const throw () [virtual, inherited]
int MSVehicle::getSignals ( ) const throw () [inline, inherited]

Returns the signals.

Returns:
The signals' states

Definition at line 736 of file MSVehicle.h.

References MSVehicle::mySignals.

Referenced by TraCIServerAPI_Vehicle::processGet().

SUMOReal MSVehicle::getSpaceTillLastStanding ( MSLane *  l,
bool &  foundStopped 
) throw () [protected, inherited]

Definition at line 857 of file MSVehicle.cpp.

References SUMOReal.

Referenced by MSVehicle::checkRewindLinkLanes().

SUMOReal MSVehicle::getSpeedWithoutTraciInfluence ( ) const [inherited]

Returns the uninfluenced velocity.

If no influencer exists (myInfluencer==0) the vehicle's current speed is returned. Otherwise the speed returned from myInfluencer->getOriginalSpeed().

Returns:
The vehicle's velocity as it would without an influence
See also:
Influencer::getOriginalSpeed

Definition at line 1762 of file MSVehicle.cpp.

References MSVehicle::Influencer::getOriginalSpeed(), and MSVehicle::myInfluencer.

Referenced by TraCIServerAPI_Vehicle::processGet().

SUMOReal MSVehicle::getWaitingSeconds ( ) const throw () [inline, inherited]

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.

Returns:
The time the vehicle is standing

Definition at line 362 of file MSVehicle.h.

References MSVehicle::myWaitingTime, and STEPS2TIME.

Referenced by getColorValue(), and getParameterWindow().

SUMOTime MSVehicle::getWaitingTime ( ) const throw () [inline, inherited]

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.

Returns:
The time the vehicle is standing

Definition at line 351 of file MSVehicle.h.

References MSVehicle::myWaitingTime.

MSEdgeWeightsStorage & MSVehicle::getWeightsStorage ( ) throw () [inherited]

Returns the vehicle's internal edge travel times/efforts container.

If the vehicle does not have such a container, it is built.

Returns:
The vehicle's knowledge about edge weights

Definition at line 368 of file MSVehicle.cpp.

References MSVehicle::myEdgeWeights.

Referenced by TraCIServerAPI_Vehicle::processGet().

bool GUIVehicle::hasActiveAddVisualisation ( GUISUMOAbstractView *const  parent,
int  which 
) const throw ()

Returns whether the named feature is enabled in the given view.

Parameters:
[in]parentThe view for which the feature may be enabled
[in]whichThe visualisation feature
Returns:
see comment

Definition at line 1089 of file GUIVehicle.cpp.

References myAdditionalVisualizations.

Referenced by drawGLAdditional(), and getPopUpMenu().

bool MSVehicle::hasStops ( ) const [inline, inherited]

Returns whether the vehicle has to stop somewhere.

Returns:
Whether the vehicle has to stop somewhere

Definition at line 589 of file MSVehicle.h.

References MSVehicle::myStops.

bool MSBaseVehicle::hasValidRoute ( std::string &  msg) const throw () [inherited]

Validates the current route.

Parameters:
[out]msgDescription why the route is not valid (if it is the case)
Returns:
Whether the vehicle's current route is valid

Definition at line 232 of file MSBaseVehicle.cpp.

Referenced by MSVehicle::enterLaneAtInsertion(), and TraCIServerAPI_Vehicle::processGet().

bool MSVehicle::isOnRoad ( ) const throw () [inline, virtual, inherited]

Returns the information whether the vehicle is on a road (is simulated)

Returns:
Whether the vehicle is simulated

Reimplemented from MSBaseVehicle.

Definition at line 340 of file MSVehicle.h.

References MSVehicle::myAmOnNet.

Referenced by TraCIServerAPI_Vehicle::commandDistanceRequest(), MSVTypeProbe::execute(), MSVehicle::getDistanceToPosition(), MSVehicle::moveChecked(), MSVehicle::moveRegardingCritical(), and TraCIServerAPI_Vehicle::processGet().

bool MSVehicle::isParking ( ) const [inherited]

Returns whether the vehicle is parking.

Returns:
whether the vehicle is parking

Definition at line 497 of file MSVehicle.cpp.

References MSVehicle::isStopped(), and MSVehicle::myStops.

Referenced by MSLane::setCritical().

bool MSVehicle::isStopped ( ) const [virtual, inherited]

Returns whether the vehicle is at a stop.

Returns:
Whether the vehicle has stopped

Reimplemented from MSBaseVehicle.

Definition at line 491 of file MSVehicle.cpp.

References MSVehicle::myStops.

Referenced by MSVehicle::isParking().

bool MSVehicle::knowsEdgeTest ( MSEdge &  edge) const [inherited]
bool MSVehicle::moveChecked ( ) [inherited]

Moves the vehicle after the responds (right-of-way rules) are known.

In this second step, vehicles are moved. The right-of-way - conditions have been computed and the vehicle knows which intersections may be passed.

The vehicle computes the allowed velocity, first. Then, it is moved along the previously computed links. If the vehicle enters a new lane, it is set in myLane.

The vehicle also sets the lanes it is in-lapping into and informs them about it.

Returns:
Whether the vehicle has moved to the next edge

Definition at line 675 of file MSVehicle.cpp.

References bla, DELTA_T, MSRoute::end(), MSVehicle::ends(), MSVehicle::enterLaneAtMove(), MSVehicleType::getCarFollowModel(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSNet::getInstance(), MSLink::getLane(), MSLane::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSBaseVehicle::getMaxSpeed(), MSVehicle::getPosition(), MSLink::getState(), MSBaseVehicle::getVehicleType(), GLO_VEHICLE, gSelected, MSLink::havePriority(), SUMOVehicleParameter::id, MSVehicle::Influencer::influenceSpeed(), MSLink::isCont(), MSVehicle::isOnRoad(), GUISelectedStorage::isSelected(), MSEdge::isVaporizing(), MSVehicle::leaveLane(), LINKSTATE_EQUAL, LINKSTATE_TL_GREEN_MAJOR, LINKSTATE_TL_YELLOW_MAJOR, LINKSTATE_TL_YELLOW_MINOR, MAX2(), MSCFModel::maxNextSpeed(), MIN2(), MSCFModel::moveHelper(), MSBaseVehicle::myCurrEdge, MSVehicle::myFurtherLanes, MSVehicle::myHaveToWaitOnNextLink, MSVehicle::myInfluencer, MSVehicle::myLane, MSVehicle::myLFLinkLanes, MSBaseVehicle::myParameter, MSBaseVehicle::myRoute, MSMoveReminder::NOTIFICATION_JUNCTION, MSLink::opened(), MSLink::removeApproaching(), MSLane::resetPartialOccupation(), MSVehicle::setBlinkerInformation(), SPEED2DIST, SUMOReal, MSVehicle::switchOffSignal(), MSVehicle::switchOnSignal(), MSVehicle::VEH_SIGNAL_BRAKELIGHT, MSVehicle::workOnMoveReminders(), Position::x(), and Position::y().

Referenced by MSLane::setCritical().

bool MSVehicle::moveRegardingCritical ( SUMOTime  t,
const MSLane *const  lane,
const MSVehicle *const  pred,
const MSVehicle *const  neigh,
SUMOReal  lengthsInFront 
) throw () [inherited]
void MSBaseVehicle::onDepart ( ) throw () [virtual, inherited]

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 203 of file MSBaseVehicle.cpp.

References MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSNet::getVehicleControl(), MSBaseVehicle::myDeparture, and MSVehicleControl::vehicleDeparted().

void MSVehicle::onRemovalFromNet ( const MSMoveReminder::Notification  reason) throw () [inherited]

Called when the vehicle is removed from the network.

Moves along work reminders and informs all devices about quitting. Calls "leaveLane" then.

Parameters:
[in]reasonwhy the vehicle leaves (reached its destination, parking, teleport)

Definition at line 305 of file MSVehicle.cpp.

References MSVehicle::leaveLane(), MSVehicle::myLFLinkLanes, SPEED2DIST, and MSVehicle::workOnMoveReminders().

Referenced by MSLane::setCritical().

static bool MSVehicle::overlap ( const MSVehicle *  veh1,
const MSVehicle *  veh2 
) [inline, static, inherited]

Returns true if the two vehicles overlap.

Definition at line 391 of file MSVehicle.h.

References MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), MSVehicle::State::myPos, and MSVehicle::myState.

Referenced by MSLaneChanger::overlapWithHopped().

bool GUIVehicle::removeActiveAddVisualisation ( GUISUMOAbstractView *const  parent,
int  which 
) throw ()

Adds the named visualisation feature to the given view.

Parameters:
[in]parentThe view for which the feature shall be enabled
[in]whichThe visualisation feature to enable
Returns:
Whether the vehicle was known to the view
See also:
GUISUMOAbstractView::removeAdditionalGLVisualisation

Definition at line 1105 of file GUIVehicle.cpp.

References myAdditionalVisualizations.

Referenced by GUIVehicle::GUIVehiclePopupMenu::onCmdHideAllRoutes(), GUIVehicle::GUIVehiclePopupMenu::onCmdHideBestLanes(), GUIVehicle::GUIVehiclePopupMenu::onCmdHideCurrentRoute(), and GUIVehicle::GUIVehiclePopupMenu::onCmdStopTrack().

void GUIGlObject::removeParameterTable ( GUIParameterTableWindow *  w) throw () [inherited]

Lets this object know a parameter window showing the object's values was closed.

Parameters:
[in]wThe closed parameter window

Definition at line 193 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

Referenced by GUIParameterTableWindow::~GUIParameterTableWindow().

void MSBaseVehicle::removeReminder ( MSMoveReminder *  rem) throw () [inherited]

Removes a MoveReminder dynamically.

Parameters:
[in]remthe reminder to remove
See also:
MSMoveReminder

Definition at line 260 of file MSBaseVehicle.cpp.

bool MSVehicle::replaceRoute ( const MSRoute *  route,
bool  onInit = false 
) throw () [virtual, inherited]

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.

Parameters:
[in]routeThe new route to pass
Returns:
Whether the new route was accepted

Implements SUMOVehicle.

Definition at line 324 of file MSVehicle.cpp.

References MSBaseVehicle::calculateArrivalPos(), MSNet::getInstance(), MSNet::informVehicleStateListener(), MSBaseVehicle::myCurrEdge, MSBaseVehicle::myNumberReroutes, MSBaseVehicle::myRoute, MSVehicle::myStops, MSRoute::release(), and MSNet::VEHICLE_STATE_NEWROUTE.

bool MSBaseVehicle::replaceRouteEdges ( const MSEdgeVector &  edges,
bool  onInit = false 
) throw () [virtual, inherited]

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).

Parameters:
[in]edgesThe new list of edges to pass
[in]simTimeThe time at which the route was replaced
Returns:
Whether the new route was accepted

Implements SUMOVehicle.

Definition at line 171 of file MSBaseVehicle.cpp.

References MSRoute::addReference(), MSRoute::dictionary(), MSRoute::release(), and toString().

Referenced by TraCIServerAPI_Vehicle::processSet().

void MSVehicle::replaceVehicleType ( MSVehicleType *  type) throw () [inherited]

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".

Parameters:
[in]typeThe new vehicle type
See also:
MSVehicle::myType

Definition at line 1709 of file MSVehicle.cpp.

References MSVehicleType::amVehicleSpecific(), and MSBaseVehicle::myType.

void MSBaseVehicle::reroute ( SUMOTime  t,
SUMOAbstractRouter< MSEdge, SUMOVehicle > &  router,
bool  withTaz = false 
) throw () [virtual, inherited]

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.

Parameters:
[in]tThe time for which the route is computed
[in]routerThe router to use
See also:
replaceRoute

Implements SUMOVehicle.

Definition at line 150 of file MSBaseVehicle.cpp.

References MSEdge::dictionary(), and WRITE_WARNING.

void GUIVehicle::setColor ( const GUIVisualizationSettings &  s) const [private]
bool GUIVehicle::setFunctionalColor ( size_t  activeScheme) const [private]
void MSVehicle::setIndividualMaxSpeed ( SUMOReal  individualMaxSpeed) [inline, inherited]
void GUIGlObject::setMicrosimID ( const std::string &  newID) [inherited]

Changes the microsimID of the object (happens in NETEDIT)

Definition at line 108 of file GUIGlObject.cpp.

References GUIGlObject::createFullName(), GUIGlObject::myFullName, and GUIGlObject::myMicrosimID.

void MSVehicle::setPreDawdleAcceleration ( SUMOReal  accel) [inline, inherited]
void GUIGlObject::setPrefix ( const std::string &  prefix) [protected, inherited]
bool MSVehicle::signalSet ( int  which) const throw () [inline, inherited]

Returns whether the given signal is on.

Parameters:
[in]signalThe signal to return the value of
Returns:
Whether the given signal is on

Definition at line 745 of file MSVehicle.h.

References MSVehicle::mySignals.

Referenced by MSVehicle::checkRewindLinkLanes(), drawAction_drawVehicleBlinker(), and drawAction_drawVehicleBrakeLight().

const MSEdge * MSBaseVehicle::succEdge ( unsigned int  nSuccs) const throw () [virtual, inherited]

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.

Parameters:
[in]nSuccsThe number of edge to look forward
Returns:
The nSuccs'th following edge in the vehicle's route

Implements SUMOVehicle.

Definition at line 134 of file MSBaseVehicle.cpp.

Referenced by MSVehicleTransfer::checkInsertions().

void MSVehicle::switchOffSignal ( int  signal) throw () [inline, inherited]

Switches the given signal off.

Parameters:
[in]signalThe signal to mark as being switched off

Definition at line 728 of file MSVehicle.h.

References MSVehicle::mySignals.

Referenced by MSVehicle::moveChecked(), and MSVehicle::setBlinkerInformation().

void MSVehicle::switchOnSignal ( int  signal) throw () [inline, inherited]

Switches the given signal on.

Parameters:
[in]signalThe signal to mark as being switched on

Definition at line 720 of file MSVehicle.h.

References MSVehicle::mySignals.

Referenced by MSVehicle::moveChecked(), and MSVehicle::setBlinkerInformation().

void MSVehicle::unsetIndividualMaxSpeed ( void  ) [inline, inherited]

Definition at line 381 of file MSVehicle.h.

References MSBaseVehicle::myHasIndividualMaxSpeed.

bool MSVehicle::willPass ( const MSEdge *const  edge) const throw () [inherited]

Returns whether the vehicle wil pass the given edge.

Parameters:
[in]Theedge to find in the vehicle's current route
Returns:
Whether the given edge will be passed by the vehicle
Todo:
Move to MSRoute?

Definition at line 362 of file MSVehicle.cpp.

References MSRoute::end(), MSBaseVehicle::myCurrEdge, and MSBaseVehicle::myRoute.

void MSVehicle::workOnMoveReminders ( SUMOReal  oldPos,
SUMOReal  newPos,
SUMOReal  newSpeed 
) throw () [inherited]

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.

Parameters:
[in]oldPosThe position the vehicle had before it has moved
[in]newPosThe position the vehicle has after it has moved
[in]newSpeedThe vehicle's speed within this move
See also:
MSMoveReminder

Definition at line 378 of file MSVehicle.cpp.

References MSBaseVehicle::myMoveReminders.

Referenced by MSVehicle::moveChecked(), MSVehicle::onRemovalFromNet(), and MSLane::setCritical().


Friends And Related Function Documentation

friend class MSLaneChanger [friend, inherited]

the lane changer sets myLastLaneChangeOffset

Definition at line 85 of file MSVehicle.h.


Field Documentation

bool MSVehicle::myAmOnNet [protected, inherited]

Whether the vehicle is on the network (not parking, teleported, vaporized, or arrived)

Definition at line 957 of file MSVehicle.h.

Referenced by MSVehicle::enterLaneAtInsertion(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::enterLaneAtMove(), MSVehicle::isOnRoad(), and MSVehicle::leaveLane().

Whether this vehicle is registered as waiting for a person (for deadlock-recognition)

Definition at line 960 of file MSVehicle.h.

Referenced by MSVehicle::processNextStop().

SUMOReal MSBaseVehicle::myArrivalPos [protected, inherited]

the position on the destination lane where the vehicle stops

Definition at line 273 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::calculateArrivalPos(), MSVehicle::ends(), MSVehicle::getBestLanes(), MSVehicle::moveRegardingCritical(), and MSVehicle::vsafeCriticalCont().

std::vector<std::vector<LaneQ> > MSVehicle::myBestLanes [mutable, protected, inherited]
std::vector<LaneQ>::iterator MSVehicle::myCurrentLaneInBestLanes [mutable, protected, inherited]

Definition at line 938 of file MSVehicle.h.

Referenced by MSVehicle::getBestLanes().

SUMOTime MSBaseVehicle::myDeparture [protected, inherited]

The real departure time.

Definition at line 270 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getDeparture(), and MSBaseVehicle::onDepart().

std::vector<MSDevice*> MSBaseVehicle::myDevices [protected, inherited]

The devices this vehicle has.

Definition at line 267 of file MSBaseVehicle.h.

Referenced by MSVehicle::addPerson(), MSBaseVehicle::getDevices(), GUIVehicle(), and MSBaseVehicle::~MSBaseVehicle().

std::vector< MSLane * > MSVehicle::myEmptyLaneVector [static, protected, inherited]

Definition at line 939 of file MSVehicle.h.

Referenced by MSVehicle::getBestLanesContinuation().

std::vector<MSLane*> MSVehicle::myFurtherLanes [protected, inherited]

The information into which lanes the vehicle laps into.

Definition at line 951 of file MSVehicle.h.

Referenced by MSVehicle::enterLaneAtInsertion(), MSVehicle::getAngle(), MSVehicle::leaveLane(), MSVehicle::moveChecked(), and MSVehicle::~MSVehicle().

is true if there has an individual speed been set

Definition at line 251 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::adaptMaxSpeed(), MSBaseVehicle::getMaxSpeed(), MSVehicle::setIndividualMaxSpeed(), and MSVehicle::unsetIndividualMaxSpeed().

bool MSVehicle::myHaveToWaitOnNextLink [protected, inherited]

Definition at line 962 of file MSVehicle.h.

Referenced by MSVehicle::checkRewindLinkLanes(), and MSVehicle::moveChecked().

SUMOReal MSBaseVehicle::myIndividualMaxSpeed [protected, inherited]

An individual speed for an vehicle that is used (iff set) instead of the maximal speed of the vehicle class. NOTE: This is just a little workaround for allowing an external influence on the actual speed

Definition at line 248 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::adaptMaxSpeed(), MSBaseVehicle::getMaxSpeed(), and MSVehicle::setIndividualMaxSpeed().

const MSEdge* MSVehicle::myLastBestLanesEdge [mutable, protected, inherited]

Definition at line 936 of file MSVehicle.h.

information how long ago the vehicle has performed a lane-change

Definition at line 916 of file MSVehicle.h.

Referenced by MSLaneChanger::change(), and getLastLaneChangeOffset().

MFXMutex GUIVehicle::myLock [mutable, private]

The mutex used to avoid concurrent updates of the vehicle buffer.

Definition at line 270 of file GUIVehicle.h.

Referenced by drawBestLanes(), getBestLanes(), and ~GUIVehicle().

unsigned int MSBaseVehicle::myNumberReroutes [protected, inherited]

The number of reroutings.

Definition at line 276 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::getNumberReroutes(), and MSVehicle::replaceRoute().

MSDevice_Person* MSVehicle::myPersonDevice [protected, inherited]

The passengers this vehicle may have.

Definition at line 945 of file MSVehicle.h.

SUMOReal MSBaseVehicle::myReferenceSpeed [protected, inherited]

the speed which served as reference when calculating the individual maxspeed

Definition at line 254 of file MSBaseVehicle.h.

Referenced by MSBaseVehicle::adaptMaxSpeed().

Definition at line 272 of file GUIVehicle.h.

Referenced by drawRoute(), GUIVehicle(), and ~GUIVehicle().

int MSVehicle::mySignals [protected, inherited]

State of things of the vehicle that can be on or off.

Definition at line 954 of file MSVehicle.h.

Referenced by MSVehicle::getSignals(), MSVehicle::signalSet(), MSVehicle::switchOffSignal(), and MSVehicle::switchOnSignal().

State MSVehicle::myState [protected, inherited]

This Vehicles driving state (pos and speed)

Definition at line 929 of file MSVehicle.h.

Referenced by MSLaneChanger::change(), MSVehicle::congested(), drawGL(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), and MSVehicle::overlap().

SUMOTime MSVehicle::myWaitingTime [protected, inherited]

The time the vehicle waits (is not faster than 0.1m/s) in seconds.

Definition at line 919 of file MSVehicle.h.

Referenced by MSVehicle::getWaitingSeconds(), and MSVehicle::getWaitingTime().

associates object types with strings

Definition at line 90 of file GUIGlObject.h.


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines