SUMO - Simulation of Urban MObility
|
A basic edge for routing applications. More...
#include <ROEdge.h>
Public Types | |
enum | EdgeFunc { ET_NORMAL, ET_DISTRICT, ET_SOURCE, ET_SINK, ET_WALKINGAREA, ET_CROSSING, ET_INTERNAL } |
Possible functions of edges. More... | |
Public Member Functions | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
SUMOReal | getDistanceTo (const ROEdge *other) const |
optimistic distance heuristic for use in routing More... | |
const RONode * | getFromJunction () const |
const std::string & | getID () const |
Returns the id. More... | |
const std::vector< ROLane * > & | getLanes () const |
Returns this edge's lanes. More... | |
int | getPriority () const |
get edge priority (road class) More... | |
const RONode * | getToJunction () const |
ROEdge (const std::string &id, RONode *from, RONode *to, int index, const int priority) | |
Constructor. More... | |
void | setID (const std::string &newID) |
resets the id More... | |
virtual | ~ROEdge () |
Destructor. More... | |
Set-up methods | |
virtual void | addLane (ROLane *lane) |
Adds a lane to the edge while loading. More... | |
virtual void | addSuccessor (ROEdge *s, std::string dir="") |
Adds information about a connected edge. More... | |
void | setFunc (EdgeFunc func) |
Sets the function of the edge. More... | |
void | setRestrictions (const std::map< SUMOVehicleClass, SUMOReal > *restrictions) |
Sets the vehicle class specific speed limits of the edge. 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... | |
void | buildTimeLines (const std::string &measure, const bool boundariesOverride) |
Builds the internal representation of the travel time/effort. More... | |
Getter methods | |
EdgeFunc | getFunc () const |
Returns the function of the edge. More... | |
SUMOReal | getLength () const |
Returns the length of the edge. More... | |
int | getNumericalID () const |
Returns the index (numeric id) of the edge. More... | |
SUMOReal | getSpeed () const |
Returns the speed allowed on this edge. More... | |
SUMOReal | getVClassMaxSpeed (SUMOVehicleClass vclass) const |
Returns the lane's maximum speed, given a vehicle's speed limit adaptation. More... | |
int | getLaneNo () const |
Returns the number of lanes this edge has. More... | |
bool | isConnectedTo (const ROEdge *const e, const ROVehicle *const vehicle) const |
returns the information whether this edge is directly connected to the given More... | |
bool | prohibits (const ROVehicle *const vehicle) const |
Returns whether this edge prohibits the given vehicle to pass it. More... | |
SVCPermissions | getPermissions () const |
bool | allFollowersProhibit (const ROVehicle *const vehicle) const |
Returns whether this edge succeeding edges prohibit the given vehicle to pass them. More... | |
Static Public Member Functions | |
static int | dictSize () |
Returns the number of edges. More... | |
static const ROEdgeVector & | getAllEdges () |
Returns all ROEdges. More... | |
template<class T > | |
static std::string | getIDSecure (const T *obj, const std::string &fallBack="NULL") |
get an identifier for Named-like object which may be Null More... | |
static void | setGlobalOptions (const bool interpolate) |
Protected Member Functions | |
bool | getStoredEffort (SUMOReal time, SUMOReal &ret) const |
Retrieves the stored effort. More... | |
Protected Attributes | |
ROEdgeVector | myApproachingEdges |
List of edges that approached this edge. More... | |
std::map< SUMOVehicleClass, ROEdgeVector > | myClassesSuccessorMap |
The successors available for a given vClass. More... | |
SVCPermissions | myCombinedPermissions |
The list of allowed vehicle classes combined across lanes. More... | |
ValueTimeLine< SUMOReal > | myEfforts |
Container storing passing time varying over time for the edge. More... | |
ROEdgeVector | myFollowingEdges |
List of edges that may be approached from this edge. More... | |
RONode * | myFromJunction |
the junctions for this edge More... | |
EdgeFunc | myFunc |
The function of the edge. More... | |
std::string | myID |
The name of the object. More... | |
const int | myIndex |
The index (numeric id) of the edge. More... | |
std::vector< ROLane * > | myLanes |
This edge's lanes. More... | |
SUMOReal | myLength |
The length of the edge. More... | |
const int | myPriority |
The edge priority (road class) More... | |
const std::map < SUMOVehicleClass, SUMOReal > * | myRestrictions |
The vClass speed restrictions for this edge. More... | |
SUMOReal | mySpeed |
The maximum speed allowed on this edge. More... | |
RONode * | myToJunction |
ValueTimeLine< SUMOReal > | myTravelTimes |
Container storing passing time varying over time for the edge. More... | |
bool | myUsingETimeLine |
Information whether the time line shall be used instead of the length value. More... | |
bool | myUsingTTTimeLine |
Information whether the time line shall be used instead of the length value. More... | |
Static Protected Attributes | |
static ROEdgeVector | myEdges |
static bool | myHaveEWarned = false |
Information whether the edge has reported missing weights. More... | |
static bool | myHaveTTWarned = false |
Information whether the edge has reported missing weights. More... | |
static bool | myInterpolate = false |
Information whether to interpolate at interval boundaries. More... | |
Private Member Functions | |
ROEdge & | operator= (const ROEdge &src) |
Invalidated assignment operator. More... | |
ROEdge (const ROEdge &src) | |
Invalidated copy constructor. More... | |
Methods for getting/setting travel time and cost information | |
void | addEffort (SUMOReal value, SUMOReal timeBegin, SUMOReal timeEnd) |
Adds a weight value. More... | |
void | addTravelTime (SUMOReal value, SUMOReal timeBegin, SUMOReal timeEnd) |
Adds a travel time value. More... | |
int | getNumSuccessors () const |
Returns the number of edges this edge is connected to. More... | |
const ROEdgeVector & | getSuccessors () const |
Returns the following edges. More... | |
const ROEdgeVector & | getSuccessors (SUMOVehicleClass vClass) const |
Returns the following edges, restricted by vClass. More... | |
int | getNumPredecessors () const |
Returns the number of edges connected to this edge. More... | |
const ROEdgeVector & | getPredecessors () const |
Returns the edge at the given position from the list of incoming edges. More... | |
SUMOReal | getEffort (const ROVehicle *const veh, SUMOReal time) const |
Returns the effort for this edge. More... | |
bool | hasLoadedTravelTime (SUMOReal time) const |
Returns whether a travel time for this edge was loaded. More... | |
SUMOReal | getTravelTime (const ROVehicle *const veh, SUMOReal time) const |
Returns the travel time for this edge. More... | |
SUMOReal | getMinimumTravelTime (const ROVehicle *const veh) const |
Returns a lower bound for the travel time on this edge without using any stored timeLine. More... | |
static SUMOReal | getEffortStatic (const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time) |
Returns the effort for the given edge. More... | |
static SUMOReal | getTravelTimeStatic (const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time) |
Returns the travel time for the given edge. More... | |
template<PollutantsInterface::EmissionType ET> | |
static SUMOReal | getEmissionEffort (const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time) |
static SUMOReal | getNoiseEffort (const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time) |
A basic edge for routing applications.
The edge contains two time lines, one for the travel time and one for a second measure which may be used for computing the costs of a route. After loading the weights, it is needed to call "buildTimeLines" in order to initialise these time lines.
enum ROEdge::EdgeFunc |
Possible functions of edges.
ROEdge::ROEdge | ( | const std::string & | id, |
RONode * | from, | ||
RONode * | to, | ||
int | index, | ||
const int | priority | ||
) |
Constructor.
[in] | id | The id of the edge |
[in] | from | The node the edge begins at |
[in] | to | The node the edge ends at |
[in] | index | The numeric id of the edge |
Definition at line 66 of file ROEdge.cpp.
References myCombinedPermissions, myEdges, and SVCAll.
|
virtual |
|
private |
Invalidated copy constructor.
Adds a weight value.
[in] | value | The value to add |
[in] | timeBegin | The begin time of the interval the given value is valid for [s] |
[in] | timeEnd | The end time of the interval the given value is valid for [s] |
Definition at line 118 of file ROEdge.cpp.
References ValueTimeLine< T >::add(), myEfforts, and myUsingETimeLine.
Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeWeight::addEdgeWeight().
|
virtual |
Adds a lane to the edge while loading.
The lane's length is adapted. Additionally, the information about allowed/disallowed vehicle classes is patched using the information stored in the lane.
[in] | lane | The lane to add |
Definition at line 96 of file ROEdge.cpp.
References ROLane::getLength(), ROLane::getPermissions(), ROLane::getSpeed(), myCombinedPermissions, myLanes, myLength, mySpeed, and SUMOReal.
Referenced by RONetHandler::parseLane().
|
virtual |
Adds information about a connected edge.
The edge s is added to "myFollowingEdges" and this edge is added as predecessor to s.
[in] | s | The edge to add |
Reimplemented in ROMAEdge, and ROJTREdge.
Definition at line 109 of file ROEdge.cpp.
References myApproachingEdges, and myFollowingEdges.
Referenced by RONet::addDistrictEdge(), ROJTREdge::addSuccessor(), and ROMAEdge::addSuccessor().
|
inlineinherited |
Adds this object to the given container.
in,filled] | cont The container to add this item to |
Definition at line 129 of file Named.h.
References Named::StoringVisitor::add().
Adds a travel time value.
[in] | value | The value to add |
[in] | timeBegin | The begin time of the interval the given value is valid for [s] |
[in] | timeEnd | The end time of the interval the given value is valid for [s] |
Definition at line 125 of file ROEdge.cpp.
References ValueTimeLine< T >::add(), myTravelTimes, and myUsingTTTimeLine.
Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight(), ROMAAssignments::incremental(), and ROMAAssignments::sue().
bool ROEdge::allFollowersProhibit | ( | const ROVehicle *const | vehicle | ) | const |
Returns whether this edge succeeding edges prohibit the given vehicle to pass them.
[in] | vehicle | The vehicle for which the information has to be returned |
Definition at line 271 of file ROEdge.cpp.
References myFollowingEdges.
Referenced by ROJTREdge::chooseNext().
void ROEdge::buildTimeLines | ( | const std::string & | measure, |
const bool | boundariesOverride | ||
) |
Builds the internal representation of the travel time/effort.
Should be called after weights / travel times have been loaded.
In the case "weight-attribute" is one of "CO", "CO2", "HC", "NOx", "PMx", "fuel", or "electricity" the proper value (departs/s) is computed and multiplied with the travel time.
[in] | measure | The name of the measure to use. |
Definition at line 237 of file ROEdge.cpp.
References PollutantsInterface::CO, PollutantsInterface::CO2, PollutantsInterface::compute(), PollutantsInterface::ELEC, ValueTimeLine< T >::fillGaps(), PollutantsInterface::FUEL, PollutantsInterface::getClassByName(), PollutantsInterface::HC, myEfforts, myLength, mySpeed, myTravelTimes, myUsingETimeLine, myUsingTTTimeLine, PollutantsInterface::NO_X, PollutantsInterface::PM_X, and SUMOReal.
|
inlinestatic |
|
static |
Returns all ROEdges.
Definition at line 282 of file ROEdge.cpp.
References myEdges.
Referenced by computeAllPairs(), and computeRoutes().
optimistic distance heuristic for use in routing
Definition at line 142 of file ROEdge.cpp.
References Position::distanceTo2D(), getFromJunction(), RONode::getPosition(), and getToJunction().
Returns the effort for this edge.
[in] | veh | The vehicle for which the effort on this edge shall be retrieved |
[in] | time | The tim for which the effort shall be returned [s] |
Definition at line 132 of file ROEdge.cpp.
References getStoredEffort(), RORoutable::getType(), SUMOVTypeParameter::maxSpeed, MIN2(), myLength, mySpeed, and SUMOReal.
Referenced by getEffortStatic(), and ROMAAssignments::getPenalizedEffort().
|
inlinestatic |
Returns the effort for the given edge.
[in] | edge | The edge for which the effort shall be retrieved |
[in] | veh | The vehicle for which the effort on this edge shall be retrieved |
[in] | time | The time for which the effort shall be returned [s] |
Definition at line 371 of file ROEdge.h.
References getEffort().
|
inlinestatic |
Definition at line 399 of file ROEdge.h.
References PollutantsInterface::computeDefault(), SUMOVTypeParameter::emissionClass, SUMOVTypeParameter::getCFParam(), SUMOVTypeParameter::getDefaultAccel(), SUMOVTypeParameter::getDefaultImperfection(), getStoredEffort(), getTravelTime(), RORoutable::getType(), SUMOVTypeParameter::maxSpeed, MIN2(), mySpeed, SUMO_ATTR_ACCEL, SUMO_ATTR_SIGMA, SUMOReal, and SUMOVTypeParameter::vehicleClass.
|
inline |
Definition at line 436 of file ROEdge.h.
References myFromJunction.
Referenced by RODFNet::buildApproachList(), AGPosition::compute2dPosition(), and getDistanceTo().
|
inline |
Returns the function of the edge.
Definition at line 190 of file ROEdge.h.
References myFunc.
Referenced by RONet::addEdge(), ROMAAssignments::capacityConstraintFunction(), ROJTRRouter::compute(), ROMAAssignments::getCapacity(), getNumPredecessors(), getNumSuccessors(), and writeInterval().
|
inlineinherited |
Returns the id.
Definition at line 66 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), PCPolyContainer::add(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), IntermodalRouter< E, L, N, V >::addAccess(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), MSNet::addChargingStation(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), ROVehicle::addStop(), MSVehicle::addStop(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciBusOrContainerStop(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NLDetectorBuilder::convUncontE2PosLength(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), GUINet::createTLWrapper(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), TraCIServerAPI_Vehicle::findCloserLane(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSNet::getBusStopID(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSNet::getChargingStationID(), NBEdge::getConnection(), NBEdge::getConnectionRef(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), MSE2Collector::getEstimateQueueLength(), NBEdge::getFirstNonPedestrianLane(), MSLane::getFollower(), MSLane::getFollowerOnConsecutive(), MSLane::getFollowersOnConsecutive(), GNEEdge::getGNEJunctionDest(), GNEEdge::getGNEJunctionSource(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUIVehicle::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), RODFNet::isSource(), MSSOTLTrafficLightLogic::isThresholdPassed(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), NBNodeCont::mapToNumericalIDs(), NBEdgeCont::mapToNumericalIDs(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSE2Collector::notifyMove(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_SL2015::patchSpeed(), MSLCM_LC2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSLane::planMovements(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_ArealDetector::processGet(), TraCIServerAPI_Lane::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNodeCont::removeIsolatedRoads(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), MSBaseVehicle::reroute(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), MSBaseVehicle::saveState(), MSLane::saveState(), MSDevice_Battery::setAirDragCoefficient(), NBNodeCont::setAsTLControlled(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), MSDevice_Battery::setConstantPowerIntake(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), MSDevice_Battery::setFrontSurfaceArea(), MSDevice_Battery::setInternalMomentOfInertia(), GNEJunction::setLogicValid(), MSDevice_Battery::setMass(), MSDevice_Battery::setMaximumBatteryCapacity(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSDevice_Battery::setPropulsionEfficiency(), MSDevice_Battery::setRadialDragCoefficient(), MSDevice_Battery::setRecuperationEfficiency(), MSLink::setRequestInformation(), MSDevice_Battery::setRollDragCoefficient(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSVehicle::updateBestLanes(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditorFrame::updateDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), and RONet::~RONet().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 59 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSLaneChanger::continueChange(), MSVehicle::getBackPositionOnLane(), MSVehicle::getCenterOnEdge(), MSLane::getFollowerOnConsecutive(), MSLane::getFollowersOnConsecutive(), MSVehicle::getLatOffset(), operator<<(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().
|
inline |
Returns the number of lanes this edge has.
Definition at line 235 of file ROEdge.h.
References myLanes.
Referenced by ROMAAssignments::capacityConstraintFunction(), ROMAAssignments::getCapacity(), and RODFDetectorHandler::myStartElement().
|
inline |
Returns this edge's lanes.
Definition at line 449 of file ROEdge.h.
References myLanes.
Referenced by RONetHandler::parseConnection().
|
inline |
Returns the length of the edge.
Definition at line 198 of file ROEdge.h.
References myLength.
Referenced by RORouteHandler::addStop(), RODFNet::buildRoutes(), ROMAAssignments::capacityConstraintFunction(), AGPosition::compute2dPosition(), RODFNet::getAbsPos(), getTravelTime(), RONetHandler::parseStoppingPlace(), AGActivityGenHandler::parseStreets(), AGStreet::print(), AGPosition::print(), AGPosition::randomPositionInStreet(), and writeInterval().
Returns a lower bound for the travel time on this edge without using any stored timeLine.
[in] | veh | The vehicle for which the effort on this edge shall be retrieved |
[in] | time | The time for which the effort shall be returned [s] |
Definition at line 393 of file ROEdge.h.
References ROVehicle::getChosenSpeedFactor(), RORoutable::getType(), SUMOVTypeParameter::maxSpeed, MIN2(), myLength, and mySpeed.
Referenced by getTravelTime().
|
static |
Definition at line 183 of file ROEdge.cpp.
References HelpersHarmonoise::computeNoise(), SUMOVTypeParameter::emissionClass, getStoredEffort(), RORoutable::getType(), SUMOVTypeParameter::maxSpeed, MIN2(), mySpeed, and SUMOReal.
Referenced by computeRoutes().
|
inline |
Returns the index (numeric id) of the edge.
Definition at line 205 of file ROEdge.h.
References myIndex.
Referenced by RONet::createBulkRouteRequests().
int ROEdge::getNumPredecessors | ( | ) | const |
Returns the number of edges connected to this edge.
If this edge's type is set to "source", 0 is returned, otherwise the number of edges stored in "myApproachingEdges".
Definition at line 228 of file ROEdge.cpp.
References ET_SOURCE, getFunc(), and myApproachingEdges.
Referenced by RORouteHandler::parseFromViaTo().
int ROEdge::getNumSuccessors | ( | ) | const |
Returns the number of edges this edge is connected to.
If this edge's type is set to "sink", 0 is returned, otherwise the number of edges stored in "myFollowingEdges".
Definition at line 219 of file ROEdge.cpp.
References ET_SINK, getFunc(), and myFollowingEdges.
Referenced by RODFDetector::computeSplitProbabilities(), and RORouteHandler::parseFromViaTo().
|
inline |
Definition at line 258 of file ROEdge.h.
References myCombinedPermissions.
Referenced by AGStreet::allows().
|
inline |
Returns the edge at the given position from the list of incoming edges.
[in] | pos | The position of the list within the list of incoming |
Definition at line 331 of file ROEdge.h.
References myApproachingEdges.
Referenced by RODFDetector::computeSplitProbabilities().
|
inline |
get edge priority (road class)
Definition at line 432 of file ROEdge.h.
References myPriority.
Referenced by ROMAAssignments::capacityConstraintFunction(), and ROMAAssignments::getCapacity().
|
inline |
Returns the speed allowed on this edge.
Definition at line 213 of file ROEdge.h.
References mySpeed.
Referenced by RODFNet::buildEdgeFlowMap(), RODFNet::buildRoutes(), ROMAAssignments::capacityConstraintFunction(), RODFNet::computeRoutesFor(), ROMAAssignments::getCapacity(), getTravelTime(), RODFNet::isDestination(), RODFNet::isFalseSource(), and RODFNet::isSource().
Retrieves the stored effort.
[in] | veh | The vehicle for which the effort on this edge shall be retrieved |
[in] | time | The tim for which the effort shall be returned |
Definition at line 194 of file ROEdge.cpp.
References ValueTimeLine< T >::describesTime(), ValueTimeLine< T >::getSplitTime(), ValueTimeLine< T >::getValue(), myEfforts, myHaveEWarned, Named::myID, myInterpolate, myTravelTimes, myUsingETimeLine, SUMOReal, toString(), and WRITE_WARNING.
Referenced by getEffort(), getEmissionEffort(), and getNoiseEffort().
|
inline |
Returns the following edges.
Definition at line 305 of file ROEdge.h.
References myFollowingEdges.
Referenced by RODFNet::buildApproachList(), and isConnectedTo().
const ROEdgeVector & ROEdge::getSuccessors | ( | SUMOVehicleClass | vClass | ) | const |
Returns the following edges, restricted by vClass.
[in] | vClass | The vClass for which to restrict the successors |
Definition at line 288 of file ROEdge.cpp.
References ET_DISTRICT, ROLane::getEdge(), RONet::getInstance(), ROLane::getOutgoingLanes(), ROLane::getPermissions(), myClassesSuccessorMap, myFollowingEdges, myFunc, myLanes, and SVC_IGNORING.
|
inline |
Definition at line 440 of file ROEdge.h.
References myToJunction.
Referenced by RODFNet::buildApproachList(), AGPosition::compute2dPosition(), and getDistanceTo().
Returns the travel time for this edge.
[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 159 of file ROEdge.cpp.
References ValueTimeLine< T >::describesTime(), getMinimumTravelTime(), ValueTimeLine< T >::getSplitTime(), RORoutable::getType(), ValueTimeLine< T >::getValue(), MAX2(), SUMOVTypeParameter::maxSpeed, MIN2(), myHaveTTWarned, Named::myID, myInterpolate, myLength, mySpeed, myTravelTimes, myUsingTTTimeLine, SUMOVTypeParameter::speedFactor, split(), SUMOReal, toString(), and WRITE_WARNING.
Referenced by ROJTRRouter::compute(), getEmissionEffort(), ROMAAssignments::getPenalizedTT(), ROMAAssignments::getTravelTime(), getTravelTimeStatic(), ROMAAssignments::incremental(), and writeInterval().
|
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 383 of file ROEdge.h.
References getTravelTime().
Referenced by computeRoutes().
|
inline |
Returns the lane's maximum speed, given a vehicle's speed limit adaptation.
[in] | The | vehicle to return the adapted speed limit for |
Definition at line 221 of file ROEdge.h.
References myRestrictions, and mySpeed.
Referenced by RODFNet::buildEdgeFlowMap().
bool ROEdge::hasLoadedTravelTime | ( | SUMOReal | time | ) | const |
Returns whether a travel time for this edge was loaded.
[in] | time | The time for which the travel time shall be returned [s] |
Definition at line 153 of file ROEdge.cpp.
References ValueTimeLine< T >::describesTime(), myTravelTimes, and myUsingTTTimeLine.
Referenced by ROMAAssignments::incremental().
returns the information whether this edge is directly connected to the given
[in] | e | The edge which may be connected |
[in] | vehicle | The vehicle for which the connectivity is checked |
Definition at line 329 of file ROEdge.cpp.
References getSuccessors(), RORoutable::getVClass(), and SVC_IGNORING.
|
inline |
return whether this edge is a pedestrian crossing
Definition at line 160 of file ROEdge.h.
References ET_CROSSING, and myFunc.
|
inline |
return whether this edge is an internal edge
Definition at line 155 of file ROEdge.h.
References ET_INTERNAL, and myFunc.
|
inline |
return whether this edge is walking area
Definition at line 165 of file ROEdge.h.
References ET_WALKINGAREA, and myFunc.
|
inline |
Returns whether this edge prohibits the given vehicle to pass it.
[in] | vehicle | The vehicle for which the information has to be returned |
Definition at line 253 of file ROEdge.h.
References RORoutable::getVClass(), and myCombinedPermissions.
Referenced by ROVehicle::addStop(), ROJTREdge::chooseNext(), and ROJTRRouter::compute().
|
inline |
Sets the function of the edge.
[in] | func | The new function for the edge |
Definition at line 141 of file ROEdge.h.
References myFunc.
Referenced by RONet::addDistrict(), loadJTRDefinitions(), ROJTRTurnDefLoader::myStartElement(), and RONetHandler::parseEdge().
|
inlinestatic |
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 74 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::mapToNumericalIDs(), NBEdgeCont::mapToNumericalIDs(), NBNodeCont::rename(), and NBEdgeCont::rename().
|
inline |
Sets the vehicle class specific speed limits of the edge.
[in] | restrictions | The restrictions for the edge |
Definition at line 149 of file ROEdge.h.
References myRestrictions.
Referenced by RONetHandler::parseEdge().
|
protected |
List of edges that approached this edge.
Definition at line 503 of file ROEdge.h.
Referenced by addSuccessor(), getNumPredecessors(), and getPredecessors().
|
mutableprotected |
The successors available for a given vClass.
Definition at line 521 of file ROEdge.h.
Referenced by getSuccessors().
|
protected |
The list of allowed vehicle classes combined across lanes.
Definition at line 515 of file ROEdge.h.
Referenced by addLane(), getPermissions(), prohibits(), and ROEdge().
|
staticprotected |
Definition at line 517 of file ROEdge.h.
Referenced by dictSize(), getAllEdges(), and ROEdge().
|
mutableprotected |
Container storing passing time varying over time for the edge.
Definition at line 487 of file ROEdge.h.
Referenced by addEffort(), buildTimeLines(), and getStoredEffort().
|
protected |
List of edges that may be approached from this edge.
Definition at line 500 of file ROEdge.h.
Referenced by addSuccessor(), allFollowersProhibit(), ROJTREdge::chooseNext(), getNumSuccessors(), getSuccessors(), and ROJTREdge::setTurnDefaults().
|
protected |
the junctions for this edge
Definition at line 465 of file ROEdge.h.
Referenced by getFromJunction().
|
protected |
The function of the edge.
Definition at line 506 of file ROEdge.h.
Referenced by getFunc(), getSuccessors(), isCrossing(), isInternal(), isWalkingArea(), and setFunc().
|
staticprotected |
Information whether the edge has reported missing weights.
Definition at line 495 of file ROEdge.h.
Referenced by getStoredEffort().
|
staticprotected |
Information whether the edge has reported missing weights.
Definition at line 497 of file ROEdge.h.
Referenced by getTravelTime().
|
protectedinherited |
The name of the object.
Definition at line 136 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), getStoredEffort(), getTravelTime(), MSActuatedTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSLane::isInsertionSuccess(), MSCalibrator::myStartElement(), MSCalibrator::VehicleRemover::notifyEnter(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), NBEdge::splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
protected |
The index (numeric id) of the edge.
Definition at line 469 of file ROEdge.h.
Referenced by getNumericalID().
|
staticprotected |
Information whether to interpolate at interval boundaries.
Definition at line 492 of file ROEdge.h.
Referenced by getStoredEffort(), getTravelTime(), and setGlobalOptions().
|
protected |
This edge's lanes.
Definition at line 512 of file ROEdge.h.
Referenced by addLane(), getLaneNo(), getLanes(), getSuccessors(), and ~ROEdge().
|
protected |
The length of the edge.
Definition at line 478 of file ROEdge.h.
Referenced by addLane(), buildTimeLines(), getEffort(), getLength(), getMinimumTravelTime(), and getTravelTime().
|
protected |
The edge priority (road class)
Definition at line 472 of file ROEdge.h.
Referenced by getPriority().
|
protected |
The vClass speed restrictions for this edge.
Definition at line 509 of file ROEdge.h.
Referenced by getVClassMaxSpeed(), and setRestrictions().
|
protected |
The maximum speed allowed on this edge.
Definition at line 475 of file ROEdge.h.
Referenced by addLane(), buildTimeLines(), getEffort(), getEmissionEffort(), getMinimumTravelTime(), getNoiseEffort(), getSpeed(), getTravelTime(), and getVClassMaxSpeed().
|
protected |
Definition at line 466 of file ROEdge.h.
Referenced by getToJunction().
|
mutableprotected |
Container storing passing time varying over time for the edge.
Definition at line 482 of file ROEdge.h.
Referenced by addTravelTime(), buildTimeLines(), getStoredEffort(), getTravelTime(), and hasLoadedTravelTime().
|
protected |
Information whether the time line shall be used instead of the length value.
Definition at line 489 of file ROEdge.h.
Referenced by addEffort(), buildTimeLines(), and getStoredEffort().
|
protected |
Information whether the time line shall be used instead of the length value.
Definition at line 484 of file ROEdge.h.
Referenced by addTravelTime(), buildTimeLines(), getTravelTime(), and hasLoadedTravelTime().