SUMO - Simulation of Urban MObility
GNEClosingReroute.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 GNEClosingReroute_h
18 #define GNEClosingReroute_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <vector>
30 
31 #include "GNEAdditional.h"
32 
33 // ===========================================================================
34 // class declarations
35 // ===========================================================================
36 
37 class GNEEdge;
40 
41 // ===========================================================================
42 // class definitions
43 // ===========================================================================
49 
50 public:
52  GNEClosingReroute(GNERerouterIntervalDialog* rerouterIntervalDialog);
53 
55  GNEClosingReroute(GNEAdditional* rerouterIntervalParent, GNEEdge* closedEdge, SVCPermissions permissions);
56 
59 
62 
66  void moveGeometry(const Position& oldPos, const Position& offset);
67 
72  void commitGeometryMoving(const Position& oldPos, GNEUndoList* undoList);
73 
75  void updateGeometry(bool updateGrid);
76 
80 
83 
86  std::string getParentName() const;
87 
92  void drawGL(const GUIVisualizationSettings& s) const;
94 
97  /* @brief method for getting the Attribute of an XML key
98  * @param[in] key The attribute key
99  * @return string with the value associated to key
100  */
101  std::string getAttribute(SumoXMLAttr key) const;
102 
103  /* @brief method for setting the attribute and letting the object perform additional changes
104  * @param[in] key The attribute key
105  * @param[in] value The new value
106  * @param[in] undoList The undoList on which to register changes
107  */
108  void setAttribute(SumoXMLAttr key, const std::string& value, GNEUndoList* undoList);
109 
110  /* @brief method for checking if the key and their correspond attribute are valids
111  * @param[in] key The attribute key
112  * @param[in] value The value asociated to key key
113  * @return true if the value is valid, false in other case
114  */
115  bool isValid(SumoXMLAttr key, const std::string& value);
116 
118  std::string getPopUpID() const;
119 
121  std::string getHierarchyName() const;
123 
124 protected:
127 
128  // @brief permissions of this Closing Reroute
130 
131 private:
133  void setAttribute(SumoXMLAttr key, const std::string& value);
134 
136  GNEClosingReroute(const GNEClosingReroute&) = delete;
137 
140 };
141 
142 #endif
143 
144 /****************************************************************************/
GNEClosingReroute & operator=(const GNEClosingReroute &)=delete
Invalidated assignment operator.
void commitGeometryMoving(const Position &oldPos, GNEUndoList *undoList)
commit geometry changes in the attributes of an element after use of moveGeometry(...)
void moveGeometry(const Position &oldPos, const Position &offset)
change the position of the element geometry without saving in undoList
Dialog for edit rerouter intervals.
Stores the information about how to visualize structures.
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
GNEClosingReroute(GNERerouterIntervalDialog *rerouterIntervalDialog)
constructor (Used in GNERerouterIntervalDialog)
std::string getParentName() const
Returns the name of the parent object.
bool isValid(SumoXMLAttr key, const std::string &value)
method for checking if the key and their conrrespond attribute are valids
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
~GNEClosingReroute()
destructor
std::string getAttribute(SumoXMLAttr key) const
Position getPositionInView() const
Returns position of additional in view.
GNEEdge * myClosedEdge
closed edge
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:50
std::string getPopUpID() const
get PopPup ID (Used in AC Hierarchy)
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
method for setting the attribute and letting the object perform additional changes ...
std::string getHierarchyName() const
get Hierarchy Name (Used in AC Hierarchy)
An Element which don&#39;t belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:53
SVCPermissions myPermissions
void updateGeometry(bool updateGrid)
update pre-computed geometry information