Eclipse SUMO - Simulation of Urban MObility
GUITrafficLightLogicWrapper.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 // A wrapper for tl-logics to allow their visualisation and interaction
17 /****************************************************************************/
18 #ifndef GUITrafficLightLogicWrapper_h
19 #define GUITrafficLightLogicWrapper_h
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #include <config.h>
26 
30 
31 
32 // ===========================================================================
33 // class declarations
34 // ===========================================================================
36 class GUIMainWindow;
37 
38 
39 // ===========================================================================
40 // class definition
41 // ===========================================================================
48 public:
51 
54 
55 
56 
58 
59 
68  GUISUMOAbstractView& parent);
69 
70 
79  GUISUMOAbstractView& parent);
80 
81 
88 
89 
94  void drawGL(const GUIVisualizationSettings& s) const;
96 
97 
99  void begin2TrackPhases();
100 
102  void showPhases();
103 
105  void switchTLSLogic(int to);
106 
108  int getLinkIndex(const MSLink* const link) const;
109 
111  return myTLLogic;
112  }
113 
115 
116  int getCurrentPhase() const;
117  std::string getCurrentPhaseName() const;
118  int getCurrentDuration() const;
119  int getCurrentMinDur() const;
120  int getCurrentMaxDur() const;
121  int getRunningDuration() const;
122 
123 public:
131  public:
134  GUISUMOAbstractView& parent, GUIGlObject& o);
135 
138 
140  long onCmdShowPhases(FXObject*, FXSelector, void*);
141 
143  long onCmdBegin2TrackPhases(FXObject*, FXSelector, void*);
144  long onCmdShowDetectors(FXObject*, FXSelector, void*);
145 
146  long onCmdSwitchTLS2Off(FXObject*, FXSelector, void*);
147  long onCmdSwitchTLSLogic(FXObject*, FXSelector, void*);
148 
149  protected:
152 
153  };
154 
155 private:
158 
161 
164 
165 };
166 
167 
168 #endif
169 
170 /****************************************************************************/
171 
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdSwitchTLSLogic
long onCmdSwitchTLSLogic(FXObject *, FXSelector, void *)
Definition: GUITrafficLightLogicWrapper.cpp:120
GUIGlObject.h
GUITrafficLightLogicWrapper::begin2TrackPhases
void begin2TrackPhases()
Builds a GUITLLogicPhasesTrackerWindow which will receive new phases.
Definition: GUITrafficLightLogicWrapper.cpp:186
GUIParameterTableWindow
A window containing a gl-object's parameter.
Definition: GUIParameterTableWindow.h:62
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:72
GUITrafficLightLogicWrapper::getCurrentDuration
int getCurrentDuration() const
Definition: GUITrafficLightLogicWrapper.cpp:323
GUITrafficLightLogicWrapper::getCurrentPhaseName
std::string getCurrentPhaseName() const
Definition: GUITrafficLightLogicWrapper.cpp:318
GUITrafficLightLogicWrapper::myApp
GUIMainWindow * myApp
The main application.
Definition: GUITrafficLightLogicWrapper.h:163
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapper
GUITrafficLightLogicWrapper(MSTLLogicControl &control, MSTrafficLightLogic &tll)
Constructor.
Definition: GUITrafficLightLogicWrapper.cpp:132
GUIGLObjectPopupMenu.h
GUITrafficLightLogicWrapper::getCenteringBoundary
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
Definition: GUITrafficLightLogicWrapper.cpp:227
GUITrafficLightLogicWrapper::getLinkIndex
int getLinkIndex(const MSLink *const link) const
Returns the index of the given link within the according tls.
Definition: GUITrafficLightLogicWrapper.cpp:255
GUIGLObjectPopupMenu
The popup menu of a globject.
Definition: GUIGLObjectPopupMenu.h:47
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::GUITrafficLightLogicWrapperPopupMenu
GUITrafficLightLogicWrapperPopupMenu()
protected constructor for FOX
Definition: GUITrafficLightLogicWrapper.h:151
GUITrafficLightLogicWrapper::getRunningDuration
int getRunningDuration() const
Definition: GUITrafficLightLogicWrapper.cpp:338
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu
Definition: GUITrafficLightLogicWrapper.h:129
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdShowDetectors
long onCmdShowDetectors(FXObject *, FXSelector, void *)
Definition: GUITrafficLightLogicWrapper.cpp:100
GUITrafficLightLogicWrapper::getPopUpMenu
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Definition: GUITrafficLightLogicWrapper.cpp:142
GUITLLogicPhasesTrackerWindow.h
Boundary
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:41
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdSwitchTLS2Off
long onCmdSwitchTLS2Off(FXObject *, FXSelector, void *)
Definition: GUITrafficLightLogicWrapper.cpp:111
MSTrafficLightLogic
The parent class for traffic light logics.
Definition: MSTrafficLightLogic.h:55
GUIGlObject
Definition: GUIGlObject.h:65
GUIMainWindow
Definition: GUIMainWindow.h:46
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdShowPhases
long onCmdShowPhases(FXObject *, FXSelector, void *)
Called if the phases shall be shown.
Definition: GUITrafficLightLogicWrapper.cpp:92
GUITrafficLightLogicWrapper::getCurrentMaxDur
int getCurrentMaxDur() const
Definition: GUITrafficLightLogicWrapper.cpp:333
GUITrafficLightLogicWrapper::drawGL
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Definition: GUITrafficLightLogicWrapper.cpp:261
GUITrafficLightLogicWrapper
Definition: GUITrafficLightLogicWrapper.h:47
GUITrafficLightLogicWrapper::~GUITrafficLightLogicWrapper
~GUITrafficLightLogicWrapper()
Destructor.
Definition: GUITrafficLightLogicWrapper.cpp:138
GUITrafficLightLogicWrapper::myTLLogic
MSTrafficLightLogic & myTLLogic
The wrapped tl-logic.
Definition: GUITrafficLightLogicWrapper.h:160
GUITrafficLightLogicWrapper::getParameterWindow
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
Definition: GUITrafficLightLogicWrapper.cpp:208
config.h
GUITrafficLightLogicWrapper::getCurrentPhase
int getCurrentPhase() const
Definition: GUITrafficLightLogicWrapper.cpp:313
MSTLLogicControl
A class that stores and controls tls and switching of their programs.
Definition: MSTLLogicControl.h:59
GUIVisualizationSettings
Stores the information about how to visualize structures.
Definition: GUIVisualizationSettings.h:345
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdBegin2TrackPhases
long onCmdBegin2TrackPhases(FXObject *, FXSelector, void *)
Called if the phases shall be begun to track.
Definition: GUITrafficLightLogicWrapper.cpp:83
GUITrafficLightLogicWrapper::getTLLogic
MSTrafficLightLogic & getTLLogic() const
Definition: GUITrafficLightLogicWrapper.h:110
GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::~GUITrafficLightLogicWrapperPopupMenu
~GUITrafficLightLogicWrapperPopupMenu()
Destructor.
Definition: GUITrafficLightLogicWrapper.cpp:78
GUITrafficLightLogicWrapper::getActiveTLLogic
MSTrafficLightLogic * getActiveTLLogic() const
Definition: GUITrafficLightLogicWrapper.cpp:308
GUITrafficLightLogicWrapper::showPhases
void showPhases()
Builds a GUITLLogicPhasesTrackerWindow which displays the phase diagram.
Definition: GUITrafficLightLogicWrapper.cpp:197
GUITrafficLightLogicWrapper::switchTLSLogic
void switchTLSLogic(int to)
Builds a GUITLLogicPhasesTrackerWindow which displays the phase diagram.
Definition: GUITrafficLightLogicWrapper.cpp:242
GUITrafficLightLogicWrapper::myTLLogicControl
MSTLLogicControl & myTLLogicControl
Reference to the according tls.
Definition: GUITrafficLightLogicWrapper.h:157
GUITrafficLightLogicWrapper::getCurrentMinDur
int getCurrentMinDur() const
Definition: GUITrafficLightLogicWrapper.cpp:328