SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00010 // A view on the simulation; this view is a microscopic one 00011 /****************************************************************************/ 00012 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/ 00013 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors 00014 /****************************************************************************/ 00015 // 00016 // This file is part of SUMO. 00017 // SUMO is free software: you can redistribute it and/or modify 00018 // it under the terms of the GNU General Public License as published by 00019 // the Free Software Foundation, either version 3 of the License, or 00020 // (at your option) any later version. 00021 // 00022 /****************************************************************************/ 00023 #ifndef GUIViewTraffic_h 00024 #define GUIViewTraffic_h 00025 00026 00027 // =========================================================================== 00028 // included modules 00029 // =========================================================================== 00030 #ifdef _MSC_VER 00031 #include <windows_config.h> 00032 #else 00033 #include <config.h> 00034 #endif 00035 00036 #include <string> 00037 #include <utils/geom/Boundary.h> 00038 #include <utils/geom/Position.h> 00039 #include <utils/common/RGBColor.h> 00040 #include <utils/geom/PositionVector.h> 00041 #include <utils/shapes/Polygon.h> 00042 #include "GUISUMOViewParent.h" 00043 #include <utils/gui/windows/GUISUMOAbstractView.h> 00044 00045 00046 // =========================================================================== 00047 // class declarations 00048 // =========================================================================== 00049 class GUINet; 00050 class GUISUMOViewParent; 00051 class GUIVehicle; 00052 class GUILaneWrapper; 00053 class MSRoute; 00054 00055 00056 // =========================================================================== 00057 // class definitions 00058 // =========================================================================== 00063 class GUIViewTraffic : public GUISUMOAbstractView { 00064 public: 00066 GUIViewTraffic(FXComposite* p, GUIMainWindow& app, 00067 GUISUMOViewParent* parent, GUINet& net, FXGLVisual* glVis, 00068 FXGLCanvas* share); 00070 virtual ~GUIViewTraffic(); 00071 00073 virtual void buildViewToolBars(GUIGlChildWindow&); 00074 00075 00079 void startTrack(int id); 00080 00081 00084 void stopTrack(); 00085 00086 00090 int getTrackedID() const; 00091 00092 bool setColorScheme(const std::string& name); 00093 00094 void showViewschemeEditor(); 00095 00097 void onGamingClick(Position pos); 00098 00100 SUMOTime getCurrentTimeStep() const; 00101 00102 protected: 00103 int doPaintGL(int mode, const Boundary& bound); 00104 00105 00106 private: 00107 int myTrackedID; 00108 00109 protected: 00110 GUIViewTraffic() { } 00111 00112 }; 00113 00114 00115 #endif 00116 00117 /****************************************************************************/ 00118