SUMO - Simulation of Urban MObility
TraCI_POI.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2017-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 /****************************************************************************/
21 // C++ TraCI client API implementation
22 /****************************************************************************/
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 
36 #include <microsim/MSNet.h>
37 #include "TraCI_POI.h"
38 #include "TraCI.h"
39 
40 
41 
42 
43 // ===========================================================================
44 // member definitions
45 // ===========================================================================
46 std::vector<std::string>
48  std::vector<std::string> ids;
50  shapeCont.getPOIs().insertIDs(ids);
51  return ids;
52 }
53 
54 int
56  return (int)getIDList().size();
57 }
58 
59 std::string
60 TraCI_POI::getType(const std::string& poiID) {
61  return getPoI(poiID)->getType();
62 }
63 
65 TraCI_POI::getColor(const std::string& poiID) {
66  PointOfInterest* sumoPoi = getPoI(poiID);
67  RGBColor col = sumoPoi->getColor();
68  return TraCI::makeTraCIColor(col);
69 }
70 
72 TraCI_POI::getPosition(const std::string& poiID) {
73  TraCIPosition pos;
74  PointOfInterest* p = getPoI(poiID);
75  pos.x = p->x();
76  pos.y = p->y();
77  pos.z = p->z();
78  return pos;
79 }
80 
81 std::string
82 TraCI_POI::getParameter(const std::string& poiID, const std::string& param) {
83  PointOfInterest* p = getPoI(poiID);
84  return p->getParameter(param, "");
85 }
86 
87 void
88 TraCI_POI::setType(const std::string& poiID, const std::string& type) {
89  PointOfInterest* p = getPoI(poiID);
90  p->setType(type);
91 }
92 
93 void
94 TraCI_POI::setPosition(const std::string& poiID, const TraCIPosition& pos) {
95  PointOfInterest* p = getPoI(poiID);
96  p->set(TraCI::makePosition(pos));
97 }
98 
99 void
100 TraCI_POI::setColor(const std::string& poiID, const TraCIColor& c) {
101  PointOfInterest* p = getPoI(poiID);
103 }
104 
105 bool
106 TraCI_POI::add(const std::string& poiID, const TraCIPosition& pos, const TraCIColor& c, const std::string& type, int layer) {
108  return shapeCont.addPOI(poiID, type, TraCI::makeRGBColor(c), TraCI::makePosition(pos), false, "", 0, 0, (double) layer,
113 }
114 
115 bool
116 TraCI_POI::remove(const std::string& poiID, int /* layer */) {
118  return shapeCont.removePOI(poiID);
119 }
120 
121 void
122 TraCI_POI::setParameter(const std::string& poiID, const std::string& param, const std::string& value) {
123  PointOfInterest* p = getPoI(poiID);
124  p->setParameter(param, value);
125 }
126 
127 
129 TraCI_POI::getPoI(const std::string& id) {
131  if (sumoPoi == 0) {
132  throw TraCIException("POI '" + id + "' is not known");
133  }
134  return sumoPoi;
135 }
136 
137 
138 /****************************************************************************/
double x
Definition: TraCIDefs.h:71
double z() const
Returns the z-position.
Definition: Position.h:72
static const std::string DEFAULT_IMG_FILE
Definition: Shape.h:151
static void setColor(const std::string &poiID, const TraCIColor &c)
Definition: TraCI_POI.cpp:100
double x() const
Returns the x-position.
Definition: Position.h:62
static TraCIColor makeTraCIColor(const RGBColor &color)
Definition: TraCI.cpp:139
static const double DEFAULT_IMG_HEIGHT
Definition: Shape.h:153
static void setType(const std::string &poiID, const std::string &setType)
Definition: TraCI_POI.cpp:88
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
Definition: MSNet.cpp:167
static std::vector< std::string > getIDList()
Definition: TraCI_POI.cpp:47
Storage for geometrical objects.
void set(double x, double y)
set positions x and y
Definition: Position.h:92
T get(const std::string &id) const
Retrieves an item.
double z
Definition: TraCIDefs.h:71
A 3D-position.
Definition: TraCIDefs.h:70
ShapeContainer & getShapeContainer()
Returns the shapes container.
Definition: MSNet.h:429
virtual bool removePOI(const std::string &id)
Removes a PoI from the container.
static std::string getParameter(const std::string &poiID, const std::string &param)
Definition: TraCI_POI.cpp:82
void insertIDs(std::vector< std::string > &into) const
double y() const
Returns the y-position.
Definition: Position.h:67
void setParameter(const std::string &key, const std::string &value)
Sets a parameter.
const std::string getParameter(const std::string &key, const std::string &defaultValue="") const
Returns the value for a given key.
const POIs & getPOIs() const
Returns all pois.
const RGBColor & getColor() const
Returns the color of the Shape.
Definition: Shape.h:78
static TraCIPosition getPosition(const std::string &poiID)
Definition: TraCI_POI.cpp:72
static void setParameter(const std::string &poiID, const std::string &param, const std::string &value)
Definition: TraCI_POI.cpp:122
static PointOfInterest * getPoI(const std::string &id)
Definition: TraCI_POI.cpp:129
static bool add(const std::string &poiID, const TraCIPosition &pos, const TraCIColor &c, const std::string &type, int layer)
Definition: TraCI_POI.cpp:106
static TraCIColor getColor(const std::string &poiID)
Definition: TraCI_POI.cpp:65
void setType(const std::string &type)
Sets a new type.
Definition: Shape.h:112
static void setPosition(const std::string &poiID, const TraCIPosition &pos)
Definition: TraCI_POI.cpp:94
static std::string getType(const std::string &poiID)
Definition: TraCI_POI.cpp:60
A color.
Definition: TraCIDefs.h:77
virtual bool addPOI(const std::string &id, const std::string &type, const RGBColor &color, const Position &pos, bool geo, const std::string &lane, double posOverLane, double posLat, double layer, double angle, const std::string &imgFile, double width, double height, bool ignorePruning=false)
Builds a POI using the given values and adds it to the container.
static Position makePosition(const TraCIPosition &position)
Definition: TraCI.cpp:164
static const double DEFAULT_IMG_WIDTH
Definition: Shape.h:152
A point-of-interest.
static int getIDCount()
Definition: TraCI_POI.cpp:55
double y
Definition: TraCIDefs.h:71
static RGBColor makeRGBColor(const TraCIColor &color)
Definition: TraCI.cpp:149
const std::string & getType() const
Returns the (abstract) type of the Shape.
Definition: Shape.h:70
static bool remove(const std::string &poiID, int layer=0)
Definition: TraCI_POI.cpp:116
void setColor(const RGBColor &col)
Sets a new color.
Definition: Shape.h:120
static const double DEFAULT_ANGLE
Definition: Shape.h:150