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 /****************************************************************************/
16 // Changes the speed allowed on a set of lanes (gui version)
17 /****************************************************************************/
18 #ifndef GUILaneSpeedTrigger_h
19 #define GUILaneSpeedTrigger_h
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #include <config.h>
26 
27 #include <vector>
28 #include <string>
32 #include <gui/GUIManipulator.h>
33 
34 
35 // ===========================================================================
36 // class definitions
37 // ===========================================================================
45  : public MSLaneSpeedTrigger,
47 public:
54  GUILaneSpeedTrigger(const std::string& id,
55  const std::vector<MSLane*>& destLanes,
56  const std::string& file);
57 
58 
61 
62 
63 
65 
66 
75  GUISUMOAbstractView& parent);
76 
77 
86  GUISUMOAbstractView& parent);
87 
88 
95 
96 
101  void drawGL(const GUIVisualizationSettings& s) const;
103 
104 
105 
107  GUISUMOAbstractView& parent);
108 
109 public:
112  public:
113 
115  GUISUMOAbstractView& parent, GUIGlObject& o);
116 
118 
120  long onCmdOpenManip(FXObject*, FXSelector, void*);
121 
122  protected:
124 
125  };
126 
128  FXDECLARE(GUIManip_LaneSpeedTrigger)
129  public:
130  enum {
131  MID_USER_DEF = FXDialogBox::ID_LAST,
136  };
139  const std::string& name, GUILaneSpeedTrigger& o,
140  int xpos, int ypos);
141 
143  virtual ~GUIManip_LaneSpeedTrigger();
144 
145  long onCmdOverride(FXObject*, FXSelector, void*);
146  long onCmdClose(FXObject*, FXSelector, void*);
147  long onCmdUserDef(FXObject*, FXSelector, void*);
148  long onUpdUserDef(FXObject*, FXSelector, void*);
149  long onCmdPreDef(FXObject*, FXSelector, void*);
150  long onUpdPreDef(FXObject*, FXSelector, void*);
151  long onCmdChangeOption(FXObject*, FXSelector, void*);
152 
153  private:
155 
157 
158  FXDataTarget myChosenTarget;
159 
160  double mySpeed;
161 
162  FXDataTarget mySpeedTarget;
163 
164  FXRealSpinner* myUserDefinedSpeed;
165 
166  FXComboBox* myPredefinedValues;
167 
169 
170  protected:
172 
173  };
174 
175 private:
177  typedef std::vector<Position> PosCont;
178 
180  typedef std::vector<double> RotCont;
181 
182 private:
185 
188 
191 
194 
196  mutable double myLastValue;
197 
199  mutable std::string myLastValueString;
200 
201 };
202 
203 
204 #endif
205 
206 /****************************************************************************/
207 
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myObject
GUILaneSpeedTrigger * myObject
Definition: GUILaneSpeedTrigger.h:168
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdChangeOption
long onCmdChangeOption(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:210
GUIParameterTableWindow
A window containing a gl-object's parameter.
Definition: GUIParameterTableWindow.h:62
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:72
MSLaneSpeedTrigger.h
GUILaneSpeedTrigger::getPopUpMenu
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Definition: GUILaneSpeedTrigger.cpp:287
GUILaneSpeedTrigger::RotCont
std::vector< double > RotCont
Definition of a rotation container.
Definition: GUILaneSpeedTrigger.h:180
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::mySpeedTarget
FXDataTarget mySpeedTarget
Definition: GUILaneSpeedTrigger.h:162
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myChosenTarget
FXDataTarget myChosenTarget
Definition: GUILaneSpeedTrigger.h:158
GUILaneSpeedTrigger::GUILaneSpeedTriggerPopupMenu::~GUILaneSpeedTriggerPopupMenu
~GUILaneSpeedTriggerPopupMenu()
Definition: GUILaneSpeedTrigger.cpp:249
GUIGLObjectPopupMenu.h
GUILaneSpeedTrigger::drawGL
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Definition: GUILaneSpeedTrigger.cpp:316
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onUpdPreDef
long onUpdPreDef(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:200
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myPredefinedValues
FXComboBox * myPredefinedValues
Definition: GUILaneSpeedTrigger.h:166
GUILaneSpeedTrigger::getCenteringBoundary
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
Definition: GUILaneSpeedTrigger.cpp:379
GUILaneSpeedTrigger::myFGRotations
RotCont myFGRotations
The rotations in full-geometry mode.
Definition: GUILaneSpeedTrigger.h:187
GUILaneSpeedTrigger::myFGPositions
PosCont myFGPositions
The positions in full-geometry mode.
Definition: GUILaneSpeedTrigger.h:184
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::MID_OPTION
@ MID_OPTION
Definition: GUILaneSpeedTrigger.h:133
GUILaneSpeedTrigger::myLastValue
double myLastValue
Storage for last value to avoid string recomputation.
Definition: GUILaneSpeedTrigger.h:196
MSLaneSpeedTrigger
Changes the speed allowed on a set of lanes.
Definition: MSLaneSpeedTrigger.h:53
GUIGlObject_AbstractAdd
Definition: GUIGlObject_AbstractAdd.h:39
GUIGLObjectPopupMenu
The popup menu of a globject.
Definition: GUIGLObjectPopupMenu.h:47
GUILaneSpeedTrigger::GUILaneSpeedTriggerPopupMenu::onCmdOpenManip
long onCmdOpenManip(FXObject *, FXSelector, void *)
Called if the object's manipulator shall be shown.
Definition: GUILaneSpeedTrigger.cpp:253
GUILaneSpeedTrigger::GUILaneSpeedTrigger
GUILaneSpeedTrigger(const std::string &id, const std::vector< MSLane * > &destLanes, const std::string &file)
Constructor.
Definition: GUILaneSpeedTrigger.cpp:265
GUILaneSpeedTrigger::myLastValueString
std::string myLastValueString
Storage for speed string to avoid recomputation.
Definition: GUILaneSpeedTrigger.h:199
GUILaneSpeedTrigger::openManipulator
GUIManipulator * openManipulator(GUIMainWindow &app, GUISUMOAbstractView &parent)
Definition: GUILaneSpeedTrigger.cpp:387
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger
Definition: GUILaneSpeedTrigger.h:127
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onUpdUserDef
long onUpdUserDef(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:181
GUIManipulator.h
GUILaneSpeedTrigger::GUILaneSpeedTriggerPopupMenu::GUILaneSpeedTriggerPopupMenu
GUILaneSpeedTriggerPopupMenu()
Definition: GUILaneSpeedTrigger.h:123
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myUserDefinedSpeed
FXRealSpinner * myUserDefinedSpeed
Definition: GUILaneSpeedTrigger.h:164
Boundary
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:41
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdClose
long onCmdClose(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:165
GUILaneSpeedTrigger::PosCont
std::vector< Position > PosCont
Definition of a positions container.
Definition: GUILaneSpeedTrigger.h:177
GUIGlObject_AbstractAdd.h
GUILaneSpeedTrigger
Changes the speed allowed on a set of lanes (gui version)
Definition: GUILaneSpeedTrigger.h:44
GUIGlObject
Definition: GUIGlObject.h:65
GUILaneSpeedTrigger::myBoundary
Boundary myBoundary
The boundary of this rerouter.
Definition: GUILaneSpeedTrigger.h:190
GUIMainWindow
Definition: GUIMainWindow.h:46
GUIManipulator
Definition: GUIManipulator.h:42
GUILaneSpeedTrigger::GUILaneSpeedTriggerPopupMenu
Definition: GUILaneSpeedTrigger.h:110
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::MID_USER_DEF
@ MID_USER_DEF
Definition: GUILaneSpeedTrigger.h:131
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::~GUIManip_LaneSpeedTrigger
virtual ~GUIManip_LaneSpeedTrigger()
Destructor.
Definition: GUILaneSpeedTrigger.cpp:161
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::ID_LAST
@ ID_LAST
Definition: GUILaneSpeedTrigger.h:135
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myChosenValue
FXint myChosenValue
Definition: GUILaneSpeedTrigger.h:156
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdPreDef
long onCmdPreDef(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:191
GUILaneSpeedTrigger::myShowAsKMH
bool myShowAsKMH
The information whether the speed shall be shown in m/s or km/h.
Definition: GUILaneSpeedTrigger.h:193
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::mySpeed
double mySpeed
Definition: GUILaneSpeedTrigger.h:160
GUILaneSpeedTrigger::~GUILaneSpeedTrigger
~GUILaneSpeedTrigger()
Definition: GUILaneSpeedTrigger.cpp:283
config.h
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::MID_CLOSE
@ MID_CLOSE
Definition: GUILaneSpeedTrigger.h:134
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::GUIManip_LaneSpeedTrigger
GUIManip_LaneSpeedTrigger()
Definition: GUILaneSpeedTrigger.h:171
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::myParent
GUIMainWindow * myParent
Definition: GUILaneSpeedTrigger.h:154
GUIVisualizationSettings
Stores the information about how to visualize structures.
Definition: GUIVisualizationSettings.h:345
GUILaneSpeedTrigger::getParameterWindow
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
Definition: GUILaneSpeedTrigger.cpp:302
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::MID_PRE_DEF
@ MID_PRE_DEF
Definition: GUILaneSpeedTrigger.h:132
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdUserDef
long onCmdUserDef(FXObject *, FXSelector, void *)
Definition: GUILaneSpeedTrigger.cpp:172
GUILaneSpeedTrigger::GUIManip_LaneSpeedTrigger::onCmdOverride
long onCmdOverride(FXObject *, FXSelector, void *)