Eclipse SUMO - Simulation of Urban MObility
GUILaneSpeedTrigger.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 /****************************************************************************/
17 // Changes the speed allowed on a set of lanes (gui version)
18 /****************************************************************************/
19 #ifndef GUILaneSpeedTrigger_h
20 #define GUILaneSpeedTrigger_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <vector>
29 #include <string>
33 #include <gui/GUIManipulator.h>
34 
35 
36 // ===========================================================================
37 // class definitions
38 // ===========================================================================
46  : public MSLaneSpeedTrigger,
48 public:
55  GUILaneSpeedTrigger(const std::string& id,
56  const std::vector<MSLane*>& destLanes,
57  const std::string& file);
58 
59 
62 
63 
64 
66 
67 
76  GUISUMOAbstractView& parent);
77 
78 
87  GUISUMOAbstractView& parent);
88 
89 
96 
97 
102  void drawGL(const GUIVisualizationSettings& s) const;
104 
105 
106 
108  GUISUMOAbstractView& parent);
109 
110 public:
113  public:
114 
116  GUISUMOAbstractView& parent, GUIGlObject& o);
117 
119 
121  long onCmdOpenManip(FXObject*, FXSelector, void*);
122 
123  protected:
125 
126  };
127 
129  FXDECLARE(GUIManip_LaneSpeedTrigger)
130  public:
131  enum {
132  MID_USER_DEF = FXDialogBox::ID_LAST,
137  };
140  const std::string& name, GUILaneSpeedTrigger& o,
141  int xpos, int ypos);
142 
144  virtual ~GUIManip_LaneSpeedTrigger();
145 
146  long onCmdOverride(FXObject*, FXSelector, void*);
147  long onCmdClose(FXObject*, FXSelector, void*);
148  long onCmdUserDef(FXObject*, FXSelector, void*);
149  long onUpdUserDef(FXObject*, FXSelector, void*);
150  long onCmdPreDef(FXObject*, FXSelector, void*);
151  long onUpdPreDef(FXObject*, FXSelector, void*);
152  long onCmdChangeOption(FXObject*, FXSelector, void*);
153 
154  private:
156 
158 
159  FXDataTarget myChosenTarget;
160 
161  double mySpeed;
162 
163  FXDataTarget mySpeedTarget;
164 
165  FXRealSpinner* myUserDefinedSpeed;
166 
167  FXComboBox* myPredefinedValues;
168 
170 
171  protected:
173 
174  };
175 
176 private:
178  typedef std::vector<Position> PosCont;
179 
181  typedef std::vector<double> RotCont;
182 
183 private:
186 
189 
192 
195 
197  mutable double myLastValue;
198 
200  mutable std::string myLastValueString;
201 
202 };
203 
204 
205 #endif
206 
207 /****************************************************************************/
208 
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myObject
GUILaneSpeedTrigger * myObject
Definition: GUILaneSpeedTrigger.h:169
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdChangeOption
long onCmdChangeOption(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:211
GUIParameterTableWindow
A window containing a gl-object's parameter.
Definition: GUIParameterTableWindow.h:63
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:73
MSLaneSpeedTrigger.h
GUILaneSpeedTrigger::getPopUpMenu
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Definition: GUILaneSpeedTrigger.cpp:288
GUILaneSpeedTrigger::RotCont
std::vector< double > RotCont
Definition of a rotation container.
Definition: GUILaneSpeedTrigger.h:181
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::mySpeedTarget
FXDataTarget mySpeedTarget
Definition: GUILaneSpeedTrigger.h:163
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myChosenTarget
FXDataTarget myChosenTarget
Definition: GUILaneSpeedTrigger.h:159
GUILaneSpeedTrigger::GUILaneSpeedTriggerPopupMenu::~GUILaneSpeedTriggerPopupMenu
~GUILaneSpeedTriggerPopupMenu()
Definition: GUILaneSpeedTrigger.cpp:250
GUIGLObjectPopupMenu.h
GUILaneSpeedTrigger::drawGL
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Definition: GUILaneSpeedTrigger.cpp:317
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onUpdPreDef
long onUpdPreDef(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:201
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myPredefinedValues
FXComboBox * myPredefinedValues
Definition: GUILaneSpeedTrigger.h:167
GUILaneSpeedTrigger::getCenteringBoundary
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
Definition: GUILaneSpeedTrigger.cpp:382
GUILaneSpeedTrigger::myFGRotations
RotCont myFGRotations
The rotations in full-geometry mode.
Definition: GUILaneSpeedTrigger.h:188
GUILaneSpeedTrigger::myFGPositions
PosCont myFGPositions
The positions in full-geometry mode.
Definition: GUILaneSpeedTrigger.h:185
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::MID_OPTION
Definition: GUILaneSpeedTrigger.h:134
GUILaneSpeedTrigger::myLastValue
double myLastValue
Storage for last value to avoid string recomputation.
Definition: GUILaneSpeedTrigger.h:197
MSLaneSpeedTrigger
Changes the speed allowed on a set of lanes.
Definition: MSLaneSpeedTrigger.h:54
GUIGlObject_AbstractAdd
Definition: GUIGlObject_AbstractAdd.h:40
GUIGLObjectPopupMenu
The popup menu of a globject.
Definition: GUIGLObjectPopupMenu.h:48
GUILaneSpeedTrigger::GUILaneSpeedTriggerPopupMenu::onCmdOpenManip
long onCmdOpenManip(FXObject *, FXSelector, void *)
Called if the object's manipulator shall be shown.
Definition: GUILaneSpeedTrigger.cpp:254
GUILaneSpeedTrigger::GUILaneSpeedTrigger
GUILaneSpeedTrigger(const std::string &id, const std::vector< MSLane * > &destLanes, const std::string &file)
Constructor.
Definition: GUILaneSpeedTrigger.cpp:266
GUILaneSpeedTrigger::myLastValueString
std::string myLastValueString
Storage for speed string to avoid recomputation.
Definition: GUILaneSpeedTrigger.h:200
GUILaneSpeedTrigger::openManipulator
GUIManipulator * openManipulator(GUIMainWindow &app, GUISUMOAbstractView &parent)
Definition: GUILaneSpeedTrigger.cpp:390
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger
Definition: GUILaneSpeedTrigger.h:128
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onUpdUserDef
long onUpdUserDef(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:182
GUIManipulator.h
GUILaneSpeedTrigger::GUILaneSpeedTriggerPopupMenu::GUILaneSpeedTriggerPopupMenu
GUILaneSpeedTriggerPopupMenu()
Definition: GUILaneSpeedTrigger.h:124
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myUserDefinedSpeed
FXRealSpinner * myUserDefinedSpeed
Definition: GUILaneSpeedTrigger.h:165
Boundary
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:42
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdClose
long onCmdClose(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:166
GUILaneSpeedTrigger::PosCont
std::vector< Position > PosCont
Definition of a positions container.
Definition: GUILaneSpeedTrigger.h:178
GUIGlObject_AbstractAdd.h
GUILaneSpeedTrigger
Changes the speed allowed on a set of lanes (gui version)
Definition: GUILaneSpeedTrigger.h:45
GUIGlObject
Definition: GUIGlObject.h:66
GUILaneSpeedTrigger::myBoundary
Boundary myBoundary
The boundary of this rerouter.
Definition: GUILaneSpeedTrigger.h:191
GUIMainWindow
Definition: GUIMainWindow.h:47
GUIManipulator
Definition: GUIManipulator.h:43
GUILaneSpeedTrigger::GUILaneSpeedTriggerPopupMenu
Definition: GUILaneSpeedTrigger.h:111
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::MID_USER_DEF
Definition: GUILaneSpeedTrigger.h:132
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::~GUIManip_LaneSpeedTrigger
virtual ~GUIManip_LaneSpeedTrigger()
Destructor.
Definition: GUILaneSpeedTrigger.cpp:162
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::ID_LAST
Definition: GUILaneSpeedTrigger.h:136
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myChosenValue
FXint myChosenValue
Definition: GUILaneSpeedTrigger.h:157
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdPreDef
long onCmdPreDef(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:192
GUILaneSpeedTrigger::myShowAsKMH
bool myShowAsKMH
The information whether the speed shall be shown in m/s or km/h.
Definition: GUILaneSpeedTrigger.h:194
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::mySpeed
double mySpeed
Definition: GUILaneSpeedTrigger.h:161
GUILaneSpeedTrigger::~GUILaneSpeedTrigger
~GUILaneSpeedTrigger()
Definition: GUILaneSpeedTrigger.cpp:284
config.h
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::MID_CLOSE
Definition: GUILaneSpeedTrigger.h:135
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::GUIManip_LaneSpeedTrigger
GUIManip_LaneSpeedTrigger()
Definition: GUILaneSpeedTrigger.h:172
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myParent
GUIMainWindow * myParent
Definition: GUILaneSpeedTrigger.h:155
GUIVisualizationSettings
Stores the information about how to visualize structures.
Definition: GUIVisualizationSettings.h:346
GUILaneSpeedTrigger::getParameterWindow
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
Definition: GUILaneSpeedTrigger.cpp:303
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::MID_PRE_DEF
Definition: GUILaneSpeedTrigger.h:133
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdUserDef
long onCmdUserDef(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:173
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdOverride
long onCmdOverride(FXObject *, FXSelector, void *)