![]() |
Eclipse SUMO - Simulation of Urban MObility
|
A road/street connecting two junctions. More...
#include <MSEdge.h>
Data Structures | |
class | by_id_sorter |
Sorts edges by their ids. More... | |
class | transportable_by_position_sorter |
Sorts transportables by their positions. More... | |
Public Member Functions | |
virtual void | addContainer (MSTransportable *container) const |
Add a container to myContainers. More... | |
virtual void | addPerson (MSTransportable *p) const |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
void | addWaiting (SUMOVehicle *vehicle) const |
Adds a vehicle to the list of waiting vehicles. More... | |
bool | allowsLaneChanging () const |
void | buildLaneChanger () |
Has to be called after all sucessors and predecessors have been set (after closeBuilding()) More... | |
bool | canChangeToOpposite () |
whether this edge allows changing to the opposite direction edge More... | |
virtual void | changeLanes (SUMOTime t) |
Performs lane changing on this edge. More... | |
void | clearParameter () |
Clears the parameter map. More... | |
void | closeBuilding () |
const std::vector< std::string > & | getCrossingEdges () const |
Gets the crossed edge ids. More... | |
double | getCurrentTravelTime (const double minSpeed=NUMERICAL_EPS) const |
Computes and returns the current travel time for this edge. More... | |
double | getDistanceTo (const MSEdge *other, const bool doBoundaryEstimate=false) const |
optimistic air distance heuristic for use in routing More... | |
double | getDouble (const std::string &key, const double defaultValue) const |
Returns the value for a given key converted to a double. More... | |
const std::string & | getID () const |
Returns the id. More... | |
const MSEdge * | getInternalFollowingEdge (const MSEdge *followerAfterInternal) const |
double | getInternalFollowingLengthTo (const MSEdge *followerAfterInternal) const |
returns the length of all internal edges on the junction until reaching the non-internal edge followerAfterInternal. More... | |
double | getLength () const |
return the length of the edge More... | |
double | getLengthGeometryFactor () const |
return shape.length() / myLength More... | |
double | getMeanSpeed () const |
get the mean speed More... | |
double | getMinimumTravelTime (const SUMOVehicle *const veh) const |
returns the minimum travel time for the given vehicle More... | |
const MSEdge * | getNormalBefore () const |
if this edge is an internal edge, return its first normal predecessor, otherwise the edge itself More... | |
const MSEdge * | getOppositeEdge () const |
Returns the opposite direction edge if on exists else a nullptr. More... | |
const std::string | getParameter (const std::string &key, const std::string &defaultValue="") const |
Returns the value for a given key. More... | |
const std::map< std::string, std::string > & | getParametersMap () const |
Returns the inner key/value map. More... | |
std::string | getParametersStr () const |
Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More... | |
SVCPermissions | getPermissions () const |
double | getRoutingSpeed () const |
Returns the averaged speed used by the routing device. More... | |
double | getSpeedLimit () const |
Returns the speed limit of the edge @caution The speed limit of the first lane is retured; should probably be the fastest edge. More... | |
const std::vector< double > | getSubLaneSides () const |
Returns the right side offsets of this edge's sublanes. More... | |
double | getVehicleMaxSpeed (const SUMOTrafficObject *const veh) const |
Returns the maximum speed the vehicle may use on this edge. More... | |
SUMOVehicle * | getWaitingVehicle (MSTransportable *transportable, const double position) const |
double | getWidth () const |
Returns the edges's width (sum over all lanes) More... | |
bool | hasLaneChanger () const |
bool | hasMinorLink () const |
whether any lane has a minor link More... | |
void | initialize (const std::vector< MSLane * > *lanes) |
Initialize the edge. More... | |
bool | isDelayed () const |
bool | isFringe () const |
return whether this edge is at the fringe of the network More... | |
bool | isRoundabout () const |
virtual bool | isSelected () const |
whether this lane is selected in the GUI More... | |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
virtual void | lock () const |
grant exclusive access to the mesoscopic state More... | |
void | markAsRoundabout () |
void | markDelayed () const |
MSEdge (const std::string &id, int numericalID, const SumoXMLEdgeFunc function, const std::string &streetName, const std::string &edgeType, int priority, double distance) | |
Constructor. More... | |
bool | prohibits (const SUMOVehicle *const vehicle) const |
Returns whether the vehicle (class) is not allowed on the edge. More... | |
void | rebuildAllowedLanes () |
void | rebuildAllowedTargets (const bool updateVehicles=true) |
void | recalcCache () |
Recalculates the cached values. More... | |
virtual void | removeContainer (MSTransportable *container) const |
Remove container from myContainers. More... | |
virtual void | removePerson (MSTransportable *p) const |
void | removeWaiting (const SUMOVehicle *vehicle) const |
Removes a vehicle from the list of waiting vehicles. More... | |
bool | restricts (const SUMOVehicle *const) const |
Returns whether the vehicle (class) is not allowed on the edge. More... | |
void | setCrossingEdges (const std::vector< std::string > &crossingEdges) |
Sets the crossed edge ids for a crossing edge. More... | |
void | setID (const std::string &newID) |
resets the id More... | |
void | setMaxSpeed (double val) const |
Sets a new maximum speed for all lanes (used by TraCI and MSCalibrator) More... | |
void | setParameter (const std::string &key, const std::string &value) |
Sets a parameter. More... | |
void | setParameters (const Parameterised ¶ms) |
set the inner key/value map in map<string, string> format More... | |
void | setParametersMap (const std::map< std::string, std::string > ¶msMap) |
set the inner key/value map in map<string, string> format More... | |
void | setParametersStr (const std::string ¶msString) |
set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More... | |
virtual void | unlock () const |
release exclusive access to the mesoscopic state More... | |
void | unsetParameter (const std::string &key) |
Removes a parameter. More... | |
void | updateParameters (const std::map< std::string, std::string > &mapArg) |
Adds or updates all given parameters from the map. More... | |
void | writeParams (OutputDevice &device) const |
write Params in the given outputdevice More... | |
virtual | ~MSEdge () |
Destructor. More... | |
Static Public Member Functions | |
static bool | areParametersValid (const std::string &value, bool report=false) |
check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" More... | |
static void | clear () |
Clears the dictionary. More... | |
static MSEdge * | dictionary (const std::string &id) |
Returns the MSEdge associated to the key id if exists, otherwise returns 0. More... | |
static bool | dictionary (const std::string &id, MSEdge *edge) |
Inserts edge into the static dictionary Returns true if the key id isn't already in the dictionary. Otherwise returns false. More... | |
static int | dictSize () |
Returns the number of edges. More... | |
static const MSEdgeVector & | getAllEdges () |
Returns all edges with a numerical id. 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 const Position | getStopPosition (const SUMOVehicleParameter::Stop &stop) |
return the coordinates of the center of the given stop More... | |
static double | getTravelTimeStatic (const MSEdge *const edge, const SUMOVehicle *const veh, double time) |
Returns the travel time for the given edge. More... | |
static void | insertIDs (std::vector< std::string > &into) |
Inserts IDs of all known edges into the given vector. More... | |
Protected Member Functions | |
double | getDepartPosBound (const MSVehicle &veh, bool upper=true) const |
return upper bound for the depart position on this edge More... | |
Protected Attributes | |
bool | myAmDelayed |
whether this edge had a vehicle with less than max speed on it More... | |
bool | myAmFringe |
whether this edge is at the network fringe More... | |
bool | myAmRoundabout |
whether this edge belongs to a roundabout More... | |
Boundary | myBoundary |
The bounding rectangle of end nodes incoming or outgoing edges for taz connectors or of my own start and end node for normal edges. More... | |
std::map< SUMOVehicleClass, MSEdgeVector > | myClassesSuccessorMap |
The successors available for a given vClass. More... | |
std::map< SUMOVehicleClass, MSConstEdgePairVector > | myClassesViaSuccessorMap |
The successors available for a given vClass. More... | |
std::set< MSTransportable * > | myContainers |
Containers on the edge. More... | |
std::vector< std::string > | myCrossingEdges |
The crossed edges id for a crossing edge. On not crossing edges it is empty. More... | |
const double | myDistance |
the kilometrage/mileage at the start of the edge More... | |
std::string | myEdgeType |
the type of the edge (optionally used during network creation) More... | |
double | myEmptyTraveltime |
the traveltime on the empty edge (cached value for speedup) More... | |
std::set< int > | myFailedInsertionMemory |
A cache for the rejected insertion attempts. Used to assure that no further insertion attempts are made on a lane where an attempt has already failed in the current time step if MSInsertionControl::myEagerInsertionCheck is off. More... | |
MSJunction * | myFromJunction |
the junctions for this edge More... | |
const SumoXMLEdgeFunc | myFunction |
the purpose of the edge More... | |
std::string | myID |
The name of the object. More... | |
MSLaneChanger * | myLaneChanger |
This member will do the lane-change. More... | |
std::shared_ptr< const std::vector< MSLane * > > | myLanes |
Container for the edge's lane; should be sorted: (right-hand-traffic) the more left the lane, the higher the container-index. More... | |
SUMOTime | myLastFailedInsertionTime |
The time of last insertion failure. More... | |
double | myLength |
the length of the edge (cached value for speedup) More... | |
const int | myNumericalID |
This edge's numerical id. More... | |
std::set< MSTransportable * > | myPersons |
Persons on the edge for drawing and pushbutton. More... | |
MSEdgeVector | myPredecessors |
The preceeding edges. More... | |
const int | myPriority |
the priority of the edge (used during network creation) More... | |
std::string | myStreetName |
the real-world name of this edge (need not be unique) More... | |
std::vector< double > | mySublaneSides |
the right side for each sublane on this edge More... | |
MSEdgeVector | mySuccessors |
The succeeding edges. More... | |
double | myTimePenalty |
flat penalty when computing traveltime More... | |
MSJunction * | myToJunction |
int | myVaporizationRequests |
Vaporizer counter. More... | |
MSConstEdgePairVector | myViaSuccessors |
std::vector< SUMOVehicle * > | myWaiting |
List of waiting vehicles. More... | |
double | myWidth |
Edge width [m]. More... | |
Private Types | |
typedef std::map< const MSEdge *, AllowedLanesCont > | AllowedLanesByTarget |
Succeeding edges (keys) and allowed lanes to reach these edges (values). More... | |
typedef std::vector< std::pair< SVCPermissions, std::shared_ptr< const std::vector< MSLane * > > > > | AllowedLanesCont |
"Map" from vehicle class to allowed lanes More... | |
Private Member Functions | |
void | addToAllowed (const SVCPermissions permissions, std::shared_ptr< const std::vector< MSLane * > > allowedLanes, AllowedLanesCont &laneCont) const |
bool | isSuperposable (const MSEdge *other) |
MSEdge (const MSEdge &) | |
Invalidated copy constructor. More... | |
MSEdge & | operator= (const MSEdge &)=delete |
assignment operator. More... | |
Static Private Member Functions | |
static bool | isParameterValid (const std::string &value, bool report) |
check if given string can be parsed to a parameter of type "key=value" More... | |
Private Attributes | |
const MSEdge * | myBidiEdge |
the oppositing superposable edge More... | |
std::map< std::string, std::string > | myMap |
The key->value map. More... | |
Static edge container | |
typedef std::map< std::string, MSEdge * > | DictType |
definition of the static dictionary type More... | |
static DictType | myDict |
Static dictionary to associate string-ids with objects. More... | |
static MSEdgeVector | myEdges |
Static list of edges. More... | |
A road/street connecting two junctions.
A single connection between two junctions. Holds lanes which are reponsible for vehicle movements.
|
private |
|
private |
|
protected |
MSEdge::MSEdge | ( | const std::string & | id, |
int | numericalID, | ||
const SumoXMLEdgeFunc | function, | ||
const std::string & | streetName, | ||
const std::string & | edgeType, | ||
int | priority, | ||
double | distance | ||
) |
Constructor.
After calling this constructor, the edge is not yet initialised completely. A call to "initialize" with proper values is needed for this.
[in] | id | The id of the edge |
[in] | numericalID | The numerical id (index) of the edge |
[in] | function | A basic type of the edge |
[in] | streetName | The street name for that edge |
Definition at line 63 of file MSEdge.cpp.
|
virtual |
|
private |
Invalidated copy constructor.
|
inlinevirtual |
Add a container to myContainers.
Reimplemented in GUIEdge.
Definition at line 628 of file MSEdge.h.
References myContainers.
Referenced by GUIEdge::addContainer(), and MSTransportable::Stage_Waiting::proceed().
|
inlinevirtual |
Reimplemented in GUIEdge.
Definition at line 616 of file MSEdge.h.
References myPersons.
Referenced by GUIEdge::addPerson(), MSPerson::MSPersonStage_Walking::proceed(), and MSTransportable::Stage_Waiting::proceed().
Adds an edge to the list of edges which may be reached from this edge and to the incoming of the other edge.
This is mainly used by the taz (district) parsing
[in] | edge | The edge to add |
Definition at line 944 of file MSEdge.cpp.
References Boundary::add(), getFromJunction(), MSJunction::getPosition(), getToJunction(), isTazConnector(), myBoundary, myPredecessors, mySuccessors, and myViaSuccessors.
Referenced by NLHandler::addDistrict().
|
inlineinherited |
Adds this object to the given container.
[in,filled] | cont The container to add this item to |
Definition at line 126 of file Named.h.
References Named::StoringVisitor::add().
|
private |
Definition at line 228 of file MSEdge.cpp.
References allowedLanes().
Referenced by rebuildAllowedLanes(), and rebuildAllowedTargets().
void MSEdge::addWaiting | ( | SUMOVehicle * | vehicle | ) | const |
Adds a vehicle to the list of waiting vehicles.
Definition at line 1106 of file MSEdge.cpp.
References MSGlobals::gNumSimThreads, lock(), and myWaiting.
Referenced by MSVehicleControl::addVehicle(), MSVehicle::processNextStop(), and MESegment::receive().
const std::vector< MSLane * > * MSEdge::allowedLanes | ( | const MSEdge & | destination, |
SUMOVehicleClass | vclass = SVC_IGNORING |
||
) | const |
Get the allowed lanes to reach the destination-edge.
If there is no such edge, get 0. Then you are on the wrong edge.
[in] | destination | The edge to reach |
[in] | vclass | The vehicle class for which this information shall be returned |
Definition at line 359 of file MSEdge.cpp.
References myAllowedTargets.
Referenced by addToAllowed(), MSVehicleTransfer::checkInsertions(), getDepartLane(), getFreeLane(), libsumo::Vehicle::getNextTLS(), getSuccessors(), getViaSuccessors(), MESegment::MESegment(), MSLane::by_connections_to_sorter::operator()(), rebuildAllowedLanes(), rebuildAllowedTargets(), MSBaseVehicle::reroute(), and MSVehicle::updateBestLanes().
const std::vector< MSLane * > * MSEdge::allowedLanes | ( | SUMOVehicleClass | vclass = SVC_IGNORING | ) | const |
Get the allowed lanes for the given vehicle class.
If there is no such edge, get 0. Then you are on the wrong edge.
[in] | vclass | The vehicle class for which this information shall be returned |
Definition at line 373 of file MSEdge.cpp.
References myAllowed, myCombinedPermissions, myLanes, and myMinimumPermissions.
bool MSEdge::allowsLaneChanging | ( | ) | const |
Definition at line 205 of file MSEdge.cpp.
References MSLinkContHelper::getConnectingLink(), MSLane::getLogicalPredecessorLane(), MSLink::getState(), isInternal(), LINKSTATE_ALLWAY_STOP, LINKSTATE_DEADEND, LINKSTATE_EQUAL, LINKSTATE_MINOR, LINKSTATE_STOP, and myLanes.
Referenced by buildLaneChanger().
|
staticinherited |
check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN"
Definition at line 166 of file Parameterised.cpp.
References StringTokenizer::getVector(), Parameterised::isParameterValid(), and WRITE_WARNING.
Referenced by GNEBusStop::isValid(), GNEContainerStop::isValid(), GNEChargingStation::isValid(), GNEParkingArea::isValid(), GNEDetectorE1::isValid(), GNEDetectorEntryExit::isValid(), GNEVaporizer::isValid(), GNERouteProbe::isValid(), GNEClosingReroute::isValid(), GNERouteProbReroute::isValid(), GNEDestProbReroute::isValid(), GNEClosingLaneReroute::isValid(), GNEDetectorE3::isValid(), GNEDetectorE1Instant::isValid(), GNEParkingAreaReroute::isValid(), GNEParkingSpace::isValid(), GNEVariableSpeedSignStep::isValid(), GNECalibratorFlow::isValid(), GNERerouterInterval::isValid(), GNETAZSourceSink::isValid(), GNEVariableSpeedSign::isValid(), GNECrossing::isValid(), GNEAccess::isValid(), GNERerouter::isValid(), GNEDetectorE2::isValid(), GNECalibrator::isValid(), GNETAZ::isValid(), GNEConnection::isValid(), GNEVehicleType::isValid(), GNEPoly::isValid(), GNELane::isValid(), GNEPOI::isValid(), GNERide::isValid(), GNEJunction::isValid(), GNEPersonTrip::isValid(), GNEWalk::isValid(), GNERoute::isValid(), GNEEdge::isValid(), GNEPerson::isValid(), GNEVehicle::isValid(), and GNEFrameAttributesModuls::ParametersEditor::onCmdSetParameters().
void MSEdge::buildLaneChanger | ( | ) |
Has to be called after all sucessors and predecessors have been set (after closeBuilding())
Definition at line 187 of file MSEdge.cpp.
References allowsLaneChanging(), canChangeToOpposite(), MSGlobals::gLaneChangeDuration, MSGlobals::gLateralResolution, myLaneChanger, and myLanes.
bool MSEdge::canChangeToOpposite | ( | ) |
whether this edge allows changing to the opposite direction edge
Definition at line 1030 of file MSEdge.cpp.
References isInternal(), LINKDIR_STRAIGHT, and myLanes.
Referenced by buildLaneChanger().
|
virtual |
Performs lane changing on this edge.
Definition at line 660 of file MSEdge.cpp.
References MSLaneChanger::laneChange(), and myLaneChanger.
Referenced by MSEdgeControl::changeLanes(), and MSLane::changeLanes().
void MSEdge::checkAndRegisterBiDirEdge | ( | const std::string & | bidiID = "" | ) |
check and register the opposite superposable edge if any
Definition at line 1062 of file MSEdge.cpp.
References dictionary(), EDGEFUNC_NORMAL, getFunction(), Named::getID(), MSJunction::getOutgoing(), isSuperposable(), myBidiEdge, myFromJunction, myToJunction, WRITE_ERROR, and WRITE_WARNING.
|
static |
Clears the dictionary.
Definition at line 804 of file MSEdge.cpp.
References myDict, and myEdges.
Referenced by MSNet::clearAll().
|
inherited |
Clears the parameter map.
Definition at line 100 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::beginEdgeParsing(), and GNERouteHandler::closeRoute().
void MSEdge::closeBuilding | ( | ) |
Definition at line 148 of file MSEdge.cpp.
References MELoop::buildSegmentsFor(), MSLane::getEdge(), OptionsCont::getOptions(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, LINKDIR_TURN, myAmFringe, myLanes, myPredecessors, mySuccessors, myViaSuccessors, rebuildAllowedLanes(), and recalcCache().
Disables vaporization.
The internal vaporization counter is decreased what disables the vaporization if it was only once enabled. Called from the event handler.
[in] | t | The current time (unused) |
ProcessError | not thrown by this method, just derived |
Definition at line 398 of file MSEdge.cpp.
References myVaporizationRequests.
Referenced by NLTriggerBuilder::buildVaporizer().
|
static |
Returns the MSEdge associated to the key id if exists, otherwise returns 0.
Definition at line 781 of file MSEdge.cpp.
References myDict.
|
static |
Inserts edge into the static dictionary Returns true if the key id isn't already in the dictionary. Otherwise returns false.
Definition at line 765 of file MSEdge.cpp.
References getNumericalID(), myDict, and myEdges.
Referenced by libsumo::Route::add(), libsumo::Person::add(), NLHandler::addConnection(), NLHandler::addDistrict(), NLHandler::addDistrictEdge(), NLBuilder::EdgeFloatTimeLineRetriever_EdgeEffort::addEdgeWeight(), NLBuilder::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight(), GUINet::EdgeFloatTimeLineRetriever_GUI::addEdgeWeight(), MSRouteHandler::addPersonTrip(), NLHandler::addRoundabout(), MEVehicle::addStop(), libsumo::Person::appendDrivingStage(), NLEdgeControlBuilder::beginEdgeParsing(), NLTriggerBuilder::buildVaporizer(), libsumo::Vehicle::changeTarget(), checkAndRegisterBiDirEdge(), NLHandler::closeEdge(), libsumo::Person::convertTraCIStage(), libsumo::Simulation::findIntermodalRoute(), libsumo::Simulation::findRoute(), libsumo::Edge::getEdge(), libsumo::Helper::getEdge(), NLDetectorBuilder::getEdgeChecking(), libsumo::Helper::getLaneChecking(), MSDevice_Routing::getParameter(), MSDevice_FCD::initEdgeFilter(), MSPedestrianPushButton::loadPushButtons(), MSDevice_Vehroutes::loadState(), libsumo::Person::moveTo(), libsumo::Helper::moveToXYMap(), NLHandler::myEndElement(), MSRouteHandler::myStartElement(), MSTriggeredRerouter::myStartElement(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildRerouter(), parseEdgesList(), MSRouteHandler::parseFromViaTo(), MSBaseVehicle::reroute(), libsumo::Vehicle::setAdaptedTraveltime(), libsumo::Vehicle::setEffort(), MSDevice_Routing::setParameter(), and libsumo::Vehicle::setStop().
|
static |
Returns the number of edges.
Definition at line 792 of file MSEdge.cpp.
References myDict.
Referenced by MSStateHandler::saveState().
|
static |
Returns all edges with a numerical id.
Definition at line 798 of file MSEdge.cpp.
References myEdges.
Referenced by libsumo::Vehicle::add(), GUIViewTraffic::buildColorRainbow(), GUIViewTraffic::getEdgeLaneParamKeys(), MSNet::getRouterEffort(), MSNet::getRouterTT(), GUINet::initGUIStructures(), MSRoutingEngine::initRouter(), MSPModel_Striping::initWalkingAreaPaths(), MSPedestrianPushButton::loadCrossingEdgeMap(), MSStateHandler::myStartElement(), GUIApplicationWindow::onCmdEditChosen(), GUIViewTraffic::onCmdShowReachability(), and MSStateHandler::saveState().
|
inline |
return opposite superposable/congruent edge, if it exist and 0 else
Definition at line 249 of file MSEdge.h.
References myBidiEdge.
Referenced by MSVehicle::canReverse(), MSLane::detectCollisions(), GUIEdge::drawGL(), GUILane::drawGL(), MSLane::getBidiLane(), MSRoutingEngine::getEffortExtra(), GUILane::getParameterWindow(), MSLane::handleCollisionBetween(), MSRailSignal::hasOncomingRailTraffic(), and MSLane::isInsertionSuccess().
|
inline |
Gets the crossed edge ids.
Definition at line 306 of file MSEdge.h.
References myCrossingEdges.
Referenced by MSPedestrianPushButton::loadCrossingEdgeMap().
double MSEdge::getCurrentTravelTime | ( | const double | minSpeed = NUMERICAL_EPS | ) | const |
Computes and returns the current travel time for this edge.
The mean speed of all lanes is used to compute the travel time. To avoid infinite travel times, the given minimum speed is used.
[in] | minSpeed | The minimumSpeed to assume if traffic on this edge is stopped |
Definition at line 749 of file MSEdge.cpp.
References getLength(), getMeanSpeed(), MAX2(), myAmDelayed, and myEmptyTraveltime.
Referenced by MSVehicleTransfer::checkInsertions(), libsumo::Edge::getTraveltime(), and MSFullExport::writeEdge().
Finds a depart lane for the given vehicle parameters.
Depending on the depart lane procedure a depart lane is chosen. Repeated calls with the same vehicle may return different results if the procedure is "random" or "free". In case no appropriate lane was found, 0 is returned.
[in] | veh | The vehicle to get the depart lane for |
Definition at line 481 of file MSEdge.cpp.
References allowedLanes(), MSRoute::begin(), BEST_LANE_LOOKAHEAD, DEPART_LANE_ALLOWED_FREE, DEPART_LANE_BEST_FREE, DEPART_LANE_DEFAULT, DEPART_LANE_FIRST_ALLOWED, DEPART_LANE_FREE, DEPART_LANE_GIVEN, DEPART_LANE_RANDOM, SUMOVehicleParameter::departLane, SUMOVehicleParameter::departLaneProcedure, MSVehicle::getBestLanes(), getDepartPosBound(), getFreeLane(), MSBaseVehicle::getParameter(), RandHelper::getRandomFrom(), MSBaseVehicle::getRoute(), MSVehicleType::getVehicleClass(), MSBaseVehicle::getVehicleType(), MIN2(), myLanes, MSRoute::size(), and MSVehicle::updateBestLanes().
Referenced by insertVehicle().
|
protected |
return upper bound for the depart position on this edge
Definition at line 437 of file MSEdge.cpp.
References 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, MSVehicleType::getLength(), getLength(), MSBaseVehicle::getParameter(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getVehicleType(), MIN2(), myLanes, and myLength.
Referenced by getDepartLane().
|
inline |
Returns the kilometrage/mileage at the start of the edge.
Definition at line 290 of file MSEdge.h.
References myDistance.
Referenced by GUILane::getColorValue(), GUILane::getParameterWindow(), and MSFCDExport::write().
double MSEdge::getDistanceTo | ( | const MSEdge * | other, |
const bool | doBoundaryEstimate = false |
||
) | const |
optimistic air distance heuristic for use in routing
[in] | other | The edge to which the distance shall be returned |
[in] | doBoundaryEstimate | whether the distance should be estimated by looking at the distance of the bounding boxes |
Definition at line 852 of file MSEdge.cpp.
References Boundary::distanceTo2D(), getLanes(), isTazConnector(), and myBoundary.
|
inherited |
Returns the value for a given key converted to a double.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 82 of file Parameterised.cpp.
References Parameterised::myMap, StringUtils::toDouble(), and WRITE_WARNING.
Referenced by MSDevice_Battery::buildVehicleDevices(), MSSOTLPolicy5DStimulus::getStimCox(), MSSOTLPolicy5DStimulus::getStimCoxExpDispersionIn(), MSSOTLPolicy5DStimulus::getStimCoxExpDispersionOut(), MSSOTLPolicy5DStimulus::getStimCoxExpIn(), MSSOTLPolicy5DStimulus::getStimCoxExpOut(), MSSOTLPolicy5DStimulus::getStimDivisorDispersionIn(), MSSOTLPolicy5DStimulus::getStimDivisorDispersionOut(), MSSOTLPolicy5DStimulus::getStimDivisorIn(), MSSOTLPolicy5DStimulus::getStimDivisorOut(), MSSOTLPolicy5DStimulus::getStimOffsetDispersionIn(), MSSOTLPolicy5DStimulus::getStimOffsetDispersionOut(), MSSOTLPolicy5DStimulus::getStimOffsetIn(), MSSOTLPolicy5DStimulus::getStimOffsetOut(), and MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus().
|
inline |
Returns the type of the edge.
Definition at line 278 of file MSEdge.h.
References myEdgeType.
Referenced by GUILane::getParameterWindow(), and MSLane::initRestrictions().
MSLane * MSEdge::getFreeLane | ( | const std::vector< MSLane * > * | allowed, |
const SUMOVehicleClass | vclass, | ||
double | departPos | ||
) | const |
Finds the emptiest lane allowing the vehicle class.
The emptiest lane is the one which vehicle insertion is most likely to succeed.
If there are no vehicles before departPos, then the lane with the largest gap between departPos and the last vehicle is Otheriwise the lane with lowes occupancy is selected If there is more than one, the first according to its index in the lane container is chosen.
If allowed==0, the lanes allowed for the given vehicle class will be used.
[in] | allowed | The lanes to choose from |
[in] | vclass | The vehicle class to look for |
[in] | departPos | An upper bound on vehicle depart position |
Definition at line 405 of file MSEdge.cpp.
References allowedLanes(), MSVehicle::getPositionOnLane(), and myLength.
Referenced by MSVehicleTransfer::checkInsertions(), and getDepartLane().
|
inline |
Definition at line 359 of file MSEdge.h.
References myFromJunction.
Referenced by MSPModel_Remote::add(), addSuccessor(), MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), MSDevice_SSM::findSurroundingVehicles(), MSPModel_Striping::getNextLane(), MSDevice_SSM::getUpstreamVehicles(), MSVehicle::isLeader(), MSPModel_Striping::PState::moveToNextLane(), MSRailSignal::DriveWay::overlap(), MSPModel_Striping::PState::PState(), MSLink::setRequestInformation(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
inline |
Returns the edge type (SumoXMLEdgeFunc)
Definition at line 225 of file MSEdge.h.
References myFunction.
Referenced by checkAndRegisterBiDirEdge(), and GUIEdge::getColorValue().
|
inlineinherited |
Returns the id.
Definition at line 76 of file Named.h.
References Named::myID.
Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), MSPModel_Striping::add(), LaneStoringVisitor::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), checkAndRegisterBiDirEdge(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSActuatedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), METriggeredCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSCalibrator::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), MSLink::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), libsumo::Lane::getEdgeID(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), MSMeanData::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), NBEdge::getID(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GNEDialogACChooser::getObjectName(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), libsumo::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), libsumo::Vehicle::getRouteID(), MSVehicle::getSafeFollowSpeed(), libsumo::Person::getStage(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), insertVehicle(), MSLane::integrateNewVehicles(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_ToC::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), GNETLSEditorFrame::onCmdDefSwitch(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSDevice_ToC::requestToC(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), ROPerson::Ride::saveAsXML(), MSTransportableDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), NIImporter_OpenDrive::setNodeSecure(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), MSSOTLTrafficLightLogic::trySwitch(), PolygonDynamics::update(), MSDevice_SSM::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 69 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V >::compute(), AStarRouter< E, V >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), NBPTLineCont::findWay(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().
Definition at line 669 of file MSEdge.cpp.
References myLanes.
Referenced by getInternalFollowingLengthTo(), and libsumo::Helper::moveToXYMap_matchingRoutePosition().
double MSEdge::getInternalFollowingLengthTo | ( | const MSEdge * | followerAfterInternal | ) | const |
returns the length of all internal edges on the junction until reaching the non-internal edge followerAfterInternal.
Definition at line 687 of file MSEdge.cpp.
References getInternalFollowingEdge(), getLength(), and isInternal().
Referenced by MSLCM_SL2015::checkStrategicChange(), and MSDevice_SSM::getUpstreamVehicles().
|
inline |
Returns this edge's lanes.
Definition at line 167 of file MSEdge.h.
References myLanes.
Referenced by MSVehicleTransfer::add(), NLHandler::addConnection(), GUIEdge::addRerouter(), MSRouteHandler::addStop(), MSVehicleControl::addVehicle(), libsumo::Helper::applySubscriptionFilters(), MELoop::buildSegmentsFor(), MSBaseVehicle::calculateArrivalParams(), MSEdgeControl::changeLanes(), MSLink::checkContOff(), MSVehicleTransfer::checkInsertions(), GUIEdge::closeTraffic(), MSLCM_SL2015::computeSublaneShift(), CState::computeTranshipTime(), GUILane::drawMarkings(), libsumo::Helper::findCloserLane(), MEVehicle::getAngle(), MSLane::getBidiLane(), GUIEdge::getColorValue(), getDistanceTo(), MSTransportable::Stage::getEdgeAngle(), GUILane::getEdgeLaneNumber(), MSTransportable::Stage::getEdgePosition(), MSRoutingEngine::getEffortExtra(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollowersOnConsecutive(), libsumo::Helper::getLaneChecking(), MSVehicle::getLaneIndex(), libsumo::Edge::getLaneNumber(), libsumo::Edge::getLastStepOccupancy(), getLengthGeometryFactor(), MESegment::getLink(), MESegment::getMaxPenaltySeconds(), getMeanSpeed(), MSPModel_Striping::getNextLane(), MSCFModel_CC::getParameter(), MSInsertionControl::getPendingEmits(), MEVehicle::getPosition(), MSPModel_NonInteracting::PState::getPosition(), GUIContainer::getPosition(), MSVehicle::getPosition(), GUIVehicle::getPreviousLane(), MSBaseVehicle::getRNG(), MSBaseVehicle::getRNGIndex(), GUIEdge::getScaleValue(), GUIEdge::getSegmentAtPosition(), libsumo::Person::getSlope(), MEVehicle::getSlope(), MSTransportable::getSlope(), getSpeedLimit(), GUIEdge::getTotalLength(), MSDevice_SSM::getUpstreamVehicles(), getVehicleMaxSpeed(), GUICalibrator::GUICalibrator(), GUITriggeredRerouter::GUITriggeredRerouterEdge::GUITriggeredRerouterEdge(), MSPModel_Remote::handleWalkingArea(), MSVehicle::Influencer::influenceChangeDecision(), MSActuatedTrafficLightLogic::init(), GUINet::initGUIStructures(), MSPModel_Striping::initWalkingAreaPaths(), MSCalibrator::invalidJam(), MSPedestrianPushButton::isActiveForEdge(), GUISUMOViewParent::isSelected(), isSuperposable(), MESegment::MESegment(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSPerson::MSPersonStage_Access::MSPersonStage_Access(), MSRouteProbe::MSRouteProbe(), GUIMEInductLoop::MyWrapper::MyWrapper(), MSDevice_Bluelight::notifyMove(), GUIViewTraffic::onCmdShowReachability(), NLTriggerBuilder::parseAndBuildCalibrator(), MSLCM_DK2008::patchSpeed(), MSLCM_SL2015::prepareStep(), TraCIServerAPI_Vehicle::processSet(), MSCalibrator::remainingVehicleCapacity(), libsumo::Edge::setAllowedSVCPermissions(), GUIEdge::setFunctionalColor(), libsumo::Vehicle::setStop(), GUITriggeredRerouter::shiftProbs(), libsumo::Edge::storeShape(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MESegment::useMultiQueue(), MSQueueExport::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), MSMeanData::writeEdge(), MSFCDExport::writeTransportable(), and MEInductLoop::writeXMLOutput().
|
inline |
Returns the last time a vehicle could not be inserted.
Definition at line 511 of file MSEdge.h.
References myLastFailedInsertionTime.
|
inline |
return the length of the edge
Definition at line 589 of file MSEdge.h.
References myLength.
Referenced by libsumo::Person::add(), MSRouteHandler::addStop(), libsumo::Helper::applySubscriptionFilters(), MSVehicle::basePos(), NLTriggerBuilder::buildCalibrator(), MELoop::buildSegmentsFor(), MSPModel_NonInteracting::PState::computeWalkingTime(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSRoutingEngine::getAssumedSpeed(), getCurrentTravelTime(), getDepartPosBound(), MSRoute::getDistanceBetween(), MSRoutingEngine::getEffort(), MSRoutingEngine::getEffortExtra(), getInternalFollowingLengthTo(), getMeanSpeed(), getMinimumTravelTime(), MSPModel_Striping::getNextLane(), GUIEdge::getParameterWindow(), NLTriggerBuilder::getPosition(), GUIEdge::getTotalLength(), MSDevice_SSM::getUpstreamVehicles(), insertVehicle(), libsumo::Helper::moveToXYMap(), MSDevice_Tripinfo::notifyLeave(), GUIViewTraffic::onCmdShowReachability(), MSRouteHandler::parseWalkPositions(), MSTriggeredRerouter::rerouteParkingArea(), MSRoutingEngine::setEdgeTravelTime(), MELoop::teleportVehicle(), MEVehicle::updateDetectors(), and MSMeanData::writeEdge().
double MSEdge::getLengthGeometryFactor | ( | ) | const |
return shape.length() / myLength
Definition at line 884 of file MSEdge.cpp.
References getLanes(), and myLanes.
double MSEdge::getMeanSpeed | ( | ) | const |
get the mean speed
Definition at line 712 of file MSEdge.cpp.
References getLanes(), getLength(), getSpeedLimit(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, myBidiEdge, myEmptyTraveltime, and myLanes.
Referenced by GUIEdge::getColorValue(), getCurrentTravelTime(), libsumo::Edge::getLastStepMeanSpeed(), GUIEdge::getParameterWindow(), GUIEdge::getRelativeSpeed(), and GUIEdge::getScaleValue().
|
inline |
returns the minimum travel time for the given vehicle
Definition at line 421 of file MSEdge.h.
References EDGEFUNC_CONNECTOR, getLength(), getVehicleMaxSpeed(), myEmptyTraveltime, myFunction, and myTimePenalty.
Referenced by MSRoutingEngine::getEffort(), and MSNet::getTravelTime().
const MSEdge * MSEdge::getNormalBefore | ( | ) | const |
if this edge is an internal edge, return its first normal predecessor, otherwise the edge itself
Definition at line 702 of file MSEdge.cpp.
References getPredecessors(), and isInternal().
Referenced by MSVehicle::addStop(), MSVehicle::isLeader(), and libsumo::Vehicle::moveTo().
|
inline |
Returns the numerical id of the edge.
Definition at line 265 of file MSEdge.h.
References myNumericalID.
Referenced by MELoop::buildSegmentsFor(), MSEdgeControl::changeLanes(), MELoop::changeSegment(), dictionary(), GUILane::drawGL(), MSMeanData_Amitran::getEdgeID(), MSRoutingEngine::getEffort(), MELoop::getSegmentForEdge(), MSStateHandler::myStartElement(), MELoop::nextSegment(), MSEdge::by_id_sorter::operator()(), and MSRoutingEngine::setEdgeTravelTime().
|
inline |
Returns the number of edges this edge is connected to.
Definition at line 346 of file MSEdge.h.
References myPredecessors.
Referenced by NLEdgeControlBuilder::build(), and MSRouteHandler::parseFromViaTo().
|
inline |
Returns the number of edges that may be reached from this edge.
Definition at line 324 of file MSEdge.h.
References mySuccessors.
Referenced by NLEdgeControlBuilder::build(), MESegment::MESegment(), MSRouteHandler::parseFromViaTo(), and MESegment::useMultiQueue().
const MSEdge * MSEdge::getOppositeEdge | ( | ) | const |
Returns the opposite direction edge if on exists else a nullptr.
Definition at line 1038 of file MSEdge.cpp.
References myLanes.
Referenced by libsumo::Helper::applySubscriptionFilters(), and MSDevice_SSM::findFoeConflictLane().
|
inherited |
Returns the value for a given key.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 72 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), GNEEdge::drawEdgeName(), GNEConnection::drawGL(), GUIEdge::drawGL(), GUIBaseVehicle::drawOnPos(), libsumo::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GUIVehicle::getColorValue(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIJunctionWrapper::getOptionalName(), GUIBaseVehicle::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Route::getParameter(), libsumo::Polygon::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), libsumo::Simulation::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().
|
inherited |
Returns the inner key/value map.
Definition at line 106 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUILane::getParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), NBEdge::NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), TraCIServerAPI_TrafficLight::processGet(), and Parameterised::setParameters().
|
inherited |
Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN".
Definition at line 112 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by GNEBusStop::getAttribute(), GNEContainerStop::getAttribute(), GNEChargingStation::getAttribute(), GNEParkingArea::getAttribute(), GNEVaporizer::getAttribute(), GNERouteProbe::getAttribute(), GNEDetectorE1::getAttribute(), GNEClosingReroute::getAttribute(), GNEDestProbReroute::getAttribute(), GNERouteProbReroute::getAttribute(), GNEDetectorE3::getAttribute(), GNEClosingLaneReroute::getAttribute(), GNEDetectorEntryExit::getAttribute(), GNEParkingAreaReroute::getAttribute(), GNEParkingSpace::getAttribute(), GNEVariableSpeedSignStep::getAttribute(), GNECalibratorFlow::getAttribute(), GNETAZSourceSink::getAttribute(), GNERerouterInterval::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNEDetectorE1Instant::getAttribute(), GNEAccess::getAttribute(), GNERerouter::getAttribute(), GNECalibrator::getAttribute(), GNEDetectorE2::getAttribute(), GNETAZ::getAttribute(), GNEVehicleType::getAttribute(), GNEConnection::getAttribute(), GNEPoly::getAttribute(), GNELane::getAttribute(), GNERide::getAttribute(), GNEPOI::getAttribute(), GNEPersonTrip::getAttribute(), GNEJunction::getAttribute(), GNEWalk::getAttribute(), GNERoute::getAttribute(), GNEEdge::getAttribute(), GNEPerson::getAttribute(), and GNEVehicle::getAttribute().
|
inline |
Definition at line 553 of file MSEdge.h.
References myCombinedPermissions.
Referenced by libsumo::Simulation::findIntermodalRoute(), GUILane::getColorValue(), getWalking(), and MSPedestrianPushButton::MSPedestrianPushButton().
|
inline |
Returns this edge's persons set.
Avoids the creation of new vector as in getSortedPersons
Definition at line 176 of file MSEdge.h.
References myPersons.
Referenced by MSLCM_LC2013::_wantsChange(), MSLink::checkWalkingAreaFoe(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), libsumo::TrafficLight::getServedPersonCount(), MSPedestrianPushButton::isActiveForEdge(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().
|
inline |
Definition at line 354 of file MSEdge.h.
References myPredecessors.
Referenced by NLEdgeControlBuilder::build(), GUIEdge::closeTraffic(), MSPModel_Striping::getArbitraryPath(), MSRoute::getDistanceBetween(), MSLane::getLogicalPredecessorLane(), getNormalBefore(), getWalkingAreas(), MSPModel_Striping::initWalkingAreaPaths(), MSPedestrianPushButton::isActiveForEdge(), libsumo::Lane::setAllowed(), libsumo::Edge::setAllowedSVCPermissions(), libsumo::Lane::setDisallowed(), and GUILane::setFunctionalColor().
|
inline |
Returns the priority of the edge.
Definition at line 284 of file MSEdge.h.
References myPriority.
Referenced by GUILane::getColorValue(), GUILane::getParameterWindow(), GUILane::getScaleValue(), and MSLane::outgoing_lane_priority_sorter::operator()().
double MSEdge::getRoutingSpeed | ( | ) | const |
Returns the averaged speed used by the routing device.
Definition at line 759 of file MSEdge.cpp.
References MSRoutingEngine::getAssumedSpeed().
Referenced by GUIEdge::getColorValue(), GUILane::getColorValue(), GUIEdge::getParameterWindow(), and GUILane::getParameterWindow().
std::vector< MSTransportable * > MSEdge::getSortedContainers | ( | SUMOTime | timestep, |
bool | includeRiding = false |
||
) | const |
Returns this edge's containers sorted by pos.
Definition at line 925 of file MSEdge.cpp.
References myContainers.
Referenced by MSXMLRawOut::writeEdge().
std::vector< MSTransportable * > MSEdge::getSortedPersons | ( | SUMOTime | timestep, |
bool | includeRiding = false |
||
) | const |
Returns this edge's persons sorted by pos.
Definition at line 907 of file MSEdge.cpp.
References myLanes, and myPersons.
Referenced by LaneStoringVisitor::add(), MSLane::detectPedestrianJunctionCollision(), libsumo::Edge::getLastStepPersonIDs(), and MSXMLRawOut::writeEdge().
double MSEdge::getSpeedLimit | ( | ) | const |
Returns the speed limit of the edge @caution The speed limit of the first lane is retured; should probably be the fastest edge.
Definition at line 877 of file MSEdge.cpp.
References getLanes(), and myLanes.
Referenced by GUIApplicationWindow::checkGamingEvents(), METriggeredCalibrator::execute(), MESegment::getMeanSpeed(), getMeanSpeed(), MESegment::getNextInsertionTime(), GUIEdge::getParameterWindow(), MSVehicleControl::getVehicleMeanSpeeds(), insertVehicle(), METriggeredCalibrator::invalidJam(), MSCalibrator::invalidJam(), GUIViewTraffic::onCmdShowReachability(), recalcCache(), MESegment::recomputeJamThreshold(), MSCalibrator::remainingVehicleCapacity(), MELoop::teleportVehicle(), and MSMeanData::writeEdge().
|
static |
return the coordinates of the center of the given stop
Definition at line 871 of file MSEdge.cpp.
References MSLane::dictionary(), SUMOVehicleParameter::Stop::endPos, SUMOVehicleParameter::Stop::lane, and SUMOVehicleParameter::Stop::startPos.
|
inline |
Returns the street name of the edge.
Definition at line 272 of file MSEdge.h.
References myStreetName.
Referenced by GUIEdge::drawGL(), GUILane::getParameterWindow(), and libsumo::Edge::getStreetName().
|
inline |
Returns the right side offsets of this edge's sublanes.
Definition at line 565 of file MSEdge.h.
References mySublaneSides.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLCM_SL2015::computeSpeedGain(), GUIVehicle::getLeftSublaneOnEdge(), GUIVehicle::getRightSublaneOnEdge(), and MSLCM_SL2015::prepareStep().
const MSEdgeVector & MSEdge::getSuccessors | ( | SUMOVehicleClass | vClass = SVC_IGNORING | ) | const |
Returns the following edges, restricted by vClass.
[in] | vClass | The vClass for which to restrict the successors |
Definition at line 959 of file MSEdge.cpp.
References allowedLanes(), EDGEFUNC_CONNECTOR, MSNet::getInstance(), MSGlobals::gNumThreads, lock(), myClassesSuccessorMap, myFunction, mySuccessors, and SVC_IGNORING.
Referenced by NLEdgeControlBuilder::build(), MSVehicle::canReverse(), MSPModel_Striping::getArbitraryPath(), MSRoute::getDistanceBetween(), MSLane::getNextNormal(), getWalkingAreas(), MSPModel_Striping::initWalkingAreaPaths(), MSPedestrianPushButton::isActiveForEdge(), MELoop::isEnteringRoundabout(), MESegment::MESegment(), libsumo::Helper::moveToXYMap(), GUIViewTraffic::onCmdShowReachability(), and GUILane::setFunctionalColor().
|
inline |
Definition at line 363 of file MSEdge.h.
References myToJunction.
Referenced by MSPModel_Remote::add(), addSuccessor(), MSPModel::canTraverse(), MSDevice_SSM::classifyEncounter(), MSPModel_NonInteracting::PState::computeWalkingTime(), GUILane::drawGL(), GUILane::drawLane2LaneConnections(), GUILane::drawLinkRule(), GUILane::drawLinkRules(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSRoute::getDistanceBetween(), MSPModel_Striping::getNextLane(), MSLCM_LC2013::getRoundaboutDistBonus(), MSVehicle::isLeader(), MSPModel_Striping::PState::moveToNextLane(), MSRailSignal::DriveWay::overlap(), MSRouteHandler::parseWalkPositions(), MSInternalJunction::postloadInit(), MSVehicle::processLinkApproaches(), MSPModel_Striping::PState::PState(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
inlinestatic |
Returns the travel time for the given edge.
[in] | edge | The edge for which the travel time shall be retrieved |
[in] | veh | The vehicle for which the travel time on this edge shall be retrieved |
[in] | time | The time for which the travel time shall be returned [s] |
Definition at line 439 of file MSEdge.h.
References MSNet::getInstance(), and MSNet::getTravelTime().
double MSEdge::getVehicleMaxSpeed | ( | const SUMOTrafficObject *const | veh | ) | const |
Returns the maximum speed the vehicle may use on this edge.
@caution Only the first lane is considered
Definition at line 889 of file MSEdge.cpp.
References getLanes(), and myLanes.
Referenced by GUIMEVehicle::getColorValue(), getMinimumTravelTime(), insertVehicle(), MSDevice_Tripinfo::notifyMoveInternal(), and MESegment::receive().
const MSConstEdgePairVector & MSEdge::getViaSuccessors | ( | SUMOVehicleClass | vClass = SVC_IGNORING | ) | const |
Returns the following edges with internal vias, restricted by vClass.
[in] | vClass | The vClass for which to restrict the successors |
Definition at line 989 of file MSEdge.cpp.
References allowedLanes(), EDGEFUNC_CONNECTOR, MSNet::getInstance(), MSGlobals::gNumThreads, lock(), myClassesViaSuccessorMap, myFunction, myViaSuccessors, and SVC_IGNORING.
SUMOVehicle * MSEdge::getWaitingVehicle | ( | MSTransportable * | transportable, |
const double | position | ||
) | const |
Definition at line 1127 of file MSEdge.cpp.
References DEPART_CONTAINER_TRIGGERED, DEPART_TRIGGERED, Named::getID(), MSTransportable::getID(), MSGlobals::gNumSimThreads, MSGlobals::gStopTolerance, MSTransportable::isWaitingFor(), lock(), myWaiting, toString(), and WRITE_WARNING.
|
inline |
Returns the edges's width (sum over all lanes)
Definition at line 560 of file MSEdge.h.
References myWidth.
Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLCM_SL2015::keepLatGap(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::prepareStep().
|
inline |
Definition at line 657 of file MSEdge.h.
References myLaneChanger.
Referenced by MSLCM_LC2013::_patchSpeed().
bool MSEdge::hasMinorLink | ( | ) | const |
Enables vaporization.
The internal vaporization counter is increased enabling the vaporization. Called from the event handler.
[in] | t | The current time (unused) |
ProcessError | not thrown by this method, just derived |
Definition at line 391 of file MSEdge.cpp.
References myVaporizationRequests.
Referenced by NLTriggerBuilder::buildVaporizer().
void MSEdge::initialize | ( | const std::vector< MSLane * > * | lanes | ) |
Initialize the edge.
[in] | allowed | Information which edges may be reached from which lanes |
[in] | lanes | List of this edge's lanes |
Definition at line 94 of file MSEdge.cpp.
References EDGEFUNC_CONNECTOR, MSGlobals::gLateralResolution, myCombinedPermissions, myFunction, myLanes, mySublaneSides, myWidth, MSLeaderInfo::numSublanes(), and SVCAll.
Referenced by NLHandler::addDistrict(), and NLEdgeControlBuilder::closeEdge().
|
static |
Inserts IDs of all known edges into the given vector.
Definition at line 814 of file MSEdge.cpp.
References myDict.
Referenced by libsumo::Edge::getIDList().
bool MSEdge::insertVehicle | ( | SUMOVehicle & | v, |
SUMOTime | time, | ||
const bool | checkOnly = false , |
||
const bool | forceCheck = false |
||
) | const |
Tries to insert the given vehicle into the network.
The procedure for choosing the proper lane is determined, first. In dependance to this, the proper lane is chosen.
Insertion itself is done by calling the chose lane's "insertVehicle" method but only if the checkOnly argument is false. The check needs to be certain only in the negative case (if false is returned, there is no way this vehicle would be inserted).
[in] | v | The vehicle to insert |
[in] | time | The current simulation time |
[in] | checkOnly | Whether we perform only the check without actually inserting |
[in] | forceCheck | Whether the full insertion check should be run for each pending vehicle or whether insertion on lanes for which an insertion has already a failed should be ignored in the current time step. |
Definition at line 544 of file MSEdge.cpp.
References MSVehicleType::computeChosenSpeedDeviation(), DEPART_LANE_DEFAULT, DEPART_LANE_FIRST_ALLOWED, DEPART_LANE_GIVEN, DEPART_POS_FREE, DEPART_POS_GIVEN, DEPART_POS_RANDOM, DEPART_POS_RANDOM_FREE, DEPART_SPEED_GIVEN, SUMOVehicleParameter::departLaneProcedure, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, MSLane::getBruttoOccupancy(), SUMOTrafficObject::getChosenSpeedFactor(), getDepartLane(), SUMOTrafficObject::getID(), Named::getID(), MSLane::getIndex(), MSNet::getInstance(), getLength(), MSVehicleType::getLengthWithGap(), MESegment::getNextSegment(), Distribution_Parameterized::getParameter(), SUMOVehicle::getParameter(), MELoop::getSegmentForEdge(), MSVehicleType::getSpeedFactor(), getSpeedLimit(), getVehicleMaxSpeed(), SUMOTrafficObject::getVehicleType(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, MESegment::hasSpaceFor(), SUMOVehicleParameter::id, MESegment::initialise(), MSLane::insertVehicle(), isTazConnector(), isVaporizing(), myFailedInsertionMemory, myLanes, myLastFailedInsertionTime, myLength, RandHelper::rand(), SUMOVehicle::setChosenSpeedFactor(), time2string(), toString(), and WRITE_WARNING.
Referenced by MSInsertionControl::checkCandidates(), MSCalibrator::execute(), and MSInsertionControl::tryInsert().
|
inline |
return whether this edge is a pedestrian crossing
Definition at line 240 of file MSEdge.h.
References EDGEFUNC_CROSSING, and myFunction.
Referenced by MSSwarmTrafficLightLogic::allowLine(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildSensorForLane(), GUILane::drawGL(), GUILane::drawLinkNo(), GUILane::drawTLSLinkNo(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSPModel_Remote::handlePedestrianLane(), MSPModel_Striping::initWalkingAreaPaths(), MSPedestrianPushButton::loadCrossingEdgeMap(), MSPModel_Striping::moveInDirectionOnLane(), MSPedestrianPushButton::MSPedestrianPushButton(), and GUILane::setFunctionalColor().
|
inline |
Definition at line 653 of file MSEdge.h.
References myAmDelayed, and myBidiEdge.
|
inline |
return whether this edge is at the fringe of the network
Definition at line 674 of file MSEdge.h.
References myAmFringe.
Referenced by MSVehicle::planMoveInternal().
|
inline |
return whether this edge is an internal edge
Definition at line 235 of file MSEdge.h.
References EDGEFUNC_INTERNAL, and myFunction.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLane::addApproachingLane(), MSVehicle::addStop(), allowsLaneChanging(), MSLane::appropriate(), NLEdgeControlBuilder::build(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildSensorForLane(), canChangeToOpposite(), MSLaneChanger::checkChange(), MSVehicle::checkRewindLinkLanes(), GUILane::drawGL(), MSVehicle::enterLaneAtMove(), MSDevice_SSM::findSurroundingVehicles(), MSVehicle::getBestLanesContinuation(), MSRoute::getDistanceBetween(), getInternalFollowingLengthTo(), MSPModel_Striping::getNextLane(), MSLane::getNextNormal(), libsumo::Vehicle::getNextTLS(), getNormalBefore(), GUIEdge::getTotalLength(), MSDevice_SSM::getUpstreamVehicles(), MSLane::isInternal(), MSLink::lastWasContMajor(), libsumo::Vehicle::moveTo(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSLane::mustCheckJunctionCollisions(), MSVehicle::passingMinor(), MSLCM_DK2008::patchSpeed(), MSVehicle::planMoveInternal(), recalcCache(), MSVehicle::replaceRoute(), MSLink::setRequestInformation(), MSVehicle::unsafeLinkAhead(), MSVehicle::updateBestLanes(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().
|
inline |
return whether this edge is an internal edge
Definition at line 230 of file MSEdge.h.
References EDGEFUNC_NORMAL, and myFunction.
Referenced by MSRailSignal::DriveWay::buildRoute(), and GUIEdge::getIDs().
|
staticprivateinherited |
check if given string can be parsed to a parameter of type "key=value"
Definition at line 189 of file Parameterised.cpp.
References StringTokenizer::getVector(), SUMOXMLDefinitions::isValidParameterKey(), and SUMOXMLDefinitions::isValidParameterValue().
Referenced by Parameterised::areParametersValid().
|
inline |
Definition at line 640 of file MSEdge.h.
References myAmRoundabout.
Referenced by MSVehicle::checkRewindLinkLanes(), MSLCM_LC2013::getRoundaboutDistBonus(), MSVehicle::getSpaceTillLastStanding(), MESegment::limitedControlOverride(), and MSVehicle::processLinkApproaches().
|
inlinevirtual |
|
private |
Definition at line 1087 of file MSEdge.cpp.
References getLanes(), and myLanes.
Referenced by checkAndRegisterBiDirEdge().
|
inline |
Definition at line 258 of file MSEdge.h.
References EDGEFUNC_CONNECTOR, and myFunction.
Referenced by addSuccessor(), MSBaseVehicle::calculateArrivalParams(), GUIEdge::getBoundary(), GUILane::getColorValue(), getDistanceTo(), insertVehicle(), MSBaseVehicle::MSBaseVehicle(), MSDevice_Routing::preInsertionReroute(), MSBaseVehicle::reroute(), and setJunctions().
|
inline |
Returns whether vehicles on this edge shall be vaporized.
Definition at line 379 of file MSEdge.h.
References myVaporizationRequests.
Referenced by MSVehicle::executeMove(), MSLane::executeMovements(), insertVehicle(), MSVehicle::processLaneAdvances(), and MSInsertionControl::tryInsert().
|
inline |
return whether this edge is walking area
Definition at line 254 of file MSEdge.h.
References EDGEFUNC_WALKINGAREA, and myFunction.
Referenced by MSSwarmTrafficLightLogic::allowLine(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildSensorForLane(), GUILane::drawGL(), GUILane::drawLane2LaneConnections(), MSPModel_Striping::getArbitraryPath(), GUILane::getColorValue(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), getWalking(), MSPModel_Remote::handlePedestrianLane(), MSPModel_Striping::initWalkingAreaPaths(), MSPModel_Striping::moveInDirection(), and MSPedestrianPushButton::MSPedestrianPushButton().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 66 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBEdge::append(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::getBoolParam(), NWWriter_DlrNavteq::getBrunnelType(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), libsumo::Simulation::getParameter(), MSDevice::getStringParam(), MSTriggeredRerouter::getWeight(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), MSDevice_SSM::useGeoCoords(), and NWWriter_OpenDrive::writeRoadObjects().
Returns the lane left to the one given, 0 if the given lane is leftmost.
[in] | lane | The lane right to the one to be returned |
Definition at line 334 of file MSEdge.cpp.
References parallelLane().
|
inlinevirtual |
grant exclusive access to the mesoscopic state
Reimplemented in GUIEdge.
Definition at line 684 of file MSEdge.h.
Referenced by addWaiting(), getSuccessors(), getViaSuccessors(), getWaitingVehicle(), MESegment::receive(), MESegment::removeCar(), and removeWaiting().
|
inline |
Definition at line 644 of file MSEdge.h.
References myAmRoundabout.
Referenced by NLHandler::addRoundabout(), and NLEdgeControlBuilder::build().
|
inline |
Definition at line 648 of file MSEdge.h.
References myAmDelayed.
Referenced by MSLane::incorporateVehicle(), MSLane::integrateNewVehicles(), and MEVehicle::setEventTime().
MSLane * MSEdge::parallelLane | ( | const MSLane *const | lane, |
int | offset, | ||
bool | includeOpposite = true |
||
) | const |
Returns the lane with the given offset parallel to the given lane one or 0 if it does not exist.
[in] | lane | The base lane |
[in] | offset | The offset of the result lane |
[in] | includeOpposte | Whether an opposite direction lane may be returned |
Definition at line 346 of file MSEdge.cpp.
References MSLane::getIndex(), MSLane::getOpposite(), and myLanes.
Referenced by MSLane::getParallelLane(), leftLane(), and rightLane().
|
static |
Parses the given string assuming it contains a list of edge ids divided by spaces.
Splits the string at spaces, uses polymorph method to generate edge vector.
[in] | desc | The string containing space-separated edge ids |
[out] | into | The vector to fill |
[in] | rid | The id of the route these description belongs to; used for error message generation |
ProcessError | If one of the strings contained is not a known edge id |
Definition at line 822 of file MSEdge.cpp.
References BinaryFormatter::BF_ROUTE, StringTokenizer::getVector(), and FileHelpers::readEdgeVector().
Referenced by MSRouteHandler::addWalk(), libsumo::Person::appendWalkingStage(), libsumo::Person::convertTraCIStage(), MSRouteHandler::myStartElement(), MSRouteHandler::openRoute(), MSRouteHandler::parseFromViaTo(), libsumo::Vehicle::setRoute(), and libsumo::Vehicle::setVia().
|
static |
Parses the given string vector assuming it edge ids.
[in] | desc | The string vector containing edge ids |
[out] | into | The vector to fill |
[in] | rid | The id of the route these description belongs to; used for error message generation |
ProcessError | If one of the strings contained is not a known edge id |
Definition at line 837 of file MSEdge.cpp.
References dictionary().
|
inline |
Returns whether the vehicle (class) is not allowed on the edge.
Definition at line 540 of file MSEdge.h.
References SUMOTrafficObject::getVClass(), and myCombinedPermissions.
void MSEdge::rebuildAllowedLanes | ( | ) |
Definition at line 243 of file MSEdge.cpp.
References addToAllowed(), allowedLanes(), myAllowed, myCombinedPermissions, myLanes, myMinimumPermissions, rebuildAllowedTargets(), SUMOVehicleClass_MAX, SVC_IGNORING, SVC_PRIVATE, and SVCAll.
Referenced by closeBuilding(), GUIEdge::closeTraffic(), GUILane::closeTraffic(), libsumo::Lane::setAllowed(), libsumo::Edge::setAllowedSVCPermissions(), and libsumo::Lane::setDisallowed().
void MSEdge::rebuildAllowedTargets | ( | const bool | updateVehicles = true | ) |
Definition at line 272 of file MSEdge.cpp.
References addToAllowed(), allowedLanes(), myAllowed, myAllowedTargets, myClassesSuccessorMap, myCombinedPermissions, myLanes, myMinimumPermissions, mySuccessors, SUMOVehicleClass_MAX, SVC_IGNORING, and SVC_PRIVATE.
Referenced by rebuildAllowedLanes().
void MSEdge::recalcCache | ( | ) |
Recalculates the cached values.
Definition at line 111 of file MSEdge.cpp.
References MSLane::getLinkCont(), MSLink::getMesoTLSPenalty(), getSpeedLimit(), MSGlobals::gMesoMinorPenalty, MSGlobals::gMesoTLSPenalty, MSGlobals::gMinorPenalty, MSLink::havePriority(), isInternal(), MSLink::isTLSControlled(), MAX2(), MIN2(), myEmptyTraveltime, myLanes, myLength, myTimePenalty, NUMERICAL_EPS, and STEPS2TIME.
Referenced by closeBuilding(), MSTrafficLightLogic::initMesoTLSPenalties(), MSLane::setLength(), and MSLane::setMaxSpeed().
|
inlinevirtual |
Remove container from myContainers.
Reimplemented in GUIEdge.
Definition at line 633 of file MSEdge.h.
References myContainers.
Referenced by MSTransportableControl::abortAnyWaitingForVehicle(), MSTransportableControl::loadAnyWaiting(), MSContainer::proceed(), and GUIEdge::removeContainer().
|
inlinevirtual |
Reimplemented in GUIEdge.
Definition at line 620 of file MSEdge.h.
References myPersons.
Referenced by MSTransportableControl::abortAnyWaitingForVehicle(), MSTransportableControl::boardAnyWaiting(), GUIPerson::GUIPersonPopupMenu::onCmdRemoveObject(), MSPerson::proceed(), and GUIEdge::removePerson().
void MSEdge::removeWaiting | ( | const SUMOVehicle * | vehicle | ) | const |
Removes a vehicle from the list of waiting vehicles.
Definition at line 1115 of file MSEdge.cpp.
References MSGlobals::gNumSimThreads, lock(), and myWaiting.
Referenced by MEVehicle::processStop(), and MSVehicle::resumeFromStopping().
|
inline |
Returns the lane right to the one given, 0 if the given lane is rightmost.
[in] | lane | The lane left to the one to be returned |
Definition at line 340 of file MSEdge.cpp.
References parallelLane().
|
inline |
Sets the crossed edge ids for a crossing edge.
Definition at line 298 of file MSEdge.h.
References myCrossingEdges.
Referenced by NLEdgeControlBuilder::addCrossingEdges().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 84 of file Named.h.
References Named::myID.
Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBNodeCont::rename(), NBEdgeCont::rename(), GNEJunction::setAttribute(), and IntermodalNetwork< E, L, N, V >::splitEdge().
void MSEdge::setJunctions | ( | MSJunction * | from, |
MSJunction * | to | ||
) |
Definition at line 1019 of file MSEdge.cpp.
References Boundary::add(), MSJunction::getPosition(), isTazConnector(), myBoundary, myFromJunction, and myToJunction.
Referenced by NLHandler::myEndElement().
|
inline |
Sets the last time a vehicle could not be inserted.
[in] | time | the new value |
Definition at line 519 of file MSEdge.h.
References myLastFailedInsertionTime.
Referenced by MSInsertionControl::tryInsert().
void MSEdge::setMaxSpeed | ( | double | val | ) | const |
Sets a new maximum speed for all lanes (used by TraCI and MSCalibrator)
[in] | val | the new speed in m/s |
Definition at line 896 of file MSEdge.cpp.
References myLanes.
Referenced by METriggeredCalibrator::execute(), and MSCalibrator::execute().
|
inherited |
Sets a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 46 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::addDistrict(), RONetHandler::addParam(), SUMORouteHandler::addParam(), ShapeHandler::addPOI(), NBEdge::append(), NIImporter_OpenStreetMap::insertNodeChecking(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), GNEAdditionalHandler::parseParameter(), GNEVehicleType::setAttribute(), NIImporter_OpenDrive::setLaneAttributes(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::POI::setParameter(), libsumo::TrafficLight::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().
|
inherited |
set the inner key/value map in map<string, string> format
Definition at line 127 of file Parameterised.cpp.
References Parameterised::getParametersMap(), and Parameterised::myMap.
|
inherited |
set the inner key/value map in map<string, string> format
Definition at line 133 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"
Definition at line 139 of file Parameterised.cpp.
References StringTokenizer::getVector(), and Parameterised::myMap.
Referenced by GNEContainerStop::setAttribute(), GNEBusStop::setAttribute(), GNEChargingStation::setAttribute(), GNEParkingArea::setAttribute(), GNEDetectorE1::setAttribute(), GNEDetectorEntryExit::setAttribute(), GNEDetectorE1Instant::setAttribute(), GNEVaporizer::setAttribute(), GNEClosingReroute::setAttribute(), GNEDestProbReroute::setAttribute(), GNEClosingLaneReroute::setAttribute(), GNERouteProbReroute::setAttribute(), GNEParkingAreaReroute::setAttribute(), GNEVariableSpeedSignStep::setAttribute(), GNETAZSourceSink::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNERerouterInterval::setAttribute(), GNERouteProbe::setAttribute(), GNEParkingSpace::setAttribute(), GNEAccess::setAttribute(), GNERerouter::setAttribute(), GNEDetectorE3::setAttribute(), GNEDetectorE2::setAttribute(), GNECalibrator::setAttribute(), GNEConnection::setAttribute(), GNECalibratorFlow::setAttribute(), GNEVehicleType::setAttribute(), GNEPOI::setAttribute(), GNETAZ::setAttribute(), GNERide::setAttribute(), GNEPersonTrip::setAttribute(), GNELane::setAttribute(), GNEPoly::setAttribute(), GNEWalk::setAttribute(), GNERoute::setAttribute(), GNEJunction::setAttribute(), GNEPerson::setAttribute(), GNEVehicle::setAttribute(), and GNEEdge::setAttribute().
|
inlinevirtual |
release exclusive access to the mesoscopic state
Reimplemented in GUIEdge.
Definition at line 687 of file MSEdge.h.
Referenced by MESegment::receive(), and MESegment::removeCar().
|
inherited |
Removes a parameter.
[in] | key | The parameter's name |
Definition at line 52 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_OpenStreetMap::insertEdge(), and GNEVehicleType::setAttribute().
|
inherited |
Adds or updates all given parameters from the map.
[in] | mapArg | The keys/values to insert |
Definition at line 58 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), NIImporter_OpenStreetMap::insertEdge(), NBEdge::NBEdge(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
inherited |
write Params in the given outputdevice
Definition at line 154 of file Parameterised.cpp.
References OutputDevice::closeTag(), StringUtils::escapeXML(), Parameterised::myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().
Referenced by ROVehicle::saveAsXML(), ROPerson::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), SUMOVTypeParameter::write(), GNEAdditional::writeAdditional(), NWWriter_SUMO::writeConnection(), GNERide::writeDemandElement(), GNEPersonTrip::writeDemandElement(), GNEWalk::writeDemandElement(), GNERoute::writeDemandElement(), GNEPerson::writeDemandElement(), GNEVehicle::writeDemandElement(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), PointOfInterest::writeXML(), and SUMOPolygon::writeXML().
|
protected |
Associative container from vehicle class to allowed-lanes.
Definition at line 832 of file MSEdge.h.
Referenced by allowedLanes(), rebuildAllowedLanes(), and rebuildAllowedTargets().
|
protected |
From target edge to lanes allowed to be used to reach it.
Definition at line 835 of file MSEdge.h.
Referenced by allowedLanes(), and rebuildAllowedTargets().
|
mutableprotected |
whether this edge had a vehicle with less than max speed on it
Definition at line 868 of file MSEdge.h.
Referenced by getCurrentTravelTime(), isDelayed(), and markDelayed().
|
protected |
whether this edge is at the network fringe
Definition at line 874 of file MSEdge.h.
Referenced by closeBuilding(), and isFringe().
|
protected |
whether this edge belongs to a roundabout
Definition at line 871 of file MSEdge.h.
Referenced by isRoundabout(), and markAsRoundabout().
|
private |
the oppositing superposable edge
Definition at line 920 of file MSEdge.h.
Referenced by checkAndRegisterBiDirEdge(), getBidiEdge(), getMeanSpeed(), and isDelayed().
|
protected |
The bounding rectangle of end nodes incoming or outgoing edges for taz connectors or of my own start and end node for normal edges.
Definition at line 904 of file MSEdge.h.
Referenced by addSuccessor(), getDistanceTo(), and setJunctions().
|
mutableprotected |
The successors available for a given vClass.
Definition at line 898 of file MSEdge.h.
Referenced by getSuccessors(), and rebuildAllowedTargets().
|
mutableprotected |
The successors available for a given vClass.
Definition at line 901 of file MSEdge.h.
Referenced by getViaSuccessors().
|
protected |
The union of lane permissions for this edge.
Definition at line 840 of file MSEdge.h.
Referenced by allowedLanes(), getPermissions(), initialize(), prohibits(), rebuildAllowedLanes(), and rebuildAllowedTargets().
|
mutableprotected |
Containers on the edge.
Definition at line 826 of file MSEdge.h.
Referenced by addContainer(), GUIEdge::drawGL(), getSortedContainers(), and removeContainer().
|
protected |
The crossed edges id for a crossing edge. On not crossing edges it is empty.
Definition at line 808 of file MSEdge.h.
Referenced by getCrossingEdges(), and setCrossingEdges().
|
staticprotected |
Static dictionary to associate string-ids with objects.
Definition at line 888 of file MSEdge.h.
Referenced by clear(), dictionary(), dictSize(), GUIEdge::getIDs(), GUIEdge::getTotalLength(), and insertIDs().
|
protected |
the kilometrage/mileage at the start of the edge
Definition at line 853 of file MSEdge.h.
Referenced by getDistance().
|
staticprotected |
Static list of edges.
Definition at line 893 of file MSEdge.h.
Referenced by clear(), dictionary(), and getAllEdges().
|
protected |
the type of the edge (optionally used during network creation)
Definition at line 847 of file MSEdge.h.
Referenced by getEdgeType().
|
protected |
the traveltime on the empty edge (cached value for speedup)
Definition at line 862 of file MSEdge.h.
Referenced by getCurrentTravelTime(), getMeanSpeed(), getMinimumTravelTime(), and recalcCache().
|
mutableprotected |
A cache for the rejected insertion attempts. Used to assure that no further insertion attempts are made on a lane where an attempt has already failed in the current time step if MSInsertionControl::myEagerInsertionCheck is off.
Definition at line 805 of file MSEdge.h.
Referenced by insertVehicle().
|
protected |
the junctions for this edge
Definition at line 819 of file MSEdge.h.
Referenced by checkAndRegisterBiDirEdge(), getFromJunction(), and setJunctions().
|
protected |
the purpose of the edge
Definition at line 794 of file MSEdge.h.
Referenced by GUIEdge::drawGL(), getFunction(), getMinimumTravelTime(), getSuccessors(), getViaSuccessors(), initialize(), isCrossing(), isInternal(), isNormal(), isTazConnector(), and isWalkingArea().
|
protectedinherited |
The name of the object.
Definition at line 133 of file Named.h.
Referenced by MSE2Collector::addDetectorToLanes(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), MSE2Collector::detectorUpdate(), GNEPoly::getAttribute(), GNEPOI::getAttribute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), Named::getID(), NBEdge::getLaneID(), ROEdge::getStoredEffort(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), NBEdge::init(), MSLane::isInsertionSuccess(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), Distribution_Parameterized::toStr(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
protected |
This member will do the lane-change.
Definition at line 791 of file MSEdge.h.
Referenced by buildLaneChanger(), changeLanes(), hasLaneChanger(), and ~MSEdge().
|
protected |
Container for the edge's lane; should be sorted: (right-hand-traffic) the more left the lane, the higher the container-index.
Definition at line 788 of file MSEdge.h.
Referenced by allowedLanes(), allowsLaneChanging(), buildLaneChanger(), canChangeToOpposite(), closeBuilding(), GUIEdge::drawGL(), GUIEdge::drawMesoVehicles(), GUIEdge::getAllowedSpeed(), GUIEdge::getBoundary(), GUIEdge::getBruttoOccupancy(), getDepartLane(), getDepartPosBound(), getInternalFollowingEdge(), GUIEdge::getLane(), getLanes(), getLengthGeometryFactor(), getMeanSpeed(), getOppositeEdge(), GUIEdge::getParameterWindow(), getSortedPersons(), getSpeedLimit(), getVehicleMaxSpeed(), hasMinorLink(), initialize(), insertVehicle(), isSuperposable(), parallelLane(), rebuildAllowedLanes(), rebuildAllowedTargets(), recalcCache(), and setMaxSpeed().
|
mutableprotected |
The time of last insertion failure.
Definition at line 800 of file MSEdge.h.
Referenced by getLastFailedInsertionTime(), insertVehicle(), and setLastFailedInsertionTime().
|
protected |
the length of the edge (cached value for speedup)
Definition at line 859 of file MSEdge.h.
Referenced by getDepartPosBound(), getFreeLane(), getLength(), insertVehicle(), and recalcCache().
|
privateinherited |
The key->value map.
Definition at line 120 of file Parameterised.h.
Referenced by Parameterised::clearParameter(), Parameterised::getDouble(), Parameterised::getParameter(), Parameterised::getParametersMap(), Parameterised::getParametersStr(), Parameterised::knowsParameter(), Parameterised::setParameter(), Parameterised::setParameters(), Parameterised::setParametersMap(), Parameterised::setParametersStr(), Parameterised::unsetParameter(), Parameterised::updateParameters(), and Parameterised::writeParams().
|
protected |
The intersection of lane permissions for this edge.
Definition at line 838 of file MSEdge.h.
Referenced by allowedLanes(), rebuildAllowedLanes(), and rebuildAllowedTargets().
|
protected |
|
mutableprotected |
Persons on the edge for drawing and pushbutton.
Definition at line 823 of file MSEdge.h.
Referenced by addPerson(), GUIEdge::drawGL(), getPersons(), getSortedPersons(), and removePerson().
|
protected |
The preceeding edges.
Definition at line 816 of file MSEdge.h.
Referenced by addSuccessor(), closeBuilding(), GUIEdge::getBoundary(), getNumPredecessors(), and getPredecessors().
|
protected |
the priority of the edge (used during network creation)
Definition at line 850 of file MSEdge.h.
Referenced by getPriority().
|
protected |
the real-world name of this edge (need not be unique)
Definition at line 844 of file MSEdge.h.
Referenced by GUIEdge::drawGL(), GUIEdge::getOptionalName(), and getStreetName().
|
protected |
the right side for each sublane on this edge
Definition at line 877 of file MSEdge.h.
Referenced by getSubLaneSides(), and initialize().
|
protected |
The succeeding edges.
Definition at line 811 of file MSEdge.h.
Referenced by addSuccessor(), closeBuilding(), GUIEdge::getBoundary(), getNumSuccessors(), getSuccessors(), and rebuildAllowedTargets().
|
protected |
flat penalty when computing traveltime
Definition at line 865 of file MSEdge.h.
Referenced by getMinimumTravelTime(), and recalcCache().
|
protected |
Definition at line 820 of file MSEdge.h.
Referenced by checkAndRegisterBiDirEdge(), getToJunction(), and setJunctions().
|
protected |
Vaporizer counter.
Definition at line 797 of file MSEdge.h.
Referenced by decVaporization(), incVaporization(), and isVaporizing().
|
protected |
Definition at line 813 of file MSEdge.h.
Referenced by addSuccessor(), closeBuilding(), and getViaSuccessors().
|
mutableprotected |
List of waiting vehicles.
Definition at line 907 of file MSEdge.h.
Referenced by addWaiting(), getWaitingVehicle(), and removeWaiting().
|
protected |
Edge width [m].
Definition at line 856 of file MSEdge.h.
Referenced by getWidth(), and initialize().