SUMO - Simulation of Urban MObility
MSLogicJunction.h
Go to the documentation of this file.
1 /****************************************************************************/
10 // with one ore more logics.
11 /****************************************************************************/
12 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
13 // Copyright (C) 2001-2014 DLR (http://www.dlr.de/) and contributors
14 /****************************************************************************/
15 //
16 // This file is part of SUMO.
17 // SUMO is free software: you can redistribute it and/or modify
18 // it under the terms of the GNU General Public License as published by
19 // the Free Software Foundation, either version 3 of the License, or
20 // (at your option) any later version.
21 //
22 /****************************************************************************/
23 #ifndef MSLogicJunction_h
24 #define MSLogicJunction_h
25 
26 
27 // ===========================================================================
28 // included modules
29 // ===========================================================================
30 #ifdef _MSC_VER
31 #include <windows_config.h>
32 #else
33 #include <config.h>
34 #endif
35 
36 #include "MSJunction.h"
37 #include <utils/common/SUMOTime.h>
38 #include <bitset>
39 #include <vector>
40 
41 
42 // ===========================================================================
43 // class declarations
44 // ===========================================================================
45 class MSLane;
46 
47 
48 // ===========================================================================
49 // class definitions
50 // ===========================================================================
57 class MSLogicJunction : public MSJunction {
58 public:
59 
60 
62  virtual ~MSLogicJunction();
63 
65  typedef std::bitset<64> LinkFoes;
66 
70  typedef std::bitset<64> InnerState;
71 
73  virtual void postloadInit();
74 
75 protected:
83  MSLogicJunction(const std::string& id, const Position& position,
84  const PositionVector& shape,
85  std::vector<MSLane*> incoming
87  , std::vector<MSLane*> internal
88 #endif
89  );
90 
91 protected:
93  std::vector<MSLane*> myIncomingLanes;
94 
95 #ifdef HAVE_INTERNAL_LANES
96  std::vector<MSLane*> myInternalLanes;
98 #endif
99 
100 private:
103 
106 
107 };
108 
109 
110 #endif
111 
112 /****************************************************************************/
113 
The base class for an intersection.
Definition: MSJunction.h:58
std::vector< MSLane * > myIncomingLanes
list of incoming lanes
MSLogicJunction & operator=(const MSLogicJunction &)
Invalidated assignment operator.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:46
A list of positions.
std::bitset< 64 > InnerState
Container for junction-internal lane occupation Each element of this container represents one particu...
virtual ~MSLogicJunction()
Destructor.
virtual void postloadInit()
initialises the junction after the whole net has been loaded
std::bitset< 64 > LinkFoes
Container for link foes.
MSLogicJunction(const std::string &id, const Position &position, const PositionVector &shape, std::vector< MSLane * > incoming)
Constructor.
#define HAVE_INTERNAL_LANES
Definition: config.h:47
Representation of a lane in the micro simulation.
Definition: MSLane.h:77