SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00009 // Holds geometrical values for a junction 00010 /****************************************************************************/ 00011 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/ 00012 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors 00013 /****************************************************************************/ 00014 // 00015 // This file is part of SUMO. 00016 // SUMO is free software: you can redistribute it and/or modify 00017 // it under the terms of the GNU General Public License as published by 00018 // the Free Software Foundation, either version 3 of the License, or 00019 // (at your option) any later version. 00020 // 00021 /****************************************************************************/ 00022 #ifndef GUIJunctionWrapper_h 00023 #define GUIJunctionWrapper_h 00024 00025 00026 // =========================================================================== 00027 // included modules 00028 // =========================================================================== 00029 #ifdef _MSC_VER 00030 #include <windows_config.h> 00031 #else 00032 #include <config.h> 00033 #endif 00034 00035 #include <string> 00036 #include <utility> 00037 #include <utils/geom/PositionVector.h> 00038 #include <utils/gui/globjects/GUIGLObjectPopupMenu.h> 00039 #include <utils/gui/globjects/GUIGlObject.h> 00040 00041 00042 // =========================================================================== 00043 // class declarations 00044 // =========================================================================== 00045 class MSNet; 00046 class MSJunction; 00047 00048 00049 // =========================================================================== 00050 // class definitions 00051 // =========================================================================== 00063 class GUIJunctionWrapper : public GUIGlObject { 00064 public: 00069 GUIJunctionWrapper(MSJunction& junction) ; 00070 00071 00073 virtual ~GUIJunctionWrapper() ; 00074 00075 00076 00078 00079 00087 GUIGLObjectPopupMenu* getPopUpMenu(GUIMainWindow& app, 00088 GUISUMOAbstractView& parent) ; 00089 00090 00098 GUIParameterTableWindow* getParameterWindow( 00099 GUIMainWindow& app, GUISUMOAbstractView& parent) ; 00100 00101 00107 Boundary getCenteringBoundary() const ; 00108 00109 00114 void drawGL(const GUIVisualizationSettings& s) const ; 00116 00120 Boundary getBoundary() const { 00121 return myBoundary; 00122 } 00123 00125 bool isInner() const { 00126 return myIsInner; 00127 } 00128 00132 const MSJunction &getJunction() const { 00133 return myJunction; 00134 } 00135 00136 00137 protected: 00139 MSJunction& myJunction; 00140 00142 SUMOReal myMaxSize; 00143 00145 Boundary myBoundary; 00146 00147 00148 private: 00150 GUIJunctionWrapper(const GUIJunctionWrapper&); 00151 00153 GUIJunctionWrapper& operator=(const GUIJunctionWrapper&); 00154 00156 bool myIsInner; 00157 00158 }; 00159 00160 00161 #endif 00162 00163 /****************************************************************************/ 00164