Eclipse SUMO - Simulation of Urban MObility
GNEDetectorE1.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
15 //
16 /****************************************************************************/
17 #ifndef GNEDetectorE1_h
18 #define GNEDetectorE1_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 
25 #include "GNEDetector.h"
26 
27 
28 // ===========================================================================
29 // class definitions
30 // ===========================================================================
35 class GNEDetectorE1 : public GNEDetector {
36 
37 public:
50  GNEDetectorE1(const std::string& id, GNELane* lane, GNEViewNet* viewNet, double pos, SUMOTime freq, const std::string& filename, const std::string& vehicleTypes, const std::string& name, bool friendlyPos, bool blockMovement);
51 
54 
58  bool isAdditionalValid() const;
59 
61  std::string getAdditionalProblem() const;
62 
64  void fixAdditionalProblem();
66 
69 
72  void moveGeometry(const Position& offset);
73 
77  void commitGeometryMoving(GNEUndoList* undoList);
78 
80  void updateGeometry();
82 
85 
89  void drawGL(const GUIVisualizationSettings& s) const;
91 
94  /* @brief method for getting the Attribute of an XML key
95  * @param[in] key The attribute key
96  * @return string with the value associated to key
97  */
98  std::string getAttribute(SumoXMLAttr key) const;
99 
100  /* @brief method for setting the attribute and letting the object perform additional changes
101  * @param[in] key The attribute key
102  * @param[in] value The new value
103  * @param[in] undoList The undoList on which to register changes
104  */
105  void setAttribute(SumoXMLAttr key, const std::string& value, GNEUndoList* undoList);
106 
107  /* @brief method for checking if the key and their correspond attribute are valids
108  * @param[in] key The attribute key
109  * @param[in] value The value asociated to key key
110  * @return true if the value is valid, false in other case
111  */
112  bool isValid(SumoXMLAttr key, const std::string& value);
114 
115 private:
117  void setAttribute(SumoXMLAttr key, const std::string& value);
118 
120  GNEDetectorE1(const GNEDetectorE1&) = delete;
121 
123  GNEDetectorE1& operator=(const GNEDetectorE1&) = delete;
124 };
125 
126 #endif
127 /****************************************************************************/
bool isValid(SumoXMLAttr key, const std::string &value)
method for checking if the key and their conrrespond attribute are valids
long long int SUMOTime
Definition: SUMOTime.h:35
GNEDetectorE1 & operator=(const GNEDetectorE1 &)=delete
Invalidated assignment operator.
GNEDetectorE1(const std::string &id, GNELane *lane, GNEViewNet *viewNet, double pos, SUMOTime freq, const std::string &filename, const std::string &vehicleTypes, const std::string &name, bool friendlyPos, bool blockMovement)
Constructor.
Stores the information about how to visualize structures.
bool isAdditionalValid() const
check if current additional is valid to be writed into XML (by default true, can be reimplemented in ...
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
method for setting the attribute and letting the object perform additional changes ...
~GNEDetectorE1()
Destructor.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:46
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
void fixAdditionalProblem()
fix additional problem
void moveGeometry(const Position &offset)
change the position of the element geometry without saving in undoList
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
void commitGeometryMoving(GNEUndoList *undoList)
commit geometry changes in the attributes of an element after use of moveGeometry(...)
void updateGeometry()
update pre-computed geometry information
std::string getAttribute(SumoXMLAttr key) const
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
std::string getAdditionalProblem() const
return a string with the current additional problem