SUMO - Simulation of Urban MObility
GUILane Class Reference

Representation of a lane in the micro simulation (gui-version) More...

#include <GUILane.h>

Inheritance diagram for GUILane:
Inheritance graph
Collaboration diagram for GUILane:
Collaboration graph

Public Types

typedef std::vector< MSVehicle * > VehCont
 Container for vehicles. More...
 

Public Member Functions

void addApproachingLane (MSLane *lane, bool warnMultiCon)
 
void addIncomingLane (MSLane *lane, MSLink *viaLink)
 
void addParameter (const std::string &key, const std::string &value)
 Adds a parameter. More...
 
void addParameter (const std::map< std::string, std::string > &mapArg)
 Adds all given parameter. More...
 
void addParameter (const Parameterised &p)
 Adds all given parameter. More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
bool allowsVehicleClass (SUMOVehicleClass vclass) const
 
virtual bool appropriate (const MSVehicle *veh)
 
void clearParameter ()
 Clears the parameter map. More...
 
void closeTraffic (bool rebuildAllowed=true)
 close this lane for traffic More...
 
void detectCollisions (SUMOTime timestep, const std::string &stage)
 
void drawBikeMarkings () const
 bike lane markings on top of an intersection More...
 
void drawCrossties (SUMOReal length, SUMOReal spacing, SUMOReal halfWidth) const
 draw crossties for railroads or pedestrian crossings More...
 
virtual void drawGLAdditional (GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const
 Draws additional, user-triggered visualisations. More...
 
void drawMarkings (const GUIVisualizationSettings &s, SUMOReal scale) const
 draw lane borders and white markings More...
 
void drawName (const Position &pos, const SUMOReal scale, const GUIVisualizationTextSettings &settings, const SUMOReal angle=0) const
 
bool empty () const
 Returns true if there is not a single vehicle on the lane. More...
 
void enteredByLaneChange (MSVehicle *v)
 
SUMOReal firstWaitingTime () const
 
std::pair< MSVehicle *const, SUMORealgetCriticalLeader (SUMOReal dist, SUMOReal seen, SUMOReal speed, const MSVehicle &veh) const
 Returns the most dangerous leader and the distance to him. More...
 
int getCrossingIndex () const
 return the index of the link to the next crossing if this is walkingArea, else -1 More...
 
MSEdgegetEdge () const
 Returns the lane's edge. More...
 
SUMOReal getEdgeLaneNumber () const
 
MSVehiclegetFirstVehicle () const
 
std::pair< MSVehicle *const, SUMORealgetFollowerOnConsecutive (SUMOReal backOffset, SUMOReal leaderSpeed, SUMOReal leaderMaxDecel) const
 return the follower with the largest missing rear gap among all predecessor lanes (within dist) More...
 
const std::string & getID () const
 Returns the id. More...
 
const std::vector< IncomingLaneInfo > & getIncomingLanes () const
 
LinkState getIncomingLinkState () const
 get the state of the link from the logical predecessor to this lane More...
 
const MSEdgegetInternalFollower () const
 Returns the lane's follower if it is an internal lane, the edge of the lane otherwise. More...
 
MSVehiclegetLastVehicle () const
 returns the last vehicle More...
 
std::pair< MSVehicle *const, SUMORealgetLeader (const MSVehicle *veh, const SUMOReal vehPos, bool checkNext) const
 Returns the immediate leader of veh and the distance to veh starting on this lane. More...
 
std::pair< MSVehicle *const, SUMORealgetLeaderOnConsecutive (SUMOReal dist, SUMOReal seen, SUMOReal speed, const MSVehicle &veh, const std::vector< MSLane * > &bestLaneConts) const
 Returns the immediate leader and the distance to him. More...
 
const MSLinkContgetLinkCont () const
 returns the container with all links !!! More...
 
SUMOReal getLoadedEdgeWeight () const
 Returns the loaded weight (effort) for the edge of this lane. More...
 
MSLanegetLogicalPredecessorLane () const
 get the most likely precedecessor lane (sorted using by_connections_to_sorter). The result is cached in myLogicalPredecessorLane More...
 
MSLanegetLogicalPredecessorLane (const MSEdge &fromEdge) const
 return the (first) predecessor lane from the given edge More...
 
const std::map< std::string, std::string > & getMap () const
 Returns the inner key/value map. More...
 
SUMOReal getMissingRearGap (SUMOReal backOffset, SUMOReal leaderSpeed, SUMOReal leaderMaxDecel) const
 return by how much further the leader must be inserted to avoid rear end collisions More...
 
std::vector< const MSLane * > getOutgoingLanes () const
 get the list of outgoing lanes More...
 
MSLanegetParallelLane (int offset) const
 Returns the lane with the given offset parallel to this one or 0 if it does not exist. More...
 
const std::string & getParameter (const std::string &key, const std::string &defaultValue) const
 Returns the value for a given key. More...
 
const std::string & getParentName () const
 Returns the name of the parent object (if any) More...
 
const PositionVectorgetShape () const
 
const std::vector< SUMOReal > & getShapeLengths () const
 
const std::vector< SUMOReal > & getShapeRotations () const
 
SUMOReal getStoredEdgeTravelTime () const
 Returns the stored traveltime for the edge of this lane. More...
 
 GUILane (const std::string &id, SUMOReal maxSpeed, SUMOReal length, MSEdge *const edge, unsigned int numericalID, const PositionVector &shape, SUMOReal width, SVCPermissions permissions, unsigned int index)
 Constructor. More...
 
bool isApproachedFrom (MSEdge *const edge)
 
bool isApproachedFrom (MSEdge *const edge, MSLane *const lane)
 
bool isClosed () const
 
bool isEmpty () const
 
bool isLinkEnd (MSLinkCont::const_iterator &i) const
 
bool isLinkEnd (MSLinkCont::iterator &i)
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
void leftByLaneChange (MSVehicle *v)
 
MSVehicleremoveVehicle (MSVehicle *remVehicle, MSMoveReminder::Notification notification, bool notify)
 
void setID (const std::string &newID)
 resets the id More...
 
void setLength (SUMOReal val)
 Sets a new length for the lane (used by TraCI only) More...
 
void setMaxSpeed (SUMOReal val)
 Sets a new maximum speed for the lane (used by TraCI and MSCalibrator) More...
 
void setPermissions (SVCPermissions permissions)
 
void visit (const TraCIServerAPI_Lane::StoringVisitor &cont) const
 Callback for visiting the lane when traversing an RTree. More...
 
 ~GUILane ()
 Destructor. More...
 
Access to vehicles
const VehContgetVehiclesSecure () const
 Returns the vehicles container; locks it for microsimulation. More...
 
void releaseVehicles () const
 Allows to use the container for microsimulation again. More...
 
Vehicle movement (longitudinal)
void planMovements (const SUMOTime t)
 
bool executeMovements (SUMOTime t, std::vector< MSLane * > &into)
 
bool integrateNewVehicle (SUMOTime t)
 
inherited from GUIGlObject
GUIGLObjectPopupMenugetPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own popup-menu. More...
 
GUIParameterTableWindowgetParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own parameter window. More...
 
Boundary getCenteringBoundary () const
 Returns the boundary to which the view shall be centered in order to show the object. More...
 
void drawGL (const GUIVisualizationSettings &s) const
 Draws the object. More...
 
Additional initialisation
void addLink (MSLink *link)
 Delayed initialization. More...
 
interaction with MSMoveReminder
virtual void addMoveReminder (MSMoveReminder *rem)
 Add a move-reminder to move-reminder container. More...
 
const std::vector< MSMoveReminder * > & getMoveReminders () const
 Return the list of this lane's move reminders. More...
 
Vehicle insertion
bool insertVehicle (MSVehicle &v)
 Tries to insert the given vehicle. More...
 
bool isInsertionSuccess (MSVehicle *vehicle, SUMOReal speed, SUMOReal pos, bool recheckNextLanes, MSMoveReminder::Notification notification)
 Tries to insert the given vehicle with the given state (speed and pos) More...
 
bool checkFailure (MSVehicle *aVehicle, SUMOReal &speed, SUMOReal &dist, const SUMOReal nspeed, const bool patchSpeed, const std::string errorMsg) const
 
bool lastInsertion (MSVehicle &veh, SUMOReal mspeed)
 
bool freeInsertion (MSVehicle &veh, SUMOReal speed, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED)
 Tries to insert the given vehicle on any place. More...
 
void forceVehicleInsertion (MSVehicle *veh, SUMOReal pos)
 Inserts the given vehicle at the given position. More...
 
Handling vehicles lapping into lanes
SUMOReal setPartialOccupation (MSVehicle *v, SUMOReal leftVehicleLength)
 Sets the information about a vehicle lapping into this lane. More...
 
void resetPartialOccupation (MSVehicle *v)
 Removes the information about a vehicle lapping into this lane. More...
 
MSVehiclegetPartialOccupator () const
 Returns the vehicle which laps into this lane. More...
 
SUMOReal getPartialOccupatorEnd () const
 Returns the position of the in-lapping vehicle's end. More...
 
std::pair< MSVehicle *, SUMORealgetLastVehicleInformation () const
 Returns the last vehicle which is still on the lane. More...
 
Access to vehicles
unsigned int getVehicleNumber () const
 Returns the number of vehicles on this lane. More...
 
Atomar value getter
size_t getNumericalID () const
 Returns this lane's numerical id. More...
 
SUMOReal getLengthGeometryFactor () const
 return shape.length() / myLength More...
 
SUMOReal interpolateLanePosToGeometryPos (SUMOReal lanePos) const
 
const Position geometryPositionAtOffset (SUMOReal offset) const
 
SUMOReal interpolateGeometryPosToLanePos (SUMOReal geometryPos) const
 
SUMOReal getVehicleMaxSpeed (const SUMOVehicle *const veh) const
 Returns the lane's maximum speed, given a vehicle's speed limit adaptation. More...
 
SUMOReal getSpeedLimit () const
 Returns the lane's maximum allowed speed. More...
 
SUMOReal getLength () const
 Returns the lane's length. More...
 
SVCPermissions getPermissions () const
 Returns the vehicle class permissions for this lane. More...
 
SUMOReal getWidth () const
 Returns the lane's width. More...
 
int getIndex () const
 Returns the lane's index. More...
 
Current state retrieval
SUMOReal getMeanSpeed () const
 Returns the mean speed on this lane. More...
 
SUMOReal getWaitingSeconds () const
 Returns the overall waiting time on this lane. More...
 
SUMOReal getBruttoOccupancy () const
 Returns the brutto (including minGaps) occupancy of this lane during the last step. More...
 
SUMOReal getNettoOccupancy () const
 Returns the netto (excluding minGaps) occupancy of this lane during the last step (including minGaps) More...
 
SUMOReal getBruttoVehLenSum () const
 Returns the sum of lengths of vehicles, including their minGaps, which were on the lane during the last step. More...
 
SUMOReal getCO2Emissions () const
 Returns the sum of last step CO2 emissions. More...
 
SUMOReal getCOEmissions () const
 Returns the sum of last step CO emissions. More...
 
SUMOReal getPMxEmissions () const
 Returns the sum of last step PMx emissions. More...
 
SUMOReal getNOxEmissions () const
 Returns the sum of last step NOx emissions. More...
 
SUMOReal getHCEmissions () const
 Returns the sum of last step HC emissions. More...
 
SUMOReal getFuelConsumption () const
 Returns the sum of last step fuel consumption. More...
 
SUMOReal getElectricityConsumption () const
 Returns the sum of last step electricity consumption. More...
 
SUMOReal getHarmonoise_NoiseEmissions () const
 Returns the sum of last step noise emissions. More...
 
State saving/loading
void saveState (OutputDevice &out)
 Saves the state of this lane into the given stream. More...
 
void loadState (std::vector< std::string > &vehIDs, MSVehicleControl &vc)
 Loads the state of this segment with the given parameters. More...
 
Atomar getter methods
const std::string & getFullName () const
 Returns the full name appearing in the tool tip. More...
 
GUIGlID getGlID () const
 Returns the numerical id of the object. More...
 
interfaces to be implemented by derived classes
virtual GUIParameterTableWindowgetTypeParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own type parameter window (optional) More...
 
const std::string & getMicrosimID () const
 Returns the id of the object as known to microsim. More...
 
virtual void setMicrosimID (const std::string &newID)
 Changes the microsimID of the object (happens in NETEDIT) More...
 
GUIGlObjectType getType () const
 Returns the type of the object as coded in GUIGlObjectType. More...
 
Parameter table window I/O
void addParameterTable (GUIParameterTableWindow *w)
 Lets this object know a parameter window showing the object's values was opened. More...
 
void removeParameterTable (GUIParameterTableWindow *w)
 Lets this object know a parameter window showing the object's values was closed. More...
 

Static Public Member Functions

static void clear ()
 Clears the dictionary. More...
 
static bool dictionary (const std::string &id, MSLane *lane)
 Static (sic!) container methods {. More...
 
static MSLanedictionary (const std::string &id)
 Returns the MSLane associated to the key id. More...
 
static size_t dictSize ()
 Returns the number of stored lanes. More...
 
template<class RTREE >
static void fill (RTREE &into)
 Fills the given RTree with lane instances. More...
 
template<class T >
static std::string getIDSecure (const T *obj, const std::string &fallBack="NULL")
 get an identifier for Named-like object which may be Null More...
 
static void insertIDs (std::vector< std::string > &into)
 Adds the ids of all stored lanes into the given vector. More...
 
static MSLinkCont::const_iterator succLinkSec (const SUMOVehicle &veh, unsigned int nRouteSuccs, const MSLane &succLinkSource, const std::vector< MSLane * > &conts)
 

Static Public Attributes

static StringBijection< GUIGlObjectTypeTypeNames
 associates object types with strings More...
 

Protected Types

typedef std::map< std::string, MSLane * > DictType
 definition of the static dictionary type More...
 

Protected Member Functions

SUMOReal basePos (const MSVehicle &veh) const
 departure position where the vehicle fits fully onto the lane (if possible) More...
 
SUMOReal getDepartSpeed (const MSVehicle &veh, bool &patchSpeed)
 
SUMOReal getMaximumBrakeDist () const
 compute maximum braking distance on this lane More...
 
bool handleCollision (SUMOTime timestep, const std::string &stage, MSVehicle *collider, MSVehicle *victim, const SUMOReal victimRear)
 detect whether there is a collision. then issue warning and add the vehicle to MSVehicleTransfer More...
 
virtual void incorporateVehicle (MSVehicle *veh, SUMOReal pos, SUMOReal speed, const MSLane::VehCont::iterator &at, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED)
 Inserts the vehicle into this lane, and informs it about entering the network. More...
 
void setPrefix (const std::string &prefix)
 
void swapAfterLaneChange (SUMOTime t)
 moves myTmpVehicles int myVehicles after a lane change procedure More...
 
helper methods for building popup-menus
void buildPopupHeader (GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
 Builds the header. More...
 
void buildCenterPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to center to the object. More...
 
void buildNameCopyPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds entries which allow to copy the name / typed name into the clipboard. More...
 
void buildSelectionPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to (de)select the object. More...
 
void buildShowParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the parameter window. More...
 
void buildShowTypeParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the type parameter window. More...
 
void buildPositionCopyEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position. More...
 
void buildShowManipulatorPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the manipulator window. More...
 

Protected Attributes

std::map< MSEdge *, std::vector< MSLane * > > myApproachingLanes
 
SUMOReal myBruttoVehicleLengthSum
 The current length of all vehicles on this lane, including their minGaps. More...
 
MSEdge *const myEdge
 The lane's edge, for routing only. More...
 
std::string myID
 The name of the object. More...
 
std::vector< IncomingLaneInfomyIncomingLanes
 
int myIndex
 The lane index. More...
 
MSVehiclemyInlappingVehicle
 The vehicle which laps into this lane. More...
 
SUMOReal myInlappingVehicleEnd
 End position of a vehicle which laps into this lane. More...
 
SUMOReal myLength
 Lane length [m]. More...
 
const SUMOReal myLengthGeometryFactor
 
MSLinkCont myLinks
 
MSLanemyLogicalPredecessorLane
 
SUMOReal myMaxSpeed
 Lane-wide speedlimit [m/s]. More...
 
SUMOReal myNettoVehicleLengthSum
 The current length of all vehicles on this lane, excluding their minGaps. More...
 
size_t myNumericalID
 Unique numerical ID (set on reading by netload) More...
 
SVCPermissions myPermissions
 The vClass permissions for this lane. More...
 
const std::map< SUMOVehicleClass, SUMOReal > * myRestrictions
 The vClass speed restrictions for this lane. More...
 
PositionVector myShape
 The shape of the lane. More...
 
VehCont myTmpVehicles
 
std::vector< MSVehicle * > myVehBuffer
 
VehCont myVehicles
 The lane's vehicles. The entering vehicles are inserted at the front of this container and the leaving ones leave from the back, e.g. the vehicle in front of the junction (often called first) is myVehicles.back() (if it exists). And if it is an iterator at a vehicle, ++it points to the vehicle in front. This is the interaction vehicle. More...
 
const SUMOReal myWidth
 Lane width [m]. More...
 

Static Protected Attributes

static DictType myDict
 Static dictionary to associate string-ids with objects. More...
 

Private Member Functions

void drawArrows () const
 
bool drawAsRailway (const GUIVisualizationSettings &s) const
 whether to draw this lane as a railway More...
 
bool drawAsWaterway (const GUIVisualizationSettings &s) const
 whether to draw this lane as a waterway More...
 
void drawLane2LaneConnections () const
 
void drawLinkNo (const GUIVisualizationSettings &s) const
 helper methods More...
 
void drawLinkRule (const GUIVisualizationSettings &s, const GUINet &net, MSLink *link, const PositionVector &shape, SUMOReal x1, SUMOReal x2) const
 
void drawLinkRules (const GUIVisualizationSettings &s, const GUINet &net) const
 
void drawTextAtEnd (const std::string &text, const PositionVector &shape, SUMOReal x, const GUIVisualizationTextSettings &settings) const
 
void drawTLSLinkNo (const GUIVisualizationSettings &s, const GUINet &net) const
 
SUMOReal getColorValue (size_t activeScheme) const
 gets the color value according to the current scheme index More...
 
SUMOReal getScaleValue (size_t activeScheme) const
 gets the scaling value according to the current scheme index More...
 
void setColor (const GUIVisualizationSettings &s) const
 sets the color according to the currente settings More...
 
bool setFunctionalColor (size_t activeScheme) const
 sets the color according to the current scheme index and some lane function More...
 
bool setMultiColor (const GUIColorer &c) const
 sets multiple colors according to the current scheme index and some lane function More...
 

Private Attributes

bool myAmClosed
 state for dynamic lane closings More...
 
SUMOReal myHalfLaneWidth
 Half of lane width, for speed-up. More...
 
MFXMutex myLock
 The mutex used to avoid concurrent updates of the vehicle buffer. More...
 
SVCPermissions myOriginalPermissions
 
SUMOReal myQuarterLaneWidth
 Quarter of lane width, for speed-up. More...
 
std::vector< RGBColormyShapeColors
 The color of the shape parts (cached) More...
 
std::vector< SUMORealmyShapeLengths
 The lengths of the shape parts. More...
 
std::vector< SUMORealmyShapeRotations
 The rotations of the shape parts. More...
 

Detailed Description

Representation of a lane in the micro simulation (gui-version)

An extended MSLane. A mechanism to avoid concurrent visualisation and simulation what may cause problems when vehicles disappear is implemented using a mutex.

Definition at line 70 of file GUILane.h.

Member Typedef Documentation

typedef std::map< std::string, MSLane* > MSLane::DictType
protectedinherited

definition of the static dictionary type

Definition at line 909 of file MSLane.h.

typedef std::vector< MSVehicle* > MSLane::VehCont
inherited

Container for vehicles.

Definition at line 88 of file MSLane.h.

Constructor & Destructor Documentation

GUILane::GUILane ( const std::string &  id,
SUMOReal  maxSpeed,
SUMOReal  length,
MSEdge *const  edge,
unsigned int  numericalID,
const PositionVector shape,
SUMOReal  width,
SVCPermissions  permissions,
unsigned int  index 
)

Constructor.

Parameters
[in]idThe lane's id
[in]maxSpeedThe speed allowed on this lane
[in]lengthThe lane's length
[in]edgeThe edge this lane belongs to
[in]numericalIDThe numerical id of the lane
[in]shapeThe shape of the lane
[in]widthThe width of the lane
[in]permissionsEncoding of vehicle classes that may drive on this lane
See also
SUMOVehicleClass
MSLane

Definition at line 73 of file GUILane.cpp.

References Position::distanceTo2D(), myHalfLaneWidth, myQuarterLaneWidth, MSLane::myShape, myShapeColors, myShapeLengths, myShapeRotations, MSLane::myWidth, RAD2DEG, SUMOReal, Position::x(), and Position::y().

GUILane::~GUILane ( )

Destructor.

Definition at line 96 of file GUILane.cpp.

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

Member Function Documentation

void MSLane::addApproachingLane ( MSLane lane,
bool  warnMultiCon 
)
inherited
void MSLane::addIncomingLane ( MSLane lane,
MSLink viaLink 
)
inherited
void MSLane::addLink ( MSLink link)
inherited

Delayed initialization.

Not all lane-members are known at the time the lane is born, above all the pointers to other lanes, so we have to add them later.

Parameters
[in]linkAn outgoing link

Definition at line 108 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by NLHandler::addConnection().

void MSLane::addMoveReminder ( MSMoveReminder rem)
virtualinherited

Add a move-reminder to move-reminder container.

The move reminder will not be deleted by the lane.

Parameters
[in]remThe move reminder to add

Definition at line 115 of file MSLane.cpp.

References MSLane::myMoveReminders, and MSLane::myVehicles.

Referenced by MSMoveReminder::MSMoveReminder().

void Parameterised::addParameter ( const std::map< std::string, std::string > &  mapArg)
inherited

Adds all given parameter.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 59 of file Parameterised.cpp.

References Parameterised::myMap.

void Parameterised::addParameter ( const Parameterised p)
inherited

Adds all given parameter.

Parameters
[in]pThe keys/values to insert

Definition at line 67 of file Parameterised.cpp.

References Parameterised::myMap.

void GUIGlObject::addParameterTable ( GUIParameterTableWindow w)
inherited

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

Parameters
[in]wThe opened parameter window

Definition at line 198 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

void Named::addTo ( const StoringVisitor cont) const
inlineinherited

Adds this object to the given container.

Parameters

Definition at line 126 of file Named.h.

References Named::StoringVisitor::add().

bool MSLane::allowsVehicleClass ( SUMOVehicleClass  vclass) const
inlineinherited
bool MSLane::appropriate ( const MSVehicle veh)
virtualinherited
SUMOReal MSLane::basePos ( const MSVehicle veh) const
protectedinherited

departure position where the vehicle fits fully onto the lane (if possible)

Definition at line 318 of file MSLane.cpp.

References MSVehicleType::getLength(), MSBaseVehicle::getVehicleType(), MIN2(), MSLane::myLength, and POSITION_EPS.

Referenced by MSLane::insertVehicle(), MSLane::lastInsertion(), and MSLane::visit().

void GUIGlObject::buildShowManipulatorPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to open the manipulator window.

Parameters

Definition at line 189 of file GUIGlObject.cpp.

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

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

void GUIGlObject::buildShowTypeParamsPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to open the type parameter window.

Parameters

Definition at line 168 of file GUIGlObject.cpp.

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

Referenced by GUIBaseVehicle::getPopUpMenu().

bool MSLane::checkFailure ( MSVehicle aVehicle,
SUMOReal speed,
SUMOReal dist,
const SUMOReal  nspeed,
const bool  patchSpeed,
const std::string  errorMsg 
) const
inherited
void MSLane::clear ( )
staticinherited

Clears the dictionary.

Definition at line 795 of file MSLane.cpp.

References MSLane::myDict.

Referenced by MSNet::clearAll(), and MSLane::getEdge().

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 91 of file Parameterised.cpp.

References Parameterised::myMap.

void GUILane::closeTraffic ( bool  rebuildAllowed = true)
void GUILane::detectCollisions ( SUMOTime  timestep,
const std::string &  stage 
)
virtual

the same as in MSLane, but locks the access for the visualisation first; the access will be granted at the end of this method

Reimplemented from MSLane.

Definition at line 164 of file GUILane.cpp.

References MSLane::detectCollisions(), and myLock.

bool MSLane::dictionary ( const std::string &  id,
MSLane lane 
)
staticinherited

Static (sic!) container methods {.

Inserts a MSLane into the static dictionary

Returns true if the key id isn't already in the dictionary. Otherwise returns false.

Parameters
[in]idThe id of the lane
[in]laneThe lane itself
Returns
Whether the lane was added
Todo:

make non-static

why is the id given? The lane is named

Definition at line 772 of file MSLane.cpp.

References MSLane::myDict.

Referenced by NLHandler::addConnection(), NLHandler::addLane(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSLane::getEdge(), NLTriggerBuilder::getLane(), NLDetectorBuilder::getLaneChecking(), NLShapeHandler::getLanePos(), TraCIServerAPI_Lane::getShape(), MSPedestrianPushButton::loadPushButtons(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), NLHandler::parseLanes(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), and TraCIServerAPI_Lane::processSet().

MSLane * MSLane::dictionary ( const std::string &  id)
staticinherited

Returns the MSLane associated to the key id.

The lane is returned if exists, otherwise 0 is returned.

Parameters
[in]idThe id of the lane
Returns
The lane

Definition at line 784 of file MSLane.cpp.

References MSLane::myDict.

static size_t MSLane::dictSize ( )
inlinestaticinherited
bool GUILane::drawAsRailway ( const GUIVisualizationSettings s) const
private

whether to draw this lane as a railway

Definition at line 996 of file GUILane.cpp.

References isRailway(), MSLane::myPermissions, and GUIVisualizationSettings::showRails.

Referenced by drawGL(), and drawLinkRule().

void GUILane::drawBikeMarkings ( ) const

bike lane markings on top of an intersection

Definition at line 606 of file GUILane.cpp.

References getShape(), GLO_JUNCTION, myHalfLaneWidth, myShapeLengths, myShapeRotations, SUMO_const_laneOffset, and SUMOReal.

Referenced by drawGL().

void GUILane::drawCrossties ( SUMOReal  length,
SUMOReal  spacing,
SUMOReal  halfWidth 
) const

draw crossties for railroads or pedestrian crossings

Definition at line 631 of file GUILane.cpp.

References getShape(), myShapeLengths, myShapeRotations, and SUMOReal.

Referenced by drawGL().

void GUILane::drawGL ( const GUIVisualizationSettings s) const
virtual

Draws the object.

Parameters
[in]sThe settings for the current view (may influence drawing)
See also
GUIGlObject::drawGL

Implements GUIGlObject.

Definition at line 417 of file GUILane.cpp.

References GLHelper::debugVertices(), drawArrows(), drawAsRailway(), drawAsWaterway(), drawBikeMarkings(), GLHelper::drawBoxLines(), GUIVisualizationSettings::drawCrossingsAndWalkingareas, drawCrossties(), GLHelper::drawFilledPoly(), GLHelper::drawFilledPolyTesselated(), GUIBaseVehicle::drawGL(), drawLane2LaneConnections(), GLHelper::drawLine(), GUIVisualizationSettings::drawLinkJunctionIndex, drawLinkNo(), drawLinkRules(), GUIVisualizationSettings::drawLinkTLIndex, drawMarkings(), drawTLSLinkNo(), MSEdge::EDGEFUNCTION_CROSSING, MSEdge::EDGEFUNCTION_INTERNAL, MSEdge::EDGEFUNCTION_WALKINGAREA, GUIVisualizationSettings::edgeScaler, GUIPropertySchemeStorage< T >::getActive(), GUIPropertyScheme< T >::getColor(), MSLinkContHelper::getConnectingLink(), GUIVisualizationSizeSettings::getExaggeration(), GUIGlObject::getGlID(), MSVehicleTransfer::getInstance(), MSNet::getInstance(), GUINet::getLinkTLIndex(), MSLane::getLogicalPredecessorLane(), MSVehicleTransfer::getParkingVehicles(), MSEdge::getPurpose(), GUIEdge::getScaleValue(), getScaleValue(), GUIPropertySchemeStorage< T >::getScheme(), GUIGlObject::getType(), getVehiclesSecure(), MSLane::getWidth(), GLO_JUNCTION, MSGlobals::gUseMesoSim, MSLink::havePriority(), isWaterway(), GUIVisualizationSettings::laneScaler, GUIVisualizationSettings::laneWidthExaggeration, MAX2(), GUIVisualizationSizeSettings::minSize, MSLane::myEdge, myHalfLaneWidth, MSLane::myPermissions, myQuarterLaneWidth, MSLane::myShape, myShapeColors, myShapeLengths, myShapeRotations, releaseVehicles(), GUIVisualizationSettings::scale, setColor(), GUIVisualizationTextSettings::show, GUIVisualizationSettings::showLane2Lane, GUIVisualizationSettings::showLinkDecals, SUMOReal, SVC_BICYCLE, SVC_PEDESTRIAN, and GUIVisualizationSettings::vehicleSize.

Referenced by GUIEdge::drawGL().

virtual void GUIGlObject::drawGLAdditional ( GUISUMOAbstractView *const  parent,
const GUIVisualizationSettings s 
) const
inlinevirtualinherited

Draws additional, user-triggered visualisations.

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

Reimplemented in GUIBaseVehicle, GUIPerson, and GUIContainer.

Definition at line 203 of file GUIGlObject.h.

References SUMOReal, and UNUSED_PARAMETER.

void GUILane::drawLane2LaneConnections ( ) const
private
void GUILane::drawTextAtEnd ( const std::string &  text,
const PositionVector shape,
SUMOReal  x,
const GUIVisualizationTextSettings settings 
) const
private
bool MSLane::empty ( ) const
inlineinherited

Returns true if there is not a single vehicle on the lane.

Definition at line 449 of file MSLane.h.

References MSLane::myVehBuffer, MSLane::myVehicles, MSLane::setLength(), MSLane::setMaxSpeed(), and SUMOReal.

Referenced by MSQueueExport::writeLane().

bool GUILane::executeMovements ( SUMOTime  t,
std::vector< MSLane * > &  into 
)
virtual

the same as in MSLane, but locks the access for the visualisation first; the access will be granted at the end of this method

Reimplemented from MSLane.

Definition at line 136 of file GUILane.cpp.

References MSLane::executeMovements(), and myLock.

template<class RTREE >
template void MSLane::fill< LANE_RTREE_QUAL > ( RTREE &  into)
staticinherited
SUMOReal GUILane::firstWaitingTime ( ) const

Definition at line 743 of file GUILane.cpp.

References MSLane::myVehicles, and SUMOReal.

Referenced by getColorValue(), and getScaleValue().

void MSLane::forceVehicleInsertion ( MSVehicle veh,
SUMOReal  pos 
)
inherited

Inserts the given vehicle at the given position.

No checks are done, vehicle insertion using this method may generate collisions (possibly delayed).

Parameters
[in]vehThe vehicle to insert
[in]posThe position at which the vehicle shall be inserted

Definition at line 521 of file MSLane.cpp.

References MSLane::getDepartSpeed(), MSVehicle::getSpeed(), MSBaseVehicle::hasDeparted(), MSLane::incorporateVehicle(), MSLane::myVehicles, SUMOReal, and MSVehicle::updateBestLanes().

Referenced by MSLane::getMoveReminders(), MSVehicle::Influencer::postProcessVTD(), and TraCIServerAPI_Vehicle::processSet().

bool MSLane::freeInsertion ( MSVehicle veh,
SUMOReal  speed,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
)
inherited
SUMOReal MSLane::getBruttoOccupancy ( ) const
inherited
SUMOReal MSLane::getBruttoVehLenSum ( ) const
inherited

Returns the sum of lengths of vehicles, including their minGaps, which were on the lane during the last step.

Returns
The sum of vehicle lengths of vehicles in the last step

Definition at line 1425 of file MSLane.cpp.

References MSLane::myBruttoVehicleLengthSum, and SUMOReal.

Referenced by MSVehicle::checkRewindLinkLanes(), and MSLane::getIncomingLanes().

Boundary GUILane::getCenteringBoundary ( ) const
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 708 of file GUILane.cpp.

References Boundary::add(), Boundary::grow(), and MSLane::myShape.

SUMOReal MSLane::getCO2Emissions ( ) const
inherited

Returns the sum of last step CO2 emissions.

Returns
CO2 emissions of vehicles on this lane during the last step

Definition at line 1460 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), TraCIServerAPI_Lane::processGet(), and MSFullExport::writeLane().

SUMOReal MSLane::getCOEmissions ( ) const
inherited

Returns the sum of last step CO emissions.

Returns
CO emissions of vehicles on this lane during the last step

Definition at line 1472 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), TraCIServerAPI_Lane::processGet(), and MSFullExport::writeLane().

std::pair< MSVehicle *const, SUMOReal > MSLane::getCriticalLeader ( SUMOReal  dist,
SUMOReal  seen,
SUMOReal  speed,
const MSVehicle veh 
) const
inherited

Returns the most dangerous leader and the distance to him.

Goes along the vehicle's estimated used lanes (bestLaneConts). For each link, it is determined whether the ego vehicle will pass it. If so, the subsequent lane is investigated. Check all lanes up to the stopping distance of ego. Return the leader vehicle (and the gap) which puts the biggest speed constraint on ego.

If no leading vehicle was found, <0, -1> is returned.

Pretty slow, as it has to go along lanes.

Parameters
[in]distThe distance to investigate
[in]seenThe already seen place (normally the place in front on own lane)
[in]speedThe speed of the vehicle used for determining whether a subsequent link will be opened at arrival time
[in]vehThe (ego) vehicle for which the information shall be computed
Returns

Definition at line 1229 of file MSLane.cpp.

References MSCFModel::brakeGap(), MSVehicle::getBestLanesContinuation(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSBaseVehicle::getImpatience(), MSNet::getInstance(), MSLane::getLastVehicle(), MSVehicleType::getLength(), MSLane::getLength(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), MSVehicle::getPositionOnLane(), MSVehicle::getSafeFollowSpeed(), MSVehicle::getSpeed(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSCFModel::insertionFollowSpeed(), MSLane::isLinkEnd(), max, MAX2(), NUMERICAL_EPS, MSLane::succLinkSec(), SUMOReal, and TIME2STEPS.

Referenced by MSLaneChanger::checkChange(), and MSLane::getIncomingLanes().

int MSLane::getCrossingIndex ( ) const
inherited

return the index of the link to the next crossing if this is walkingArea, else -1

Definition at line 1384 of file MSLane.cpp.

References MSLane::myLinks, and SUMOReal.

Referenced by MSLane::getIndex().

MSEdge& MSLane::getEdge ( ) const
inlineinherited

Returns the lane's edge.

Returns
This lane's edge

Definition at line 467 of file MSLane.h.

References MSLane::clear(), MSLane::dictionary(), MSLane::getInternalFollower(), and MSLane::myEdge.

Referenced by MSLCM_JE2013::_patchSpeed(), MSLCM_LC2013::_patchSpeed(), MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), TraCIServerAPI_Lane::StoringVisitor::add(), MSLane::addApproachingLane(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSEdge::allowedLanes(), MSSwarmTrafficLightLogic::allowLine(), MSSOTLE2Sensors::buildSensorForLane(), MSEdge::changeLanes(), MSLaneChanger::checkChange(), MSVehicle::checkRewindLinkLanes(), MSEdge::closeBuilding(), closeTraffic(), MSDevice_Tripinfo::computeLengthAndDuration(), GUIDetectorBuilder::createInductLoop(), NLDetectorBuilder::createInductLoop(), drawLinkNo(), drawLinkRules(), drawTLSLinkNo(), MSVehicle::enterLaneAtMove(), MSVehicle::executeMove(), MSLane::executeMovements(), MS_E2_ZS_CollectorOverLanes::extendTo(), MSVehicle::getBestLanesContinuation(), getColorValue(), MSVehicle::getDistanceToPosition(), MSVehicle::getLaneIndex(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), MSLane::getLogicalPredecessorLane(), MSPModel_Striping::PState::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSVehicle::getPosition(), MSStoppingPlace::hasAccess(), MSVehicle::Influencer::implicitDeltaPosVTD(), MSVehicle::Influencer::implicitSpeedVTD(), MSVehicle::influenceChangeDecision(), MSRailSignal::init(), MSLane::isInsertionSuccess(), MSJunction::isLeader(), MSLink::lastWasContMajor(), MESegment::limitedControlOverride(), MSPedestrianPushButton::loadPushButtons(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), GUIViewTraffic::onCmdAddRerouter(), GUIViewTraffic::onCmdCloseEdge(), MSLane::edge_finder::operator()(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), MSLCM_DK2008::patchSpeed(), MSVehicle::planMoveInternal(), MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Lane::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), TraCIServerAPI_Lane::processSet(), MSPModel_Striping::PState::PState(), MSVehicle::resumeFromStopping(), MSLink::setRequestInformation(), MSLane::succLinkSec(), MSVehicle::unsafeLinkAhead(), MSVehicle::updateBestLanes(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSFCDExport::write(), and MSLink::writeApproaching().

SUMOReal GUILane::getEdgeLaneNumber ( ) const

Definition at line 749 of file GUILane.cpp.

References MSEdge::getLanes(), MSLane::myEdge, and SUMOReal.

Referenced by getColorValue(), and getScaleValue().

SUMOReal MSLane::getElectricityConsumption ( ) const
inherited

Returns the sum of last step electricity consumption.

Returns
electricity consumption of vehicles on this lane during the last step

Definition at line 1532 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), and MSFullExport::writeLane().

MSVehicle * MSLane::getFirstVehicle ( ) const
inherited

Definition at line 889 of file MSLane.cpp.

References MSLane::myVehicles.

Referenced by MSLane::dictSize(), and MSLane::getFollowerOnConsecutive().

std::pair< MSVehicle *const, SUMOReal > MSLane::getFollowerOnConsecutive ( SUMOReal  backOffset,
SUMOReal  leaderSpeed,
SUMOReal  leaderMaxDecel 
) const
inherited
SUMOReal MSLane::getFuelConsumption ( ) const
inherited

Returns the sum of last step fuel consumption.

Returns
fuel consumption of vehicles on this lane during the last step

Definition at line 1520 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), TraCIServerAPI_Lane::processGet(), and MSFullExport::writeLane().

GUIGlID GUIGlObject::getGlID ( ) const
inlineinherited

Returns the numerical id of the object.

Returns
This object's gl-id

Definition at line 123 of file GUIGlObject.h.

Referenced by GNENet::addReversedEdge(), GUIMessageWindow::appendMsg(), GUIGlObject::buildSelectionPopupEntry(), GUINet::createTLWrapper(), GNENet::deleteEdge(), GNENet::deleteJunction(), GNENet::deleteLane(), GUIMEInductLoop::MyWrapper::drawGL(), GNEInternalLane::drawGL(), GNECrossing::drawGL(), GUIContainer::drawGL(), GUIPerson::drawGL(), GUIPolygon::drawGL(), GUIInstantInductLoop::MyWrapper::drawGL(), GUILaneSpeedTrigger::drawGL(), GUICalibrator::drawGL(), GUIPointOfInterest::drawGL(), GNEJunction::drawGL(), GUIJunctionWrapper::drawGL(), GNEEdge::drawGL(), GUIE3Collector::MyWrapper::drawGL(), GNELane::drawGL(), GUI_E2_ZS_Collector::MyWrapper::drawGL(), GUIContainerStop::drawGL(), GUIBusStop::drawGL(), GUIChargingStation::drawGL(), GNEPoly::drawGL(), GUIEdge::drawGL(), GUIBaseVehicle::drawGL(), GUIInductLoop::MyWrapper::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), drawGL(), GUIContainer::drawGLAdditional(), GUIPerson::drawGLAdditional(), GUIBaseVehicle::drawGLAdditional(), drawLinkRule(), GUIMEVehicle::getColorValue(), GUIVehicle::getColorValue(), GUIJunctionWrapper::getColorValue(), GUIEdge::getColorValue(), GUIContainer::getColorValue(), GNELane::getColorValue(), GUIPerson::getColorValue(), getColorValue(), GNEJunction::getColorValue(), GUIEdge::getIDs(), GNEEdge::getLaneGlIDs(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIPerson::getPopUpMenu(), GNELane::getPopUpMenu(), GUIBaseVehicle::getPopUpMenu(), GUIEdge::getScaleValue(), getScaleValue(), GUIDialog_GLObjChooser::GUIDialog_GLObjChooser(), GNESelector::handleIDs(), GNETLSEditor::handleMultiChange(), GUIGlChildWindow::isSelected(), GNEViewParent::isSelected(), GUISUMOViewParent::isSelected(), GUISelectedStorage::loadIDs(), GNEViewNet::mergeJunctions(), GUIViewTraffic::onCmdAddRerouter(), GUIGLObjectPopupMenu::onCmdAddSelected(), GUIGLObjectPopupMenu::onCmdCenter(), GUIViewTraffic::onCmdCloseEdge(), GUIViewTraffic::onCmdCloseLane(), GNEViewNet::onCmdDuplicateLane(), GUIApplicationWindow::onCmdEditChosen(), GUIGLObjectPopupMenu::onCmdRemoveSelected(), GNEConnector::onCmdSelectDeadStarts(), GNEConnector::onCmdSelectPass(), GUIPerson::GUIPersonPopupMenu::onCmdStartTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStartTrack(), GNEViewNet::onCmdStraightenEdges(), GNEViewNet::onLeftBtnPress(), GUISUMOAbstractView::removeAdditionalGLVisualisation(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::removeObject(), GUIVehicle::selectBlockingFoes(), GNEJunction::setColor(), GUIMessageWindow::setCursorPos(), and GUIGlObject::~GUIGlObject().

SUMOReal MSLane::getHarmonoise_NoiseEmissions ( ) const
inherited

Returns the sum of last step noise emissions.

Returns
noise emissions of vehicles on this lane during the last step

Definition at line 1544 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), HelpersHarmonoise::sum(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), TraCIServerAPI_Lane::processGet(), and MSFullExport::writeLane().

SUMOReal MSLane::getHCEmissions ( ) const
inherited

Returns the sum of last step HC emissions.

Returns
HC emissions of vehicles on this lane during the last step

Definition at line 1508 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), TraCIServerAPI_Lane::processGet(), and MSFullExport::writeLane().

const std::string& Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Definition at line 65 of file Named.h.

References Named::myID.

Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), IntermodalRouter< E, L, N, V >::addAccess(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), MSNet::addChargingStation(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), ROVehicle::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciBusOrContainerStop(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNEConnector::buildIinternalLanes(), GNETLSEditor::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), MSSwarmTrafficLightLogic::choosePolicy(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), TraCIServerAPI_Vehicle::findCloserLane(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getChargingStationID(), NBEdge::getConnection(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), GNEEdge::getDest(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), MSE2Collector::getEstimateQueueLength(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), GNEEdge::getSource(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), MSSOTLTrafficLightLogic::isThresholdPassed(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSE2Collector::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_ArealDetector::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNodeCont::removeIsolatedRoads(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), MSLane::saveState(), MSDevice_Battery::setActualBatteryCapacity(), MSDevice_Battery::setAirDragCoefficient(), NBNodeCont::setAsTLControlled(), MSChargingStation::setChrgPower(), MSDevice_Battery::setConstantPowerIntake(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), MSDevice_Battery::setFrontSurfaceArea(), MSDevice_Battery::setInternalMomentOfInertia(), GNEJunction::setLogicValid(), MSDevice_Battery::setMass(), MSDevice_Battery::setMaximumBatteryCapacity(), NIXMLEdgesHandler::setNodes(), MSDevice_Battery::setPowerMax(), MSDevice_Battery::setPropulsionEfficiency(), MSDevice_Battery::setRadialDragCoefficient(), MSDevice_Battery::setRecuperationEfficiency(), MSLink::setRequestInformation(), MSDevice_Battery::setRollDragCoefficient(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditor::updateDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSPModel_Striping::PState::walk(), MSLCM_JE2013::wantsChange(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

template<class T >
static std::string Named::getIDSecure ( const T *  obj,
const std::string &  fallBack = "NULL" 
)
inlinestaticinherited

get an identifier for Named-like object which may be Null

Definition at line 58 of file Named.h.

Referenced by operator<<(), and toString().

LinkState MSLane::getIncomingLinkState ( ) const
inherited

get the state of the link from the logical predecessor to this lane

Definition at line 1348 of file MSLane.cpp.

References MSLinkContHelper::getConnectingLink(), MSLane::getLogicalPredecessorLane(), MSLink::getState(), and LINKSTATE_DEADEND.

Referenced by MSLane::getIncomingLanes().

int MSLane::getIndex ( ) const
inlineinherited
const MSEdge * MSLane::getInternalFollower ( ) const
inherited

Returns the lane's follower if it is an internal lane, the edge of the lane otherwise.

Returns
This lane's follower

Definition at line 761 of file MSLane.cpp.

References MSEdge::EDGEFUNCTION_INTERNAL, MSEdge::getPurpose(), MSEdge::getSuccessors(), and MSLane::myEdge.

Referenced by MSLane::getEdge(), MSVehicle::getRerouteOrigin(), and MSVehicle::updateBestLanes().

MSVehicle * MSLane::getLastVehicle ( ) const
inherited
std::pair< MSVehicle *, SUMOReal > MSLane::getLastVehicleInformation ( ) const
inherited

Returns the last vehicle which is still on the lane.

The information about the last vehicle in this lane's que is returned. If there is no such vehicle, the information about the vehicle which laps into this lane is returned. If there is no such vehicle, the first returned member is 0.

Returns
Information about the last vehicle and it's back position

Definition at line 563 of file MSLane.cpp.

References MSVehicleType::getLength(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getVehicleType(), MSLane::myInlappingVehicle, MSLane::myInlappingVehicleEnd, MSLane::myVehicles, and SUMOReal.

Referenced by MSLane::getPartialOccupatorEnd(), and MSVehicle::planMoveInternal().

std::pair< MSVehicle *const, SUMOReal > MSLane::getLeader ( const MSVehicle veh,
const SUMOReal  vehPos,
bool  checkNext 
) const
inherited

Returns the immediate leader of veh and the distance to veh starting on this lane.

Iterates over the current lane to find a leader and then uses getLeaderOnConsecutive()

Parameters
[in]vehThe vehicle for which the information shall be computed
[in]vehPosThe vehicle position relative to this lane (may be negative)
[in]checkNextWhether lanes after this one shall be checked
Returns

Definition at line 1135 of file MSLane.cpp.

References MSCFModel::brakeGap(), MSVehicle::getBestLanesContinuation(), MSVehicle::getCarFollowModel(), MSLane::getLeaderOnConsecutive(), MSLane::getLength(), MSVehicleType::getMinGap(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSLane::myVehicles, NUMERICAL_EPS, and SUMOReal.

Referenced by MSLaneChanger::checkChange(), MSLane::getIncomingLanes(), and MSVehicle::planMoveInternal().

std::pair< MSVehicle *const, SUMOReal > MSLane::getLeaderOnConsecutive ( SUMOReal  dist,
SUMOReal  seen,
SUMOReal  speed,
const MSVehicle veh,
const std::vector< MSLane * > &  bestLaneConts 
) const
inherited

Returns the immediate leader and the distance to him.

Goes along the vehicle's estimated used lanes (bestLaneConts). For each link, it is determined whether the vehicle will pass it. If so, the subsequent lane is investigated. If a vehicle (leader) is found, it is returned, together with the length of the investigated lanes until this vehicle's end, including the already seen place (seen).

If no leading vehicle was found, <0, -1> is returned.

Pretty slow, as it has to go along lanes.

Todo:
: There are some oddities:
  • what about crossing a link at red, or if a link is closed? Has a following vehicle to be regarded or not?
Parameters
[in]distThe distance to investigate
[in]seenThe already seen place (normally the place in front on own lane)
[in]speedThe speed of the vehicle used for determining whether a subsequent link will be opened at arrival time
[in]vehThe vehicle for which the information shall be computed
[in]bestLaneContsThe lanes the vehicle will use in future
Returns

Definition at line 1166 of file MSLane.cpp.

References MSCFModel::brakeGap(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSBaseVehicle::getImpatience(), MSNet::getInstance(), MSVehicleType::getLength(), MSLane::getLength(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getVehicleType(), MAX2(), NUMERICAL_EPS, MSLane::succLinkSec(), and TIME2STEPS.

Referenced by MSLane::getIncomingLanes(), MSLane::getLeader(), and MSVehicle::getLeader().

SUMOReal MSLane::getLength ( ) const
inlineinherited

Returns the lane's length.

Returns
This lane's length

Definition at line 375 of file MSLane.h.

References MSLane::myLength.

Referenced by MSVehicle::adaptLaneEntering2MoveReminder(), NLTriggerBuilder::addAccess(), NLHandler::addConnection(), MSLane::addIncomingLane(), MSVehicle::addStop(), GUI_E2_ZS_CollectorOverLanes::buildCollector(), MS_E2_ZS_CollectorOverLanes::buildCollector(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), MSLaneChanger::checkChange(), MSVehicle::checkRewindLinkLanes(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), MSPModel_Striping::PState::distToLaneEnd(), GUIVehicle::drawAction_drawRailCarriages(), MSVehicle::executeMove(), MSLane::executeMovements(), MS_E2_ZS_CollectorOverLanes::extendTo(), MSVehicle::fixPosition(), MSLane::freeInsertion(), getColorValue(), MSLane::getCriticalLeader(), MSVehicle::getDistanceToPosition(), MSE2Collector::getEstimatedCurrentVehicleNumber(), MSE2Collector::getEstimateQueueLength(), MSLane::getFollowerOnConsecutive(), TraCIServerAPI_Simulation::getLaneChecking(), NLShapeHandler::getLanePos(), MSLane::getLeader(), MSVehicle::getLeader(), MSLane::getLeaderOnConsecutive(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), MSDevice_Battery::getPropEnergy(), MSVehicle::getRerouteOrigin(), MSVehicle::getSafeFollowSpeed(), MSVehicle::getSpaceTillLastStanding(), MSActuatedTrafficLightLogic::init(), MS_E2_ZS_CollectorOverLanes::init(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), MSLink::maybeOccupied(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), NLTriggerBuilder::parseAndBuildChargingStation(), NLTriggerBuilder::parseAndBuildStoppingPlace(), MSVehicle::planMoveInternal(), MSVehicle::Influencer::postProcessVTD(), TraCIServerAPI_Lane::processGet(), GUIVehicle::selectBlockingFoes(), MSVehicle::setBlinkerInformation(), MSLink::setRequestInformation(), MSVehicle::unsafeLinkAhead(), MSVehicle::updateBestLanes(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSLink::writeApproaching(), MSMeanData::writeEdge(), and MSQueueExport::writeLane().

SUMOReal MSLane::getLengthGeometryFactor ( ) const
inlineinherited

return shape.length() / myLength

Definition at line 327 of file MSLane.h.

References MSLane::myLengthGeometryFactor.

SUMOReal GUILane::getLoadedEdgeWeight ( ) const
MSLane * MSLane::getLogicalPredecessorLane ( const MSEdge fromEdge) const
inherited

return the (first) predecessor lane from the given edge

Definition at line 1336 of file MSLane.cpp.

References MSLane::getEdge(), and MSLane::myIncomingLanes.

const std::map<std::string, std::string>& Parameterised::getMap ( ) const
inlineinherited
SUMOReal MSLane::getMaximumBrakeDist ( ) const
protectedinherited
SUMOReal MSLane::getMeanSpeed ( ) const
inherited

Returns the mean speed on this lane.

Returns
The average speed of vehicles during the last step; default speed if no vehicle was on this lane

Definition at line 1444 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::myMaxSpeed, MSLane::myVehicles, MSLane::releaseVehicles(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), TraCIServerAPI_Lane::processGet(), and MSFullExport::writeLane().

SUMOReal MSLane::getMissingRearGap ( SUMOReal  backOffset,
SUMOReal  leaderSpeed,
SUMOReal  leaderMaxDecel 
) const
inherited

return by how much further the leader must be inserted to avoid rear end collisions

Definition at line 1045 of file MSLane.cpp.

References MSVehicle::getCarFollowModel(), MSLane::getFollowerOnConsecutive(), MSCFModel::getSecureGap(), MSVehicle::getSpeed(), and SUMOReal.

Referenced by MSLane::freeInsertion(), MSLane::getIncomingLanes(), and MSLane::isInsertionSuccess().

SUMOReal MSLane::getNettoOccupancy ( ) const
inherited
SUMOReal MSLane::getNOxEmissions ( ) const
inherited

Returns the sum of last step NOx emissions.

Returns
NOx emissions of vehicles on this lane during the last step

Definition at line 1496 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), TraCIServerAPI_Lane::processGet(), and MSFullExport::writeLane().

size_t MSLane::getNumericalID ( ) const
inlineinherited

Returns this lane's numerical id.

Returns
This lane's numerical id

Definition at line 314 of file MSLane.h.

References MSLane::myNumericalID.

Referenced by MSPModel_Striping::lane_by_numid_sorter::operator()(), and MSPModel_Striping::walkingarea_path_sorter::operator()().

std::vector< const MSLane * > MSLane::getOutgoingLanes ( ) const
inherited

get the list of outgoing lanes

Definition at line 1359 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by MSLane::getIncomingLanes(), and MSRailSignal::init().

MSLane * MSLane::getParallelLane ( int  offset) const
inherited

Returns the lane with the given offset parallel to this one or 0 if it does not exist.

Parameters
[in]offsetThe offset of the result lane

Definition at line 991 of file MSLane.cpp.

References MSLane::myEdge, and MSEdge::parallelLane().

Referenced by MSLaneChanger::checkChange(), MSLane::dictSize(), and MSAbstractLaneChangeModel::getShadowLane().

const std::string & Parameterised::getParameter ( const std::string &  key,
const std::string &  defaultValue 
) const
inherited

Returns the value for a given key.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value stored under the key

Definition at line 81 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), MSDevice_Example::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSSOTLTrafficLightLogic::getDecayConstant(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLRequestTrafficLightLogic::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSSOTLTrafficLightLogic::getThreshold(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), TraCIServerAPI_Edge::processGet(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_VehicleType::processGet(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_Route::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), MSSOTLPolicyDesirability::readParameter(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), and TraCIServerAPI_Vehicle::vtdMap().

GUIParameterTableWindow * GUILane::getParameterWindow ( GUIMainWindow app,
GUISUMOAbstractView parent 
)
virtual

Returns an own parameter window.

Parameters
[in]appThe application needed to build the parameter window
[in]parentThe parent window needed to build the parameter window
Returns
The built parameter window
See also
GUIGlObject::getParameterWindow

Implements GUIGlObject.

Definition at line 685 of file GUILane.cpp.

References GUIParameterTableWindow::closeBuilding(), MSLane::getBruttoOccupancy(), MSEdge::getEdgeType(), getLoadedEdgeWeight(), MSEdge::getPriority(), MSLane::getSpeedLimit(), getStoredEdgeTravelTime(), MSEdge::getStreetName(), getVehicleClassNames(), GUIParameterTableWindow::mkItem(), MSLane::myEdge, MSLane::myLength, MSLane::myPermissions, and MSLane::myWidth.

const std::string& GUILane::getParentName ( ) const
inlinevirtual

Returns the name of the parent object (if any)

Note
Inherited from GUIGlObject
Returns
This object's parent id

Reimplemented from GUIGlObject.

Definition at line 98 of file GUILane.h.

References SUMOReal.

SVCPermissions MSLane::getPermissions ( ) const
inlineinherited

Returns the vehicle class permissions for this lane.

Returns
This lane's allowed vehicle classes

Definition at line 383 of file MSLane.h.

References MSLane::myPermissions.

Referenced by MSSwarmTrafficLightLogic::allowLine(), GUIApplicationWindow::onCmdEditChosen(), and TraCIServerAPI_Lane::processGet().

SUMOReal MSLane::getPMxEmissions ( ) const
inherited

Returns the sum of last step PMx emissions.

Returns
PMx emissions of vehicles on this lane during the last step

Definition at line 1484 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by getColorValue(), MSLane::getIncomingLanes(), getScaleValue(), TraCIServerAPI_Lane::processGet(), and MSFullExport::writeLane().

const std::vector< SUMOReal > & GUILane::getShapeLengths ( ) const
const std::vector< SUMOReal > & GUILane::getShapeRotations ( ) const
SUMOReal GUILane::getStoredEdgeTravelTime ( ) const
GUIGlObjectType GUIGlObject::getType ( ) const
inlineinherited

Returns the type of the object as coded in GUIGlObjectType.

Returns
The type of the object
See also
GUIGlObjectType

Definition at line 180 of file GUIGlObject.h.

Referenced by GUIGlObject::buildSelectionPopupEntry(), GUIVehicle::drawAction_drawRailCarriages(), GUIPerson::drawAction_drawWalkingareaPath(), GUIMEInductLoop::MyWrapper::drawGL(), GUIContainer::drawGL(), GUIPerson::drawGL(), GUIInstantInductLoop::MyWrapper::drawGL(), GUILaneSpeedTrigger::drawGL(), GUICalibrator::drawGL(), GNEJunction::drawGL(), GUIJunctionWrapper::drawGL(), GUIE3Collector::MyWrapper::drawGL(), GNELane::drawGL(), GUI_E2_ZS_Collector::MyWrapper::drawGL(), GUIContainerStop::drawGL(), GUIBusStop::drawGL(), GUIChargingStation::drawGL(), GUIBaseVehicle::drawGL(), GUIInductLoop::MyWrapper::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), drawGL(), GUIPerson::drawGLAdditional(), GUIBaseVehicle::drawGLAdditional(), GUIJunctionWrapper::getColorValue(), GUIEdge::getColorValue(), GNELane::getColorValue(), getColorValue(), GNEJunction::getColorValue(), GNEViewNet::getEdgeAtCursorPosition(), GNEViewNet::getEdgesAtCursorPosition(), GNEViewNet::getJunctionAtCursorPosition(), GNEViewNet::getLaneAtCurserPosition(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIEdge::getScaleValue(), getScaleValue(), GNESelector::handleIDs(), GUIGlChildWindow::isSelected(), GNEViewParent::isSelected(), GUISUMOViewParent::isSelected(), GUISelectedStorage::loadIDs(), GNEViewNet::mergeJunctions(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdBegin2TrackPhases(), GNEConnector::onCmdClearSelectedConnections(), GUIGLObjectPopupMenu::onCmdCopyEdgeName(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideAllRoutes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideBestLanes(), GUIPerson::GUIPersonPopupMenu::onCmdHideCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideLFLinkItems(), GUIPerson::GUIPersonPopupMenu::onCmdHideWalkingareaPath(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowAllRoutes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowBestLanes(), GUIPerson::GUIPersonPopupMenu::onCmdShowCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowFoes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowLFLinkItems(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdShowPhases(), GUIPerson::GUIPersonPopupMenu::onCmdShowWalkingareaPath(), GUIPerson::GUIPersonPopupMenu::onCmdStartTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStartTrack(), GUIPerson::GUIPersonPopupMenu::onCmdStopTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStopTrack(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdSwitchTLS2Off(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdSwitchTLSLogic(), GNEViewNet::onLeftBtnPress(), LayeredRTree::selectLayer(), GNEJunction::setColor(), and GUISelectedStorage::toggleSelection().

virtual GUIParameterTableWindow* GUIGlObject::getTypeParameterWindow ( GUIMainWindow app,
GUISUMOAbstractView parent 
)
inlinevirtualinherited

Returns an own type parameter window (optional)

Parameters
[in]appThe application needed to build the parameter window
[in]parentThe parent window needed to build the parameter window
Returns
The built parameter window

Reimplemented in GUIVehicle, GUIMEVehicle, and GUIBaseVehicle.

Definition at line 156 of file GUIGlObject.h.

References UNUSED_PARAMETER.

Referenced by GUIGLObjectPopupMenu::onCmdShowTypePars().

unsigned int MSLane::getVehicleNumber ( ) const
inlineinherited

Returns the number of vehicles on this lane.

Returns
The number of vehicles on this lane

Definition at line 284 of file MSLane.h.

References MSLane::myVehicles.

Referenced by MSVehicle::checkRewindLinkLanes(), TraCIServerAPI_Lane::processGet(), MSFullExport::writeLane(), and MSXMLRawOut::writeLane().

const MSLane::VehCont & GUILane::getVehiclesSecure ( ) const
virtual

Returns the vehicles container; locks it for microsimulation.

Locks "myLock" preventing usage by microsimulation.

Please note that it is necessary to release the vehicles container afterwards using "releaseVehicles".

Returns
The vehicles on this lane
See also
MSLane::getVehiclesSecure

Reimplemented from MSLane.

Definition at line 116 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MSLane::myVehicles.

Referenced by drawGL().

SUMOReal MSLane::getWaitingSeconds ( ) const
inherited

Returns the overall waiting time on this lane.

Returns
The sum of the waiting time of all vehicles during the last step;

Definition at line 1431 of file MSLane.cpp.

References MSLane::myVehicles, and SUMOReal.

Referenced by MSLane::getIncomingLanes(), and TraCIServerAPI_Lane::processGet().

void GUILane::incorporateVehicle ( MSVehicle veh,
SUMOReal  pos,
SUMOReal  speed,
const MSLane::VehCont::iterator &  at,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
)
protectedvirtual

Inserts the vehicle into this lane, and informs it about entering the network.

Calls the vehicles enterLaneAtInsertion function, updates statistics and modifies the active state as needed

Parameters
[in]vehThe vehicle to be incorporated
[in]posThe position of the vehicle
[in]speedThe speed of the vehicle
[in]at
[in]notificationThe cause of insertion (i.e. departure, teleport, parking) defaults to departure
See also
MSLane::incorporateVehicle

Reimplemented from MSLane.

Definition at line 106 of file GUILane.cpp.

References MSLane::incorporateVehicle(), and myLock.

void MSLane::insertIDs ( std::vector< std::string > &  into)
staticinherited

Adds the ids of all stored lanes into the given vector.

Parameters

Definition at line 804 of file MSLane.cpp.

References MSLane::myDict.

Referenced by MSLane::dictSize(), and TraCIServerAPI_Lane::processGet().

bool MSLane::insertVehicle ( MSVehicle v)
inherited

Tries to insert the given vehicle.

The insertion position and speed are determined in dependence to the vehicle's departure definition, first.

Then, the vehicle is tried to be inserted into the lane using these values by a call to "isInsertionSuccess". The result of "isInsertionSuccess" is returned.

Parameters
[in]vThe vehicle to insert
Returns
Whether the vehicle could be inserted
See also
isInsertionSuccess
MSVehicle::getDepartureDefinition
MSVehicle::DepartArrivalDefinition

Definition at line 273 of file MSLane.cpp.

References MSLane::basePos(), DEPART_POS_BASE, DEPART_POS_DEFAULT, DEPART_POS_FREE, DEPART_POS_GIVEN, DEPART_POS_LAST, DEPART_POS_RANDOM, DEPART_POS_RANDOM_FREE, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, MSLane::freeInsertion(), MSLane::getDepartSpeed(), MSLane::getLength(), MSBaseVehicle::getParameter(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLane::myLength, MSMoveReminder::NOTIFICATION_DEPARTED, RandHelper::rand(), and SUMOReal.

Referenced by MSLane::getMoveReminders(), and MSEdge::insertVehicle().

bool GUILane::integrateNewVehicle ( SUMOTime  t)
virtual

the same as in MSLane, but locks the access for the visualisation first; the access will be granted at the end of this method

Reimplemented from MSLane.

Definition at line 157 of file GUILane.cpp.

References MSLane::integrateNewVehicle(), and myLock.

SUMOReal MSLane::interpolateGeometryPosToLanePos ( SUMOReal  geometryPos) const
inlineinherited

Definition at line 345 of file MSLane.h.

References MSLane::myLengthGeometryFactor.

Referenced by getPopUpMenu(), and MSLink::setRequestInformation().

bool MSLane::isApproachedFrom ( MSEdge *const  edge)
inherited

Definition at line 1021 of file MSLane.cpp.

References MSLane::myApproachingLanes.

Referenced by MSLane::getIncomingLanes().

bool MSLane::isApproachedFrom ( MSEdge *const  edge,
MSLane *const  lane 
)
inherited

Definition at line 1027 of file MSLane.cpp.

References MSLane::myApproachingLanes.

bool GUILane::isClosed ( ) const
inline

Definition at line 235 of file GUILane.h.

References MSMoveReminder::NOTIFICATION_DEPARTED, and SUMOReal.

Referenced by GUIEdge::closeTraffic().

bool MSLane::isEmpty ( ) const
inherited

Returns the information whether the lane is has no vehicle and no partial occupation

Definition at line 875 of file MSLane.cpp.

References MSLane::myInlappingVehicle, and MSLane::myVehicles.

Referenced by MSLane::dictSize().

bool MSLane::isInsertionSuccess ( MSVehicle vehicle,
SUMOReal  speed,
SUMOReal  pos,
bool  recheckNextLanes,
MSMoveReminder::Notification  notification 
)
inherited

Tries to insert the given vehicle with the given state (speed and pos)

Checks whether the vehicle can be inserted at the given position with the given speed so that no collisions with leader/follower occur and the speed does not cause unexpected behaviour on consecutive lanes. Returns false if the vehicle can not be inserted.

If the insertion can take place, incorporateVehicleis called and true is returned.

Parameters
[in]vehicleThe vehicle to insert
[in]speedThe speed with which it shall be inserted
[in]posThe position at which it shall be inserted
[in]recheckNextLanesForces patching the speed for not being too fast on next lanes
[in]notificationThe cause of insertion (i.e. departure, teleport, parking) defaults to departure
Returns
Whether the vehicle could be inserted
See also
MSVehicle::enterLaneAtInsertion

Definition at line 341 of file MSLane.cpp.

References ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, MSRoute::begin(), MSCFModel::brakeGap(), MSLane::checkFailure(), MSInsertionControl::descheduleDeparture(), MSCFModel::freeSpeed(), MSVehicle::gap(), MSVehicle::getBestLanesContinuation(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSBaseVehicle::getID(), MSBaseVehicle::getImpatience(), MSNet::getInsertionControl(), MSNet::getInstance(), MSRoute::getLastEdge(), MSLane::getLastVehicle(), MSVehicleType::getLength(), MSLane::getLength(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSLane::getMissingRearGap(), MSBaseVehicle::getParameter(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getRoute(), MSCFModel::getSecureGap(), MSVehicle::getSpeed(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSLane::incorporateVehicle(), MSCFModel::insertionFollowSpeed(), MSLane::isLinkEnd(), LINKSTATE_ALLWAY_STOP, LINKSTATE_EQUAL, LINKSTATE_MINOR, LINKSTATE_STOP, MAX2(), MSLane::myLength, MSLane::myVehicles, NUMERICAL_EPS, MSVehicle::setTentativeLaneAndPosition(), MSCFModel::stopSpeed(), MSLane::succLinkSec(), SUMO_const_haltingSpeed, SUMOReal, TIME2STEPS, toString(), MSVehicle::updateBestLanes(), WRITE_ERROR, and WRITE_WARNING.

Referenced by MSVehicleTransfer::checkInsertions(), MSLane::freeInsertion(), MSLane::getMoveReminders(), MSLane::insertVehicle(), and MSLane::lastInsertion().

bool MSLane::isLinkEnd ( MSLinkCont::const_iterator &  i) const
inherited

Returns the information whether the given link shows at the end of the list of links (is not valid)

Definition at line 864 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by MSLaneChanger::checkChange(), MSLane::dictSize(), MSLane::getCriticalLeader(), MSLane::isInsertionSuccess(), MSVehicle::planMoveInternal(), and MSVehicle::unsafeLinkAhead().

bool MSLane::isLinkEnd ( MSLinkCont::iterator &  i)
inherited

Returns the information whether the given link shows at the end of the list of links (is not valid)

Definition at line 870 of file MSLane.cpp.

References MSLane::myLinks.

bool Parameterised::knowsParameter ( const std::string &  key) const
inherited

Returns whether the parameter is known.

Parameters
[in]keyThe key to ask for
Returns
Whether the key is known

Definition at line 75 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSDevice_Example::buildVehicleDevices(), and MSDevice::equippedByDefaultAssignmentOptions().

void MSLane::loadState ( std::vector< std::string > &  vehIDs,
MSVehicleControl vc 
)
inherited

Loads the state of this segment with the given parameters.

This method is called for every internal que the segment has. Every vehicle is retrieved from the given MSVehicleControl and added to this lane.

Parameters
[in]vehIDsThe vehicle ids for the current que
[in]vcThe vehicle control to retrieve references vehicles from
Todo:

What about throwing an IOError?

What about throwing an error if something else fails (a vehicle can not be referenced)?

Definition at line 1605 of file MSLane.cpp.

References MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSVehicleControl::getVehicle(), MSLane::incorporateVehicle(), MSLane::myVehicles, MSMoveReminder::NOTIFICATION_JUNCTION, and MSVehicle::updateBestLanes().

Referenced by MSLane::getIncomingLanes().

void GUILane::planMovements ( const SUMOTime  t)
virtual

the same as in MSLane, but locks the access for the visualisation first; the access will be granted at the end of this method

Reimplemented from MSLane.

Definition at line 129 of file GUILane.cpp.

References myLock, and MSLane::planMovements().

void GUILane::releaseVehicles ( ) const
virtual

Allows to use the container for microsimulation again.

Unlocks "myLock" preventing usage by microsimulation.

See also
MSLane::releaseVehicles

Reimplemented from MSLane.

Definition at line 123 of file GUILane.cpp.

References myLock, and MFXMutex::unlock().

Referenced by drawGL().

void GUIGlObject::removeParameterTable ( GUIParameterTableWindow w)
inherited

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

Parameters
[in]wThe closed parameter window

Definition at line 204 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

Referenced by GUIParameterTableWindow::~GUIParameterTableWindow().

MSVehicle * GUILane::removeVehicle ( MSVehicle remVehicle,
MSMoveReminder::Notification  notification,
bool  notify 
)
virtual

the same as in MSLane, but locks the access for the visualisation first; the access will be granted at the end of this method

Reimplemented from MSLane.

Definition at line 143 of file GUILane.cpp.

References myLock, and MSLane::removeVehicle().

void MSLane::resetPartialOccupation ( MSVehicle v)
inherited
void MSLane::saveState ( OutputDevice out)
inherited

Saves the state of this lane into the given stream.

Basically, a list of vehicle ids

Parameters

Definition at line 1594 of file MSLane.cpp.

References OutputDevice::closeTag(), Named::getID(), MSLane::myVehicles, OutputDevice::openTag(), SUMO_ATTR_VALUE, SUMO_TAG_LANE, SUMO_TAG_VIEWSETTINGS_VEHICLES, and OutputDevice::writeAttr().

Referenced by MSLane::getIncomingLanes().

bool GUILane::setFunctionalColor ( size_t  activeScheme) const
private

sets the color according to the current scheme index and some lane function

Definition at line 790 of file GUILane.cpp.

References PositionVector::beginEndAngle(), RGBColor::fromHSV(), MSLane::myShape, GeomHelper::naviDegree(), GLHelper::setColor(), and SUMOReal.

Referenced by setColor().

void Named::setID ( const std::string &  newID)
inlineinherited

resets the id

Parameters
[in]newIDThe new id of this object

Definition at line 73 of file Named.h.

References Named::myID.

Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().

void MSLane::setLength ( SUMOReal  val)
inherited

Sets a new length for the lane (used by TraCI only)

Parameters
[in]valthe new length in m

Definition at line 960 of file MSLane.cpp.

References MSLane::myEdge, and MSEdge::recalcCache().

Referenced by MSLane::empty(), and TraCIServerAPI_Lane::processSet().

void MSLane::setMaxSpeed ( SUMOReal  val)
inherited

Sets a new maximum speed for the lane (used by TraCI and MSCalibrator)

Parameters
[in]valthe new speed in m/s

Definition at line 953 of file MSLane.cpp.

References MSLane::myEdge, MSLane::myMaxSpeed, and MSEdge::recalcCache().

Referenced by MSLane::empty(), and TraCIServerAPI_Lane::processSet().

void GUIGlObject::setMicrosimID ( const std::string &  newID)
virtualinherited

Changes the microsimID of the object (happens in NETEDIT)

Reimplemented in GNEEdge.

Definition at line 110 of file GUIGlObject.cpp.

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

Referenced by GNENet::renameJunction(), GNELane::setIndex(), and GNEEdge::setMicrosimID().

bool GUILane::setMultiColor ( const GUIColorer c) const
private

sets multiple colors according to the current scheme index and some lane function

Definition at line 804 of file GUILane.cpp.

References GUIPropertySchemeStorage< T >::getActive(), GUIPropertyScheme< T >::getColor(), GUIPropertySchemeStorage< T >::getScheme(), MAX2(), MSLane::myShape, myShapeColors, POSITION_EPS, and SUMOReal.

Referenced by setColor().

SUMOReal MSLane::setPartialOccupation ( MSVehicle v,
SUMOReal  leftVehicleLength 
)
inherited

Sets the information about a vehicle lapping into this lane.

The given left length of vehicle which laps into this lane is used to determine the vehicle's end position in regard to this lane's length. This information is set into myInlappingVehicleState; additionally, the vehicle pointer is stored in myInlappingVehicle; Returns this lane's length for subtracting it from the left vehicle length.

Parameters
[in]vThe vehicle which laps into this lane
[in]leftVehicleLengthThe distance the vehicle laps into this lane
Returns
This lane's length

Definition at line 531 of file MSLane.cpp.

References MSVehicle::getLaneChangeModel(), MSAbstractLaneChangeModel::getShadowLane(), MSAbstractLaneChangeModel::hasShadowVehicle(), MSAbstractLaneChangeModel::isChangingLanes(), MSLane::myInlappingVehicle, MSLane::myInlappingVehicleEnd, MSLane::myLength, and MSAbstractLaneChangeModel::setShadowPartialOccupator().

Referenced by MSLane::getMoveReminders(), and MSAbstractLaneChangeModel::startLaneChangeManeuver().

void MSLane::setPermissions ( SVCPermissions  permissions)
inlineinherited

Definition at line 571 of file MSLane.h.

References MSLane::myPermissions.

Referenced by TraCIServerAPI_Lane::processSet().

void GUIGlObject::setPrefix ( const std::string &  prefix)
protectedinherited
MSLinkCont::const_iterator MSLane::succLinkSec ( const SUMOVehicle veh,
unsigned int  nRouteSuccs,
const MSLane succLinkSource,
const std::vector< MSLane * > &  conts 
)
staticinherited
void GUILane::swapAfterLaneChange ( SUMOTime  t)
protectedvirtual

moves myTmpVehicles int myVehicles after a lane change procedure

Reimplemented from MSLane.

Definition at line 150 of file GUILane.cpp.

References myLock, and MSLane::swapAfterLaneChange().

void MSLane::visit ( const TraCIServerAPI_Lane::StoringVisitor cont) const
inlineinherited

Callback for visiting the lane when traversing an RTree.

This is used in the TraCIServerAPI_Lane for context subscriptions.

Parameters
[in]contThe context doing all the work
See also
TraCIServerAPI_Lane::StoringVisitor::add

Definition at line 797 of file MSLane.h.

References TraCIServerAPI_Lane::StoringVisitor::add(), MSLane::basePos(), MSLane::getDepartSpeed(), MSLane::getMaximumBrakeDist(), MSLane::handleCollision(), MSLane::incorporateVehicle(), MSMoveReminder::NOTIFICATION_DEPARTED, SUMOReal, and MSLane::swapAfterLaneChange().

Referenced by TraCIServer::collectObjectsInRange().

Field Documentation

bool GUILane::myAmClosed
private

state for dynamic lane closings

Definition at line 312 of file GUILane.h.

Referenced by closeTraffic(), and getPopUpMenu().

std::map<MSEdge*, std::vector<MSLane*> > MSLane::myApproachingLanes
protectedinherited

Definition at line 903 of file MSLane.h.

Referenced by MSLane::addApproachingLane(), and MSLane::isApproachedFrom().

SUMOReal MSLane::myBruttoVehicleLengthSum
protectedinherited
MSLane::DictType MSLane::myDict
staticprotectedinherited

Static dictionary to associate string-ids with objects.

Definition at line 912 of file MSLane.h.

Referenced by MSLane::clear(), MSLane::dictionary(), MSLane::dictSize(), MSLane::fill(), and MSLane::insertIDs().

SUMOReal GUILane::myHalfLaneWidth
private

Half of lane width, for speed-up.

Definition at line 302 of file GUILane.h.

Referenced by drawBikeMarkings(), drawGL(), drawLinkNo(), drawLinkRule(), drawMarkings(), drawTLSLinkNo(), and GUILane().

std::vector<IncomingLaneInfo> MSLane::myIncomingLanes
protectedinherited
int MSLane::myIndex
protectedinherited

The lane index.

Definition at line 845 of file MSLane.h.

Referenced by drawMarkings(), and MSLane::getIndex().

MSVehicle* MSLane::myInlappingVehicle
protectedinherited
SUMOReal MSLane::myInlappingVehicleEnd
protectedinherited
const SUMOReal MSLane::myLengthGeometryFactor
protectedinherited
MSLinkCont MSLane::myLinks
protectedinherited
MFXMutex GUILane::myLock
mutableprivate

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

Definition at line 317 of file GUILane.h.

Referenced by detectCollisions(), executeMovements(), getVehiclesSecure(), incorporateVehicle(), integrateNewVehicle(), planMovements(), releaseVehicles(), removeVehicle(), swapAfterLaneChange(), and ~GUILane().

MSLane* MSLane::myLogicalPredecessorLane
mutableprotectedinherited

Definition at line 883 of file MSLane.h.

Referenced by MSLane::getLogicalPredecessorLane().

SUMOReal MSLane::myMaxSpeed
protectedinherited
SUMOReal MSLane::myNettoVehicleLengthSum
protectedinherited
size_t MSLane::myNumericalID
protectedinherited

Unique numerical ID (set on reading by netload)

Definition at line 839 of file MSLane.h.

Referenced by MSLane::getNumericalID().

SVCPermissions GUILane::myOriginalPermissions
private

Definition at line 313 of file GUILane.h.

Referenced by closeTraffic().

SVCPermissions MSLane::myPermissions
protectedinherited
SUMOReal GUILane::myQuarterLaneWidth
private

Quarter of lane width, for speed-up.

Definition at line 305 of file GUILane.h.

Referenced by drawGL(), drawMarkings(), and GUILane().

const std::map<SUMOVehicleClass, SUMOReal>* MSLane::myRestrictions
protectedinherited

The vClass speed restrictions for this lane.

Definition at line 880 of file MSLane.h.

Referenced by MSLane::getVehicleMaxSpeed(), and MSLane::MSLane().

PositionVector MSLane::myShape
protectedinherited
std::vector<RGBColor> GUILane::myShapeColors
mutableprivate

The color of the shape parts (cached)

Definition at line 299 of file GUILane.h.

Referenced by drawGL(), GUILane(), and setMultiColor().

std::vector<SUMOReal> GUILane::myShapeLengths
private

The lengths of the shape parts.

Definition at line 296 of file GUILane.h.

Referenced by drawBikeMarkings(), drawCrossties(), drawGL(), drawMarkings(), getShapeLengths(), and GUILane().

std::vector<SUMOReal> GUILane::myShapeRotations
private

The rotations of the shape parts.

Definition at line 293 of file GUILane.h.

Referenced by drawBikeMarkings(), drawCrossties(), drawGL(), drawMarkings(), getShapeRotations(), and GUILane().

VehCont MSLane::myTmpVehicles
protectedinherited

Container for lane-changing vehicles. After completion of lane-change- process, the two containers will be swapped.

Definition at line 870 of file MSLane.h.

Referenced by MSLane::swapAfterLaneChange().

std::vector<MSVehicle*> MSLane::myVehBuffer
protectedinherited

buffer for vehicles that moved from their previous lane onto this one

Definition at line 874 of file MSLane.h.

Referenced by MSLane::empty(), MSLane::executeMovements(), MSLane::integrateNewVehicle(), and MSXMLRawOut::writeLane().

const SUMOReal MSLane::myWidth
protectedinherited

Lane width [m].

Definition at line 860 of file MSLane.h.

Referenced by drawArrows(), drawLinkNo(), drawLinkRules(), drawTLSLinkNo(), getParameterWindow(), MSLane::getWidth(), and GUILane().

StringBijection< GUIGlObjectType > GUIGlObject::TypeNames
staticinherited

associates object types with strings

Definition at line 100 of file GUIGlObject.h.


The documentation for this class was generated from the following files: