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.dlr.de/
13 // Copyright (C) 2001-2016 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 <utils/common/StdDefs.h>
39 #include <bitset>
40 #include <vector>
41 
42 
43 // ===========================================================================
44 // class declarations
45 // ===========================================================================
46 class MSLane;
47 
48 
49 // ===========================================================================
50 // class definitions
51 // ===========================================================================
58 class MSLogicJunction : public MSJunction {
59 public:
60 
61 
63  virtual ~MSLogicJunction();
64 
66  typedef std::bitset<SUMO_MAX_CONNECTIONS> LinkBits;
67 
69  virtual void postloadInit();
70 
71 protected:
80  MSLogicJunction(const std::string& id,
81  SumoXMLNodeType type,
82  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: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:46
A list of positions.
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.
SumoXMLNodeType
Numbers representing special SUMO-XML-attribute values for representing node- (junction-) types used ...
#define HAVE_INTERNAL_LANES
Definition: config.h:56
std::bitset< SUMO_MAX_CONNECTIONS > LinkBits
Container for link response and foes.
Representation of a lane in the micro simulation.
Definition: MSLane.h:77