SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00010 // Derivation of NLEdgeControlBuilder which builds gui-edges 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 GUIEdgeControlBuilder_h 00024 #define GUIEdgeControlBuilder_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 <netload/NLEdgeControlBuilder.h> 00039 #include <utils/geom/PositionVector.h> 00040 #include <guisim/GUIEdge.h> 00041 00042 00043 // =========================================================================== 00044 // class declarations 00045 // =========================================================================== 00046 class MSJunction; 00047 00048 00049 // =========================================================================== 00050 // class definitions 00051 // =========================================================================== 00060 class GUIEdgeControlBuilder : public NLEdgeControlBuilder { 00061 public: 00066 GUIEdgeControlBuilder() ; 00067 00068 00070 ~GUIEdgeControlBuilder() ; 00071 00072 00084 virtual MSLane* addLane(const std::string& id, 00085 SUMOReal maxSpeed, SUMOReal length, 00086 const PositionVector& shape, SUMOReal width, 00087 SVCPermissions permissions); 00088 00089 00090 MSEdge* closeEdge(); 00091 00092 00101 MSEdge* buildEdge(const std::string& id, const std::string& streetName) ; 00102 00103 00104 private: 00106 GUIEdgeControlBuilder(const GUIEdgeControlBuilder& s); 00107 00109 GUIEdgeControlBuilder& operator=(const GUIEdgeControlBuilder& s); 00110 00111 }; 00112 00113 00114 #endif 00115 00116 /****************************************************************************/ 00117