SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00010 // A single child window which contains a view of the simulation area 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 GUISUMOViewParent_h 00024 #define GUISUMOViewParent_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 <vector> 00038 #include <fx.h> 00039 #include <utils/geom/Position.h> 00040 #include <utils/geom/Boundary.h> 00041 #include <utils/gui/globjects/GUIGlObjectTypes.h> 00042 #include <utils/gui/windows/GUIGlChildWindow.h> 00043 00044 00045 // =========================================================================== 00046 // class declarations 00047 // =========================================================================== 00048 class GUINet; 00049 class GUISUMOAbstractView; 00050 class GUIDialog_GLObjChooser; 00051 00052 00053 // =========================================================================== 00054 // class declarations 00055 // =========================================================================== 00066 class GUISUMOViewParent : public GUIGlChildWindow { 00067 // FOX-declarations 00068 FXDECLARE(GUISUMOViewParent) 00069 00070 public: 00072 enum ViewType { 00074 VIEW_2D_OPENGL, 00076 VIEW_3D_OSG 00077 }; 00078 00079 00092 GUISUMOViewParent(FXMDIClient* p, FXMDIMenu* mdimenu, 00093 const FXString& name, GUIMainWindow* parentWindow, 00094 FXIcon* ic = NULL, FXuint opts = 0, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0); 00095 00096 00103 virtual GUISUMOAbstractView* init(FXGLCanvas* share, GUINet& net, ViewType type); 00104 00105 00107 ~GUISUMOViewParent(); 00108 00109 00111 long onCmdMakeSnapshot(FXObject* sender, FXSelector, void*); 00112 00114 long onSimStep(FXObject* sender, FXSelector, void*); 00115 00117 long onCmdLocate(FXObject*, FXSelector, void*); 00118 00120 bool isSelected(GUIGlObject* o) const; 00121 00122 protected: 00124 GUISUMOViewParent() { } 00125 00126 }; 00127 00128 00129 #endif 00130 00131 /****************************************************************************/ 00132