88 FXObject*, FXSelector,
void*) {
97 FXObject*, FXSelector,
void*) {
106 FXObject*, FXSelector ,
void*) {
115 FXObject*, FXSelector sel,
void*) {
144 std::vector<MSTrafficLightLogic*> logics = vars.
getAllLogics();
145 if (logics.size() > 1) {
146 std::vector<MSTrafficLightLogic*>::const_iterator i;
148 for (i = logics.begin(); i != logics.end(); ++i, ++index) {
150 new FXMenuCommand(ret, (
"Switch to '" + (*i)->getProgramID() +
"'").c_str(),
154 new FXMenuSeparator(ret);
159 new FXMenuSeparator(ret);
164 new FXMenuSeparator(ret);
185 static_cast<MSSimpleTrafficLightLogic&>(
myTLLogic).getPhases());
203 for (MSTrafficLightLogic::LaneVectorVector::const_iterator i = lanes.begin(); i != lanes.end(); ++i) {
205 for (MSTrafficLightLogic::LaneVector::const_iterator j = lanes2.begin(); j != lanes2.end(); ++j) {
206 ret.
add((*j)->getShape()[-1]);
222 std::vector<MSTrafficLightLogic*> logics = vars.
getAllLogics();
241 if (curState.find_first_of(
"gG") == std::string::npos) {
245 int phaseIdx = (curPhaseIdx + 1) % phases.size();
246 std::vector<int> nextGreen;
247 while (phaseIdx != curPhaseIdx) {
248 const std::string& state = phases[phaseIdx]->getState();
249 for (
int linkIdx = 0; linkIdx < (int)state.size(); linkIdx++) {
252 nextGreen.push_back(linkIdx);
255 if (nextGreen.size() > 0) {
258 phaseIdx = (phaseIdx + 1) % phases.size();
261 for (std::vector<int>::iterator it_idx = nextGreen.begin(); it_idx != nextGreen.end(); it_idx++) {
263 for (MSTrafficLightLogic::LaneVector::const_iterator it_lane = lanes.begin(); it_lane != lanes.end(); it_lane++) {
266 Position pos = (*it_lane)->getShape().back();
The link has green light, may pass.
virtual const MSPhaseDefinition & getCurrentPhaseDef() const =0
Returns the definition of the current phase.
const std::string & getState() const
Returns the state within this phase.
Storage for all programs of a single tls.
void buildNameCopyPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds entries which allow to copy the name / typed name into the clipboard.
void switchTo(const std::string &id, const std::string &programID)
Switches the named (id) tls to the named (programID) program.
bool gaming
whether the application is in gaming mode or not
The link has green light, has to brake.
Stores the information about how to visualize structures.
double y() const
Returns the y-position.
const LaneVectorVector & getLaneVectors() const
Returns the list of lists of all lanes controlled by this tls.
void create()
Creates the window (FOX-Toolkit)
void begin2TrackPhases()
Builds a GUITLLogicPhasesTrackerWindow which will receive new phases.
double x() const
Returns the x-position.
void buildCenterPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to center to the object.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
MSTLLogicControl & myTLLogicControl
Reference to the according tls.
virtual int getCurrentPhaseIndex() const =0
Returns the current index within the program.
GUIMainWindow * myApp
The main application.
const std::string & getID() const
Returns the id.
static void drawFilledCircle(double width, int steps=8)
Draws a filled circle around (0,0)
void buildPositionCopyEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position.
int getLinkIndex(const MSLink *const link) const
Returns the index of the given link.
A class that stores a 2D geometrical boundary.
FXDEFMAP(GUIDialog_AppSettings) GUIDialog_AppSettingsMap[]
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
void showPhases()
Builds a GUITLLogicPhasesTrackerWindow which displays the phase diagram.
const LaneVector & getLanesAt(int i) const
Returns the list of lanes that are controlled by the signals at the given position.
A class that stores and controls tls and switching of their programs.
std::vector< MSTrafficLightLogic * > getAllLogics() const
GUIGlID createTLWrapper(MSTrafficLightLogic *tll)
creates a wrapper for the given logic and returns the GlID
GUIGlObjectType getType() const
Returns the type of the object as coded in GUIGlObjectType.
std::pair< SUMOTime, MSPhaseDefinition > getPhaseDef(const std::string &tlid) const
return the complete phase definition for a named traffic lights logic
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
GUITrafficLightLogicWrapperPopupMenuMap[]
static GUINet * getGUIInstance()
Returns the pointer to the unique instance of GUINet (singleton).
A point in 2D or 3D with translation and scaling methods.
MSTrafficLightLogic * getActive(const std::string &id) const
Returns the active program of a named tls.
~GUITrafficLightLogicWrapper()
Destructor.
void switchTLSLogic(int to)
Builds a GUITLLogicPhasesTrackerWindow which displays the phase diagram.
LinkState
The right-of-way state of a link between two lanes used when constructing a NBTrafficLightLogic, in MSLink and GNEInternalLane.
MSTrafficLightLogic & myTLLogic
The wrapped tl-logic.
Boundary & grow(double by)
extends the boundary by the given amount
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
std::vector< MSPhaseDefinition * > Phases
Definition of a list of phases, being the junction logic.
virtual const Phases & getPhases() const =0
Returns the phases of this tls program.
std::vector< MSLane * > LaneVector
Definition of the list of arrival lanes subjected to this tls.
std::vector< LaneVector > LaneVectorVector
Definition of a list that holds lists of lanes that do have the same attribute.
Show TLS phases - popup entry.
int getLinkIndex(const MSLink *const link) const
Returns the index of the given link within the according tls.
bool isActive(const MSTrafficLightLogic *tl) const
void buildSelectionPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to (de)select the object.
Begin to track phases - menu entry.
This window displays a phase diagram for a chosen tl-logic.
GUITrafficLightLogicWrapper(MSTLLogicControl &control, MSTrafficLightLogic &tll)
Constructor.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
The parent class for traffic light logics.
void setBeginTime(SUMOTime time)
Sets the time the display shall be shown as beginning at.
TLSLogicVariants & get(const std::string &id) const
Returns the variants of a named tls.
GUITLLogicPhasesTrackerWindow()
protected constructor for FOX
void add(double x, double y, double z=0)
Makes the boundary include the given coordinate.
A window containing a gl-object's parameter.
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
void buildPopupHeader(GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
Builds the header.