SUMO - Simulation of Urban MObility
Simulation.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2012-2017 German Aerospace Center (DLR) and others.
4 /****************************************************************************/
5 //
6 // This program and the accompanying materials
7 // are made available under the terms of the Eclipse Public License v2.0
8 // which accompanies this distribution, and is available at
9 // http://www.eclipse.org/legal/epl-v20.html
10 //
11 /****************************************************************************/
17 // C++ TraCI client API implementation
18 /****************************************************************************/
19 #ifndef Simulation_h
20 #define Simulation_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #ifdef _MSC_VER
27 #include <windows_config.h>
28 #else
29 #include <config.h>
30 #endif
31 
32 #include <vector>
33 #include <libsumo/TraCIDefs.h>
34 
35 
36 // ===========================================================================
37 // class definitions
38 // ===========================================================================
43 namespace libsumo {
44 class Simulation {
45 public:
51  //void connect(const std::string& host, int port);
52 
53 
55  void close();
57 
59  static void load(const std::vector<std::string>& args);
60 
62  static void simulationStep(const SUMOTime time = 0);
63 
65  typedef std::map<int, TraCIValue> TraCIValues;
66  typedef std::map<std::string, TraCIValues> SubscribedValues;
67  typedef std::map<std::string, SubscribedValues> SubscribedContextValues;
68 
69  //void subscribe(int domID, const std::string& objID, SUMOTime beginTime, SUMOTime endTime, const std::vector<int>& vars) const;
70  //void subscribeContext(int domID, const std::string& objID, SUMOTime beginTime, SUMOTime endTime, int domain, double range, const std::vector<int>& vars) const;
71 
72  const SubscribedValues& getSubscriptionResults() const;
73  const TraCIValues& getSubscriptionResults(const std::string& objID) const;
74 
75  const SubscribedContextValues& getContextSubscriptionResults() const;
76  const SubscribedValues& getContextSubscriptionResults(const std::string& objID) const;
77 
78  static SUMOTime getCurrentTime();
79 
80  static SUMOTime getDeltaT();
81 
83 
84  static int getMinExpectedNumber();
85 
86  static TraCIStage findRoute(const std::string& from, const std::string& to, const std::string& typeID, const SUMOTime depart, const int routingMode);
87 
88  static std::vector<TraCIStage> findIntermodalRoute(const std::string& from, const std::string& to, const std::string& modes,
89  const SUMOTime depart, const int routingMode, const double speed, const double walkFactor,
90  const double departPos, const double arrivalPos, const double departPosLat,
91  const std::string& pType, const std::string& vehType);
92 
93  static std::string getParameter(const std::string& objectID, const std::string& key);
94 
95 private:
96  SubscribedValues mySubscribedValues;
97  SubscribedContextValues mySubscribedContextValues;
98 
100  Simulation();
101 
103  Simulation(const Simulation& src);
104 
106  Simulation& operator=(const Simulation& src);
107 };
108 }
109 
110 
111 #endif
112 
113 /****************************************************************************/
std::map< std::string, SubscribedValues > SubscribedContextValues
Definition: Simulation.h:67
const SubscribedContextValues & getContextSubscriptionResults() const
Definition: Simulation.cpp:110
static void simulationStep(const SUMOTime time=0)
Advances by one step (or up to the given time)
Definition: Simulation.cpp:67
static void load(const std::vector< std::string > &args)
load a simulation with the given arguments
Definition: Simulation.cpp:59
Simulation & operator=(const Simulation &src)
invalidated assignment operator
static SUMOTime getCurrentTime()
Definition: Simulation.cpp:126
A 3D-bounding box.
Definition: TraCIDefs.h:90
static std::string getParameter(const std::string &objectID, const std::string &key)
Definition: Simulation.cpp:275
std::map< std::string, TraCIValues > SubscribedValues
Definition: Simulation.h:66
static TraCIStage findRoute(const std::string &from, const std::string &to, const std::string &typeID, const SUMOTime depart, const int routingMode)
Definition: Simulation.cpp:158
const SubscribedValues & getSubscriptionResults() const
Definition: Simulation.cpp:94
void close()
Connects to the specified SUMO server.
Definition: Simulation.cpp:79
SubscribedValues mySubscribedValues
Definition: Simulation.h:96
Simulation()
invalidated standard constructor
Definition: Edge.cpp:31
static TraCIBoundary getNetBoundary()
Definition: Simulation.cpp:138
static std::vector< TraCIStage > findIntermodalRoute(const std::string &from, const std::string &to, const std::string &modes, const SUMOTime depart, const int routingMode, const double speed, const double walkFactor, const double departPos, const double arrivalPos, const double departPosLat, const std::string &pType, const std::string &vehType)
Definition: Simulation.cpp:194
static int getMinExpectedNumber()
Definition: Simulation.cpp:152
std::map< int, TraCIValue > TraCIValues
{object->{variable->value}}
Definition: Simulation.h:65
SubscribedContextValues mySubscribedContextValues
Definition: Simulation.h:97
long long int SUMOTime
Definition: TraCIDefs.h:51
static SUMOTime getDeltaT()
Definition: Simulation.cpp:132