SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ROJTREdge Class Reference

An edge the jtr-router may route through. More...

#include <ROJTREdge.h>

Inheritance diagram for ROJTREdge:
ROEdge Named

Public Types

enum  EdgeType {
  ET_NORMAL, ET_DISTRICT, ET_SOURCE, ET_SINK,
  ET_INTERNAL
}
 Possible types of edges. More...
 

Public Member Functions

void addFollower (ROEdge *s, std::string dir="")
 Adds information about a connected edge. More...
 
void addFollowerProbability (ROJTREdge *follower, SUMOTime begTime, SUMOTime endTime, SUMOReal probability)
 adds the information about the percentage of using a certain follower More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
ROJTREdgechooseNext (const ROVehicle *const veh, SUMOTime time) const
 Returns the next edge to use. More...
 
SUMOReal getDistanceTo (const ROEdge *other) const
 optimistic distance heuristic for use in routing More...
 
const std::string & getID () const
 Returns the id. More...
 
int getPriority () const
 get edge priority (road class) More...
 
 ROJTREdge (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 setTurnDefaults (const std::vector< SUMOReal > &defs)
 Sets the turning definition defaults. More...
 
 ~ROJTREdge ()
 Destructor. More...
 
Set-up methods
virtual void addLane (ROLane *lane)
 Adds a lane to the edge while loading. More...
 
void setType (EdgeType type)
 Sets the type of te edge. 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 getTravelTime (const SUMOReal maxSpeed, SUMOReal time) const
 Returns the travel time for this edge. More...
 
SUMOReal getMinimumTravelTime (const ROVehicle *const veh) const
 Returns the travel time for 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...
 
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...
 
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 Types

typedef std::map< ROJTREdge
*, ValueTimeLine< SUMOReal >
*, Named::ComparatorIdLess
FollowerUsageCont
 Definition of a map that stores the probabilities of using a certain follower over time. More...
 

Private Member Functions

ROJTREdgeoperator= (const ROJTREdge &src)
 invalidated assignment operator More...
 
 ROJTREdge (const ROJTREdge &src)
 invalidated copy constructor More...
 

Private Attributes

FollowerUsageCont myFollowingDefs
 Storage for the probabilities of using a certain follower over time. More...
 
std::vector< SUMORealmyParsedTurnings
 The defaults for turnings. More...
 

Detailed Description

An edge the jtr-router may route through.

A router edge extended by the definition about the probability a vehicle chooses a certain following edge over time.

Definition at line 57 of file ROJTREdge.h.

Member Typedef Documentation

Definition of a map that stores the probabilities of using a certain follower over time.

Definition at line 113 of file ROJTREdge.h.

Member Enumeration Documentation

enum ROEdge::EdgeType
inherited

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_INTERNAL 

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

Definition at line 73 of file ROEdge.h.

Constructor & Destructor Documentation

ROJTREdge::ROJTREdge ( 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 48 of file ROJTREdge.cpp.

ROJTREdge::~ROJTREdge ( )

Destructor.

Definition at line 52 of file ROJTREdge.cpp.

References myFollowingDefs.

ROJTREdge::ROJTREdge ( const ROJTREdge src)
private

invalidated copy constructor

Member Function Documentation

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

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 109 of file ROEdge.cpp.

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

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

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

Adds information about a connected edge.

Makes this edge know the given following edge. Calls ROEdge::addFollower.

Additionally it generates the entry for the given following edge in myFollowingDefs.

Parameters
[in]sThe following edge
See Also
ROEdge::addFollower

Reimplemented from ROEdge.

Definition at line 60 of file ROJTREdge.cpp.

References ROEdge::addFollower(), and myFollowingDefs.

void ROJTREdge::addFollowerProbability ( ROJTREdge follower,
SUMOTime  begTime,
SUMOTime  endTime,
SUMOReal  probability 
)

adds the information about the percentage of using a certain follower

Parameters
[in]followerThe following edge
[in]begTimeTime begin for which this probability is valid
[in]endTimeTime end for which this probability is valid
[in]probabilityThe probability to use the given follower

Definition at line 70 of file ROJTREdge.cpp.

References Named::getID(), myFollowingDefs, and WRITE_ERROR.

Referenced by ROJTRTurnDefLoader::addToEdge().

void ROEdge::addLane ( ROLane lane)
virtualinherited

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 86 of file ROEdge.cpp.

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

Referenced by RONetHandler::parseLane().

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

Adds this object to the given container.

Parameters
in,filled]cont The container to add this item to

Definition at line 121 of file Named.h.

References Named::StoringVisitor::add().

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

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 116 of file ROEdge.cpp.

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

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

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

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 345 of file ROEdge.cpp.

References ROEdge::myFollowingEdges.

Referenced by chooseNext().

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

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 314 of file ROEdge.cpp.

References PollutantsInterface::computeCO(), PollutantsInterface::computeCO2(), PollutantsInterface::computeFuel(), PollutantsInterface::computeHC(), PollutantsInterface::computeNOx(), PollutantsInterface::computePMx(), ValueTimeLine< T >::fillGaps(), ROEdge::myEfforts, ROEdge::myLength, ROEdge::mySpeed, ROEdge::myTravelTimes, ROEdge::myUseBoundariesOnOverrideE, ROEdge::myUseBoundariesOnOverrideTT, ROEdge::myUsingETimeLine, ROEdge::myUsingTTTimeLine, SUMOReal, and SVE_UNKNOWN.

ROJTREdge * ROJTREdge::chooseNext ( const ROVehicle *const  veh,
SUMOTime  time 
) const

Returns the next edge to use.

Parameters
[in]vehThe vehicle to choose the next edge for
[in]timeThe time at which the next edge shall be entered
Returns
The chosen edge

Definition at line 82 of file ROJTREdge.cpp.

References RandomDistributor< T >::add(), ROEdge::allFollowersProhibit(), RandomDistributor< T >::get(), RandomDistributor< T >::getOverallProb(), myFollowingDefs, ROEdge::myFollowingEdges, myParsedTurnings, and ROEdge::prohibits().

Referenced by ROJTRRouter::compute().

ROEdge * ROEdge::dictionary ( size_t  index)
staticinherited

Returns the ROEdge at the index.

Definition at line 356 of file ROEdge.cpp.

References ROEdge::myEdges.

static size_t ROEdge::dictSize ( )
inlinestaticinherited

Returns the number of edges.

Definition at line 350 of file ROEdge.h.

References ROEdge::myEdges.

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

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 291 of file ROEdge.h.

References ROEdge::myApproachingEdges.

Referenced by RODFDetector::computeSplitProbabilities().

SUMOReal ROEdge::getDistanceTo ( const ROEdge other) const
inherited

optimistic distance heuristic for use in routing

Definition at line 133 of file ROEdge.cpp.

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

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

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 123 of file ROEdge.cpp.

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

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

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 272 of file ROEdge.h.

References ROEdge::myFollowingEdges.

Referenced by RODFRouteCont::addAllEndFollower(), and RODFNet::buildApproachList().

RONode* ROEdge::getFromNode ( ) const
inlineinherited

Returns the node this edge starts at.

Returns
The node this edge starts at

Definition at line 191 of file ROEdge.h.

References ROEdge::myFromNode.

Referenced by RODFNet::buildApproachList(), AGPosition::compute2dPosition(), and ROEdge::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(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), RODFDetectorCon::addDetector(), RONet::addEdge(), 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(), MSVehicleTransfer::addVeh(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), 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(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), RODFNet::getDetectorEdge(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), AGStreet::getName(), NIImporter_VISUM::getNamedEdgeContinuating(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), RODFDetectorCon::guessEmptyFlows(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), MSTrafficLightLogic::init(), 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(), MSCalibrator::MSCalibrator(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), MSVehicle::MSVehicle(), 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()(), 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(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), 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(), 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
inlineinherited

Returns the number of lanes this edge has.

Returns
This edge's number of lanes

Definition at line 183 of file ROEdge.h.

References ROEdge::myLanes.

Referenced by RODFDetectorHandler::myStartElement().

SUMOReal ROEdge::getLength ( ) const
inlineinherited

Returns the length of the edge.

Returns
This edge's length

Definition at line 160 of file ROEdge.h.

References ROEdge::myLength.

Referenced by RORouteHandler::addStop(), AGStreet::AGStreet(), RODFNet::buildRoutes(), RODFNet::getAbsPos(), AGStreet::getLength(), RONetHandler::parseBusStop(), and AGStreet::print().

SUMOReal ROEdge::getMinimumTravelTime ( const ROVehicle *const  veh) const
inherited

Returns the travel time for 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 176 of file ROEdge.cpp.

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

Referenced by computeRoutes().

unsigned int ROEdge::getNoFollowing ( ) const
inherited

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 290 of file ROEdge.cpp.

References ROEdge::ET_SINK, ROEdge::getType(), and ROEdge::myFollowingEdges.

Referenced by RODFRouteCont::addAllEndFollower(), RODFNet::buildApproachList(), RODFDetector::computeSplitProbabilities(), and RORouteHandler::parseFromTo().

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

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 299 of file ROEdge.cpp.

References ROEdge::ET_SOURCE, ROEdge::getType(), and ROEdge::myApproachingEdges.

Referenced by RODFDetector::computeSplitProbabilities().

unsigned int ROEdge::getNumericalID ( ) const
inlineinherited

Returns the index (numeric id) of the edge.

Returns
This edge's numerical id

Definition at line 167 of file ROEdge.h.

References ROEdge::myIndex.

SVCPermissions ROEdge::getPermissions ( ) const
inlineinherited

Definition at line 223 of file ROEdge.h.

References ROEdge::myCombinedPermissions.

int ROEdge::getPriority ( ) const
inlineinherited

get edge priority (road class)

Definition at line 364 of file ROEdge.h.

References ROEdge::myPriority.

SUMOReal ROEdge::getSpeed ( ) const
inlineinherited

Returns the speed allowed on this edge.

Returns
The speed allowed on this edge

Definition at line 175 of file ROEdge.h.

References ROEdge::mySpeed.

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

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

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 265 of file ROEdge.cpp.

References ValueTimeLine< T >::describesTime(), ValueTimeLine< T >::getSplitTime(), ValueTimeLine< T >::getValue(), ROEdge::myEfforts, ROEdge::myHaveEWarned, Named::myID, ROEdge::myInterpolate, ROEdge::myTravelTimes, ROEdge::myUsingETimeLine, SUMOReal, toString(), and WRITE_WARNING.

Referenced by ROEdge::getCO2Effort(), ROEdge::getCOEffort(), ROEdge::getEffort(), ROEdge::getFuelEffort(), ROEdge::getHCEffort(), ROEdge::getNoiseEffort(), ROEdge::getNOxEffort(), and ROEdge::getPMxEffort().

RONode* ROEdge::getToNode ( ) const
inlineinherited

Returns the node this edge ends at.

Returns
The node this edge ends at

Definition at line 199 of file ROEdge.h.

References ROEdge::myToNode.

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

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

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 144 of file ROEdge.cpp.

References ROVehicle::getType(), and SUMOVTypeParameter::maxSpeed.

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

SUMOReal ROEdge::getTravelTime ( const SUMOReal  maxSpeed,
SUMOReal  time 
) const
inherited

Returns the travel time for this edge.

Parameters
[in]maxSpeedThe maximum speed to assume if no travel times are stored
[in]timeThe time in seconds(!) for which the traveltime shall be returned
Returns
The traveltime needed to pass the edge at the given time

Definition at line 150 of file ROEdge.cpp.

References ROEdge::getTravelTime(), MAX2(), and ROEdge::myLength.

EdgeType ROEdge::getType ( ) const
inlineinherited

Returns the type of the edge.

Returns
This edge's type
See Also
EdgeType

Definition at line 152 of file ROEdge.h.

References ROEdge::myType.

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

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

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 209 of file ROEdge.h.

References ROEdge::myFollowingEdges.

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

invalidated assignment operator

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

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 218 of file ROEdge.h.

References ROVehicle::getVClass(), and ROEdge::myCombinedPermissions.

Referenced by 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().

static void ROEdge::setTimeLineOptions ( bool  useBoundariesOnOverrideTT,
bool  useBoundariesOnOverrideE,
bool  interpolate 
)
inlinestaticinherited
void ROJTREdge::setTurnDefaults ( const std::vector< SUMOReal > &  defs)

Sets the turning definition defaults.

Parameters
[in]defThe turning percentage defaults

Definition at line 114 of file ROJTREdge.cpp.

References ROEdge::myFollowingEdges, myParsedTurnings, and SUMOReal.

void ROEdge::setType ( ROEdge::EdgeType  type)
inherited

Sets the type of te edge.

Parameters
[in]typeThe new type for the edge

Definition at line 308 of file ROEdge.cpp.

References ROEdge::myType.

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

Field Documentation

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

List of edges that approached this edge.

Definition at line 422 of file ROEdge.h.

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

SVCPermissions ROEdge::myCombinedPermissions
protectedinherited

The list of allowed vehicle classes combined across lanes.

Definition at line 431 of file ROEdge.h.

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

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

Definition at line 433 of file ROEdge.h.

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

ValueTimeLine<SUMOReal> ROEdge::myEfforts
mutableprotectedinherited

Container storing passing time varying over time for the edge.

Definition at line 404 of file ROEdge.h.

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

FollowerUsageCont ROJTREdge::myFollowingDefs
private

Storage for the probabilities of using a certain follower over time.

Definition at line 116 of file ROJTREdge.h.

Referenced by addFollower(), addFollowerProbability(), chooseNext(), and ~ROJTREdge().

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

List of edges that may be approached from this edge.

Definition at line 419 of file ROEdge.h.

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

RONode* const ROEdge::myFromNode
protectedinherited

The nodes this edge is connecting.

Definition at line 381 of file ROEdge.h.

Referenced by ROEdge::getFromNode().

bool ROEdge::myHaveEWarned = false
staticprotectedinherited

Information whether the edge has reported missing weights.

Definition at line 414 of file ROEdge.h.

Referenced by ROEdge::getStoredEffort().

bool ROEdge::myHaveTTWarned = false
staticprotectedinherited

Information whether the edge has reported missing weights.

Definition at line 416 of file ROEdge.h.

Referenced by ROEdge::getTravelTime().

const unsigned int ROEdge::myIndex
protectedinherited

The index (numeric id) of the edge.

Definition at line 384 of file ROEdge.h.

Referenced by ROEdge::getNumericalID().

bool ROEdge::myInterpolate = false
staticprotectedinherited

Information whether to interpolate at interval boundaries.

Definition at line 411 of file ROEdge.h.

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

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

This edge's lanes.

Definition at line 428 of file ROEdge.h.

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

SUMOReal ROEdge::myLength
protectedinherited
std::vector<SUMOReal> ROJTREdge::myParsedTurnings
private

The defaults for turnings.

Definition at line 119 of file ROJTREdge.h.

Referenced by chooseNext(), and setTurnDefaults().

const int ROEdge::myPriority
protectedinherited

The edge priority (road class)

Definition at line 387 of file ROEdge.h.

Referenced by ROEdge::getPriority().

RONode* const * const ROEdge::myToNode
protectedinherited

Definition at line 381 of file ROEdge.h.

Referenced by ROEdge::getToNode().

ValueTimeLine<SUMOReal> ROEdge::myTravelTimes
mutableprotectedinherited

Container storing passing time varying over time for the edge.

Definition at line 397 of file ROEdge.h.

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

EdgeType ROEdge::myType
protectedinherited

The type of the edge.

Definition at line 425 of file ROEdge.h.

Referenced by ROEdge::getType(), and ROEdge::setType().

bool ROEdge::myUseBoundariesOnOverrideE = false
staticprotectedinherited

Whether overriding weight boundaries shall be reported.

Definition at line 408 of file ROEdge.h.

Referenced by ROEdge::buildTimeLines(), and ROEdge::setTimeLineOptions().

bool ROEdge::myUseBoundariesOnOverrideTT = false
staticprotectedinherited

Whether overriding weight boundaries shall be reported.

Definition at line 401 of file ROEdge.h.

Referenced by ROEdge::buildTimeLines(), and ROEdge::setTimeLineOptions().

bool ROEdge::myUsingETimeLine
protectedinherited

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

Definition at line 406 of file ROEdge.h.

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

bool ROEdge::myUsingTTTimeLine
protectedinherited

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

Definition at line 399 of file ROEdge.h.

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


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