SUMO - Simulation of Urban MObility
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
MSUnboundActuatedTrafficLightLogic.h
Go to the documentation of this file.
1
/****************************************************************************/
7
// The basic traffic light logic
8
/****************************************************************************/
9
// SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
10
// Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors
11
/****************************************************************************/
12
//
13
// This file is part of SUMO.
14
// SUMO is free software: you can redistribute it and/or modify
15
// it under the terms of the GNU General Public License as published by
16
// the Free Software Foundation, either version 3 of the License, or
17
// (at your option) any later version.
18
//
19
/****************************************************************************/
20
#ifndef MSUnboundActuatedTrafficLightLogic_h
21
#define MSUnboundActuatedTrafficLightLogic_h
22
23
24
// ===========================================================================
25
// included modules
26
// ===========================================================================
27
#ifdef _MSC_VER
28
#include <
windows_config.h
>
29
#else
30
#include <
config.h
>
31
#endif
32
33
#include <utility>
34
#include <vector>
35
#include <bitset>
36
#include <map>
37
#include <
microsim/MSEventControl.h
>
38
#include <
microsim/traffic_lights/MSTrafficLightLogic.h
>
39
#include "MSActuatedPhaseDefinition.h"
40
#include "
MSSimpleTrafficLightLogic.h
"
41
#include <
microsim/output/MSInductLoop.h
>
42
#include <microsim/MSLaneState.h>
43
44
45
// ===========================================================================
46
// class declarations
47
// ===========================================================================
48
class
NLDetectorBuilder
;
49
50
51
// ===========================================================================
52
// class definitions
53
// ===========================================================================
62
class
MSUnboundActuatedTrafficLightLogic
:
63
public
MSSimpleTrafficLightLogic
{
64
public
:
66
typedef
std::map<MSLane*, MSInductLoop*>
InductLoopMap
;
67
69
typedef
std::map<MSLane*, MSLaneState*>
LaneStateMap
;
70
71
public
:
73
MSUnboundActuatedTrafficLightLogic
(
const
std::string&
id
,
74
const
MSSimpleTrafficLightLogic::Phases
& phases,
75
size_t
step,
size_t
delay,
76
SUMOReal
maxGap,
SUMOReal
passingTime,
SUMOReal
detectorGap);
77
79
void
init
(
NLDetectorBuilder
& nb,
80
const
std::vector<MSLane*>& lanes,
81
std::map<std::string, std::vector<std::string> >& edgeContinuations,
82
SUMOReal
det_offset);
83
85
~MSUnboundActuatedTrafficLightLogic
();
86
89
SUMOTime
trySwitch
(
bool
isActive);
90
92
SUMOTime
duration
()
const
;
93
95
bool
gapControl
();
96
97
// Checkes wheter the tested phase is a neither a yellow nor a allred phase
98
bool
isGreenPhase
()
const
;
99
100
protected
:
102
MSActuatedPhaseDefinition*
currentPhaseDef
()
const
;
103
104
protected
:
106
InductLoopMap
myInductLoops
;
107
109
LaneStateMap
myLaneStates
;
110
112
bool
myContinue
;
113
115
SUMOReal
myMaxGap
;
116
118
SUMOReal
myPassingTime
;
119
121
SUMOReal
myDetectorGap
;
122
123
};
124
125
126
#endif
127
128
/****************************************************************************/
129
home
behr_mi
sumo
src
microsim
traffic_lights
MSUnboundActuatedTrafficLightLogic.h
Generated by
1.8.2