SUMO - Simulation of Urban MObility
TraCI.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 /****************************************************************************/
19 // C++ TraCI client API implementation
20 /****************************************************************************/
21 #ifndef TraCI_h
22 #define TraCI_h
23 
24 
25 // ===========================================================================
26 // included modules
27 // ===========================================================================
28 #ifdef _MSC_VER
29 #include <windows_config.h>
30 #else
31 #include <config.h>
32 #endif
33 
34 #include <vector>
35 #include <map>
36 #include <traci-server/TraCIDefs.h>
37 
38 class Position;
39 class PositionVector;
40 class RGBColor;
41 class MSEdge;
42 class MSLane;
43 
44 
45 // ===========================================================================
46 // class definitions
47 // ===========================================================================
52 class TraCI {
53 public:
56 
62  //void connect(const std::string& host, int port);
63 
64 
66  void close();
68 
70  static void load(const std::vector<std::string>& args);
71 
73  static void simulationStep(const SUMOTime time = 0);
74 
76  typedef std::map<int, TraCIValue> TraCIValues;
77  typedef std::map<std::string, TraCIValues> SubscribedValues;
78  typedef std::map<std::string, SubscribedValues> SubscribedContextValues;
79 
80  //void subscribe(int domID, const std::string& objID, SUMOTime beginTime, SUMOTime endTime, const std::vector<int>& vars) const;
81  //void subscribeContext(int domID, const std::string& objID, SUMOTime beginTime, SUMOTime endTime, int domain, double range, const std::vector<int>& vars) const;
82 
83  const SubscribedValues& getSubscriptionResults() const;
84  const TraCIValues& getSubscriptionResults(const std::string& objID) const;
85 
86  const SubscribedContextValues& getContextSubscriptionResults() const;
87  const SubscribedValues& getContextSubscriptionResults(const std::string& objID) const;
88 
90  static TraCIPositionVector makeTraCIPositionVector(const PositionVector& positionVector);
91  static TraCIPosition makeTraCIPosition(const Position& position);
92  static Position makePosition(const TraCIPosition& position);
93 
95  static TraCIColor makeTraCIColor(const RGBColor& color);
96  static RGBColor makeRGBColor(const TraCIColor& color);
97 
98  static MSEdge* getEdge(const std::string& edgeID);
99  static const MSLane* getLaneChecking(const std::string& edgeID, int laneIndex, double pos);
100  static std::pair<MSLane*, double> convertCartesianToRoadMap(Position pos);
101 
102 private:
104  TraCI(const TraCI& src);
105 
107  TraCI& operator=(const TraCI& src);
108 
109  SubscribedValues mySubscribedValues;
110  SubscribedContextValues mySubscribedContextValues;
111 };
112 
113 
114 #endif
115 
116 /****************************************************************************/
117 
TraCI & operator=(const TraCI &src)
invalidated assignment operator
static TraCIColor makeTraCIColor(const RGBColor &color)
Definition: TraCI.cpp:139
static MSEdge * getEdge(const std::string &edgeID)
Definition: TraCI.cpp:171
const SubscribedValues & getSubscriptionResults() const
Definition: TraCI.cpp:90
static void load(const std::vector< std::string > &args)
load a simulation with the given arguments
Definition: TraCI.cpp:57
A road/street connecting two junctions.
Definition: MSEdge.h:80
std::map< std::string, SubscribedValues > SubscribedContextValues
Definition: TraCI.h:78
std::map< std::string, TraCIValues > SubscribedValues
Definition: TraCI.h:77
static const MSLane * getLaneChecking(const std::string &edgeID, int laneIndex, double pos)
Definition: TraCI.cpp:180
A 3D-position.
Definition: TraCIDefs.h:70
static PositionVector makePositionVector(const TraCIPositionVector &vector)
Definition: TraCI.cpp:129
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:45
void close()
Connects to the specified SUMO server.
Definition: TraCI.cpp:77
A list of positions.
std::map< int, TraCIValue > TraCIValues
{object->{variable->value}}
Definition: TraCI.h:76
TraCI(const TraCI &src)
invalidated copy constructor
const SubscribedContextValues & getContextSubscriptionResults() const
Definition: TraCI.cpp:104
static std::pair< MSLane *, double > convertCartesianToRoadMap(Position pos)
Definition: TraCI.cpp:196
C++ TraCI client API implementation.
Definition: TraCI.h:52
static TraCIPositionVector makeTraCIPositionVector(const PositionVector &positionVector)
helper functions
Definition: TraCI.cpp:119
A color.
Definition: TraCIDefs.h:77
SubscribedContextValues mySubscribedContextValues
Definition: TraCI.h:110
static Position makePosition(const TraCIPosition &position)
Definition: TraCI.cpp:164
static TraCIPosition makeTraCIPosition(const Position &position)
Definition: TraCI.cpp:155
long long int SUMOTime
Definition: TraCIDefs.h:51
static RGBColor makeRGBColor(const TraCIColor &color)
Definition: TraCI.cpp:149
Representation of a lane in the micro simulation.
Definition: MSLane.h:78
static void simulationStep(const SUMOTime time=0)
Advances by one step (or up to the given time)
Definition: TraCI.cpp:65
A list of positions.
SubscribedValues mySubscribedValues
Definition: TraCI.h:109