SUMO - Simulation of Urban MObility
GNEVariableSpeedSign.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 GNEVariableSpeedSign_h
18 #define GNEVariableSpeedSign_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include "GNEAdditional.h"
27 
28 // ===========================================================================
29 // class declarations
30 // ===========================================================================
31 
33 
34 // ===========================================================================
35 // class definitions
36 // ===========================================================================
42 
43 public:
44 
53  GNEVariableSpeedSign(const std::string& id, GNEViewNet* viewNet, const Position& pos, const std::vector<GNELane*>& lanes, const std::string& name, bool blockMovement);
54 
57 
59  void openAdditionalDialog();
60 
63 
67  void moveGeometry(const Position& oldPos, const Position& offset);
68 
73  void commitGeometryMoving(const Position& oldPos, GNEUndoList* undoList);
74 
76  void updateGeometry(bool updateGrid);
77 
81 
84 
87  std::string getParentName() const;
88 
93  void drawGL(const GUIVisualizationSettings& s) const;
95 
98  /* @brief method for getting the Attribute of an XML key
99  * @param[in] key The attribute key
100  * @return string with the value associated to key
101  */
102  std::string getAttribute(SumoXMLAttr key) const;
103 
104  /* @brief method for setting the attribute and letting the object perform additional changes
105  * @param[in] key The attribute key
106  * @param[in] value The new value
107  * @param[in] undoList The undoList on which to register changes
108  */
109  void setAttribute(SumoXMLAttr key, const std::string& value, GNEUndoList* undoList);
110 
111  /* @brief method for checking if the key and their correspond attribute are valids
112  * @param[in] key The attribute key
113  * @param[in] value The value asociated to key key
114  * @return true if the value is valid, false in other case
115  */
116  bool isValid(SumoXMLAttr key, const std::string& value);
117 
119  std::string getPopUpID() const;
120 
122  std::string getHierarchyName() const;
124 
125 protected:
128 
129 private:
131  void setAttribute(SumoXMLAttr key, const std::string& value);
132 
135 
138 };
139 
140 #endif
141 
142 /****************************************************************************/
void commitGeometryMoving(const Position &oldPos, GNEUndoList *undoList)
commit geometry changes in the attributes of an element after use of moveGeometry(...)
bool isValid(SumoXMLAttr key, const std::string &value)
method for checking if the key and their conrrespond attribute are valids
std::string getParentName() const
Returns the name of the parent object.
Stores the information about how to visualize structures.
void openAdditionalDialog()
open GNEVariableSpeedSignDialog
Position getPositionInView() const
Returns position of additional in view.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
GNEVariableSpeedSign & operator=(const GNEVariableSpeedSign &)=delete
Invalidated assignment operator.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
std::string getPopUpID() const
get PopPup ID (Used in AC Hierarchy)
void updateGeometry(bool updateGrid)
update pre-computed geometry information
std::string getHierarchyName() const
get Hierarchy Name (Used in AC Hierarchy)
std::string getAttribute(SumoXMLAttr key) const
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
method for setting the attribute and letting the object perform additional changes ...
An Element which don&#39;t belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:53
~GNEVariableSpeedSign()
Destructor.
GNEVariableSpeedSign(const std::string &id, GNEViewNet *viewNet, const Position &pos, const std::vector< GNELane *> &lanes, const std::string &name, bool blockMovement)
Constructor.
void moveGeometry(const Position &oldPos, const Position &offset)
change the position of the element geometry without saving in undoList
Position myPosition
position of VSS in view