MSInternalJunction.h
Go to the documentation of this file.00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MSInternalJunction_h
00020 #define MSInternalJunction_h
00021
00022
00023
00024
00025
00026 #ifdef _MSC_VER
00027 #include <windows_config.h>
00028 #else
00029 #include <config.h>
00030 #endif
00031
00032 #include "MSLogicJunction.h"
00033 #include <bitset>
00034 #include <vector>
00035 #include <string>
00036
00037
00038
00039
00040
00041 class MSLane;
00042 class MSJunctionLogic;
00043 class MSLink;
00044
00045
00046
00047
00048
00055 #ifdef HAVE_INTERNAL_LANES
00056 class MSInternalJunction : public MSLogicJunction {
00057 public:
00065 MSInternalJunction(const std::string &id, const Position2D &position,
00066 const Position2DVector &shape,
00067 std::vector<MSLane*> incoming, std::vector<MSLane*> internal) throw();
00068
00070 virtual ~MSInternalJunction();
00071
00074 bool clearRequests();
00075 void postloadInit() throw(ProcessError);
00076
00078 virtual bool setAllowed();
00079
00080 const std::vector<MSLink*> &getFoeLinks(const MSLink *const srcLink) const throw() {
00081 return myInternalLinkFoes;
00082 }
00083
00084 const std::vector<MSLane*> &getFoeInternalLanes(const MSLink *const srcLink) const throw() {
00085 return myInternalLaneFoes;
00086 }
00087
00088 private:
00089
00090 std::vector<MSLink*> myInternalLinkFoes;
00091 std::vector<MSLane*> myInternalLaneFoes;
00092
00094 MSInternalJunction(const MSInternalJunction&);
00095
00097 MSInternalJunction& operator=(const MSInternalJunction&);
00098
00099 };
00100
00101
00102 #endif
00103 #endif
00104
00105
00106