SUMO - Simulation of Urban MObility
ROEdge Class Reference

A basic edge for routing applications. More...

#include <ROEdge.h>

Inheritance diagram for ROEdge:
Named RODFEdge ROJTREdge

Public Types

enum  EdgeType {
  ET_NORMAL, ET_DISTRICT, ET_SOURCE, ET_SINK,
  ET_WALKINGAREA, ET_CROSSING, ET_INTERNAL
}
 Possible types 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 RONodegetFromJunction () 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 RONodegetToJunction () const
 
 ROEdge (const std::string &id, RONode *from, RONode *to, unsigned int index, const int priority)
 Constructor. More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setJunctions (RONode *from, RONode *to)
 
virtual ~ROEdge ()
 Destructor. More...
 
Set-up methods
virtual void addLane (ROLane *lane)
 Adds a lane to the edge while loading. More...
 
virtual void addFollower (ROEdge *s, std::string dir="")
 Adds information about a connected edge. More...
 
void setType (EdgeType type)
 Sets the type of te 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)
 Builds the internal representation of the travel time/effort. More...
 
Getter methods
EdgeType getType () const
 Returns the type of the edge. More...
 
SUMOReal getLength () const
 Returns the length of the edge. More...
 
unsigned int getNumericalID () const
 Returns the index (numeric id) of the edge. More...
 
SUMOReal getSpeed () const
 Returns the speed allowed on this edge. More...
 
unsigned int getLaneNo () const
 Returns the number of lanes this edge has. More...
 
RONodegetFromNode () const
 Returns the node this edge starts at. More...
 
RONodegetToNode () const
 Returns the node this edge ends at. More...
 
bool isConnectedTo (const ROEdge *const e) 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 succeding edges prohibit the given vehicle to pass them. 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...
 
unsigned int getNoFollowing () const
 Returns the number of edges this edge is connected to. More...
 
ROEdgegetFollower (unsigned int pos) const
 Returns the edge at the given position from the list of reachable edges. More...
 
unsigned int getNumApproaching () const
 Returns the number of edges this edge is connected to. More...
 
ROEdgegetApproaching (unsigned int pos) const
 Returns the edge at the given position from the list of reachable edges. More...
 
SUMOReal getEffort (const ROVehicle *const veh, SUMOReal time) const
 Returns the effort for this edge. 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...
 
SUMOReal getCOEffort (const ROVehicle *const veh, SUMOReal time) const
 
SUMOReal getCO2Effort (const ROVehicle *const veh, SUMOReal time) const
 
SUMOReal getPMxEffort (const ROVehicle *const veh, SUMOReal time) const
 
SUMOReal getHCEffort (const ROVehicle *const veh, SUMOReal time) const
 
SUMOReal getNOxEffort (const ROVehicle *const veh, SUMOReal time) const
 
SUMOReal getFuelEffort (const ROVehicle *const veh, SUMOReal time) const
 
SUMOReal getNoiseEffort (const ROVehicle *const veh, SUMOReal time) const
 

Static Public Member Functions

static ROEdgedictionary (size_t index)
 Returns the ROEdge at the index. More...
 
static size_t dictSize ()
 Returns the number of edges. More...
 
static void setTimeLineOptions (bool useBoundariesOnOverrideTT, bool useBoundariesOnOverrideE, bool interpolate)
 

Protected Member Functions

bool getStoredEffort (SUMOReal time, SUMOReal &ret) const
 Retrieves the stored effort. More...
 

Protected Attributes

std::vector< ROEdge * > myApproachingEdges
 List of edges that approached this edge. More...
 
SVCPermissions myCombinedPermissions
 The list of allowed vehicle classes combined across lanes. More...
 
ValueTimeLine< SUMORealmyEfforts
 Container storing passing time varying over time for the edge. More...
 
std::vector< ROEdge * > myFollowingEdges
 List of edges that may be approached from this edge. More...
 
RONodemyFromJunction
 the junctions for this edge More...
 
RONode *const myFromNode
 The nodes this edge is connecting. More...
 
std::string myID
 The name of the object. More...
 
const unsigned 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...
 
SUMOReal mySpeed
 The maximum speed allowed on this edge. More...
 
RONodemyToJunction
 
RONode *const *const myToNode
 
ValueTimeLine< SUMORealmyTravelTimes
 Container storing passing time varying over time for the edge. More...
 
EdgeType myType
 The type of 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 std::vector< ROEdge * > 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...
 
static bool myUseBoundariesOnOverrideE = false
 Whether overriding weight boundaries shall be reported. More...
 
static bool myUseBoundariesOnOverrideTT = false
 Whether overriding weight boundaries shall be reported. More...
 

Private Member Functions

ROEdgeoperator= (const ROEdge &src)
 Invalidated assignment operator. More...
 
 ROEdge (const ROEdge &src)
 Invalidated copy constructor. More...
 

Detailed Description

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.

Definition at line 69 of file ROEdge.h.

Member Enumeration Documentation

Possible types of edges.

Enumerator
ET_NORMAL 

A normal edge.

ET_DISTRICT 

An edge representing a whole district.

ET_SOURCE 

An edge where vehicles are inserted at (no vehicle may come from back)

ET_SINK 

An edge where vehicles disappear (no vehicle may leave this edge)

ET_WALKINGAREA 

An internal edge which models walking areas for pedestrians.

ET_CROSSING 

An internal edge which models pedestrian crossings.

ET_INTERNAL 

An internal edge which models vehicles driving across a junction. This is currently not used for routing.

Definition at line 75 of file ROEdge.h.

Constructor & Destructor Documentation

ROEdge::ROEdge ( const std::string &  id,
RONode from,
RONode to,
unsigned int  index,
const int  priority 
)

Constructor.

Parameters
[in]idThe id of the edge
[in]fromThe node the edge begins at
[in]toThe node the edge ends at
[in]indexThe numeric id of the edge

Definition at line 67 of file ROEdge.cpp.

References myEdges.

ROEdge::~ROEdge ( )
virtual

Destructor.

Definition at line 82 of file ROEdge.cpp.

References myLanes.

ROEdge::ROEdge ( const ROEdge src)
private

Invalidated copy constructor.

Member Function Documentation

void ROEdge::addEffort ( SUMOReal  value,
SUMOReal  timeBegin,
SUMOReal  timeEnd 
)

Adds a weight value.

Parameters
[in]valueThe value to add
[in]timeBeginThe begin time of the interval the given value is valid for [s]
[in]timeEndThe end time of the interval the given value is valid for [s]

Definition at line 112 of file ROEdge.cpp.

References ValueTimeLine< T >::add(), myEfforts, and myUsingETimeLine.

Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeWeight::addEdgeWeight().

void ROEdge::addFollower ( ROEdge s,
std::string  dir = "" 
)
virtual

Adds information about a connected edge.

The edge is added to "myFollowingEdges".

Parameters
[in]sThe edge to add
Todo:
What about vehicle-type aware connections?
Note
: if HAVE_INTERNAL is defined, the backward connections is added as well

Reimplemented in ROJTREdge.

Definition at line 103 of file ROEdge.cpp.

References myApproachingEdges, and myFollowingEdges.

Referenced by ROJTREdge::addFollower(), RONetHandler::parseDistrict(), and RONetHandler::parseDistrictEdge().

void ROEdge::addLane ( ROLane lane)
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.

Parameters
[in]laneThe lane to add
Todo:
What about vehicle-type aware connections?

Definition at line 90 of file ROEdge.cpp.

References ROLane::getLength(), ROLane::getPermissions(), ROLane::getSpeed(), myCombinedPermissions, myLanes, myLength, mySpeed, and SUMOReal.

Referenced by RONetHandler::parseLane().

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

Adds this object to the given container.

Parameters

Definition at line 121 of file Named.h.

References Named::StoringVisitor::add().

void ROEdge::addTravelTime ( SUMOReal  value,
SUMOReal  timeBegin,
SUMOReal  timeEnd 
)

Adds a travel time value.

Parameters
[in]valueThe value to add
[in]timeBeginThe begin time of the interval the given value is valid for [s]
[in]timeEndThe end time of the interval the given value is valid for [s]

Definition at line 119 of file ROEdge.cpp.

References ValueTimeLine< T >::add(), myTravelTimes, and myUsingTTTimeLine.

Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight().

bool ROEdge::allFollowersProhibit ( const ROVehicle *const  vehicle) const

Returns whether this edge succeding edges prohibit the given vehicle to pass them.

Parameters
[in]vehicleThe vehicle for which the information has to be returned
Returns
Whether the vehicle may continue its route on any of the following edges

Definition at line 340 of file ROEdge.cpp.

References myFollowingEdges.

Referenced by ROJTREdge::chooseNext().

void ROEdge::buildTimeLines ( const std::string &  measure)

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", or "fuel" the proper value (departs/s) is computed and multiplied with the travel time.

Parameters
[in]measureThe name of the measure to use.

Definition at line 309 of file ROEdge.cpp.

References PollutantsInterface::CO, PollutantsInterface::CO2, PollutantsInterface::compute(), ValueTimeLine< T >::fillGaps(), PollutantsInterface::FUEL, PollutantsInterface::getClassByName(), PollutantsInterface::HC, myEfforts, myLength, mySpeed, myTravelTimes, myUseBoundariesOnOverrideE, myUseBoundariesOnOverrideTT, myUsingETimeLine, myUsingTTTimeLine, PollutantsInterface::NO_X, PollutantsInterface::PM_X, and SUMOReal.

ROEdge * ROEdge::dictionary ( size_t  index)
static

Returns the ROEdge at the index.

Definition at line 351 of file ROEdge.cpp.

References myEdges.

static size_t ROEdge::dictSize ( )
inlinestatic

Returns the number of edges.

Definition at line 363 of file ROEdge.h.

References myEdges.

ROEdge* ROEdge::getApproaching ( unsigned int  pos) const
inline

Returns the edge at the given position from the list of reachable edges.

Parameters
[in]posThe position of the list within the list of approached
Returns
The following edge, stored at position pos

Definition at line 311 of file ROEdge.h.

References myApproachingEdges.

Referenced by RODFDetector::computeSplitProbabilities().

SUMOReal ROEdge::getDistanceTo ( const ROEdge other) const

optimistic distance heuristic for use in routing

Definition at line 136 of file ROEdge.cpp.

References Position::distanceTo2D(), getFromNode(), RONode::getPosition(), and getToNode().

SUMOReal ROEdge::getEffort ( const ROVehicle *const  veh,
SUMOReal  time 
) const

Returns the effort for this edge.

Parameters
[in]vehThe vehicle for which the effort on this edge shall be retrieved
[in]timeThe tim for which the effort shall be returned [s]
Returns
The effort needed by the given vehicle to pass the edge at the given time
Todo:
Recheck whether the vehicle's maximum speed is considered

Definition at line 126 of file ROEdge.cpp.

References getStoredEffort(), ROVehicle::getType(), SUMOVTypeParameter::maxSpeed, MIN2(), myLength, mySpeed, and SUMOReal.

ROEdge* ROEdge::getFollower ( unsigned int  pos) const
inline

Returns the edge at the given position from the list of reachable edges.

Parameters
[in]posThe position of the list within the list of following
Returns
The following edge, stored at position pos

Definition at line 292 of file ROEdge.h.

References myFollowingEdges.

Referenced by RODFNet::buildApproachList().

const RONode* ROEdge::getFromJunction ( ) const
inline

Definition at line 381 of file ROEdge.h.

References myFromJunction.

RONode* ROEdge::getFromNode ( ) const
inline

Returns the node this edge starts at.

Returns
The node this edge starts at

Definition at line 211 of file ROEdge.h.

References myFromNode.

Referenced by RODFNet::buildApproachList(), AGPosition::compute2dPosition(), and getDistanceTo().

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

Returns the id.

Returns
The stored id

Definition at line 60 of file Named.h.

References Named::myID.

Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NBNode::buildCrossings(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBNode::buildInnerEdges(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), 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(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), AGStreet::getName(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_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(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), NIXMLEdgesHandler::setNodes(), MSLink::setRequestInformation(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSLCM_JE2013::wantsChange(), MSFCDExport::write(), MSEmissionExport::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(), 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(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

unsigned int ROEdge::getLaneNo ( ) const
inline

Returns the number of lanes this edge has.

Returns
This edge's number of lanes

Definition at line 203 of file ROEdge.h.

References myLanes.

Referenced by RODFDetectorHandler::myStartElement().

const std::vector<ROLane*>& ROEdge::getLanes ( ) const
inline

Returns this edge's lanes.

Returns
This edge's lanes

Definition at line 399 of file ROEdge.h.

References myLanes.

Referenced by RONetHandler::parseConnection().

SUMOReal ROEdge::getLength ( ) const
inline
SUMOReal ROEdge::getMinimumTravelTime ( const ROVehicle *const  veh) const
inline

Returns a lower bound for the travel time on this edge without using any stored timeLine.

Parameters
[in]vehThe vehicle for which the effort on this edge shall be retrieved
[in]timeThe time for which the effort shall be returned [s]

Definition at line 340 of file ROEdge.h.

References ROVehicle::getType(), SUMOVTypeParameter::maxSpeed, MIN2(), myLength, mySpeed, SUMOVTypeParameter::speedDev, SUMOVTypeParameter::speedFactor, and SUMOReal.

Referenced by computeRoutes(), and getTravelTime().

unsigned int ROEdge::getNoFollowing ( ) 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".

Returns
The number of edges following this edge

Definition at line 285 of file ROEdge.cpp.

References ET_SINK, getType(), and myFollowingEdges.

Referenced by RODFNet::buildApproachList(), RODFDetector::computeSplitProbabilities(), and RORouteHandler::parseFromViaTo().

SUMOReal ROEdge::getNoiseEffort ( const ROVehicle *const  veh,
SUMOReal  time 
) const
unsigned int ROEdge::getNumApproaching ( ) const

Returns the number of edges this edge is connected to.

If this edge's type is set to "source", 0 is returned, otherwise the number of edges stored in "myApproachingEdges".

Returns
The number of edges following this edge

Definition at line 294 of file ROEdge.cpp.

References ET_SOURCE, getType(), and myApproachingEdges.

Referenced by RODFDetector::computeSplitProbabilities().

unsigned int ROEdge::getNumericalID ( ) const
inline

Returns the index (numeric id) of the edge.

Returns
This edge's numerical id

Definition at line 187 of file ROEdge.h.

References myIndex.

SVCPermissions ROEdge::getPermissions ( ) const
inline

Definition at line 243 of file ROEdge.h.

References myCombinedPermissions.

int ROEdge::getPriority ( ) const
inline

get edge priority (road class)

Definition at line 377 of file ROEdge.h.

References myPriority.

SUMOReal ROEdge::getSpeed ( ) const
inline

Returns the speed allowed on this edge.

Returns
The speed allowed on this edge

Definition at line 195 of file ROEdge.h.

References mySpeed.

Referenced by RODFNet::buildEdgeFlowMap(), RODFNet::buildRoutes(), RODFNet::computeRoutesFor(), RODFNet::isDestination(), RODFNet::isFalseSource(), and RODFNet::isSource().

bool ROEdge::getStoredEffort ( SUMOReal  time,
SUMOReal ret 
) const
protected

Retrieves the stored effort.

Parameters
[in]vehThe vehicle for which the effort on this edge shall be retrieved
[in]timeThe tim for which the effort shall be returned
Returns
Whether the effort is given

Definition at line 260 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 getCO2Effort(), getCOEffort(), getEffort(), getFuelEffort(), getHCEffort(), getNoiseEffort(), getNOxEffort(), and getPMxEffort().

const RONode* ROEdge::getToJunction ( ) const
inline

Definition at line 385 of file ROEdge.h.

References myToJunction.

RONode* ROEdge::getToNode ( ) const
inline

Returns the node this edge ends at.

Returns
The node this edge ends at

Definition at line 219 of file ROEdge.h.

References myToNode.

Referenced by RODFNet::buildApproachList(), AGPosition::compute2dPosition(), and getDistanceTo().

SUMOReal ROEdge::getTravelTime ( const ROVehicle *const  veh,
SUMOReal  time 
) const

Returns the travel time for this edge.

Parameters
[in]vehThe vehicle for which the effort on this edge shall be retrieved
[in]timeThe time for which the effort shall be returned [s]
Returns
The traveltime needed by the given vehicle to pass the edge at the given time

Definition at line 147 of file ROEdge.cpp.

References ValueTimeLine< T >::describesTime(), getMinimumTravelTime(), ValueTimeLine< T >::getSplitTime(), ROVehicle::getType(), ValueTimeLine< T >::getValue(), MAX2(), SUMOVTypeParameter::maxSpeed, MIN2(), myHaveTTWarned, Named::myID, myInterpolate, myLength, mySpeed, myTravelTimes, myUsingTTTimeLine, SUMOVTypeParameter::speedFactor, SUMOReal, toString(), and WRITE_WARNING.

Referenced by ROJTRRouter::compute(), computeRoutes(), getCO2Effort(), getCOEffort(), getFuelEffort(), getHCEffort(), getNOxEffort(), and getPMxEffort().

EdgeType ROEdge::getType ( ) const
inline

Returns the type of the edge.

Returns
This edge's type
See also
EdgeType

Definition at line 172 of file ROEdge.h.

References myType.

Referenced by RONet::addEdge(), ROJTRRouter::compute(), getNoFollowing(), and getNumApproaching().

bool ROEdge::isConnectedTo ( const ROEdge *const  e) const
inline

returns the information whether this edge is directly connected to the given

Parameters
[in]eThe edge which may be connected
Returns
Whether the given edge is a direct successor to this one

Definition at line 229 of file ROEdge.h.

References myFollowingEdges.

bool ROEdge::isCrossing ( ) const
inline

return whether this edge is a pedestrian crossing

Definition at line 142 of file ROEdge.h.

References ET_CROSSING, and myType.

bool ROEdge::isInternal ( ) const
inline

return whether this edge is an internal edge

Definition at line 137 of file ROEdge.h.

References ET_INTERNAL, and myType.

bool ROEdge::isWalkingArea ( ) const
inline

return whether this edge is walking area

Definition at line 147 of file ROEdge.h.

References ET_WALKINGAREA, and myType.

ROEdge& ROEdge::operator= ( const ROEdge src)
private

Invalidated assignment operator.

bool ROEdge::prohibits ( const ROVehicle *const  vehicle) const
inline

Returns whether this edge prohibits the given vehicle to pass it.

Parameters
[in]vehicleThe vehicle for which the information has to be returned
Returns
Whether the vehicle must not enter this edge

Definition at line 238 of file ROEdge.h.

References ROVehicle::getVClass(), and myCombinedPermissions.

Referenced by ROJTREdge::chooseNext(), and ROJTRRouter::compute().

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

resets the id

Parameters
[in]newIDThe new id of this object

Definition at line 68 of file Named.h.

References Named::myID.

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

void ROEdge::setJunctions ( RONode from,
RONode to 
)
inline

Definition at line 390 of file ROEdge.h.

References myFromJunction, and myToJunction.

Referenced by RONetHandler::myEndElement().

static void ROEdge::setTimeLineOptions ( bool  useBoundariesOnOverrideTT,
bool  useBoundariesOnOverrideE,
bool  interpolate 
)
inlinestatic
void ROEdge::setType ( ROEdge::EdgeType  type)

Sets the type of te edge.

Parameters
[in]typeThe new type for the edge

Definition at line 303 of file ROEdge.cpp.

References myType.

Referenced by loadJTRDefinitions(), ROJTRTurnDefLoader::myStartElement(), RONetHandler::parseDistrict(), and RONetHandler::parseEdge().

Field Documentation

std::vector<ROEdge*> ROEdge::myApproachingEdges
protected

List of edges that approached this edge.

Definition at line 456 of file ROEdge.h.

Referenced by addFollower(), getApproaching(), and getNumApproaching().

SVCPermissions ROEdge::myCombinedPermissions
protected

The list of allowed vehicle classes combined across lanes.

Definition at line 465 of file ROEdge.h.

Referenced by addLane(), getPermissions(), and prohibits().

std::vector< ROEdge * > ROEdge::myEdges
staticprotected

Definition at line 467 of file ROEdge.h.

Referenced by dictionary(), dictSize(), and ROEdge().

ValueTimeLine<SUMOReal> ROEdge::myEfforts
mutableprotected

Container storing passing time varying over time for the edge.

Definition at line 438 of file ROEdge.h.

Referenced by addEffort(), buildTimeLines(), and getStoredEffort().

std::vector<ROEdge*> ROEdge::myFollowingEdges
protected

List of edges that may be approached from this edge.

Definition at line 453 of file ROEdge.h.

Referenced by addFollower(), allFollowersProhibit(), ROJTREdge::chooseNext(), getFollower(), getNoFollowing(), isConnectedTo(), and ROJTREdge::setTurnDefaults().

RONode* ROEdge::myFromJunction
protected

the junctions for this edge

Definition at line 470 of file ROEdge.h.

Referenced by getFromJunction(), and setJunctions().

RONode* const ROEdge::myFromNode
protected

The nodes this edge is connecting.

Definition at line 415 of file ROEdge.h.

Referenced by getFromNode().

bool ROEdge::myHaveEWarned = false
staticprotected

Information whether the edge has reported missing weights.

Definition at line 448 of file ROEdge.h.

Referenced by getStoredEffort().

bool ROEdge::myHaveTTWarned = false
staticprotected

Information whether the edge has reported missing weights.

Definition at line 450 of file ROEdge.h.

Referenced by getTravelTime().

const unsigned int ROEdge::myIndex
protected

The index (numeric id) of the edge.

Definition at line 418 of file ROEdge.h.

Referenced by getNumericalID().

bool ROEdge::myInterpolate = false
staticprotected

Information whether to interpolate at interval boundaries.

Definition at line 445 of file ROEdge.h.

Referenced by getStoredEffort(), getTravelTime(), and setTimeLineOptions().

std::vector<ROLane*> ROEdge::myLanes
protected

This edge's lanes.

Definition at line 462 of file ROEdge.h.

Referenced by addLane(), getLaneNo(), getLanes(), and ~ROEdge().

SUMOReal ROEdge::myLength
protected

The length of the edge.

Definition at line 427 of file ROEdge.h.

Referenced by addLane(), buildTimeLines(), getEffort(), getLength(), getMinimumTravelTime(), and getTravelTime().

const int ROEdge::myPriority
protected

The edge priority (road class)

Definition at line 421 of file ROEdge.h.

Referenced by getPriority().

SUMOReal ROEdge::mySpeed
protected
RONode* ROEdge::myToJunction
protected

Definition at line 471 of file ROEdge.h.

Referenced by getToJunction(), and setJunctions().

RONode* const * const ROEdge::myToNode
protected

Definition at line 415 of file ROEdge.h.

Referenced by getToNode().

ValueTimeLine<SUMOReal> ROEdge::myTravelTimes
mutableprotected

Container storing passing time varying over time for the edge.

Definition at line 431 of file ROEdge.h.

Referenced by addTravelTime(), buildTimeLines(), getStoredEffort(), and getTravelTime().

EdgeType ROEdge::myType
protected

The type of the edge.

Definition at line 459 of file ROEdge.h.

Referenced by getType(), isCrossing(), isInternal(), isWalkingArea(), and setType().

bool ROEdge::myUseBoundariesOnOverrideE = false
staticprotected

Whether overriding weight boundaries shall be reported.

Definition at line 442 of file ROEdge.h.

Referenced by buildTimeLines(), and setTimeLineOptions().

bool ROEdge::myUseBoundariesOnOverrideTT = false
staticprotected

Whether overriding weight boundaries shall be reported.

Definition at line 435 of file ROEdge.h.

Referenced by buildTimeLines(), and setTimeLineOptions().

bool ROEdge::myUsingETimeLine
protected

Information whether the time line shall be used instead of the length value.

Definition at line 440 of file ROEdge.h.

Referenced by addEffort(), buildTimeLines(), and getStoredEffort().

bool ROEdge::myUsingTTTimeLine
protected

Information whether the time line shall be used instead of the length value.

Definition at line 433 of file ROEdge.h.

Referenced by addTravelTime(), buildTimeLines(), and getTravelTime().


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