SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00009 // The gui-version of the MS_E2_ZS_Collector 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 GUI_E2_ZS_Collector_h 00023 #define GUI_E2_ZS_Collector_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 <microsim/output/MSE2Collector.h> 00036 #include <microsim/MSNet.h> 00037 #include <utils/geom/Position.h> 00038 #include <utils/geom/PositionVector.h> 00039 #include <utils/common/VectorHelper.h> 00040 #include <utils/common/ValueSource.h> 00041 #include "GUIDetectorWrapper.h" 00042 00043 00044 // =========================================================================== 00045 // class declarations 00046 // =========================================================================== 00047 class GUILaneWrapper; 00048 class GUI_E2_ZS_CollectorOverLanes; 00049 00050 00051 // =========================================================================== 00052 // class definitions 00053 // =========================================================================== 00063 class GUI_E2_ZS_Collector : public MSE2Collector { 00064 public: 00077 GUI_E2_ZS_Collector(const std::string& id, DetectorUsage usage, 00078 MSLane* const lane, SUMOReal startPos, SUMOReal detLength, 00079 SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, 00080 SUMOReal jamDistThreshold) ; 00081 00082 00084 ~GUI_E2_ZS_Collector() ; 00085 00086 00091 virtual GUIDetectorWrapper* buildDetectorGUIRepresentation(); 00092 00093 00094 public: 00099 class MyWrapper : public GUIDetectorWrapper { 00100 public: 00102 MyWrapper(GUI_E2_ZS_Collector& detector) ; 00103 00105 ~MyWrapper() ; 00106 00107 00109 00110 00118 GUIParameterTableWindow* getParameterWindow( 00119 GUIMainWindow& app, GUISUMOAbstractView& parent) ; 00120 00121 00127 Boundary getCenteringBoundary() const ; 00128 00129 00134 void drawGL(const GUIVisualizationSettings& s) const ; 00136 00137 00139 GUI_E2_ZS_Collector& getDetector(); 00140 00141 00142 private: 00144 GUI_E2_ZS_Collector& myDetector; 00145 00147 Boundary myBoundary; 00148 00150 PositionVector myFullGeometry; 00151 00153 std::vector<SUMOReal> myShapeLengths; 00154 00156 std::vector<SUMOReal> myShapeRotations; 00157 00158 private: 00160 MyWrapper(const MyWrapper&); 00161 00163 MyWrapper& operator=(const MyWrapper&); 00164 00165 }; 00166 00167 }; 00168 00169 00170 #endif 00171 00172 /****************************************************************************/ 00173