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

A model of the street in the city. More...

#include <AGStreet.h>

Inheritance diagram for AGStreet:
ROEdge Named

Data Structures

class  Builder
 

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...
 
 AGStreet (const std::string &id, RONode *from, RONode *to, unsigned int index, const int priority)
 
bool allows (const SUMOVehicleClass vclass) const
 Returns whether the given vehicle class is allowed on this street. 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...
 
SUMOReal getPopulation () const
 Provides the number of persons living in this street. More...
 
int getPriority () const
 get edge priority (road class) More...
 
const RONodegetToJunction () const
 
SUMOReal getWorkplaceNumber () const
 Provides the number of work places in this street. More...
 
void print () const
 Prints a summary of the properties of this street to standard output. More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setJunctions (RONode *from, RONode *to)
 
void setPopulation (const SUMOReal pop)
 Modifies the number of persons living in this street. More...
 
void setWorkplaceNumber (const SUMOReal work)
 Modifies the number of work places in this street. 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 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 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 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 Types

typedef std::map
< SUMOVehicleClass,
ROEdgeVector
ClassesSuccesorMap
 The successors available for a given vClass. More...
 

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...
 
ClassesSuccesorMap myClassesSuccessorMap
 
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...
 
ROEdgeVector 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 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...
 
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 Attributes

SUMOReal myNumWorkplaces
 
SUMOReal myPopulation
 

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 getNumSuccessors () const
 Returns the number of edges this edge is connected to. More...
 
const ROEdgeVectorgetSuccessors () const
 Returns the following edges. More...
 
const ROEdgeVectorgetSuccessors (SUMOVehicleClass vClass) const
 Returns the following edges, restricted by vClass. More...
 
unsigned int getNumPredecessors () const
 Returns the number of edges connected to this edge. More...
 
const ROEdgeVectorgetPredecessors () 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...
 
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)
 

Detailed Description

A model of the street in the city.

AGStreet represents a street in the city. It contains all model relevant properties and is associated with a ROEdge of the routing network.

Definition at line 60 of file AGStreet.h.

Member Typedef Documentation

typedef std::map<SUMOVehicleClass, ROEdgeVector> ROEdge::ClassesSuccesorMap
protectedinherited

The successors available for a given vClass.

Definition at line 513 of file ROEdge.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_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 79 of file ROEdge.h.

Constructor & Destructor Documentation

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

Definition at line 44 of file AGStreet.cpp.

Referenced by AGStreet::Builder::buildEdge().

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

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

Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeWeight::addEdgeWeight(), ROMAAssignments::incremental(), and ROMAAssignments::sue().

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 90 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 ROEdge::addSuccessor ( ROEdge s,
std::string  dir = "" 
)
virtualinherited

Adds information about a connected edge.

The edge s is added to "myFollowingEdges" and this edge is added as predecessor to s.

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

Reimplemented in ROMAEdge, and ROJTREdge.

Definition at line 103 of file ROEdge.cpp.

References ROEdge::myApproachingEdges, and ROEdge::myFollowingEdges.

Referenced by RONet::addDistrictEdge(), ROJTREdge::addSuccessor(), and ROMAEdge::addSuccessor().

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

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

Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight(), ROMAAssignments::incremental(), and ROMAAssignments::sue().

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

Returns whether this edge succeeding 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 262 of file ROEdge.cpp.

References ROEdge::myFollowingEdges.

Referenced by ROJTREdge::chooseNext().

bool AGStreet::allows ( const SUMOVehicleClass  vclass) const

Returns whether the given vehicle class is allowed on this street.

Parameters
[in]vclassthe class (passenger or bus) in question
Returns
whether it is allowed on any of the lanes

Definition at line 80 of file AGStreet.cpp.

References ROEdge::getPermissions().

Referenced by AGWorkAndSchool::carsToTrips().

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

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

ROEdge * ROEdge::dictionary ( size_t  index)
staticinherited

Returns the ROEdge at the index.

Definition at line 273 of file ROEdge.cpp.

References ROEdge::myEdges.

static size_t ROEdge::dictSize ( )
inlinestaticinherited

Returns the number of edges.

Definition at line 402 of file ROEdge.h.

References ROEdge::myEdges.

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

optimistic distance heuristic for use in routing

Definition at line 136 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 126 of file ROEdge.cpp.

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

Referenced by ROEdge::getEffortStatic(), ROMAAssignments::getPenalizedEffort(), and ROMAAssignments::sue().

static SUMOReal ROEdge::getEffortStatic ( const ROEdge *const  edge,
const ROVehicle *const  veh,
SUMOReal  time 
)
inlinestaticinherited

Returns the effort for the given edge.

Parameters
[in]edgeThe edge for which the effort shall be retrieved
[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 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 350 of file ROEdge.h.

References ROEdge::getEffort().

const RONode* ROEdge::getFromJunction ( ) const
inlineinherited

Definition at line 420 of file ROEdge.h.

References ROEdge::myFromJunction.

RONode* ROEdge::getFromNode ( ) const
inlineinherited

Returns the node this edge starts at.

Returns
The node this edge starts at

Definition at line 214 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(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBEdge::addSidewalk(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NBNode::buildCrossings(), 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(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSVehicleControl::getWaitingVehicle(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_OpenDrive::loadNetwork(), ODDistrictCont::makeDistricts(), MSPModel_Striping::moveInDirection(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSContainer::MSContainerStage_Waiting::MSContainerStage_Waiting(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTsender::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), 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(), print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::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(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_JE2013::wantsChange(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), 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(), SUMO::Polygon::writeXML(), 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 206 of file ROEdge.h.

References ROEdge::myLanes.

Referenced by ROMAAssignments::capacityConstraintFunction(), and RODFDetectorHandler::myStartElement().

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

Returns this edge's lanes.

Returns
This edge's lanes

Definition at line 438 of file ROEdge.h.

References ROEdge::myLanes.

Referenced by RONetHandler::parseConnection().

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

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

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

Referenced by computeRoutes(), and ROEdge::getTravelTime().

SUMOReal ROEdge::getNoiseEffort ( const ROEdge *const  edge,
const ROVehicle *const  veh,
SUMOReal  time 
)
staticinherited
unsigned int ROEdge::getNumericalID ( ) const
inlineinherited

Returns the index (numeric id) of the edge.

Returns
This edge's numerical id

Definition at line 190 of file ROEdge.h.

References ROEdge::myIndex.

unsigned int ROEdge::getNumPredecessors ( ) const
inherited

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".

Returns
The number of edges reaching into this edge

Definition at line 216 of file ROEdge.cpp.

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

Referenced by RORouteHandler::parseFromViaTo().

unsigned int ROEdge::getNumSuccessors ( ) 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 207 of file ROEdge.cpp.

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

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

SVCPermissions ROEdge::getPermissions ( ) const
inlineinherited

Definition at line 245 of file ROEdge.h.

References ROEdge::myCombinedPermissions.

Referenced by allows().

SUMOReal AGStreet::getPopulation ( ) const

Provides the number of persons living in this street.

Returns
the number of inhabitants

Definition at line 56 of file AGStreet.cpp.

References myPopulation.

const ROEdgeVector& ROEdge::getPredecessors ( ) const
inlineinherited

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

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

Definition at line 318 of file ROEdge.h.

References ROEdge::myApproachingEdges.

Referenced by RODFDetector::computeSplitProbabilities().

int ROEdge::getPriority ( ) const
inlineinherited

get edge priority (road class)

Definition at line 416 of file ROEdge.h.

References ROEdge::myPriority.

Referenced by ROMAAssignments::capacityConstraintFunction().

SUMOReal ROEdge::getSpeed ( ) const
inlineinherited

Returns the speed allowed on this edge.

Returns
The speed allowed on this edge

Definition at line 198 of file ROEdge.h.

References ROEdge::mySpeed.

Referenced by RODFNet::buildEdgeFlowMap(), RODFNet::buildRoutes(), ROMAAssignments::capacityConstraintFunction(), RODFNet::computeRoutesFor(), getTravelTime(), 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 182 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::getEffort(), ROEdge::getEmissionEffort(), and ROEdge::getNoiseEffort().

const ROEdgeVector& ROEdge::getSuccessors ( ) const
inlineinherited

Returns the following edges.

Definition at line 292 of file ROEdge.h.

References ROEdge::myFollowingEdges.

Referenced by RODFNet::buildApproachList(), and ROEdge::isConnectedTo().

const ROEdgeVector & ROEdge::getSuccessors ( SUMOVehicleClass  vClass) const
inherited

Returns the following edges, restricted by vClass.

Parameters
[in]vClassThe vClass for which to restrict the successors
Returns
The eligible following edges

Definition at line 280 of file ROEdge.cpp.

References ROLane::getEdge(), ROLane::getOutgoingLanes(), ROLane::getPermissions(), ROEdge::myClassesSuccessorMap, ROEdge::myFollowingEdges, ROEdge::myLanes, and SVC_IGNORING.

const RONode* ROEdge::getToJunction ( ) const
inlineinherited

Definition at line 424 of file ROEdge.h.

References ROEdge::myToJunction.

RONode* ROEdge::getToNode ( ) const
inlineinherited

Returns the node this edge ends at.

Returns
The node this edge ends at

Definition at line 222 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 travel time on this edge shall be retrieved
[in]timeThe time for which the travel time shall be returned [s]
Returns
The travel time 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(), ROEdge::getMinimumTravelTime(), ValueTimeLine< T >::getSplitTime(), ROVehicle::getType(), ValueTimeLine< T >::getValue(), MAX2(), SUMOVTypeParameter::maxSpeed, MIN2(), ROEdge::myHaveTTWarned, Named::myID, ROEdge::myInterpolate, ROEdge::myLength, ROEdge::mySpeed, ROEdge::myTravelTimes, ROEdge::myUsingTTTimeLine, SUMOVTypeParameter::speedFactor, SUMOReal, toString(), and WRITE_WARNING.

Referenced by ROJTRRouter::compute(), ROEdge::getEmissionEffort(), ROMAAssignments::getPenalizedTT(), ROMAAssignments::getTravelTime(), and ROEdge::getTravelTimeStatic().

static SUMOReal ROEdge::getTravelTimeStatic ( const ROEdge *const  edge,
const ROVehicle *const  veh,
SUMOReal  time 
)
inlinestaticinherited

Returns the travel time for the given edge.

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

Definition at line 362 of file ROEdge.h.

References ROEdge::getTravelTime().

Referenced by computeRoutes().

EdgeType ROEdge::getType ( ) const
inlineinherited

Returns the type of the edge.

Returns
This edge's type
See also
EdgeType

Definition at line 175 of file ROEdge.h.

References ROEdge::myType.

Referenced by RONet::addEdge(), ROMAAssignments::capacityConstraintFunction(), ROJTRRouter::compute(), ROEdge::getNumPredecessors(), and ROEdge::getNumSuccessors().

SUMOReal AGStreet::getWorkplaceNumber ( ) const

Provides the number of work places in this street.

Returns
the number of work places

Definition at line 68 of file AGStreet.cpp.

References myNumWorkplaces.

bool ROEdge::isConnectedTo ( const ROEdge *const  e,
const ROVehicle *const  vehicle 
) const
inherited

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

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

Definition at line 312 of file ROEdge.cpp.

References ROEdge::getSuccessors(), ROVehicle::getVClass(), and SVC_IGNORING.

bool ROEdge::isCrossing ( ) const
inlineinherited

return whether this edge is a pedestrian crossing

Definition at line 145 of file ROEdge.h.

References ROEdge::ET_CROSSING, and ROEdge::myType.

bool ROEdge::isInternal ( ) const
inlineinherited

return whether this edge is an internal edge

Definition at line 140 of file ROEdge.h.

References ROEdge::ET_INTERNAL, and ROEdge::myType.

bool ROEdge::isWalkingArea ( ) const
inlineinherited

return whether this edge is walking area

Definition at line 150 of file ROEdge.h.

References ROEdge::ET_WALKINGAREA, and ROEdge::myType.

void AGStreet::print ( ) const

Prints a summary of the properties of this street to standard output.

Definition at line 50 of file AGStreet.cpp.

References Named::getID(), ROEdge::getLength(), myNumWorkplaces, and myPopulation.

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

References ROVehicle::getVClass(), and ROEdge::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 
)
inlineinherited

Definition at line 429 of file ROEdge.h.

References ROEdge::myFromJunction, and ROEdge::myToJunction.

Referenced by RONetHandler::myEndElement().

void AGStreet::setPopulation ( const SUMOReal  pop)

Modifies the number of persons living in this street.

Parameters
[in]popthe new number of inhabitants

Definition at line 62 of file AGStreet.cpp.

References myPopulation.

Referenced by AGActivityGenHandler::parseStreets().

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

Sets the type of te edge.

Parameters
[in]typeThe new type for the edge

Definition at line 225 of file ROEdge.cpp.

References ROEdge::myType.

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

void AGStreet::setWorkplaceNumber ( const SUMOReal  work)

Modifies the number of work places in this street.

Parameters
[in]workthe new number of work places

Definition at line 74 of file AGStreet.cpp.

References myNumWorkplaces.

Referenced by AGActivityGenHandler::parseStreets().

Field Documentation

ROEdgeVector ROEdge::myApproachingEdges
protectedinherited

List of edges that approached this edge.

Definition at line 495 of file ROEdge.h.

Referenced by ROEdge::addSuccessor(), ROEdge::getNumPredecessors(), and ROEdge::getPredecessors().

ClassesSuccesorMap ROEdge::myClassesSuccessorMap
mutableprotectedinherited

Definition at line 514 of file ROEdge.h.

Referenced by ROEdge::getSuccessors().

SVCPermissions ROEdge::myCombinedPermissions
protectedinherited

The list of allowed vehicle classes combined across lanes.

Definition at line 504 of file ROEdge.h.

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

ROEdgeVector ROEdge::myEdges
staticprotectedinherited

Definition at line 506 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 477 of file ROEdge.h.

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

ROEdgeVector ROEdge::myFollowingEdges
protectedinherited

List of edges that may be approached from this edge.

Definition at line 492 of file ROEdge.h.

Referenced by ROEdge::addSuccessor(), ROEdge::allFollowersProhibit(), ROJTREdge::chooseNext(), ROEdge::getNumSuccessors(), ROEdge::getSuccessors(), and ROJTREdge::setTurnDefaults().

RONode* ROEdge::myFromJunction
protectedinherited

the junctions for this edge

Definition at line 509 of file ROEdge.h.

Referenced by ROEdge::getFromJunction(), and ROEdge::setJunctions().

RONode* const ROEdge::myFromNode
protectedinherited

The nodes this edge is connecting.

Definition at line 454 of file ROEdge.h.

Referenced by ROEdge::getFromNode().

bool ROEdge::myHaveEWarned = false
staticprotectedinherited

Information whether the edge has reported missing weights.

Definition at line 487 of file ROEdge.h.

Referenced by ROEdge::getStoredEffort().

bool ROEdge::myHaveTTWarned = false
staticprotectedinherited

Information whether the edge has reported missing weights.

Definition at line 489 of file ROEdge.h.

Referenced by ROEdge::getTravelTime().

const unsigned int ROEdge::myIndex
protectedinherited

The index (numeric id) of the edge.

Definition at line 457 of file ROEdge.h.

Referenced by ROEdge::getNumericalID().

bool ROEdge::myInterpolate = false
staticprotectedinherited

Information whether to interpolate at interval boundaries.

Definition at line 484 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 501 of file ROEdge.h.

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

SUMOReal ROEdge::myLength
protectedinherited
SUMOReal AGStreet::myNumWorkplaces
private

Definition at line 117 of file AGStreet.h.

Referenced by getWorkplaceNumber(), print(), and setWorkplaceNumber().

SUMOReal AGStreet::myPopulation
private

Definition at line 116 of file AGStreet.h.

Referenced by getPopulation(), print(), and setPopulation().

const int ROEdge::myPriority
protectedinherited

The edge priority (road class)

Definition at line 460 of file ROEdge.h.

Referenced by ROEdge::getPriority().

SUMOReal ROEdge::mySpeed
protectedinherited
RONode* ROEdge::myToJunction
protectedinherited

Definition at line 510 of file ROEdge.h.

Referenced by ROEdge::getToJunction(), and ROEdge::setJunctions().

RONode* const * const ROEdge::myToNode
protectedinherited

Definition at line 454 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 470 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 498 of file ROEdge.h.

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

bool ROEdge::myUseBoundariesOnOverrideE = false
staticprotectedinherited

Whether overriding weight boundaries shall be reported.

Definition at line 481 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 474 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 479 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 472 of file ROEdge.h.

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


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