![]() |
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 Types | |
typedef std::map< const MSEdge *, std::vector< MSLane * > * > | AllowedLanesCont |
Suceeding edges (keys) and allowed lanes to reach these edges (values). More... | |
typedef std::map< SUMOVehicleClass, AllowedLanesCont > | ClassedAllowedLanesCont |
Map from vehicle types to lanes that may be used to reach one of the next edges. More... | |
enum | EdgeBasicFunction { EDGEFUNCTION_UNKNOWN = -1, EDGEFUNCTION_NORMAL = 0, EDGEFUNCTION_CONNECTOR = 1, EDGEFUNCTION_INTERNAL = 2, EDGEFUNCTION_DISTRICT = 3, EDGEFUNCTION_CROSSING = 4, EDGEFUNCTION_WALKINGAREA = 5 } |
Defines possible edge types. More... | |
Public Member Functions | |
virtual void | addContainer (MSTransportable *container) const |
Add a container to myContainers. More... | |
void | addParameter (const std::string &key, const std::string &value) |
Adds a parameter. More... | |
void | addParameter (const std::map< std::string, std::string > &mapArg) |
Adds all given parameter. More... | |
void | addParameter (const Parameterised &p) |
Adds all given parameter. More... | |
virtual void | addPerson (MSTransportable *p) const |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
virtual void | changeLanes (SUMOTime t) |
Performs lane changing on this edge. More... | |
void | clearParameter () |
Clears the parameter map. More... | |
void | closeBuilding () |
SUMOReal | getCurrentTravelTime (const SUMOReal minSpeed=NUMERICAL_EPS) const |
Computes and returns the current travel time for this edge. More... | |
SUMOReal | getDistanceTo (const MSEdge *other) const |
optimistic air distance heuristic for use in routing More... | |
const std::string & | getID () const |
Returns the id. More... | |
SUMOReal | getLength () const |
return the length of the edge More... | |
const std::map< std::string, std::string > & | getMap () const |
Returns the inner key/value map. More... | |
SUMOReal | getMinimumTravelTime (const SUMOVehicle *const veh) const |
returns the minimum travel time for the given vehicle More... | |
const std::string & | getParameter (const std::string &key, const std::string &defaultValue) const |
Returns the value for a given key. More... | |
SVCPermissions | getPermissions () const |
SUMOReal | getSpeedLimit () const |
Returns the speed limit of the edge The speed limit of the first lane is retured; should probably be the fastest edge. More... | |
SUMOReal | getVehicleMaxSpeed (const SUMOVehicle *const veh) const |
Returns the maximum speed the vehicle may use on this edge. More... | |
void | initialize (const std::vector< MSLane * > *lanes) |
Initialize the edge. More... | |
bool | isRoundabout () const |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
void | markAsRoundabout () |
void | markDelayed () const |
MSEdge (const std::string &id, int numericalID, const EdgeBasicFunction function, const std::string &streetName, const std::string &edgeType, int priority) | |
Constructor. More... | |
bool | prohibits (const SUMOVehicle *const vehicle) const |
Returns whether the vehicle (class) is not allowed on the edge. More... | |
void | rebuildAllowedLanes () |
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 | setID (const std::string &newID) |
resets the id More... | |
virtual | ~MSEdge () |
Destructor. More... | |
Access to the edge's lanes | |
MSLane * | leftLane (const MSLane *const lane) const |
Returns the lane left to the one given, 0 if the given lane is leftmost. More... | |
MSLane * | rightLane (const MSLane *const lane) const |
Returns the lane right to the one given, 0 if the given lane is rightmost. More... | |
MSLane * | parallelLane (const MSLane *const lane, int offset) const |
Returns the lane with the given offset parallel to the given lane one or 0 if it does not exist. More... | |
const std::vector< MSLane * > & | getLanes () const |
Returns this edge's lanes. More... | |
std::vector< MSTransportable * > | getSortedPersons (SUMOTime timestep) const |
Returns this edge's persons sorted by pos. More... | |
std::vector< MSTransportable * > | getSortedContainers (SUMOTime timestep) const |
Returns this edge's containers sorted by pos. More... | |
const std::vector< MSLane * > * | allowedLanes (const MSEdge &destination, SUMOVehicleClass vclass=SVC_IGNORING) const |
Get the allowed lanes to reach the destination-edge. More... | |
const std::vector< MSLane * > * | allowedLanes (SUMOVehicleClass vclass=SVC_IGNORING) const |
Get the allowed lanes for the given vehicle class. More... | |
Access to other edge attributes | |
EdgeBasicFunction | getPurpose () const |
Returns the edge type (EdgeBasicFunction) More... | |
bool | isInternal () const |
return whether this edge is an internal edge More... | |
bool | isCrossing () const |
return whether this edge is a pedestrian crossing More... | |
bool | isWalkingArea () const |
return whether this edge is walking area More... | |
int | getNumericalID () const |
Returns the numerical id of the edge. More... | |
const std::string & | getStreetName () const |
Returns the street name of the edge. More... | |
const std::string & | getEdgeType () const |
Returns the type of the edge. More... | |
int | getPriority () const |
Returns the priority of the edge. More... | |
Access to succeeding/predecessing edges | |
void | addSuccessor (MSEdge *edge) |
Adds an edge to the list of edges which may be reached from this edge and to the incoming of the other edge. More... | |
const MSEdgeVector & | getIncomingEdges () const |
Returns the list of edges from which this edge may be reached. More... | |
unsigned int | getNumSuccessors () const |
Returns the number of edges that may be reached from this edge. More... | |
const MSEdgeVector & | getSuccessors () const |
Returns the following edges. More... | |
const MSEdgeVector & | getSuccessors (SUMOVehicleClass vClass) const |
Returns the following edges, restricted by vClass. More... | |
unsigned int | getNumPredecessors () const |
Returns the number of edges this edge is connected to. More... | |
const MSEdgeVector & | getPredecessors () const |
Returns the edge at the given position from the list of reachable edges. More... | |
const MSJunction * | getFromJunction () const |
const MSJunction * | getToJunction () const |
void | setJunctions (MSJunction *from, MSJunction *to) |
Access to vaporizing interface | |
bool | isVaporizing () const |
Returns whether vehicles on this edge shall be vaporized. More... | |
SUMOTime | incVaporization (SUMOTime t) |
Enables vaporization. More... | |
SUMOTime | decVaporization (SUMOTime t) |
Disables vaporization. More... | |
Methods releated to vehicle insertion | |
bool | insertVehicle (SUMOVehicle &v, SUMOTime time, const bool checkOnly=false) const |
Tries to insert the given vehicle into the network. More... | |
MSLane * | getFreeLane (const std::vector< MSLane * > *allowed, const SUMOVehicleClass vclass) const |
Finds the emptiest lane allowing the vehicle class. More... | |
MSLane * | getDepartLane (MSVehicle &veh) const |
Finds a depart lane for the given vehicle parameters. More... | |
SUMOTime | getLastFailedInsertionTime () const |
Returns the last time a vehicle could not be inserted. More... | |
void | setLastFailedInsertionTime (SUMOTime time) const |
Sets the last time a vehicle could not be inserted. More... | |
Static Public Member Functions | |
static void | clear () |
Clears the dictionary. 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 MSEdge * | dictionary (const std::string &id) |
Returns the MSEdge associated to the key id if exists, otherwise returns 0. More... | |
static MSEdge * | dictionary (size_t index) |
Returns the MSEdge at the index. More... | |
static size_t | dictSize () |
Returns the number of edges. 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 SUMOReal | getTravelTimeStatic (const MSEdge *const edge, const SUMOVehicle *const veh, SUMOReal 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... | |
static size_t | numericalDictSize () |
Returns the number of edges with a numerical id. More... | |
Static parser helper | |
static void | parseEdgesList (const std::string &desc, ConstMSEdgeVector &into, const std::string &rid) |
Parses the given string assuming it contains a list of edge ids divided by spaces. More... | |
static void | parseEdgesList (const std::vector< std::string > &desc, ConstMSEdgeVector &into, const std::string &rid) |
Parses the given string vector assuming it edge ids. More... | |
Protected Member Functions | |
const std::vector< MSLane * > * | allowedLanes (const MSEdge *destination, SUMOVehicleClass vclass=SVC_IGNORING) const |
Get the allowed lanes to reach the destination-edge. More... | |
const std::vector< MSLane * > * | getAllowedLanesWithDefault (const AllowedLanesCont &c, const MSEdge *dest) const |
lookup in map and return 0 if not found More... | |
Protected Attributes | |
bool | myAmDelayed |
whether this edge had a vehicle with less than max speed on it More... | |
bool | myAmRoundabout |
whether this edge belongs to a roundabout More... | |
std::map< SUMOVehicleClass, MSEdgeVector > | myClassesSuccessorMap |
The successors available for a given vClass. More... | |
std::set< MSTransportable * > | myContainers |
Containers on the edge. More... | |
std::string | myEdgeType |
the type of the edge (optionally used during network creation) More... | |
SUMOReal | myEmptyTraveltime |
the traveltime on the empty edge (cached value for speedup) More... | |
MSJunction * | myFromJunction |
the junctions for this edge More... | |
const EdgeBasicFunction | 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... | |
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... | |
SUMOReal | 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 (only for drawing) 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... | |
MSEdgeVector | mySuccessors |
The succeeding edges. More... | |
MSJunction * | myToJunction |
int | myVaporizationRequests |
Vaporizer counter. More... | |
Storages for allowed lanes (depending on vehicle classes) | |
AllowedLanesCont | myAllowed |
Associative container from destination-edge to allowed-lanes. More... | |
ClassedAllowedLanesCont | myClassedAllowed |
From vehicle class to lanes allowed to be used by it. More... | |
SVCPermissions | myMinimumPermissions |
The intersection of lane permissions for this edge. More... | |
SVCPermissions | myCombinedPermissions |
The union of lane permissions for this edge. More... | |
Private Member Functions | |
MSEdge (const MSEdge &) | |
Invalidated copy constructor. More... | |
MSEdge & | operator= (const MSEdge &) |
assignment operator. 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.
typedef std::map< const MSEdge*, std::vector<MSLane*>* > MSEdge::AllowedLanesCont |
typedef std::map< SUMOVehicleClass, AllowedLanesCont > MSEdge::ClassedAllowedLanesCont |
|
protected |
Defines possible edge types.
For different purposes, it is necessary to know whether the edge is a normal street or something special.
MSEdge::MSEdge | ( | const std::string & | id, |
int | numericalID, | ||
const EdgeBasicFunction | function, | ||
const std::string & | streetName, | ||
const std::string & | edgeType, | ||
int | priority | ||
) |
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 75 of file MSEdge.cpp.
|
virtual |
Destructor.
Definition at line 93 of file MSEdge.cpp.
References myAllowed, myClassedAllowed, myLaneChanger, and myLanes.
|
private |
Invalidated copy constructor.
|
inlinevirtual |
Add a container to myContainers.
Reimplemented in GUIEdge.
Definition at line 566 of file MSEdge.h.
References myContainers.
Referenced by GUIEdge::addContainer(), MSContainer::MSContainerStage_Driving::proceed(), and MSContainer::MSContainerStage_Waiting::proceed().
|
inherited |
Adds a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 53 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by SUMORouteHandler::addParam(), NLHandler::addParam(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NBTrafficLightDefinition::compute(), NIImporter_OpenDrive::loadNetwork(), NIImporter_MATSim::EdgesHandler::myStartElement(), TraCIServerAPI_Edge::processSet(), TraCIServerAPI_TLS::processSet(), TraCIServerAPI_POI::processSet(), TraCIServerAPI_Polygon::processSet(), and TraCIServerAPI_Lane::processSet().
|
inherited |
Adds all given parameter.
[in] | mapArg | The keys/values to insert |
Definition at line 59 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
Adds all given parameter.
[in] | p | The keys/values to insert |
Definition at line 67 of file Parameterised.cpp.
References Parameterised::myMap.
|
inlinevirtual |
Reimplemented in GUIEdge.
Definition at line 554 of file MSEdge.h.
References myPersons.
Referenced by GUIEdge::addPerson(), MSPerson::MSPersonStage_Driving::proceed(), and MSPerson::MSPersonStage_Waiting::proceed().
|
inline |
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 291 of file MSEdge.h.
References myPredecessors, and mySuccessors.
Referenced by NLHandler::addDistrict().
|
inlineinherited |
Adds this object to the given container.
Definition at line 126 of file Named.h.
References Named::StoringVisitor::add().
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 224 of file MSEdge.cpp.
Referenced by allowedLanes(), MSVehicleTransfer::checkInsertions(), getDepartLane(), getFreeLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), getLanes(), getSuccessors(), MSLane::by_connections_to_sorter::operator()(), 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 230 of file MSEdge.cpp.
References allowedLanes().
|
protected |
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 246 of file MSEdge.cpp.
References MSLane::allowsVehicleClass(), getAllowedLanesWithDefault(), MSLane::getEdge(), myAllowed, myClassedAllowed, and myMinimumPermissions.
|
virtual |
Performs lane changing on this edge.
Definition at line 498 of file MSEdge.cpp.
References EDGEFUNCTION_INTERNAL, MSLinkContHelper::getConnectingLink(), MSLane::getEdge(), MSLink::getLane(), MSLane::getLinkCont(), MSLane::getLogicalPredecessorLane(), MSLink::getState(), MSLaneChanger::laneChange(), LINKSTATE_ALLWAY_STOP, LINKSTATE_DEADEND, LINKSTATE_EQUAL, LINKSTATE_MINOR, LINKSTATE_STOP, LINKSTATE_ZIPPER, myFunction, myLaneChanger, myLanes, and SUMOReal.
Referenced by MSEdgeControl::changeLanes(), and setLastFailedInsertionTime().
|
static |
Clears the dictionary.
Definition at line 625 of file MSEdge.cpp.
References myDict.
Referenced by MSNet::clearAll(), markDelayed(), and MSVehicle::updateBestLanes().
|
inherited |
Clears the parameter map.
Definition at line 91 of file Parameterised.cpp.
References Parameterised::myMap.
void MSEdge::closeBuilding | ( | ) |
Definition at line 136 of file MSEdge.cpp.
References MSLane::getEdge(), myAllowed, myLanes, myPredecessors, mySuccessors, and rebuildAllowedLanes().
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 314 of file MSEdge.cpp.
References myVaporizationRequests.
Referenced by NLTriggerBuilder::buildVaporizer(), and isVaporizing().
|
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 579 of file MSEdge.cpp.
References getNumericalID(), myDict, and myEdges.
Referenced by NLHandler::addConnection(), NLHandler::addDistrict(), NLHandler::addDistrictEdge(), NLBuilder::EdgeFloatTimeLineRetriever_EdgeEffort::addEdgeWeight(), NLBuilder::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight(), NLHandler::addRoundabout(), NLEdgeControlBuilder::beginEdgeParsing(), NLTriggerBuilder::buildVaporizer(), NLHandler::closeEdge(), TraCIServerAPI_Simulation::convertCartesianToRoadMap(), NLDetectorBuilder::getEdgeChecking(), TraCIServerAPI_Simulation::getLaneChecking(), TraCIServerAPI_Edge::getShape(), MSPModel_Striping::initWalkingAreaPaths(), markDelayed(), NLHandler::myEndElement(), MSStateHandler::myStartElement(), MSRouteHandler::myStartElement(), MSTriggeredRerouter::myStartElement(), GUIApplicationWindow::onCmdEditChosen(), NLTriggerBuilder::parseAndBuildRerouter(), parseEdgesList(), MSRouteHandler::parseFromViaTo(), TraCIServerAPI_Edge::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Edge::processSet(), TraCIServerAPI_Route::processSet(), TraCIServerAPI_Vehicle::processSet(), MSBaseVehicle::reroute(), MSStateHandler::saveState(), and TraCIServerAPI_Vehicle::vtdMap().
|
static |
Returns the MSEdge associated to the key id if exists, otherwise returns 0.
Definition at line 595 of file MSEdge.cpp.
References myDict.
|
static |
|
static |
Returns the number of edges.
Definition at line 613 of file MSEdge.cpp.
References myDict.
Referenced by GUIEdge::fill(), MSPModel_Striping::initWalkingAreaPaths(), markDelayed(), GUIApplicationWindow::onCmdEditChosen(), and MSStateHandler::saveState().
|
protected |
lookup in map and return 0 if not found
Definition at line 236 of file MSEdge.cpp.
Referenced by allowedLanes().
SUMOReal MSEdge::getCurrentTravelTime | ( | const SUMOReal | 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 549 of file MSEdge.cpp.
References getLength(), MSGlobals::gUseMesoSim, MAX2(), myAmDelayed, myEmptyTraveltime, myLanes, and SUMOReal.
Referenced by MSVehicleTransfer::add(), MSVehicleTransfer::checkInsertions(), isVaporizing(), TraCIServerAPI_Edge::processGet(), 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 341 of file MSEdge.cpp.
References allowedLanes(), MSRoute::begin(), 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(), getFreeLane(), MSBaseVehicle::getParameter(), RandHelper::getRandomFrom(), MSBaseVehicle::getRoute(), MSVehicleType::getVehicleClass(), MSBaseVehicle::getVehicleType(), myLanes, MSRoute::size(), SUMOReal, and MSVehicle::updateBestLanes().
Referenced by getTravelTimeStatic(), and insertVehicle().
optimistic air distance heuristic for use in routing
[in] | other | The edge to which the distance shall be returned |
Definition at line 672 of file MSEdge.cpp.
References Position::distanceTo2D(), getFromJunction(), getLanes(), MSJunction::getPosition(), getToJunction(), and SUMOReal.
Referenced by getPermissions().
|
inline |
Returns the type of the edge.
Definition at line 270 of file MSEdge.h.
References myEdgeType.
Referenced by GUILane::getParameterWindow(), and MSLane::MSLane().
MSLane * MSEdge::getFreeLane | ( | const std::vector< MSLane * > * | allowed, |
const SUMOVehicleClass | vclass | ||
) | const |
Finds the emptiest lane allowing the vehicle class.
The emptiest lane is the one with the fewest vehicles on. 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 |
Definition at line 321 of file MSEdge.cpp.
References allowedLanes(), max, and SUMOReal.
Referenced by MSVehicleTransfer::checkInsertions(), getDepartLane(), and getTravelTimeStatic().
|
inline |
Definition at line 345 of file MSEdge.h.
References myFromJunction.
Referenced by MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), getDistanceTo(), MSPModel_Striping::getNextLane(), MSPModel_Striping::PState::PState(), and MSLink::setRequestInformation().
|
inlineinherited |
Returns the id.
Definition at line 65 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), MSNet::addChargingStation(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciBusOrContainerStop(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNEConnector::buildIinternalLanes(), GNETLSEditor::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getChargingStationID(), NBEdge::getConnection(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), GNEEdge::getDest(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), GNEEdge::getSource(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), insertVehicle(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_OpenDrive::loadNetwork(), ODDistrictCont::makeDistricts(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Person::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_ArealDetector::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNodeCont::removeIsolatedRoads(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), MSDevice_Battery::setActualBatteryCapacity(), MSDevice_Battery::setAirDragCoefficient(), NBNodeCont::setAsTLControlled(), MSChargingStation::setChrgPower(), MSDevice_Battery::setConstantPowerIntake(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), MSDevice_Battery::setFrontSurfaceArea(), MSDevice_Battery::setInternalMomentOfInertia(), GNEJunction::setLogicValid(), MSDevice_Battery::setMass(), MSDevice_Battery::setMaximumBatteryCapacity(), NIXMLEdgesHandler::setNodes(), MSDevice_Battery::setPowerMax(), MSDevice_Battery::setPropulsionEfficiency(), MSDevice_Battery::setRadialDragCoefficient(), MSDevice_Battery::setRecuperationEfficiency(), MSLink::setRequestInformation(), MSDevice_Battery::setRollDragCoefficient(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), GNETLSEditor::updateDescription(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSPModel_Striping::PState::walk(), MSLCM_JE2013::wantsChange(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
|
inlinestaticinherited |
|
inline |
Returns the list of edges from which this edge may be reached.
Definition at line 300 of file MSEdge.h.
References myPredecessors.
Referenced by NLEdgeControlBuilder::build(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), MSLane::getLogicalPredecessorLane(), and MSPModel_Striping::initWalkingAreaPaths().
|
inline |
Returns this edge's lanes.
Definition at line 186 of file MSEdge.h.
References allowedLanes(), getSortedContainers(), getSortedPersons(), myLanes, and SVC_IGNORING.
Referenced by MSLCM_JE2013::_patchSpeed(), MSLCM_LC2013::_patchSpeed(), MSVehicleTransfer::add(), NLHandler::addConnection(), GUIEdge::addRerouter(), MSRouteHandler::addStop(), MSBaseVehicle::calculateArrivalParams(), MSEdgeControl::changeLanes(), MSVehicleTransfer::checkInsertions(), GUIEdge::closeTraffic(), MSRouteHandler::closeVehicle(), CState::computeTranshipTime(), GUIEdge::drawGL(), GUILane::drawMarkings(), MSCalibrator::execute(), MS_E2_ZS_CollectorOverLanes::extendTo(), getDistanceTo(), MSTransportable::Stage::getEdgeAngle(), GUILane::getEdgeLaneNumber(), MSTransportable::Stage::getEdgePosition(), TraCIServerAPI_Simulation::getLaneChecking(), MSVehicle::getLaneIndex(), GUIEdge::getPopUpMenu(), MSContainer::MSContainerStage_Driving::getPosition(), GUIContainer::getPosition(), MSPerson::MSPersonStage_Driving::getPosition(), MSVehicle::getPosition(), TraCIServerAPI_Edge::getShape(), MSPModel::getSidewalk(), getSpeedLimit(), GUIEdge::getTotalLength(), getVehicleMaxSpeed(), GUICalibrator::GUICalibrator(), GUITriggeredRerouter::GUITriggeredRerouterEdge::GUITriggeredRerouterEdge(), MSVehicle::Influencer::influenceChangeDecision(), GUINet::initGUIStructures(), MSCalibrator::invalidJam(), GUISUMOViewParent::isSelected(), MSCalibrator::MSCalibrator(), MSRouteProbe::MSRouteProbe(), MSLCM_DK2008::patchSpeed(), TraCIServerAPI_Edge::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Edge::processSet(), TraCIServerAPI_Vehicle::processSet(), MSCalibrator::remainingVehicleCapacity(), MSVehicle::updateBestLanes(), TraCIServerAPI_Vehicle::vtdMap(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSQueueExport::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), and MSMeanData::writeEdge().
|
inline |
Returns the last time a vehicle could not be inserted.
Definition at line 486 of file MSEdge.h.
References myLastFailedInsertionTime.
Referenced by MSInsertionControl::checkCandidates().
|
inline |
return the length of the edge
Definition at line 535 of file MSEdge.h.
References getSpeedLimit(), getVehicleMaxSpeed(), myLength, and SUMOReal.
Referenced by NLTriggerBuilder::buildCalibrator(), MSDevice_Tripinfo::computeLengthAndDuration(), MSPModel_NonInteracting::PState::computeWalkingTime(), getCurrentTravelTime(), MSContainer::MSContainerStage_Driving::getEdgePos(), MSPerson::MSPersonStage_Driving::getEdgePos(), getMinimumTravelTime(), MSPModel_Striping::getNextLane(), GUIEdge::getParameterWindow(), GUIEdge::getTotalLength(), insertVehicle(), MSCalibrator::MSCalibrator(), MSRouteHandler::parseWalkPos(), MSCalibrator::remainingVehicleCapacity(), MSVehicle::updateBestLanes(), TraCIServerAPI_Vehicle::vtdMap(), and MSMeanData::writeEdge().
|
inlineinherited |
Returns the inner key/value map.
Definition at line 107 of file Parameterised.h.
References Parameterised::myMap.
Referenced by NBTrafficLightDefinition::compute(), GUIPerson::getParameterWindow(), GUIVehicle::getParameterWindow(), TraCIServerAPI_TLS::processGet(), ROVehicle::saveAllAsXML(), SUMOVTypeParameter::write(), PointOfInterest::writeXML(), and SUMO::Polygon::writeXML().
|
inline |
returns the minimum travel time for the given vehicle
Definition at line 410 of file MSEdge.h.
References getLength(), getSpeedLimit(), and getVehicleMaxSpeed().
Referenced by MSDevice_Routing::getEffort(), and MSNet::getTravelTime().
|
inline |
Returns the numerical id of the edge.
Definition at line 257 of file MSEdge.h.
References myNumericalID.
Referenced by MSEdgeControl::changeLanes(), dictionary(), MSMeanData_Amitran::getEdgeID(), and MSDevice_Routing::getEffort().
|
inline |
Returns the number of edges this edge is connected to.
Definition at line 331 of file MSEdge.h.
References myPredecessors.
Referenced by MSRouteHandler::parseFromViaTo().
|
inline |
Returns the number of edges that may be reached from this edge.
Definition at line 308 of file MSEdge.h.
References mySuccessors.
Referenced by NLEdgeControlBuilder::build(), and MSRouteHandler::parseFromViaTo().
|
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 81 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), MSDevice_Example::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), TraCIServerAPI_Edge::processGet(), TraCIServerAPI_Route::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_VehicleType::processGet(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), and TraCIServerAPI_Vehicle::vtdMap().
|
inline |
Definition at line 518 of file MSEdge.h.
References getDistanceTo(), myCombinedPermissions, rebuildAllowedLanes(), and SUMOReal.
|
inline |
Returns the edge at the given position from the list of reachable edges.
[in] | pos | The position of the list within the list of approached |
Definition at line 340 of file MSEdge.h.
References myPredecessors.
|
inline |
Returns the priority of the edge.
Definition at line 276 of file MSEdge.h.
References myPriority.
Referenced by GUILane::getColorValue(), GUILane::getParameterWindow(), and GUILane::getScaleValue().
|
inline |
Returns the edge type (EdgeBasicFunction)
Definition at line 235 of file MSEdge.h.
References myFunction.
Referenced by MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), MSLane::addApproachingLane(), MSLane::appropriate(), MSVehicle::checkRewindLinkLanes(), MSDevice_Routing::cleanup(), GUIEdge::drawGL(), GUILane::drawGL(), MSVehicle::enterLaneAtMove(), MSVehicle::getBestLanesContinuation(), GUIEdge::getIDs(), MSLane::getInternalFollower(), GUIEdge::getTotalLength(), insertVehicle(), MSLink::lastWasContMajor(), MSPModel_Striping::PState::moveToNextLane(), MSLCM_DK2008::patchSpeed(), MSVehicle::planMoveInternal(), MSDevice_Routing::preInsertionReroute(), MSLane::succLinkSec(), MSVehicle::updateBestLanes(), TraCIServerAPI_Vehicle::vtdMap(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().
std::vector< MSTransportable * > MSEdge::getSortedContainers | ( | SUMOTime | timestep | ) | const |
Returns this edge's containers sorted by pos.
Definition at line 704 of file MSEdge.cpp.
References myContainers.
Referenced by getLanes(), and MSXMLRawOut::writeEdge().
std::vector< MSTransportable * > MSEdge::getSortedPersons | ( | SUMOTime | timestep | ) | const |
Returns this edge's persons sorted by pos.
Definition at line 696 of file MSEdge.cpp.
References myPersons.
Referenced by getLanes(), TraCIServerAPI_Edge::processGet(), and MSXMLRawOut::writeEdge().
SUMOReal MSEdge::getSpeedLimit | ( | ) | const |
Returns the speed limit of the edge The speed limit of the first lane is retured; should probably be the fastest edge.
Definition at line 682 of file MSEdge.cpp.
References getLanes(), and SUMOReal.
Referenced by GUIApplicationWindow::checkGamingEvents(), GUIEdge::drawGL(), getLength(), getMinimumTravelTime(), insertVehicle(), MSCalibrator::invalidJam(), recalcCache(), MSCalibrator::remainingVehicleCapacity(), and MSMeanData::writeEdge().
|
inline |
Returns the street name of the edge.
Definition at line 264 of file MSEdge.h.
References myStreetName.
Referenced by GUIEdge::drawGL(), and GUILane::getParameterWindow().
|
inline |
Returns the following edges.
Definition at line 315 of file MSEdge.h.
References mySuccessors.
Referenced by NLEdgeControlBuilder::build(), MSLane::getInternalFollower(), MSPModel_Striping::initWalkingAreaPaths(), and TraCIServerAPI_Vehicle::vtdMap().
const MSEdgeVector & MSEdge::getSuccessors | ( | SUMOVehicleClass | vClass | ) | const |
Returns the following edges, restricted by vClass.
[in] | vClass | The vClass for which to restrict the successors |
Definition at line 722 of file MSEdge.cpp.
References allowedLanes(), EDGEFUNCTION_DISTRICT, MSNet::getInstance(), myClassesSuccessorMap, myFunction, mySuccessors, and SVC_IGNORING.
|
inline |
Definition at line 349 of file MSEdge.h.
References myToJunction.
Referenced by MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), getDistanceTo(), MSPModel_Striping::getNextLane(), MSRailSignal::init(), MSJunction::isLeader(), and MSPModel_Striping::PState::PState().
|
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 426 of file MSEdge.h.
References getDepartLane(), getFreeLane(), MSNet::getInstance(), MSNet::getTravelTime(), and insertVehicle().
SUMOReal MSEdge::getVehicleMaxSpeed | ( | const SUMOVehicle *const | veh | ) | const |
Returns the maximum speed the vehicle may use on this edge.
Only the first lane is considered
Definition at line 689 of file MSEdge.cpp.
References getLanes().
Referenced by getLength(), getMinimumTravelTime(), insertVehicle(), and MSDevice_Tripinfo::notifyMove().
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 307 of file MSEdge.cpp.
References myVaporizationRequests.
Referenced by NLTriggerBuilder::buildVaporizer(), and isVaporizing().
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 109 of file MSEdge.cpp.
References EDGEFUNCTION_DISTRICT, OptionsCont::getOptions(), MSGlobals::gUseMesoSim, myCombinedPermissions, myFunction, myLaneChanger, myLanes, recalcCache(), and SVCAll.
Referenced by NLHandler::addDistrict(), and NLEdgeControlBuilder::closeEdge().
|
static |
Inserts IDs of all known edges into the given vector.
Definition at line 634 of file MSEdge.cpp.
References myDict.
Referenced by markDelayed(), and TraCIServerAPI_Edge::processGet().
bool MSEdge::insertVehicle | ( | SUMOVehicle & | v, |
SUMOTime | time, | ||
const bool | checkOnly = 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 |
Definition at line 396 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, MSInsertionControl::descheduleDeparture(), EDGEFUNCTION_DISTRICT, MSGlobals::gCheckRoutes, MSLane::getBruttoOccupancy(), getDepartLane(), SUMOVehicle::getEdge(), Named::getID(), SUMOVehicle::getID(), MSNet::getInsertionControl(), MSNet::getInstance(), getLength(), MSVehicleType::getLengthWithGap(), SUMOVehicle::getParameter(), getPurpose(), MSVehicleType::getSpeedDeviation(), MSVehicleType::getSpeedFactor(), getSpeedLimit(), getVehicleMaxSpeed(), SUMOVehicle::getVehicleType(), MSGlobals::gUseMesoSim, SUMOVehicle::hasValidRoute(), SUMOVehicleParameter::id, MSLane::insertVehicle(), isVaporizing(), myLanes, myLength, RandHelper::rand(), SUMOVehicle::setChosenSpeedFactor(), SUMOReal, toString(), UNUSED_PARAMETER, and WRITE_WARNING.
Referenced by MSInsertionControl::checkCandidates(), MSCalibrator::execute(), and getTravelTimeStatic().
|
inline |
return whether this edge is a pedestrian crossing
Definition at line 245 of file MSEdge.h.
References EDGEFUNCTION_CROSSING, and myFunction.
Referenced by MSPModel_Striping::getNextLane().
|
inline |
return whether this edge is an internal edge
Definition at line 240 of file MSEdge.h.
References EDGEFUNCTION_INTERNAL, and myFunction.
Referenced by NLEdgeControlBuilder::build(), MSLaneChanger::checkChange(), MSDevice_Tripinfo::computeLengthAndDuration(), MSPModel_Striping::getNextLane(), MSVehicle::planMoveInternal(), and MSLink::setRequestInformation().
|
inline |
Definition at line 578 of file MSEdge.h.
References myAmRoundabout.
Referenced by MSVehicle::checkRewindLinkLanes(), and MSVehicle::executeMove().
|
inline |
Returns whether vehicles on this edge shall be vaporized.
Definition at line 368 of file MSEdge.h.
References decVaporization(), getCurrentTravelTime(), incVaporization(), myVaporizationRequests, NUMERICAL_EPS, and SUMOReal.
Referenced by MSVehicle::executeMove(), MSLane::executeMovements(), and insertVehicle().
|
inline |
return whether this edge is walking area
Definition at line 250 of file MSEdge.h.
References EDGEFUNCTION_WALKINGAREA, and myFunction.
Referenced by MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::initWalkingAreaPaths(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::PState::moveToNextLane(), and MSPModel_Striping::PState::PState().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 75 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSDevice_Example::buildVehicleDevices(), and MSDevice::equippedByDefaultAssignmentOptions().
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 197 of file MSEdge.cpp.
References parallelLane().
|
inline |
Definition at line 582 of file MSEdge.h.
References myAmRoundabout.
Referenced by NLHandler::addRoundabout(), and NLEdgeControlBuilder::build().
|
inline |
Definition at line 586 of file MSEdge.h.
References clear(), dictionary(), dictSize(), insertIDs(), myAmDelayed, numericalDictSize(), and parseEdgesList().
Referenced by MSLane::incorporateVehicle(), and MSLane::integrateNewVehicle().
|
static |
Returns the number of edges with a numerical id.
Definition at line 619 of file MSEdge.cpp.
References myEdges.
Referenced by MSNet::getRouterEffort(), MSNet::getRouterTT(), markDelayed(), and MSDevice_Routing::reroute().
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 |
Definition at line 209 of file MSEdge.cpp.
References 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 642 of file MSEdge.cpp.
References BinaryFormatter::BF_ROUTE, StringTokenizer::getVector(), and FileHelpers::readEdgeVector().
Referenced by markDelayed(), MSStateHandler::myStartElement(), MSRouteHandler::myStartElement(), MSRouteHandler::openRoute(), MSRouteHandler::parseFromViaTo(), and TraCIServerAPI_Vehicle::processSet().
|
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 657 of file MSEdge.cpp.
References dictionary(), and SUMOReal.
|
inline |
Returns whether the vehicle (class) is not allowed on the edge.
Definition at line 510 of file MSEdge.h.
References MSVehicleType::getVehicleClass(), SUMOVehicle::getVehicleType(), and myCombinedPermissions.
void MSEdge::rebuildAllowedLanes | ( | ) |
Definition at line 175 of file MSEdge.cpp.
References myClassedAllowed, myClassesSuccessorMap, myCombinedPermissions, myLanes, myMinimumPermissions, and SVCAll.
Referenced by closeBuilding(), GUIEdge::closeTraffic(), GUILane::closeTraffic(), getPermissions(), TraCIServerAPI_Edge::processSet(), and TraCIServerAPI_Lane::processSet().
void MSEdge::recalcCache | ( | ) |
Recalculates the cached values.
Definition at line 129 of file MSEdge.cpp.
References getSpeedLimit(), MAX2(), myEmptyTraveltime, myLanes, myLength, and NUMERICAL_EPS.
Referenced by initialize(), MSLane::setLength(), and MSLane::setMaxSpeed().
|
inlinevirtual |
Remove container from myContainers.
Reimplemented in GUIEdge.
Definition at line 571 of file MSEdge.h.
References myContainers.
Referenced by MSContainerControl::abortWaiting(), MSContainerControl::loadAnyWaiting(), MSContainer::MSContainerStage_Driving::proceed(), MSContainer::MSContainerStage_Tranship::proceed(), MSContainer::proceed(), and GUIEdge::removeContainer().
|
inlinevirtual |
Reimplemented in GUIEdge.
Definition at line 558 of file MSEdge.h.
References myPersons.
Referenced by MSPersonControl::abortWaiting(), MSPersonControl::boardAnyWaiting(), MSPerson::MSPersonStage_Walking::proceed(), MSPerson::MSPersonStage_Driving::proceed(), MSPerson::proceed(), and GUIEdge::removePerson().
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 203 of file MSEdge.cpp.
References parallelLane().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 73 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
|
inline |
Definition at line 354 of file MSEdge.h.
References 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 494 of file MSEdge.h.
References changeLanes(), and myLastFailedInsertionTime.
|
protected |
Associative container from destination-edge to allowed-lanes.
Definition at line 726 of file MSEdge.h.
Referenced by allowedLanes(), closeBuilding(), and ~MSEdge().
|
mutableprotected |
whether this edge had a vehicle with less than max speed on it
Definition at line 754 of file MSEdge.h.
Referenced by getCurrentTravelTime(), and markDelayed().
|
protected |
whether this edge belongs to a roundabout
Definition at line 757 of file MSEdge.h.
Referenced by isRoundabout(), and markAsRoundabout().
|
mutableprotected |
From vehicle class to lanes allowed to be used by it.
Definition at line 730 of file MSEdge.h.
Referenced by allowedLanes(), rebuildAllowedLanes(), and ~MSEdge().
|
mutableprotected |
The successors available for a given vClass.
Definition at line 778 of file MSEdge.h.
Referenced by getSuccessors(), and rebuildAllowedLanes().
|
protected |
The union of lane permissions for this edge.
Definition at line 735 of file MSEdge.h.
Referenced by getPermissions(), initialize(), prohibits(), and rebuildAllowedLanes().
|
mutableprotected |
Containers on the edge.
Definition at line 720 of file MSEdge.h.
Referenced by addContainer(), GUIEdge::drawGL(), getSortedContainers(), and removeContainer().
|
staticprotected |
Static dictionary to associate string-ids with objects.
Definition at line 768 of file MSEdge.h.
Referenced by clear(), dictionary(), dictSize(), GUIEdge::fill(), GUIEdge::getIDs(), GUIEdge::getTotalLength(), and insertIDs().
|
staticprotected |
Static list of edges.
Definition at line 773 of file MSEdge.h.
Referenced by dictionary(), and numericalDictSize().
|
protected |
the type of the edge (optionally used during network creation)
Definition at line 742 of file MSEdge.h.
Referenced by getEdgeType().
|
protected |
the traveltime on the empty edge (cached value for speedup)
Definition at line 751 of file MSEdge.h.
Referenced by getCurrentTravelTime(), and recalcCache().
|
protected |
the junctions for this edge
Definition at line 713 of file MSEdge.h.
Referenced by getFromJunction(), and setJunctions().
|
protected |
the purpose of the edge
Definition at line 698 of file MSEdge.h.
Referenced by changeLanes(), GUIEdge::drawGL(), getPurpose(), getSuccessors(), initialize(), isCrossing(), isInternal(), and isWalkingArea().
|
protectedinherited |
The name of the object.
Definition at line 133 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), NBNode::computeNodeShape(), MSCalibrator::execute(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSCalibrator::myStartElement(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), RORouteDef::repairCurrentRoute(), Named::setID(), NBEdge::splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
protected |
This member will do the lane-change.
Definition at line 695 of file MSEdge.h.
Referenced by changeLanes(), initialize(), 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 692 of file MSEdge.h.
Referenced by changeLanes(), closeBuilding(), GUIEdge::drawGL(), GUIEdge::getBoundary(), getCurrentTravelTime(), getDepartLane(), getLanes(), GUIEdge::getParameterWindow(), initialize(), insertVehicle(), parallelLane(), rebuildAllowedLanes(), recalcCache(), and ~MSEdge().
|
mutableprotected |
The time of last insertion failure.
Definition at line 704 of file MSEdge.h.
Referenced by getLastFailedInsertionTime(), and setLastFailedInsertionTime().
|
protected |
the length of the edge (cached value for speedup)
Definition at line 748 of file MSEdge.h.
Referenced by getLength(), insertVehicle(), and recalcCache().
|
protected |
The intersection of lane permissions for this edge.
Definition at line 733 of file MSEdge.h.
Referenced by allowedLanes(), and rebuildAllowedLanes().
|
protected |
|
mutableprotected |
Persons on the edge (only for drawing)
Definition at line 717 of file MSEdge.h.
Referenced by addPerson(), GUIEdge::drawGL(), getSortedPersons(), and removePerson().
|
protected |
The preceeding edges.
Definition at line 710 of file MSEdge.h.
Referenced by addSuccessor(), closeBuilding(), getIncomingEdges(), getNumPredecessors(), and getPredecessors().
|
protected |
the priority of the edge (used during network creation)
Definition at line 745 of file MSEdge.h.
Referenced by getPriority().
|
protected |
the real-world name of this edge (need not be unique)
Definition at line 739 of file MSEdge.h.
Referenced by GUIEdge::drawGL(), and getStreetName().
|
protected |
The succeeding edges.
Definition at line 707 of file MSEdge.h.
Referenced by addSuccessor(), closeBuilding(), getNumSuccessors(), and getSuccessors().
|
protected |
Definition at line 714 of file MSEdge.h.
Referenced by getToJunction(), and setJunctions().
|
protected |
Vaporizer counter.
Definition at line 701 of file MSEdge.h.
Referenced by decVaporization(), incVaporization(), and isVaporizing().