Eclipse SUMO - Simulation of Urban MObility
GUITriggeredRerouter.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 // Reroutes vehicles passing an edge (gui-version)
18 /****************************************************************************/
19 #ifndef GUITriggeredRerouter_h
20 #define GUITriggeredRerouter_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <vector>
29 #include <string>
34 #include <gui/GUIManipulator.h>
35 
36 // ===========================================================================
37 // class declarations
38 // ===========================================================================
39 class GUIEdge;
40 
41 // ===========================================================================
42 // class definitions
43 // ===========================================================================
52  : public MSTriggeredRerouter,
54 public:
62  GUITriggeredRerouter(const std::string& id,
63  const MSEdgeVector& edges, double prob,
64  const std::string& aXMLFilename, bool off,
65  SUMOTime timeThreshold,
66  const std::string& vTypes,
67  SUMORTree& rtree);
68 
69 
72 
73 
80  void myEndElement(int element);
81 
83 
84 
93  GUISUMOAbstractView& parent);
94 
95 
104  GUISUMOAbstractView& parent);
105 
106 
113 
114 
119  void drawGL(const GUIVisualizationSettings& s) const;
121 
122 
123 
125  GUISUMOAbstractView& parent);
126 
127 public:
129 
130  public:
131  GUITriggeredRerouterEdge(GUIEdge* edge, GUITriggeredRerouter* parent, bool closed);
132 
133  virtual ~GUITriggeredRerouterEdge();
134 
136 
137 
146  GUISUMOAbstractView& parent);
147 
148 
157  GUISUMOAbstractView& parent);
158 
159 
166 
167 
172  void drawGL(const GUIVisualizationSettings& s) const;
174 
175  private:
177  typedef std::vector<Position> PosCont;
178 
180  typedef std::vector<double> RotCont;
181 
182  private:
185 
188 
190  const bool myAmClosedEdge;
191 
194 
197 
200  };
201 
202 public:
205  public:
206 
208  GUISUMOAbstractView& parent, GUIGlObject& o);
209 
211 
213  long onCmdOpenManip(FXObject*, FXSelector, void*);
214 
215  protected:
217 
218  };
219 
220 
222  FXDECLARE(GUIManip_TriggeredRerouter)
223  public:
224  enum {
225  MID_USER_DEF = FXDialogBox::ID_LAST,
230  };
233  const std::string& name, GUITriggeredRerouter& o,
234  int xpos, int ypos);
235 
237  virtual ~GUIManip_TriggeredRerouter();
238 
239  long onCmdOverride(FXObject*, FXSelector, void*);
240  long onCmdClose(FXObject*, FXSelector, void*);
241  long onCmdUserDef(FXObject*, FXSelector, void*);
242  long onUpdUserDef(FXObject*, FXSelector, void*);
243  long onCmdChangeOption(FXObject*, FXSelector, void*);
244 
245  private:
247 
249 
250  FXDataTarget myChosenTarget;
251 
253 
254  FXRealSpinner* myUsageProbabilityDial;
255 
257 
259 
260  protected:
262 
263  };
264 
265 
266 private:
269 
270  std::vector<GUITriggeredRerouterEdge*> myEdgeVisualizations;
271 
272 };
273 
274 
275 #endif
276 
277 /****************************************************************************/
278 
GUITriggeredRerouter::GUIManip_TriggeredRerouter::MID_OPTION
Definition: GUITriggeredRerouter.h:227
GUITriggeredRerouter::GUIManip_TriggeredRerouter::myParent
GUIMainWindow * myParent
Definition: GUITriggeredRerouter.h:246
GUITriggeredRerouter::myEdgeVisualizations
std::vector< GUITriggeredRerouterEdge * > myEdgeVisualizations
Definition: GUITriggeredRerouter.h:270
GUIParameterTableWindow
A window containing a gl-object's parameter.
Definition: GUIParameterTableWindow.h:63
GUITriggeredRerouter::GUITriggeredRerouterPopupMenu
Definition: GUITriggeredRerouter.h:203
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:73
GUITriggeredRerouter::GUITriggeredRerouterEdge::GUITriggeredRerouterEdge
GUITriggeredRerouterEdge(GUIEdge *edge, GUITriggeredRerouter *parent, bool closed)
Definition: GUITriggeredRerouter.cpp:303
GUITriggeredRerouter::GUITriggeredRerouterEdge::myFGPositions
PosCont myFGPositions
The positions in full-geometry mode.
Definition: GUITriggeredRerouter.h:193
GUIGLObjectPopupMenu.h
GUITriggeredRerouter::GUIManip_TriggeredRerouter::GUIManip_TriggeredRerouter
GUIManip_TriggeredRerouter()
Definition: GUITriggeredRerouter.h:261
GUITriggeredRerouter::GUIManip_TriggeredRerouter::ID_LAST
Definition: GUITriggeredRerouter.h:229
GUITriggeredRerouter::GUIManip_TriggeredRerouter::myUsageProbability
double myUsageProbability
Definition: GUITriggeredRerouter.h:252
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:35
GUITriggeredRerouter::GUIManip_TriggeredRerouter::myUsageProbabilityDial
FXRealSpinner * myUsageProbabilityDial
Definition: GUITriggeredRerouter.h:254
GUITriggeredRerouter::myBoundary
Boundary myBoundary
The boundary of this rerouter.
Definition: GUITriggeredRerouter.h:268
GUITriggeredRerouter::GUIManip_TriggeredRerouter::onCmdChangeOption
long onCmdChangeOption(FXObject *, FXSelector, void *)
Definition: GUITriggeredRerouter.cpp:171
MSTriggeredRerouter
Reroutes vehicles passing an edge.
Definition: MSTriggeredRerouter.h:62
GUIGlObject_AbstractAdd
Definition: GUIGlObject_AbstractAdd.h:40
GUIGLObjectPopupMenu
The popup menu of a globject.
Definition: GUIGLObjectPopupMenu.h:48
GUITriggeredRerouter
Reroutes vehicles passing an edge One rerouter can be active on multiple edges. To reduce drawing loa...
Definition: GUITriggeredRerouter.h:51
GUITriggeredRerouter::GUIManip_TriggeredRerouter::onCmdClose
long onCmdClose(FXObject *, FXSelector, void *)
Definition: GUITriggeredRerouter.cpp:144
SUMORTree
A RT-tree for efficient storing of SUMO's GL-objects.
Definition: SUMORTree.h:69
GUITriggeredRerouter::GUITriggeredRerouterEdge::getPopUpMenu
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Definition: GUITriggeredRerouter.cpp:325
GUITriggeredRerouter::GUITriggeredRerouterEdge
Definition: GUITriggeredRerouter.h:128
GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Definition: GUITriggeredRerouter.cpp:339
GUITriggeredRerouter::getPopUpMenu
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Definition: GUITriggeredRerouter.cpp:254
GUITriggeredRerouter::GUIManip_TriggeredRerouter::MID_CLOSE
Definition: GUITriggeredRerouter.h:228
GUIManipulator.h
GUITriggeredRerouter::GUITriggeredRerouterPopupMenu::~GUITriggeredRerouterPopupMenu
~GUITriggeredRerouterPopupMenu()
Definition: GUITriggeredRerouter.cpp:201
GUITriggeredRerouter::GUIManip_TriggeredRerouter::myChosenTarget
FXDataTarget myChosenTarget
Definition: GUITriggeredRerouter.h:250
SUMORTree.h
GUITriggeredRerouter::GUIManip_TriggeredRerouter::onCmdUserDef
long onCmdUserDef(FXObject *, FXSelector, void *)
Definition: GUITriggeredRerouter.cpp:151
Boundary
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:42
GUITriggeredRerouter::GUITriggeredRerouterEdge::RotCont
std::vector< double > RotCont
Definition of a rotation container.
Definition: GUITriggeredRerouter.h:180
GUITriggeredRerouter::GUITriggeredRerouterEdge::myParent
GUITriggeredRerouter * myParent
The parent rerouter to which this edge instance belongs.
Definition: GUITriggeredRerouter.h:184
GUITriggeredRerouter::GUIManip_TriggeredRerouter::~GUIManip_TriggeredRerouter
virtual ~GUIManip_TriggeredRerouter()
Destructor.
Definition: GUITriggeredRerouter.cpp:140
GUITriggeredRerouter::GUITriggeredRerouterEdge::getParameterWindow
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
Definition: GUITriggeredRerouter.cpp:332
GUITriggeredRerouter::~GUITriggeredRerouter
~GUITriggeredRerouter()
Destructor.
Definition: GUITriggeredRerouter.cpp:230
GUITriggeredRerouter::getCenteringBoundary
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
Definition: GUITriggeredRerouter.cpp:281
MSEdge
A road/street connecting two junctions.
Definition: MSEdge.h:76
GUITriggeredRerouter::GUIManip_TriggeredRerouter::MID_USER_DEF
Definition: GUITriggeredRerouter.h:225
GUIGlObject_AbstractAdd.h
GUITriggeredRerouter::GUITriggeredRerouterEdge::myFGRotations
RotCont myFGRotations
The rotations in full-geometry mode.
Definition: GUITriggeredRerouter.h:196
GUIGlObject
Definition: GUIGlObject.h:66
GUITriggeredRerouter::openManipulator
GUIManipulator * openManipulator(GUIMainWindow &app, GUISUMOAbstractView &parent)
Definition: GUITriggeredRerouter.cpp:290
GUITriggeredRerouter::GUIManip_TriggeredRerouter::myObject
GUITriggeredRerouter * myObject
Definition: GUITriggeredRerouter.h:258
GUITriggeredRerouter::GUIManip_TriggeredRerouter::myUsageProbabilityTarget
FXDataTarget myUsageProbabilityTarget
Definition: GUITriggeredRerouter.h:256
GUITriggeredRerouter::GUITriggeredRerouterEdge::getCenteringBoundary
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
Definition: GUITriggeredRerouter.cpp:427
GUITriggeredRerouter::GUIManip_TriggeredRerouter::MID_PRE_DEF
Definition: GUITriggeredRerouter.h:226
GUITriggeredRerouter::GUIManip_TriggeredRerouter::onUpdUserDef
long onUpdUserDef(FXObject *, FXSelector, void *)
Definition: GUITriggeredRerouter.cpp:161
GUITriggeredRerouter::GUITriggeredRerouterEdge::myEdge
MSEdge * myEdge
The edge for which this visualization applies.
Definition: GUITriggeredRerouter.h:187
GUITriggeredRerouter::GUITriggeredRerouterEdge::myAmClosedEdge
const bool myAmClosedEdge
whether this edge instance visualizes a closed edge
Definition: GUITriggeredRerouter.h:190
GUIMainWindow
Definition: GUIMainWindow.h:47
GUIEdge
A road/street connecting two junctions (gui-version)
Definition: GUIEdge.h:53
GUIManipulator
Definition: GUIManipulator.h:43
GUITriggeredRerouter::GUITriggeredRerouter
GUITriggeredRerouter(const std::string &id, const MSEdgeVector &edges, double prob, const std::string &aXMLFilename, bool off, SUMOTime timeThreshold, const std::string &vTypes, SUMORTree &rtree)
Constructor.
Definition: GUITriggeredRerouter.cpp:217
GUITriggeredRerouter::drawGL
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Definition: GUITriggeredRerouter.cpp:275
MSTriggeredRerouter.h
GUITriggeredRerouter::myEndElement
void myEndElement(int element)
Called when a closing tag occurs.
Definition: GUITriggeredRerouter.cpp:239
MSEdgeVector
std::vector< MSEdge * > MSEdgeVector
Definition: MSEdge.h:72
GUITriggeredRerouter::GUIManip_TriggeredRerouter::myChosenValue
FXint myChosenValue
Definition: GUITriggeredRerouter.h:248
GUITriggeredRerouter::getParameterWindow
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
Definition: GUITriggeredRerouter.cpp:268
GUITriggeredRerouter::GUITriggeredRerouterPopupMenu::onCmdOpenManip
long onCmdOpenManip(FXObject *, FXSelector, void *)
Called if the object's manipulator shall be shown.
Definition: GUITriggeredRerouter.cpp:205
GUITriggeredRerouter::GUITriggeredRerouterEdge::myBoundary
Boundary myBoundary
The boundary of this rerouter.
Definition: GUITriggeredRerouter.h:199
config.h
GUIVisualizationSettings
Stores the information about how to visualize structures.
Definition: GUIVisualizationSettings.h:346
GUITriggeredRerouter::GUIManip_TriggeredRerouter
Definition: GUITriggeredRerouter.h:221
GUITriggeredRerouter::GUITriggeredRerouterPopupMenu::GUITriggeredRerouterPopupMenu
GUITriggeredRerouterPopupMenu()
Definition: GUITriggeredRerouter.h:216
GUITriggeredRerouter::GUITriggeredRerouterEdge::~GUITriggeredRerouterEdge
virtual ~GUITriggeredRerouterEdge()
Definition: GUITriggeredRerouter.cpp:321
GUITriggeredRerouter::GUITriggeredRerouterEdge::PosCont
std::vector< Position > PosCont
Definition of a positions container.
Definition: GUITriggeredRerouter.h:177
GUITriggeredRerouter::GUIManip_TriggeredRerouter::onCmdOverride
long onCmdOverride(FXObject *, FXSelector, void *)