Eclipse SUMO - Simulation of Urban MObility
GNEVaporizer.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 GNEVaporizer_h
18 #define GNEVaporizer_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 
25 #include "GNEAdditional.h"
26 
27 
28 // ===========================================================================
29 // class definitions
30 // ===========================================================================
35 class GNEVaporizer : public GNEAdditional {
36 
37 public:
45  GNEVaporizer(GNEViewNet* viewNet, GNEEdge* edge, SUMOTime begin, SUMOTime end, const std::string& name);
46 
48  ~GNEVaporizer();
49 
52 
55  void moveGeometry(const Position& offset);
56 
60  void commitGeometryMoving(GNEUndoList* undoList);
61 
63  void updateGeometry();
64 
67 
71 
76  std::string getParentName() const;
77 
82  void drawGL(const GUIVisualizationSettings& s) const;
84 
87  /* @brief method for getting the Attribute of an XML key
88  * @param[in] key The attribute key
89  * @return string with the value associated to key
90  */
91  std::string getAttribute(SumoXMLAttr key) const;
92 
93  /* @brief method for setting the attribute and letting the object perform additional changes
94  * @param[in] key The attribute key
95  * @param[in] value The new value
96  * @param[in] undoList The undoList on which to register changes
97  */
98  void setAttribute(SumoXMLAttr key, const std::string& value, GNEUndoList* undoList);
99 
100  /* @brief method for checking if the key and their correspond attribute are valids
101  * @param[in] key The attribute key
102  * @param[in] value The value asociated to key key
103  * @return true if the value is valid, false in other case
104  */
105  bool isValid(SumoXMLAttr key, const std::string& value);
106 
108  std::string getPopUpID() const;
109 
111  std::string getHierarchyName() const;
113 
114 protected:
117 
120 
121 private:
123  void setAttribute(SumoXMLAttr key, const std::string& value);
124 
126  GNEVaporizer(const GNEVaporizer&) = delete;
127 
129  GNEVaporizer& operator=(const GNEVaporizer&) = delete;
130 };
131 
132 #endif
133 
134 /****************************************************************************/
long long int SUMOTime
Definition: SUMOTime.h:35
GNEVaporizer(GNEViewNet *viewNet, GNEEdge *edge, SUMOTime begin, SUMOTime end, const std::string &name)
Constructor.
std::string getPopUpID() const
get PopPup ID (Used in AC Hierarchy)
Stores the information about how to visualize structures.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
SUMOTime myEnd
end time in which this vaporizer is placed
Definition: GNEVaporizer.h:119
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:42
bool isValid(SumoXMLAttr key, const std::string &value)
method for checking if the key and their conrrespond attribute are valids
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
Representation of a vaporizer in netedit.
Definition: GNEVaporizer.h:35
void commitGeometryMoving(GNEUndoList *undoList)
commit geometry changes in the attributes of an element after use of moveGeometry(...)
SUMOTime myBegin
begin time of vaporizer
Definition: GNEVaporizer.h:116
std::string getAttribute(SumoXMLAttr key) const
std::string getHierarchyName() const
get Hierarchy Name (Used in AC Hierarchy)
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:50
Position getPositionInView() const
Returns position of additional in view.
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't belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:47
GNEVaporizer & operator=(const GNEVaporizer &)=delete
Invalidated assignment operator.
std::string getParentName() const
Returns the name of the parent object (if any)
void moveGeometry(const Position &offset)
change the position of the element geometry without saving in undoList
~GNEVaporizer()
Destructor.
void updateGeometry()
update pre-computed geometry information