SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00009 // kinds of logic-implementations. 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 MSJunctionLogic_h 00023 #define MSJunctionLogic_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 <utils/common/StdDefs.h> 00036 #include "MSLogicJunction.h" 00037 #include <string> 00038 00039 00040 // =========================================================================== 00041 // class definitions 00042 // =========================================================================== 00046 class MSJunctionLogic { 00047 public: 00049 virtual ~MSJunctionLogic(); 00050 00052 unsigned int nLinks(); 00053 00055 virtual const MSLogicJunction::LinkFoes& getFoesFor(unsigned int linkIndex) const { 00056 UNUSED_PARAMETER(linkIndex); 00057 return myDummyFoes; 00058 } 00059 00060 virtual const std::bitset<64> &getInternalFoesFor(unsigned int linkIndex) const { 00061 UNUSED_PARAMETER(linkIndex); 00062 return myDummyFoes; 00063 } 00064 virtual bool getIsCont(unsigned int linkIndex) const { 00065 UNUSED_PARAMETER(linkIndex); 00066 return false; 00067 } 00068 00069 00070 unsigned int getLogicSize() const { 00071 return myNLinks; 00072 } 00073 00074 virtual bool isCrossing() const { 00075 return false; 00076 } 00077 00078 00079 00080 00081 protected: 00083 MSJunctionLogic(unsigned int nLinks); 00084 00086 unsigned int myNLinks; 00087 00089 static MSLogicJunction::LinkFoes myDummyFoes; 00090 00091 private: 00093 MSJunctionLogic(); 00094 00096 MSJunctionLogic(const MSJunctionLogic&); 00097 00099 MSJunctionLogic& operator=(const MSJunctionLogic&); 00100 00101 }; 00102 00103 00104 #endif 00105 00106 /****************************************************************************/ 00107