SUMO - Simulation of Urban MObility
GNEDetectorE1Instant.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-2018 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 GNEDetectorE1Instant_h
18 #define GNEDetectorE1Instant_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 
25 #include "GNEDetector.h"
26 
27 
28 // ===========================================================================
29 // class definitions
30 // ===========================================================================
36 
37 public:
49  GNEDetectorE1Instant(const std::string& id, GNELane* lane, GNEViewNet* viewNet, double pos, const std::string& filename, const std::string& vehicleTypes, const std::string& name, bool friendlyPos, bool blockMovement);
50 
53 
57  bool isAdditionalValid() const;
58 
60  std::string getAdditionalProblem() const;
61 
63  void fixAdditionalProblem();
65 
69  bool isDetectorPositionFixed() const;
70 
72  GNELane* getLane() const;
74 
77 
80  void moveGeometry(const Position& offset);
81 
85  void commitGeometryMoving(GNEUndoList* undoList);
86 
88  void updateGeometry(bool updateGrid);
90 
93 
97  void drawGL(const GUIVisualizationSettings& s) const;
99 
102  /* @brief method for getting the Attribute of an XML key
103  * @param[in] key The attribute key
104  * @return string with the value associated to key
105  */
106  std::string getAttribute(SumoXMLAttr key) const;
107 
108  /* @brief method for setting the attribute and letting the object perform additional changes
109  * @param[in] key The attribute key
110  * @param[in] value The new value
111  * @param[in] undoList The undoList on which to register changes
112  */
113  void setAttribute(SumoXMLAttr key, const std::string& value, GNEUndoList* undoList);
114 
115  /* @brief method for checking if the key and their correspond attribute are valids
116  * @param[in] key The attribute key
117  * @param[in] value The value asociated to key key
118  * @return true if the value is valid, false in other case
119  */
120  bool isValid(SumoXMLAttr key, const std::string& value);
122 
123 protected:
126 
127 private:
129  void setAttribute(SumoXMLAttr key, const std::string& value);
130 
133 
136 };
137 
138 #endif
139 /****************************************************************************/
GNELane * getLane() const
get lane
GNELane * myLane
The lane in which this detector is placed.
void moveGeometry(const Position &offset)
change the position of the element geometry without saving in undoList
bool isValid(SumoXMLAttr key, const std::string &value)
method for checking if the key and their conrrespond attribute are valids
Stores the information about how to visualize structures.
bool isDetectorPositionFixed() const
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:47
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
std::string getAttribute(SumoXMLAttr key) const
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
method for setting the attribute and letting the object perform additional changes ...
void commitGeometryMoving(GNEUndoList *undoList)
commit geometry changes in the attributes of an element after use of moveGeometry(...)
bool isAdditionalValid() const
check if current additional is valid to be writed into XML (by default true, can be reimplemented in ...
GNEDetectorE1Instant(const std::string &id, GNELane *lane, GNEViewNet *viewNet, double pos, const std::string &filename, const std::string &vehicleTypes, const std::string &name, bool friendlyPos, bool blockMovement)
Constructor.
~GNEDetectorE1Instant()
Destructor.
void updateGeometry(bool updateGrid)
update pre-computed geometry information
void fixAdditionalProblem()
fix additional problem
GNEDetectorE1Instant & operator=(const GNEDetectorE1Instant &)=delete
Invalidated assignment operator.
std::string getAdditionalProblem() const
return a string with the current additional problem