SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSLogicJunction.h
Go to the documentation of this file.
1 /****************************************************************************/
9 // with one ore more logics.
10 /****************************************************************************/
11 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
12 // Copyright (C) 2001-2014 DLR (http://www.dlr.de/) and contributors
13 /****************************************************************************/
14 //
15 // This file is part of SUMO.
16 // SUMO is free software: you can redistribute it and/or modify
17 // it under the terms of the GNU General Public License as published by
18 // the Free Software Foundation, either version 3 of the License, or
19 // (at your option) any later version.
20 //
21 /****************************************************************************/
22 #ifndef MSLogicJunction_h
23 #define MSLogicJunction_h
24 
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #ifdef _MSC_VER
30 #include <windows_config.h>
31 #else
32 #include <config.h>
33 #endif
34 
35 #include "MSJunction.h"
36 #include <utils/common/SUMOTime.h>
37 #include <bitset>
38 #include <vector>
39 
40 
41 // ===========================================================================
42 // class declarations
43 // ===========================================================================
44 class MSLane;
45 
46 
47 // ===========================================================================
48 // class definitions
49 // ===========================================================================
56 class MSLogicJunction : public MSJunction {
57 public:
58 
59 
61  virtual ~MSLogicJunction();
62 
64  typedef std::bitset<64> LinkFoes;
65 
69  typedef std::bitset<64> InnerState;
70 
72  virtual void postloadInit();
73 
74 protected:
82  MSLogicJunction(const std::string& id, const Position& position,
83  const PositionVector& shape,
84  std::vector<MSLane*> incoming
86  , std::vector<MSLane*> internal
87 #endif
88  );
89 
90 protected:
92  std::vector<MSLane*> myIncomingLanes;
93 
94 #ifdef HAVE_INTERNAL_LANES
95  std::vector<MSLane*> myInternalLanes;
97 #endif
98 
99 private:
102 
105 
106 };
107 
108 
109 #endif
110 
111 /****************************************************************************/
112 
The base class for an intersection.
Definition: MSJunction.h:57
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