SUMO - Simulation of Urban MObility
GUI_E2_ZS_Collector.h
Go to the documentation of this file.
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 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines