![]() |
SUMO - Simulation of Urban MObility
|
The simulated network and simulation perfomer. More...
#include <MSNet.h>
Data Structures | |
class | VehicleStateListener |
Interface for objects listening to vehicle state changes. More... | |
Public Types | |
typedef PedestrianRouterDijkstra< MSEdge, MSLane, MSJunction > | MSPedestrianRouterDijkstra |
enum | SimulationState { SIMSTATE_RUNNING, SIMSTATE_END_STEP_REACHED, SIMSTATE_NO_FURTHER_VEHICLES, SIMSTATE_CONNECTION_CLOSED, SIMSTATE_ERROR_IN_SIM, SIMSTATE_TOO_MANY_VEHICLES } |
Possible states of a simulation - running or stopped with different reasons. More... | |
Public Member Functions | |
bool | addChargingStation (MSChargingStation *chargingStation) |
Adds a chargingg station. More... | |
void | addRestriction (const std::string &id, const SUMOVehicleClass svc, const SUMOReal speed) |
Adds a restriction for an edge type. More... | |
void | closeBuilding (MSEdgeControl *edges, MSJunctionControl *junctions, SUMORouteLoaderControl *routeLoaders, MSTLLogicControl *tlc, std::vector< SUMOTime > stateDumpTimes, std::vector< std::string > stateDumpFiles, bool hasInternalLinks, bool lefthand, SUMOReal version) |
Closes the network's building process. More... | |
void | closeSimulation (SUMOTime start) |
Closes the simulation (all files, connections, etc.) More... | |
MSChargingStation * | getChargingStation (const std::string &id) const |
Returns the named charging station. More... | |
std::string | getChargingStationID (const MSLane *lane, const SUMOReal pos) const |
Returns the charging station close to the given position. More... | |
SUMOTime | getCurrentTimeStep () const |
Returns the current simulation step. More... | |
const NamedRTree & | getLanesRTree () const |
Returns an RTree that contains lane IDs. More... | |
MSPedestrianRouterDijkstra & | getPedestrianRouter (const MSEdgeVector &prohibited=MSEdgeVector()) const |
const std::map< SUMOVehicleClass, SUMOReal > * | getRestrictions (const std::string &id) const |
Returns the restrictions for an edge type If no restrictions are present, 0 is returned. More... | |
SUMOAbstractRouter< MSEdge, SUMOVehicle > & | getRouterEffort (const MSEdgeVector &prohibited=MSEdgeVector()) const |
SUMOAbstractRouter< MSEdge, SUMOVehicle > & | getRouterTT (const MSEdgeVector &prohibited=MSEdgeVector()) const |
bool | hasElevation () const |
return whether the network contains internal links More... | |
bool | hasInternalLinks () const |
return whether the network contains internal links More... | |
bool | hasPermissions () const |
Returns whether the network has specific vehicle class permissions. More... | |
bool | lefthand () const |
return whether the network was built for lefthand traffic More... | |
void | loadRoutes () |
loads routes for the next few steps More... | |
bool | logSimulationDuration () const |
Returns whether duration shall be logged. More... | |
MSNet (MSVehicleControl *vc, MSEventControl *beginOfTimestepEvents, MSEventControl *endOfTimestepEvents, MSEventControl *insertionEvents, ShapeContainer *shapeCont=0) | |
Constructor. More... | |
void | setCurrentTimeStep (const SUMOTime step) |
Sets the current simulation step (used by state loading) More... | |
void | setPermissionsFound () |
Labels the network to contain vehicle class permissions. More... | |
int | simulate (SUMOTime start, SUMOTime stop) |
Simulates from timestep start to stop. More... | |
SimulationState | simulationState (SUMOTime stopTime) const |
Called after a simulation step, this method returns the current simulation state. More... | |
void | simulationStep () |
Performs a single simulation step. More... | |
SUMOReal | version () const |
return the network version More... | |
void | writeOutput () |
Write netstate, summary and detector output. More... | |
virtual | ~MSNet () |
Destructor. More... | |
Output during the simulation | |
void | preSimStepOutput () const |
Prints the current step number. More... | |
void | postSimStepOutput () const |
Prints the statistics of the step at its end. More... | |
Retrieval of references to substructures | |
MSVehicleControl & | getVehicleControl () |
Returns the vehicle control. More... | |
virtual MSPersonControl & | getPersonControl () |
Returns the person control. More... | |
virtual MSContainerControl & | getContainerControl () |
Returns the container control. More... | |
MSEdgeControl & | getEdgeControl () |
Returns the edge control. More... | |
MSInsertionControl & | getInsertionControl () |
Returns the insertion control. More... | |
MSDetectorControl & | getDetectorControl () |
Returns the detector control. More... | |
MSTLLogicControl & | getTLSControl () |
Returns the tls logics control. More... | |
MSJunctionControl & | getJunctionControl () |
Returns the junctions control. More... | |
MSEventControl * | getBeginOfTimestepEvents () |
Returns the event control for events executed at the begin of a time step. More... | |
MSEventControl * | getEndOfTimestepEvents () |
Returns the event control for events executed at the end of a time step. More... | |
MSEventControl * | getInsertionEvents () |
Returns the event control for insertion events. More... | |
ShapeContainer & | getShapeContainer () |
Returns the shapes container. More... | |
MSEdgeWeightsStorage & | getWeightsStorage () |
Returns the net's internal edge travel times/efforts container. More... | |
Insertion and retrieval of bus stops | |
bool | addBusStop (MSStoppingPlace *busStop) |
Adds a bus stop. More... | |
MSStoppingPlace * | getBusStop (const std::string &id) const |
Returns the named bus stop. More... | |
std::string | getBusStopID (const MSLane *lane, const SUMOReal pos) const |
Returns the bus stop close to the given position. More... | |
Insertion and retrieval of container stops | |
bool | addContainerStop (MSStoppingPlace *containerStop) |
Adds a container stop. More... | |
MSStoppingPlace * | getContainerStop (const std::string &id) const |
Returns the named container stop. More... | |
std::string | getContainerStopID (const MSLane *lane, const SUMOReal pos) const |
Returns the container stop close to the given position. More... | |
Static Public Member Functions | |
static void | clearAll () |
Clears all dictionaries. More... | |
static SUMOReal | getEffort (const MSEdge *const e, const SUMOVehicle *const v, SUMOReal t) |
Returns the effort to pass an edge. More... | |
static MSNet * | getInstance () |
Returns the pointer to the unique instance of MSNet (singleton). More... | |
static std::string | getStateMessage (SimulationState state) |
Returns the message to show if a certain state occurs. More... | |
static SUMOReal | getTravelTime (const MSEdge *const e, const SUMOVehicle *const v, SUMOReal t) |
Returns the travel time to pass an edge. More... | |
Protected Member Functions | |
bool | checkElevation () |
check all lanes for elevation data More... | |
Protected Attributes | |
NamedObjectCont< MSStoppingPlace * > | myBusStopDict |
Dictionary of bus stops. More... | |
NamedObjectCont< MSChargingStation * > | myChargingStationDict |
Dictionary of charging Stations. More... | |
NamedObjectCont< MSStoppingPlace * > | myContainerStopDict |
Dictionary of container stops. More... | |
bool | myHasElevation |
Whether the network contains elevation data. More... | |
bool | myHasInternalLinks |
Whether the network contains internal links/lanes/edges. More... | |
bool | myHavePermissions |
Whether the network contains edges which not all vehicles may pass. More... | |
std::pair< bool, NamedRTree > | myLanesRTree |
An RTree structure holding lane IDs. More... | |
bool | myLefthand |
Whether the network was built for left-hand traffic. More... | |
MSPedestrianRouterDijkstra * | myPedestrianRouter |
std::map< std::string, std::map< SUMOVehicleClass, SUMOReal > > | myRestrictions |
The vehicle class specific speed restrictions. More... | |
SUMORouteLoaderControl * | myRouteLoaders |
Route loader for dynamic loading of routes. More... | |
DijkstraRouterEffort< MSEdge, SUMOVehicle, prohibited_withPermissions< MSEdge, SUMOVehicle > > * | myRouterEffort |
AStarRouter< MSEdge, SUMOVehicle, prohibited_withPermissions< MSEdge, SUMOVehicle > > * | myRouterTTAStar |
DijkstraRouterTT< MSEdge, SUMOVehicle, prohibited_withPermissions< MSEdge, SUMOVehicle > > * | myRouterTTDijkstra |
bool | myRouterTTInitialized |
SUMOTime | myStep |
Current time step. More... | |
std::vector< VehicleStateListener * > | myVehicleStateListeners |
Container for vehicle state listener. More... | |
SUMOReal | myVersion |
the network version More... | |
Substructures | |
MSVehicleControl * | myVehicleControl |
Controls vehicle building and deletion;. More... | |
MSPersonControl * | myPersonControl |
Controls person building and deletion;. More... | |
MSContainerControl * | myContainerControl |
Controls container building and deletion;. More... | |
MSEdgeControl * | myEdges |
Controls edges, performs vehicle movement;. More... | |
MSJunctionControl * | myJunctions |
Controls junctions, realizes right-of-way rules;. More... | |
MSTLLogicControl * | myLogics |
Controls tls logics, realizes waiting on tls rules;. More... | |
MSInsertionControl * | myInserter |
Controls vehicle insertion;. More... | |
MSDetectorControl * | myDetectorControl |
Controls detectors;. More... | |
MSEventControl * | myBeginOfTimestepEvents |
Controls events executed at the begin of a time step;. More... | |
MSEventControl * | myEndOfTimestepEvents |
Controls events executed at the end of a time step;. More... | |
MSEventControl * | myInsertionEvents |
Controls insertion events;. More... | |
ShapeContainer * | myShapeContainer |
A container for geometrical shapes;. More... | |
MSEdgeWeightsStorage * | myEdgeWeights |
The net's knowledge about edge efforts/travel times;. More... | |
data needed for computing performance values | |
bool | myLogExecutionTime |
Information whether the simulation duration shall be logged. More... | |
bool | myLogStepNumber |
Information whether the number of the simulation step shall be logged. More... | |
long | mySimStepBegin |
The last simulation step begin, end and duration. More... | |
long | mySimStepEnd |
long | mySimStepDuration |
long | mySimBeginMillis |
The overall simulation duration. More... | |
long long int | myVehiclesMoved |
The overall number of vehicle movements. More... | |
State output variables | |
std::vector< SUMOTime > | myStateDumpTimes |
Times at which a state shall be written. More... | |
std::vector< std::string > | myStateDumpFiles |
The names for the state files. More... | |
Static Protected Attributes | |
static MSNet * | myInstance = 0 |
Unique instance of MSNet. More... | |
static const std::string | STAGE_EVENTS |
string constants for simstep stages More... | |
static const std::string | STAGE_INSERTIONS |
static const std::string | STAGE_LANECHANGE |
static const std::string | STAGE_MOVEMENTS |
Private Member Functions | |
MSNet (const MSNet &) | |
Invalidated copy constructor. More... | |
MSNet & | operator= (const MSNet &) |
Invalidated assignment operator. More... | |
Notification about vehicle state changes | |
enum | VehicleState { VEHICLE_STATE_BUILT, VEHICLE_STATE_DEPARTED, VEHICLE_STATE_STARTING_TELEPORT, VEHICLE_STATE_ENDING_TELEPORT, VEHICLE_STATE_ARRIVED, VEHICLE_STATE_NEWROUTE, VEHICLE_STATE_STARTING_PARKING, VEHICLE_STATE_ENDING_PARKING, VEHICLE_STATE_STARTING_STOP, VEHICLE_STATE_ENDING_STOP } |
Definition of a vehicle state. More... | |
void | addVehicleStateListener (VehicleStateListener *listener) |
Adds a vehicle states listener. More... | |
void | removeVehicleStateListener (VehicleStateListener *listener) |
Removes a vehicle states listener. More... | |
void | informVehicleStateListener (const SUMOVehicle *const vehicle, VehicleState to) |
Informs all added listeners about a vehicle's state change. More... | |
Possible states of a simulation - running or stopped with different reasons.
enum MSNet::VehicleState |
Definition of a vehicle state.
MSNet::MSNet | ( | MSVehicleControl * | vc, |
MSEventControl * | beginOfTimestepEvents, | ||
MSEventControl * | endOfTimestepEvents, | ||
MSEventControl * | insertionEvents, | ||
ShapeContainer * | shapeCont = 0 |
||
) |
Constructor.
This constructor builds a net of which only some basic structures are initialised. It prepares the network for being filled while loading. As soon as all edge/junction/traffic lights and other containers are build, they must be initialised using "closeBuilding".
[in] | vc | The vehicle control to use |
[in] | beginOfTimestepEvents | The event control to use for simulation step begin events |
[in] | endOfTimestepEvents | The event control to use for simulation step end events |
[in] | insertionEvents | The event control to use for insertion events |
[in] | shapeCont | The shape container to use |
ProcessError | If a network was already constructed |
Definition at line 170 of file MSNet.cpp.
References OptionsCont::getBool(), OptionsCont::getInt(), OptionsCont::getOptions(), OptionsCont::getString(), MSGlobals::gUseMesoSim, myBeginOfTimestepEvents, myContainerControl, myDetectorControl, myEdges, myEdgeWeights, myEndOfTimestepEvents, myInserter, myInsertionEvents, myInstance, myJunctions, myLanesRTree, myLogExecutionTime, myLogics, myLogStepNumber, myPersonControl, myRouteLoaders, myShapeContainer, myStep, myVehicleControl, and string2time().
|
virtual |
Destructor.
Definition at line 248 of file MSNet.cpp.
References clearAll(), MSGlobals::gUseMesoSim, myBeginOfTimestepEvents, myContainerControl, myDetectorControl, myEdges, myEdgeWeights, myEndOfTimestepEvents, myInserter, myInsertionEvents, myInstance, myJunctions, myLanesRTree, myLogics, myPersonControl, myRouteLoaders, myRouterEffort, myRouterTTAStar, myRouterTTDijkstra, myShapeContainer, and myVehicleControl.
|
private |
Invalidated copy constructor.
bool MSNet::addBusStop | ( | MSStoppingPlace * | busStop | ) |
Adds a bus stop.
If another bus stop with the same id exists, false is returned. Otherwise, the bus stop is added to the internal bus stop container "myBusStopDict".
This control gets responsible for deletion of the added bus stop.
[in] | busStop | The bus stop to add |
Definition at line 780 of file MSNet.cpp.
References NamedObjectCont< T >::add(), Named::getID(), and myBusStopDict.
Referenced by GUITriggerBuilder::buildBusStop(), NLTriggerBuilder::buildBusStop(), and getShapeContainer().
bool MSNet::addChargingStation | ( | MSChargingStation * | chargingStation | ) |
Adds a chargingg station.
If another charging station with the same id exists, false is returned. Otherwise, the charging station is added to the internal bus stop container "myChargingStationDict".
This control gets responsible for deletion of the added charging station.
[in] | chargingStation | The charging station add |
Definition at line 828 of file MSNet.cpp.
References NamedObjectCont< T >::add(), Named::getID(), and myChargingStationDict.
Referenced by GUITriggerBuilder::buildChargingStation(), NLTriggerBuilder::buildChargingStation(), and getShapeContainer().
bool MSNet::addContainerStop | ( | MSStoppingPlace * | containerStop | ) |
Adds a container stop.
If another container stop with the same id exists, false is returned. Otherwise, the container stop is added to the internal container stop container "myContainerStopDict".
This control gets responsible for deletion of the added container stop.
[in] | containerStop | The container stop to add |
Definition at line 805 of file MSNet.cpp.
References NamedObjectCont< T >::add(), Named::getID(), and myContainerStopDict.
Referenced by GUITriggerBuilder::buildContainerStop(), NLTriggerBuilder::buildContainerStop(), and getShapeContainer().
void MSNet::addRestriction | ( | const std::string & | id, |
const SUMOVehicleClass | svc, | ||
const SUMOReal | speed | ||
) |
Adds a restriction for an edge type.
[in] | id | The id of the type |
[in] | svc | The vehicle class the restriction refers to |
[in] | speed | The restricted speed |
Definition at line 288 of file MSNet.cpp.
References myRestrictions.
Referenced by NLHandler::myStartElement(), and setPermissionsFound().
void MSNet::addVehicleStateListener | ( | VehicleStateListener * | listener | ) |
Adds a vehicle states listener.
[in] | listener | The listener to add |
Definition at line 753 of file MSNet.cpp.
References myVehicleStateListeners.
Referenced by MSDevice_Vehroutes::init(), TraCIServer::TraCIServer(), and MSNet::VehicleStateListener::~VehicleStateListener().
|
protected |
check all lanes for elevation data
Definition at line 911 of file MSNet.cpp.
References MSEdgeControl::getEdges(), and myEdges.
Referenced by closeBuilding(), and version().
|
static |
Clears all dictionaries.
Definition at line 573 of file MSNet.cpp.
References MSTrigger::cleanup(), MSPModel::cleanup(), MSCModel_NonInteracting::cleanup(), MSCalibrator::cleanup(), MSDevice_Routing::cleanup(), PedestrianEdge< E, L, N >::cleanup(), MSRoute::clear(), MSLane::clear(), MSEdge::clear(), and MSVehicleTransfer::getInstance().
Referenced by GUILoadThread::run(), setPermissionsFound(), and ~MSNet().
void MSNet::closeBuilding | ( | MSEdgeControl * | edges, |
MSJunctionControl * | junctions, | ||
SUMORouteLoaderControl * | routeLoaders, | ||
MSTLLogicControl * | tlc, | ||
std::vector< SUMOTime > | stateDumpTimes, | ||
std::vector< std::string > | stateDumpFiles, | ||
bool | hasInternalLinks, | ||
bool | lefthand, | ||
SUMOReal | version | ||
) |
Closes the network's building process.
Assigns the structures built while loading to this network.
[in] | edges | The control of edges which belong to this network |
[in] | junctions | The control of junctions which belong to this network |
[in] | routeLoaders | The route loaders used |
[in] | tlc | The control of traffic lights which belong to this network |
[in] | stateDumpTimes | List of time steps at which state shall be written |
[in] | stateDumpFiles | Filenames for states |
[in] | hasInternalLinks | Whether the network actually contains internal links |
[in] | lefthand | Whether the network was built for left-hand traffic |
[in] | version | The network version |
Definition at line 218 of file MSNet.cpp.
References checkElevation(), SysUtils::getCurrentMillis(), hasInternalLinks(), lefthand(), myEdges, myHasElevation, myHasInternalLinks, myJunctions, myLefthand, myLogExecutionTime, myLogics, myRouteLoaders, mySimBeginMillis, myStateDumpFiles, myStateDumpTimes, myVersion, MSJunctionControl::postloadInitContainer(), and version().
Referenced by NLBuilder::buildNet().
void MSNet::closeSimulation | ( | SUMOTime | start | ) |
Closes the simulation (all files, connections, etc.)
Writes also performance output
[in] | start | The step the simulation was started with |
Definition at line 355 of file MSNet.cpp.
References MSDetectorControl::close(), TraCIServer::close(), MSDevice_Tripinfo::generateOutputForUnfinished(), MSDevice_Vehroutes::generateOutputForUnfinished(), MSVehicleControl::getCollisionCount(), SysUtils::getCurrentMillis(), MSVehicleControl::getDepartedVehicleNo(), MSVehicleControl::getEmergencyStops(), MSPersonControl::getJammedPersonNumber(), MSPersonControl::getLoadedPersonNumber(), MSVehicleControl::getLoadedVehicleNo(), OptionsCont::getOptions(), MSPersonControl::getRunningPersonNumber(), MSVehicleControl::getRunningVehicleNo(), MSVehicleControl::getTeleportCount(), MSVehicleControl::getTeleportsJam(), MSVehicleControl::getTeleportsWrongLane(), MSVehicleControl::getTeleportsYield(), MSInsertionControl::getWaitingVehicleNo(), joinToString(), myDetectorControl, myInserter, myLogExecutionTime, myPersonControl, mySimBeginMillis, myStep, myVehicleControl, myVehiclesMoved, MSDevice_Tripinfo::printStatistics(), STEPS2TIME, SUMOReal, toString(), and WRITE_MESSAGE.
Referenced by GUIRunThread::deleteSim(), setPermissionsFound(), and simulate().
|
inline |
Returns the event control for events executed at the begin of a time step.
Definition at line 389 of file MSNet.h.
References myBeginOfTimestepEvents.
Referenced by MSPModel_NonInteracting::add(), MSCModel_NonInteracting::add(), NLTriggerBuilder::buildVaporizer(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSTLLogicControl::closeWAUT(), MSLaneSpeedTrigger::init(), MSPModel_Striping::MSPModel_Striping(), MSTrafficLightLogic::MSTrafficLightLogic(), MSTriggeredRerouter::myEndElement(), MSDevice_Routing::notifyEnter(), and MSTriggeredRerouter::setPermissions().
MSStoppingPlace * MSNet::getBusStop | ( | const std::string & | id | ) | const |
Returns the named bus stop.
[in] | id | The id of the bus stop to return. |
Definition at line 786 of file MSNet.cpp.
References NamedObjectCont< T >::get(), and myBusStopDict.
Referenced by MSRouteHandler::addStop(), MSVehicle::addStop(), MSVehicle::addTraciBusOrContainerStop(), getShapeContainer(), MSRouteHandler::myStartElement(), MSRouteHandler::parseWalkPositions(), and TraCIServerAPI_Simulation::processGet().
Returns the bus stop close to the given position.
[in] | lane | the lane of the bus stop to return. |
[in] | pos | the position of the bus stop to return. |
Definition at line 792 of file MSNet.cpp.
References MSStoppingPlace::getEndLanePosition(), Named::getID(), MSStoppingPlace::getLane(), NamedObjectCont< T >::getMyMap(), myBusStopDict, and POSITION_EPS.
Referenced by getShapeContainer().
MSChargingStation * MSNet::getChargingStation | ( | const std::string & | id | ) | const |
Returns the named charging station.
[in] | id | The id of the charging station to return. |
Definition at line 834 of file MSNet.cpp.
References NamedObjectCont< T >::get(), and myChargingStationDict.
Referenced by MSRouteHandler::addStop(), getShapeContainer(), and MSDevice_Battery::notifyMove().
Returns the charging station close to the given position.
[in] | lane | the lane of the charging station to return. |
[in] | pos | the position of the bus stop to return. |
Definition at line 840 of file MSNet.cpp.
References MSStoppingPlace::getBeginLanePosition(), MSStoppingPlace::getEndLanePosition(), Named::getID(), MSStoppingPlace::getLane(), NamedObjectCont< T >::getMyMap(), and myChargingStationDict.
Referenced by getShapeContainer(), and MSDevice_Battery::notifyMove().
|
virtual |
Returns the container control.
If the container control does not exist, yet, it is created.
Reimplemented in GUINet.
Definition at line 704 of file MSNet.cpp.
References myContainerControl.
Referenced by MSRouteHandler::closeContainer(), getVehicleControl(), MSContainer::MSContainerStage_Tranship::moveToNextEdge(), MSDevice_Container::notifyLeave(), MSDevice_Container::notifyMove(), MSContainer::MSContainerStage_Driving::proceed(), MSContainer::MSContainerStage_Waiting::proceed(), MSContainer::MSContainerStage_Tranship::proceed(), and MSVehicle::processNextStop().
MSStoppingPlace * MSNet::getContainerStop | ( | const std::string & | id | ) | const |
Returns the named container stop.
[in] | id | The id of the container stop to return. |
Definition at line 810 of file MSNet.cpp.
References NamedObjectCont< T >::get(), and myContainerStopDict.
Referenced by MSRouteHandler::addStop(), MSVehicle::addStop(), MSVehicle::addTraciBusOrContainerStop(), getShapeContainer(), and MSRouteHandler::myStartElement().
Returns the container stop close to the given position.
[in] | lane | the lane of the container stop to return. |
[in] | pos | the position of the container stop to return. |
Definition at line 815 of file MSNet.cpp.
References MSStoppingPlace::getEndLanePosition(), Named::getID(), MSStoppingPlace::getLane(), NamedObjectCont< T >::getMyMap(), myContainerStopDict, and POSITION_EPS.
Referenced by getShapeContainer().
|
inline |
Returns the current simulation step.
Definition at line 255 of file MSNet.h.
References myStep.
Referenced by MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), GUIEdge::addRerouter(), MSDevice_Vehroutes::addRoute(), MSTLLogicControl::addWAUTJunction(), MSPersonControl::boardAnyWaiting(), NLDetectorBuilder::buildE2Detector(), MSDevice_Routing::buildVehicleDevices(), NLJunctionControlBuilder::closeTrafficLightLogic(), MSTLLogicControl::closeWAUT(), TraCIServerAPI_Simulation::commandDistanceRequest(), MSDevice_Tripinfo::computeLengthAndDuration(), MSActuatedTrafficLightLogic::duration(), Command_SaveTLCoupledLaneDet::execute(), Command_SaveTLCoupledDet::execute(), MSActuatedTrafficLightLogic::gapControl(), MSTransportable::getAngle(), MSLane::getCriticalLeader(), MSInductLoop::getCurrentOccupancy(), GUIApplicationWindow::getCurrentSimTime(), MSLaneSpeedTrigger::getCurrentSpeed(), GUIViewTraffic::getCurrentTimeStep(), MSEventControl::getCurrentTimeStep(), MSTransportable::getEdgePos(), MSLane::getLeaderOnConsecutive(), MSTransportable::getPosition(), MSTransportable::getWaitingSeconds(), MSLink::getZipperSpeed(), GUIApplicationWindow::handleEvent_SimulationStep(), MSLaneSpeedTrigger::init(), TraCIServer::initialiseSubscription(), MSTLLogicControl::initWautSwitch(), MSLane::isInsertionSuccess(), MSContainerControl::loadAnyWaiting(), GUIRunThread::makeStep(), MSPModel_Striping::MSPModel_Striping(), MSDevice_Vehroutes::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Vehroutes::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Container::notifyMove(), MSDevice_Person::notifyMove(), GUIApplicationWindow::onCmdTimeToggle(), MSBaseVehicle::onDepart(), TraCIServer::postProcessSimulationStep2(), TraCIServerAPI_Lane::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_TLS::processSet(), TraCIServerAPI_Vehicle::processSet(), MSTrafficLightLogic::resetLinkStates(), GUIRunThread::run(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), simulate(), MSSimpleTrafficLightLogic::trySwitch(), and MSActuatedTrafficLightLogic::trySwitch().
|
inline |
Returns the detector control.
Definition at line 359 of file MSNet.h.
References myDetectorControl.
Referenced by NLDetectorBuilder::buildE2Detector(), NLDetectorBuilder::buildInductLoop(), NLDetectorBuilder::buildInstantInductLoop(), NLDetectorBuilder::buildRouteProbe(), NLDetectorBuilder::createEdgeLaneMeanData(), NLDetectorBuilder::endE3Detector(), TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), MSActuatedTrafficLightLogic::init(), NLTriggerBuilder::parseAndBuildCalibrator(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_ArealDetector::processGet(), and TraCIServerAPI_MeMeDetector::processGet().
|
inline |
Returns the edge control.
Definition at line 339 of file MSNet.h.
References myEdges.
Referenced by MSDevice_Routing::adaptEdgeEfforts(), MSDevice_Routing::buildVehicleDevices(), TraCIServerAPI_Simulation::convertCartesianToRoadMap(), TraCIServerAPI_Vehicle::getOrBuildVTDMap(), MSLane::incorporateVehicle(), MSMeanData::init(), MSFCDExport::write(), MSQueueExport::writeEdge(), and MSFullExport::writeEdge().
|
static |
Returns the effort to pass an edge.
[in] | e | The edge for which the effort to be passed shall be returned |
[in] | v | The vehicle that is rerouted |
[in] | t | The time for which the effort shall be returned [s] |
Definition at line 130 of file MSNet.cpp.
References getInstance(), MSVehicle::getWeightsStorage(), getWeightsStorage(), MSEdgeWeightsStorage::retrieveExistingEffort(), and SUMOReal.
Referenced by getRouterEffort(), and MSNet::VehicleStateListener::~VehicleStateListener().
|
inline |
Returns the event control for events executed at the end of a time step.
Definition at line 399 of file MSNet.h.
References myEndOfTimestepEvents.
Referenced by MSDevice_BTreceiver::BTreceiverUpdate::BTreceiverUpdate(), MSDevice_Routing::buildVehicleDevices(), Command_SaveTLSState::Command_SaveTLSState(), Command_SaveTLSSwitches::Command_SaveTLSSwitches(), Command_SaveTLSSwitchStates::Command_SaveTLSSwitchStates(), MSCalibrator::init(), and MSVTypeProbe::MSVTypeProbe().
|
inline |
Returns the insertion control.
Definition at line 349 of file MSNet.h.
References myInserter.
Referenced by MSLane::checkFailure(), MSRouteHandler::closeVehicle(), GUINet::getParameterWindow(), MSEdge::insertVehicle(), MSLane::isInsertionSuccess(), MSStateHandler::myStartElement(), MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), TraCIServerAPI_Vehicle::processSet(), and TraCIServerAPI_Simulation::processSet().
|
inline |
Returns the event control for insertion events.
Definition at line 409 of file MSNet.h.
References myInsertionEvents.
Referenced by MSDevice_Routing::MSDevice_Routing().
|
static |
Returns the pointer to the unique instance of MSNet (singleton).
ProcessError | If a network was not yet constructed |
Definition at line 162 of file MSNet.cpp.
References myInstance.
Referenced by MSLCM_JE2013::_patchSpeed(), MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), MSDevice_Routing::adaptEdgeEfforts(), MSVehicleTransfer::add(), MSInsertionControl::add(), MSTrafficLightLogic::addLink(), MSTLLogicControl::TLSLogicVariants::addLogic(), GUIEdge::addRerouter(), MSDevice_Vehroutes::addRoute(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSBaseVehicle::addStops(), MSVehicle::addTraciBusOrContainerStop(), MSTLLogicControl::addWAUTJunction(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPersonControl::boardAnyWaiting(), MSDevice_BTreceiver::BTreceiverUpdate::BTreceiverUpdate(), NLTriggerBuilder::buildVaporizer(), GUIVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), MSDevice_Routing::buildVehicleDevices(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSLane::checkFailure(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), MSRouteHandler::closeContainer(), MSRouteHandler::closeFlow(), MSRouteHandler::closePerson(), MSRouteHandler::closeRoute(), MSRouteHandler::closeVehicle(), MSRouteHandler::closeVehicleTypeDistribution(), MSTLLogicControl::closeWAUT(), Command_SaveTLSState::Command_SaveTLSState(), Command_SaveTLSSwitches::Command_SaveTLSSwitches(), Command_SaveTLSSwitchStates::Command_SaveTLSSwitchStates(), TraCIServerAPI_Simulation::commandDistanceRequest(), MSDevice_Tripinfo::computeLengthAndDuration(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), TraCIServerAPI_Simulation::convertCartesianToRoadMap(), NLDetectorBuilder::createEdgeLaneMeanData(), MSInsertionControl::determineCandidates(), TraCIServer::dispatchCommand(), GUITrafficLightLogicWrapper::drawGL(), GUIBusStop::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GUILane::drawGL(), GUILane::drawLinkNo(), GUILane::drawLinkRules(), GUILane::drawMarkings(), GUILane::drawTLSLinkNo(), MSActuatedTrafficLightLogic::duration(), MSDevice::equippedByDefaultAssignmentOptions(), MSContainerControl::erase(), MSPersonControl::erase(), MSCalibrator::execute(), Command_SaveTLCoupledLaneDet::execute(), Command_SaveTLCoupledDet::execute(), MSVTypeProbe::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), MSActuatedTrafficLightLogic::gapControl(), MSDevice_Vehroutes::generateOutput(), MSTransportable::getAngle(), GUILane::getColorValue(), MSLane::getCriticalLeader(), MSInductLoop::getCurrentLength(), MSInductLoop::getCurrentOccupancy(), MSInductLoop::getCurrentPassedNumber(), MSLaneSpeedTrigger::getCurrentSpeed(), MSInductLoop::getCurrentSpeed(), GUIViewTraffic::getCurrentTimeStep(), MSEventControl::getCurrentTimeStep(), MSInductLoop::getCurrentVehicleIDs(), MSTransportable::getEdgePos(), getEffort(), GUINet::getGUIInstance(), MSLane::getLeaderOnConsecutive(), GUILane::getLoadedEdgeWeight(), MSLane::getMaximumBrakeDist(), MSPModel::getModel(), MSCModel_NonInteracting::getModel(), MSPModel_Striping::getNextLane(), TraCIServerAPI_Vehicle::getOrBuildVTDMap(), MSTLLogicControl::getPhaseDef(), TraCIServerAPI_POI::getPoI(), TraCIServerAPI_Polygon::getPolygon(), TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_Junction::getPosition(), TraCIServerAPI_Vehicle::getPosition(), TraCIServerAPI_Person::getPosition(), MSTransportable::getPosition(), MSVTKExport::getPositions(), GUILane::getScaleValue(), MSVTKExport::getSpeed(), GUILane::getStoredEdgeTravelTime(), MSEdge::getSuccessors(), MSInductLoop::getTimestepsSinceLastDetection(), getTravelTime(), MSEdge::getTravelTimeStatic(), TraCIServerAPI_InductionLoop::getTree(), TraCIServerAPI_Junction::getTree(), TraCIServerAPI_POI::getTree(), TraCIServerAPI_Polygon::getTree(), MSTransportable::getWaitingSeconds(), MSLink::getZipperSpeed(), GUIBusStop::GUIBusStop(), MSLane::handleCollision(), MSLane::incorporateVehicle(), MSVehicle::influenceChangeDecision(), MSLCM_JE2013::inform(), MSLCM_JE2013::informFollower(), MSLCM_JE2013::informLeader(), MSDevice_Vehroutes::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSLaneSpeedTrigger::init(), MSCalibrator::init(), MSMeanData::init(), TraCIServer::initialiseSubscription(), MSTLLogicControl::initWautSwitch(), MSEdge::insertVehicle(), MSLane::isInsertionSuccess(), MSVehicle::leaveLane(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSContainerControl::loadAnyWaiting(), MSPerson::MSPersonStage_Walking::moveToNextEdge(), MSContainer::MSContainerStage_Tranship::moveToNextEdge(), MSDevice_Routing::MSDevice_Routing(), MSLane::MSLane(), MSTrafficLightLogic::MSTrafficLightLogic(), MSVTypeProbe::MSVTypeProbe(), GUITriggeredRerouter::myEndElement(), MSStateHandler::myEndElement(), MSRouteHandler::myEndElement(), MSTriggeredRerouter::myEndElement(), MSStateHandler::myStartElement(), MSRouteHandler::myStartElement(), MSCalibrator::myStartElement(), MSDevice_Container::notifyEnter(), MSDevice_Person::notifyEnter(), MSDevice_Vehroutes::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_Routing::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Vehroutes::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Container::notifyMove(), MSDevice_Person::notifyMove(), MSDevice_Battery::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSInstantInductLoop::notifyMove(), MSInductLoop::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), GUISUMOViewParent::onCmdLocate(), MSBaseVehicle::onDepart(), GUIViewTraffic::onGamingClick(), MSRouteHandler::openVehicleTypeDistribution(), MSRouteHandler::parseWalkPositions(), MSLCM_JE2013::patchSpeed(), MSVehicle::planMoveInternal(), TraCIServer::postProcessSimulationStep2(), TraCIServer::postProcessVTD(), MSPerson::MSPersonStage_Walking::proceed(), MSContainer::MSContainerStage_Tranship::proceed(), TraCIServerAPI_Edge::processGet(), TraCIServerAPI_ArealDetector::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Junction::processGet(), TraCIServerAPI_MeMeDetector::processGet(), TraCIServerAPI_VehicleType::processGet(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Simulation::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_Edge::processSet(), TraCIServerAPI_Polygon::processSet(), TraCIServerAPI_TLS::processSet(), TraCIServerAPI_POI::processSet(), TraCIServerAPI_Vehicle::processSet(), TraCIServerAPI_GUI::processSet(), TraCIServerAPI_Simulation::processSet(), TraCIServerAPI_Person::processSet(), TraCIServerAPI_VehicleType::processSet(), MSPModel_Striping::PState::PState(), MSCalibrator::remainingVehicleCapacity(), MSCalibrator::removePending(), MSVehicle::replaceRoute(), MSDevice_Routing::reroute(), MSTrafficLightLogic::resetLinkStates(), MSVehicle::resumeFromStopping(), MSLCM_JE2013::saveBlockerLength(), MSStateHandler::saveState(), MSVehicleControl::scheduleVehicleRemoval(), GUIBaseVehicle::setFunctionalColor(), MSLaneSpeedTrigger::setOverriding(), MSLaneSpeedTrigger::setOverridingValue(), MSTriggeredRerouter::setPermissions(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), MSLCM_JE2013::slowDownForBlocked(), MSLane::succLinkSec(), MSTLLogicControl::TLSLogicVariants::switchTo(), TraCIServer::TraCIServer(), MSInsertionControl::tryInsert(), MSSimpleTrafficLightLogic::trySwitch(), MSActuatedTrafficLightLogic::trySwitch(), MSRailSignal::trySwitch(), MSVehicleControl::vehicleDeparted(), MSPModel_Striping::PState::walk(), MSLCM_JE2013::wantsChange(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSAmitranTrajectories::write(), MSMeanData_Emissions::MSLaneMeanDataValues::write(), MSQueueExport::writeEdge(), MSFullExport::writeEdge(), writeOutput(), MSFullExport::writeTLS(), MSFullExport::writeVehicles(), MSDevice_BTreceiver::BTreceiverUpdate::~BTreceiverUpdate(), MSDevice_Routing::~MSDevice_Routing(), and TraCIServer::~TraCIServer().
|
inline |
Returns the junctions control.
Definition at line 379 of file MSNet.h.
References myJunctions.
Referenced by TraCIServerAPI_Junction::getPosition(), TraCIServerAPI_Junction::getTree(), and TraCIServerAPI_Junction::processGet().
const NamedRTree & MSNet::getLanesRTree | ( | ) | const |
Returns an RTree that contains lane IDs.
Definition at line 901 of file MSNet.cpp.
References MSLane::fill(), and myLanesRTree.
Referenced by MSNet::VehicleStateListener::~VehicleStateListener().
MSNet::MSPedestrianRouterDijkstra & MSNet::getPedestrianRouter | ( | const MSEdgeVector & | prohibited = MSEdgeVector() | ) | const |
Definition at line 891 of file MSNet.cpp.
References myPedestrianRouter, and PedestrianRouter< E, L, N, INTERNALROUTER >::prohibit().
Referenced by MSPModel_Striping::getNextLane(), MSRouteHandler::myStartElement(), MSPModel_Striping::PState::PState(), and MSNet::VehicleStateListener::~VehicleStateListener().
|
virtual |
Returns the person control.
If the person control does not exist, yet, it is created.
Reimplemented in GUINet.
Definition at line 696 of file MSNet.cpp.
References myPersonControl.
Referenced by MSRouteHandler::closePerson(), TraCIServerAPI_Person::getPosition(), getVehicleControl(), MSPerson::MSPersonStage_Walking::moveToNextEdge(), MSDevice_Person::notifyLeave(), MSDevice_Person::notifyMove(), GUISUMOViewParent::onCmdLocate(), MSPerson::MSPersonStage_Walking::proceed(), MSPerson::MSPersonStage_Driving::proceed(), MSPerson::MSPersonStage_Waiting::proceed(), TraCIServerAPI_Person::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_Person::processSet(), and MSPModel_Striping::PState::walk().
const std::map< SUMOVehicleClass, SUMOReal > * MSNet::getRestrictions | ( | const std::string & | id | ) | const |
Returns the restrictions for an edge type If no restrictions are present, 0 is returned.
[in] | id | The id of the type |
Definition at line 294 of file MSNet.cpp.
References myRestrictions.
Referenced by MSLane::MSLane(), and setPermissionsFound().
SUMOAbstractRouter< MSEdge, SUMOVehicle > & MSNet::getRouterEffort | ( | const MSEdgeVector & | prohibited = MSEdgeVector() | ) | const |
Definition at line 880 of file MSNet.cpp.
References getEffort(), getTravelTime(), myRouterEffort, MSEdge::numericalDictSize(), and prohibited_withPermissions< E, V >::prohibit().
Referenced by MSNet::VehicleStateListener::~VehicleStateListener().
SUMOAbstractRouter< MSEdge, SUMOVehicle > & MSNet::getRouterTT | ( | const MSEdgeVector & | prohibited = MSEdgeVector() | ) | const |
Definition at line 853 of file MSNet.cpp.
References OptionsCont::getOptions(), OptionsCont::getString(), getTravelTime(), myRouterTTAStar, myRouterTTDijkstra, myRouterTTInitialized, MSEdge::numericalDictSize(), prohibited_withPermissions< E, V >::prohibit(), and WRITE_WARNING.
Referenced by TraCIServerAPI_Simulation::commandDistanceRequest(), MSTriggeredRerouter::notifyEnter(), TraCIServerAPI_Vehicle::processSet(), and MSNet::VehicleStateListener::~VehicleStateListener().
|
inline |
Returns the shapes container.
Definition at line 419 of file MSNet.h.
References addBusStop(), addChargingStation(), addContainerStop(), getBusStop(), getBusStopID(), getChargingStation(), getChargingStationID(), getContainerStop(), getContainerStopID(), getWeightsStorage(), myShapeContainer, and SUMOReal.
Referenced by NLHandler::addDistrict(), NLBuilder::build(), TraCIServerAPI_POI::getPoI(), TraCIServerAPI_Polygon::getPolygon(), TraCIServerAPI_POI::getTree(), TraCIServerAPI_Polygon::getTree(), GUISUMOViewParent::onCmdLocate(), GUIApplicationWindow::onCmdOpenShapes(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_POI::processSet(), and TraCIServerAPI_Polygon::processSet().
|
static |
Returns the message to show if a certain state occurs.
Definition at line 552 of file MSNet.cpp.
References SIMSTATE_CONNECTION_CLOSED, SIMSTATE_END_STEP_REACHED, SIMSTATE_ERROR_IN_SIM, SIMSTATE_NO_FURTHER_VEHICLES, SIMSTATE_RUNNING, and SIMSTATE_TOO_MANY_VEHICLES.
Referenced by GUIApplicationWindow::handleEvent_SimulationEnded(), GUIRunThread::makeStep(), setPermissionsFound(), and simulate().
|
inline |
Returns the tls logics control.
Definition at line 369 of file MSNet.h.
References myLogics.
Referenced by NLDiscreteEventBuilder::buildSaveTLStateCommand(), NLDiscreteEventBuilder::buildSaveTLSwitchesCommand(), NLDiscreteEventBuilder::buildSaveTLSwitchStatesCommand(), NLJunctionControlBuilder::getTLLogicControlToUse(), GUINet::initTLMap(), GUIViewTraffic::onGamingClick(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_TLS::processSet(), and MSFullExport::writeTLS().
|
static |
Returns the travel time to pass an edge.
[in] | e | The edge for which the travel time to be passed shall be returned |
[in] | v | The vehicle that is rerouted |
[in] | t | The time for which the travel time shall be returned [s] |
Definition at line 144 of file MSNet.cpp.
References getInstance(), MSEdge::getMinimumTravelTime(), MSVehicle::getWeightsStorage(), getWeightsStorage(), MSEdgeWeightsStorage::retrieveExistingTravelTime(), and SUMOReal.
Referenced by MSDevice_Routing::buildVehicleDevices(), getRouterEffort(), getRouterTT(), MSEdge::getTravelTimeStatic(), and MSNet::VehicleStateListener::~VehicleStateListener().
|
inline |
Returns the vehicle control.
Definition at line 308 of file MSNet.h.
References getContainerControl(), getPersonControl(), and myVehicleControl.
Referenced by MSVehicleTransfer::add(), MSInsertionControl::add(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), MSDevice::equippedByDefaultAssignmentOptions(), MSCalibrator::execute(), MSVTypeProbe::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), MSLane::getMaximumBrakeDist(), GUINet::getParameterWindow(), TraCIServerAPI_Vehicle::getPosition(), MSVTKExport::getPositions(), MSVTKExport::getSpeed(), MSLane::handleCollision(), MSStateHandler::myEndElement(), MSStateHandler::myStartElement(), MSRouteHandler::myStartElement(), MSCalibrator::myStartElement(), GUISUMOViewParent::onCmdLocate(), MSBaseVehicle::onDepart(), MSRouteHandler::openVehicleTypeDistribution(), TraCIServer::postProcessVTD(), MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), TraCIServerAPI_VehicleType::processGet(), TraCIServerAPI_Vehicle::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), TraCIServerAPI_GUI::processSet(), TraCIServerAPI_VehicleType::processSet(), MSCalibrator::remainingVehicleCapacity(), MSCalibrator::removePending(), MSVehicle::resumeFromStopping(), MSStateHandler::saveState(), GUINet::setSimDuration(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSAmitranTrajectories::write(), MSMeanData_Emissions::MSLaneMeanDataValues::write(), writeOutput(), and MSFullExport::writeVehicles().
MSEdgeWeightsStorage & MSNet::getWeightsStorage | ( | ) |
Returns the net's internal edge travel times/efforts container.
If the net does not have such a container, it is built.
Definition at line 713 of file MSNet.cpp.
References myEdgeWeights.
Referenced by NLBuilder::EdgeFloatTimeLineRetriever_EdgeEffort::addEdgeWeight(), NLBuilder::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight(), GUILane::getColorValue(), getEffort(), GUILane::getLoadedEdgeWeight(), GUILane::getScaleValue(), getShapeContainer(), GUILane::getStoredEdgeTravelTime(), getTravelTime(), and TraCIServerAPI_Edge::processSet().
|
inline |
return whether the network contains internal links
Definition at line 633 of file MSNet.h.
References myHasElevation.
Referenced by MSVTypeProbe::execute().
|
inline |
return whether the network contains internal links
Definition at line 628 of file MSNet.h.
References myHasInternalLinks.
Referenced by closeBuilding(), MSDevice_Tripinfo::computeLengthAndDuration(), and MSDevice_Vehroutes::generateOutput().
|
inline |
Returns whether the network has specific vehicle class permissions.
Definition at line 175 of file MSNet.h.
References myHavePermissions.
Referenced by MSDevice_Routing::reroute().
void MSNet::informVehicleStateListener | ( | const SUMOVehicle *const | vehicle, |
VehicleState | to | ||
) |
Informs all added listeners about a vehicle's state change.
[in] | vehicle | The vehicle which changed its state |
[in] | to | The state the vehicle has changed to |
Definition at line 770 of file MSNet.cpp.
References myVehicleStateListeners.
Referenced by MSVehicleTransfer::add(), GUIVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), MSVehicleTransfer::checkInsertions(), MSVehicle::processNextStop(), MSVehicle::replaceRoute(), MSVehicle::resumeFromStopping(), MSVehicleControl::scheduleVehicleRemoval(), MSVehicleControl::vehicleDeparted(), and MSNet::VehicleStateListener::~VehicleStateListener().
|
inline |
return whether the network was built for lefthand traffic
Definition at line 638 of file MSNet.h.
References myLefthand.
Referenced by closeBuilding(), GUIBusStop::drawGL(), GUILane::drawLinkNo(), GUILane::drawLinkRules(), GUILane::drawMarkings(), GUILane::drawTLSLinkNo(), and GUIBusStop::GUIBusStop().
void MSNet::loadRoutes | ( | ) |
loads routes for the next few steps
Definition at line 349 of file MSNet.cpp.
References SUMORouteLoaderControl::loadNext(), myRouteLoaders, and myStep.
Referenced by GUIRunThread::init(), setPermissionsFound(), simulate(), and simulationStep().
bool MSNet::logSimulationDuration | ( | ) | const |
Returns whether duration shall be logged.
Definition at line 690 of file MSNet.cpp.
References myLogExecutionTime.
Referenced by GUINet::getParameterWindow(), and setCurrentTimeStep().
void MSNet::postSimStepOutput | ( | ) | const |
Prints the statistics of the step at its end.
Called on the end of a simulation step
Definition at line 728 of file MSNet.cpp.
References DELTA_T, MSVehicleControl::getDepartedVehicleNo(), MSVehicleControl::getRunningVehicleNo(), myLogExecutionTime, mySimStepDuration, myStep, myVehicleControl, OUTPUT_ACCURACY, SUMOReal, and time2string().
Referenced by setCurrentTimeStep(), and simulate().
void MSNet::preSimStepOutput | ( | ) | const |
Prints the current step number.
Called on the begin of a simulation step
Definition at line 722 of file MSNet.cpp.
References myStep, and time2string().
Referenced by setCurrentTimeStep(), and simulate().
void MSNet::removeVehicleStateListener | ( | VehicleStateListener * | listener | ) |
Removes a vehicle states listener.
[in] | listener | The listener to remove |
Definition at line 761 of file MSNet.cpp.
References myVehicleStateListeners.
Referenced by TraCIServer::~TraCIServer(), and MSNet::VehicleStateListener::~VehicleStateListener().
|
inline |
Sets the current simulation step (used by state loading)
step | the current simulation step |
Definition at line 263 of file MSNet.h.
References logSimulationDuration(), myStep, postSimStepOutput(), preSimStepOutput(), and writeOutput().
Referenced by GUIRunThread::init().
|
inline |
Labels the network to contain vehicle class permissions.
Definition at line 181 of file MSNet.h.
References addRestriction(), clearAll(), closeSimulation(), getRestrictions(), getStateMessage(), loadRoutes(), myHavePermissions, simulate(), simulationState(), simulationStep(), and SUMOReal.
Referenced by NLHandler::addLane().
Simulates from timestep start to stop.
[in] | start | The begin time step of the simulation |
[in] | stop | The end time step of the simulation |
Recheck return value
What exceptions may occure?
Definition at line 304 of file MSNet.cpp.
References closeSimulation(), getCurrentTimeStep(), OptionsCont::getOptions(), getStateMessage(), loadRoutes(), myLogStepNumber, myStep, postSimStepOutput(), preSimStepOutput(), SIMSTATE_RUNNING, simulationState(), simulationStep(), time2string(), TraCIServer::wasClosed(), and WRITE_MESSAGE.
Referenced by main(), and setPermissionsFound().
MSNet::SimulationState MSNet::simulationState | ( | SUMOTime | stopTime | ) | const |
Called after a simulation step, this method returns the current simulation state.
[in] | stopTime | The time the simulation shall stop at |
Definition at line 520 of file MSNet.cpp.
References MSContainerControl::abortWaiting(), MSPersonControl::abortWaiting(), MSVehicleControl::abortWaiting(), MSVehicleControl::getActiveVehicleCount(), OptionsCont::getOptions(), MSInsertionControl::getPendingFlowCount(), MSContainerControl::hasNonWaiting(), MSPersonControl::hasNonWaiting(), MSEventControl::isEmpty(), myContainerControl, myInserter, myInsertionEvents, myPersonControl, myStep, myVehicleControl, SIMSTATE_CONNECTION_CLOSED, SIMSTATE_END_STEP_REACHED, SIMSTATE_NO_FURTHER_VEHICLES, SIMSTATE_RUNNING, and TraCIServer::wasClosed().
Referenced by GUIRunThread::makeStep(), setPermissionsFound(), and simulate().
void MSNet::simulationStep | ( | ) |
Performs a single simulation step.
Definition at line 422 of file MSNet.cpp.
References MSEdgeControl::changeLanes(), MSTLLogicControl::check2Switch(), MSVehicleTransfer::checkInsertions(), MSContainerControl::checkWaitingContainers(), MSPersonControl::checkWaitingPersons(), DELTA_T, MSEdgeControl::detectCollisions(), MSInsertionControl::determineCandidates(), MSInsertionControl::emitVehicles(), MSEventControl::execute(), MSEdgeControl::executeMovements(), MSGlobals::gCheck4Accidents, SysUtils::getCurrentMillis(), TraCIServer::getInstance(), MSVehicleTransfer::getInstance(), MSVehicleControl::getRunningVehicleNo(), TraCIServer::getTargetTime(), MSGlobals::gUseMesoSim, MSPersonControl::hasPersons(), loadRoutes(), myBeginOfTimestepEvents, myContainerControl, myEdges, myEndOfTimestepEvents, myInserter, myInsertionEvents, myLogExecutionTime, myLogics, myPersonControl, mySimStepBegin, mySimStepDuration, mySimStepEnd, myStateDumpFiles, myStateDumpTimes, myStep, myVehicleControl, myVehiclesMoved, MSEdgeControl::patchActiveLanes(), MSEdgeControl::planMovements(), TraCIServer::postProcessVTD(), TraCIServer::processCommandsUntilSimStep(), MSStateHandler::saveState(), STAGE_EVENTS, STAGE_INSERTIONS, STAGE_LANECHANGE, STAGE_MOVEMENTS, and writeOutput().
Referenced by TraCIServer::dispatchCommand(), setPermissionsFound(), simulate(), and GUINet::simulationStep().
|
inline |
return the network version
Definition at line 643 of file MSNet.h.
References checkElevation(), and myVersion.
Referenced by closeBuilding().
void MSNet::writeOutput | ( | ) |
Write netstate, summary and detector output.
Definition at line 589 of file MSNet.cpp.
References OutputDevice::closeTag(), DELTA_T, MSVehicleControl::getDepartedVehicleNo(), OutputDevice::getDeviceByOption(), MSEdgeControl::getEdges(), MSVehicleControl::getEndedVehicleNo(), getInstance(), OptionsCont::getInt(), MSVehicleControl::getLoadedVehicleNo(), OptionsCont::getOptions(), MSVehicleControl::getRunningVehicleNo(), OptionsCont::getString(), MSVehicleControl::getTotalDepartureDelay(), MSVehicleControl::getTotalTravelTime(), getVehicleControl(), MSInsertionControl::getWaitingVehicleNo(), OptionsCont::isSet(), myDetectorControl, myEdges, myHasElevation, myInserter, myLogExecutionTime, mySimStepDuration, myStep, myVehicleControl, OutputDevice::openTag(), STEPS2TIME, SUMO_ATTR_ID, SUMOReal, time2string(), MSDetectorControl::updateDetectors(), MSVTKExport::write(), MSQueueExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSFullExport::write(), MSFCDExport::write(), MSAmitranTrajectories::write(), MSXMLRawOut::write(), OutputDevice::writeAttr(), and MSDetectorControl::writeOutput().
Referenced by setCurrentTimeStep(), and simulationStep().
|
protected |
Controls events executed at the begin of a time step;.
Definition at line 683 of file MSNet.h.
Referenced by getBeginOfTimestepEvents(), MSNet(), simulationStep(), and ~MSNet().
|
protected |
Dictionary of bus stops.
Definition at line 747 of file MSNet.h.
Referenced by addBusStop(), getBusStop(), and getBusStopID().
|
protected |
Dictionary of charging Stations.
Definition at line 753 of file MSNet.h.
Referenced by addChargingStation(), getChargingStation(), and getChargingStationID().
|
protected |
Controls container building and deletion;.
Definition at line 671 of file MSNet.h.
Referenced by GUINet::getContainerControl(), getContainerControl(), MSNet(), simulationState(), simulationStep(), and ~MSNet().
|
protected |
Dictionary of container stops.
Definition at line 750 of file MSNet.h.
Referenced by addContainerStop(), getContainerStop(), and getContainerStopID().
|
protected |
Controls detectors;.
Definition at line 681 of file MSNet.h.
Referenced by closeSimulation(), getDetectorControl(), GUINet::initGUIStructures(), MSNet(), writeOutput(), and ~MSNet().
|
protected |
Controls edges, performs vehicle movement;.
Definition at line 673 of file MSNet.h.
Referenced by checkElevation(), closeBuilding(), getEdgeControl(), MSNet(), simulationStep(), writeOutput(), and ~MSNet().
|
protected |
The net's knowledge about edge efforts/travel times;.
Definition at line 691 of file MSNet.h.
Referenced by getWeightsStorage(), MSNet(), and ~MSNet().
|
protected |
Controls events executed at the end of a time step;.
Definition at line 685 of file MSNet.h.
Referenced by getEndOfTimestepEvents(), MSNet(), simulationStep(), and ~MSNet().
|
protected |
Whether the network contains elevation data.
Definition at line 738 of file MSNet.h.
Referenced by closeBuilding(), hasElevation(), and writeOutput().
|
protected |
Whether the network contains internal links/lanes/edges.
Definition at line 735 of file MSNet.h.
Referenced by closeBuilding(), and hasInternalLinks().
|
protected |
Whether the network contains edges which not all vehicles may pass.
Definition at line 729 of file MSNet.h.
Referenced by hasPermissions(), and setPermissionsFound().
|
protected |
Controls vehicle insertion;.
Definition at line 679 of file MSNet.h.
Referenced by closeSimulation(), getInsertionControl(), MSNet(), simulationState(), simulationStep(), writeOutput(), and ~MSNet().
|
protected |
Controls insertion events;.
Definition at line 687 of file MSNet.h.
Referenced by getInsertionEvents(), MSNet(), simulationState(), simulationStep(), and ~MSNet().
|
staticprotected |
|
protected |
Controls junctions, realizes right-of-way rules;.
Definition at line 675 of file MSNet.h.
Referenced by closeBuilding(), getJunctionControl(), GUINet::getJunctionPosition(), GUINet::getParameterWindow(), GUINet::initGUIStructures(), MSNet(), and ~MSNet().
|
mutableprotected |
|
protected |
Whether the network was built for left-hand traffic.
Definition at line 741 of file MSNet.h.
Referenced by closeBuilding(), and lefthand().
|
protected |
Information whether the simulation duration shall be logged.
Definition at line 700 of file MSNet.h.
Referenced by closeBuilding(), closeSimulation(), logSimulationDuration(), MSNet(), postSimStepOutput(), simulationStep(), and writeOutput().
|
protected |
Controls tls logics, realizes waiting on tls rules;.
Definition at line 677 of file MSNet.h.
Referenced by closeBuilding(), GUINet::createTLWrapper(), GUINet::getLinkTLID(), GUINet::getLinkTLIndex(), getTLSControl(), MSNet(), simulationStep(), and ~MSNet().
|
protected |
Information whether the number of the simulation step shall be logged.
Definition at line 703 of file MSNet.h.
Referenced by MSNet(), and simulate().
|
mutableprotected |
Definition at line 767 of file MSNet.h.
Referenced by getPedestrianRouter().
|
protected |
Controls person building and deletion;.
Definition at line 669 of file MSNet.h.
Referenced by closeSimulation(), GUINet::getParameterWindow(), GUINet::getPersonControl(), getPersonControl(), MSNet(), simulationState(), simulationStep(), and ~MSNet().
|
protected |
The vehicle class specific speed restrictions.
Definition at line 732 of file MSNet.h.
Referenced by addRestriction(), and getRestrictions().
|
protected |
Route loader for dynamic loading of routes.
Definition at line 656 of file MSNet.h.
Referenced by closeBuilding(), loadRoutes(), MSNet(), and ~MSNet().
|
mutableprotected |
Definition at line 766 of file MSNet.h.
Referenced by getRouterEffort(), and ~MSNet().
|
mutableprotected |
Definition at line 765 of file MSNet.h.
Referenced by getRouterTT(), and ~MSNet().
|
mutableprotected |
Definition at line 764 of file MSNet.h.
Referenced by getRouterTT(), and ~MSNet().
|
mutableprotected |
Definition at line 763 of file MSNet.h.
Referenced by getRouterTT().
|
protected |
A container for geometrical shapes;.
Definition at line 689 of file MSNet.h.
Referenced by getShapeContainer(), MSNet(), and ~MSNet().
|
protected |
The overall simulation duration.
Definition at line 709 of file MSNet.h.
Referenced by closeBuilding(), and closeSimulation().
|
protected |
The last simulation step begin, end and duration.
Definition at line 706 of file MSNet.h.
Referenced by simulationStep().
|
protected |
Definition at line 706 of file MSNet.h.
Referenced by postSimStepOutput(), simulationStep(), and writeOutput().
|
protected |
Definition at line 706 of file MSNet.h.
Referenced by simulationStep().
|
protected |
The names for the state files.
Definition at line 723 of file MSNet.h.
Referenced by closeBuilding(), and simulationStep().
|
protected |
Times at which a state shall be written.
Definition at line 721 of file MSNet.h.
Referenced by closeBuilding(), and simulationStep().
|
protected |
Current time step.
Definition at line 659 of file MSNet.h.
Referenced by closeSimulation(), getCurrentTimeStep(), loadRoutes(), MSNet(), postSimStepOutput(), preSimStepOutput(), setCurrentTimeStep(), simulate(), simulationState(), simulationStep(), and writeOutput().
|
protected |
Controls vehicle building and deletion;.
Definition at line 667 of file MSNet.h.
Referenced by closeSimulation(), GUINet::getGUIVehicleControl(), getVehicleControl(), MSNet(), postSimStepOutput(), simulationState(), simulationStep(), GUINet::unlock(), GUINet::vehicleExists(), writeOutput(), and ~MSNet().
|
protected |
The overall number of vehicle movements.
Definition at line 712 of file MSNet.h.
Referenced by closeSimulation(), GUINet::getMeanUPS(), and simulationStep().
|
protected |
Container for vehicle state listener.
Definition at line 756 of file MSNet.h.
Referenced by addVehicleStateListener(), informVehicleStateListener(), and removeVehicleStateListener().
|
protected |
the network version
Definition at line 744 of file MSNet.h.
Referenced by closeBuilding(), GUINet::getParameterWindow(), and version().
|
staticprotected |
string constants for simstep stages
Definition at line 775 of file MSNet.h.
Referenced by simulationStep().
|
staticprotected |
Definition at line 778 of file MSNet.h.
Referenced by simulationStep().
|
staticprotected |
Definition at line 777 of file MSNet.h.
Referenced by simulationStep().
|
staticprotected |
Definition at line 776 of file MSNet.h.
Referenced by simulationStep().