SUMO - Simulation of Urban MObility
MSLogicJunction.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2017 German Aerospace Center (DLR) and others.
4 /****************************************************************************/
5 //
6 // This program and the accompanying materials
7 // are made available under the terms of the Eclipse Public License v2.0
8 // which accompanies this distribution, and is available at
9 // http://www.eclipse.org/legal/epl-v20.html
10 //
11 /****************************************************************************/
20 // with one ore more logics.
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 <utils/common/StdDefs.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<SUMO_MAX_CONNECTIONS> LinkBits;
66 
68  virtual void postloadInit();
69 
72  const std::vector<MSLane*> getInternalLanes() const;
73 
74 protected:
83  MSLogicJunction(const std::string& id,
84  SumoXMLNodeType type,
85  const Position& position,
86  const PositionVector& shape,
87  std::vector<MSLane*> incoming,
88  std::vector<MSLane*> internal
89  );
90 
91 protected:
93  std::vector<MSLane*> myIncomingLanes;
94 
96  std::vector<MSLane*> myInternalLanes;
97 
98 private:
101 
104 
105 };
106 
107 
108 #endif
109 
110 /****************************************************************************/
111 
The base class for an intersection.
Definition: MSJunction.h:64
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:45
A list of positions.
virtual ~MSLogicJunction()
Destructor.
const std::vector< MSLane * > getInternalLanes() const
Returns all internal lanes on the junction.
virtual void postloadInit()
initialises the junction after the whole net has been loaded
std::vector< MSLane * > myInternalLanes
list of internal lanes
SumoXMLNodeType
Numbers representing special SUMO-XML-attribute values for representing node- (junction-) types used ...
MSLogicJunction(const std::string &id, SumoXMLNodeType type, const Position &position, const PositionVector &shape, std::vector< MSLane *> incoming, std::vector< MSLane *> internal)
Constructor.
std::bitset< SUMO_MAX_CONNECTIONS > LinkBits
Container for link response and foes.
Representation of a lane in the micro simulation.
Definition: MSLane.h:77