SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.dlr.de/
13 // Copyright (C) 2001-2015 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:
84  MSLogicJunction(const std::string& id,
85  SumoXMLNodeType type,
86  const Position& position,
87  const PositionVector& shape,
88  std::vector<MSLane*> incoming
90  , std::vector<MSLane*> internal
91 #endif
92  );
93 
94 protected:
96  std::vector<MSLane*> myIncomingLanes;
97 
98 #ifdef HAVE_INTERNAL_LANES
99  std::vector<MSLane*> myInternalLanes;
101 #endif
102 
103 private:
106 
109 
110 };
111 
112 
113 #endif
114 
115 /****************************************************************************/
116 
The base class for an intersection.
Definition: MSJunction.h:61
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
MSLogicJunction(const std::string &id, SumoXMLNodeType type, const Position &position, const PositionVector &shape, std::vector< MSLane * > incoming)
Constructor.
std::bitset< 64 > LinkFoes
Container for link foes.
SumoXMLNodeType
Numbers representing special SUMO-XML-attribute values for representing node- (junction-) types used ...
#define HAVE_INTERNAL_LANES
Definition: config.h:50
Representation of a lane in the micro simulation.
Definition: MSLane.h:77