@@ -71,38 +71,6 @@ namespace dsf {
7171 return *this ;
7272 }
7373
74- Delay TrafficLight::maxGreenTime (bool priorityStreets) const {
75- Delay maxTime{0 };
76- for (auto const & [streetId, cycles] : m_cycles) {
77- if (priorityStreets && m_streetPriorities.contains (streetId)) {
78- for (auto const & [direction, cycle] : cycles) {
79- maxTime = std::max (maxTime, cycle.greenTime ());
80- }
81- } else {
82- for (auto const & [direction, cycle] : cycles) {
83- maxTime = std::max (maxTime, cycle.greenTime ());
84- }
85- }
86- }
87- return maxTime;
88- }
89-
90- Delay TrafficLight::minGreenTime (bool priorityStreets) const {
91- Delay minTime{std::numeric_limits<Delay>::max ()};
92- for (auto const & [streetId, cycles] : m_cycles) {
93- if (priorityStreets && m_streetPriorities.contains (streetId)) {
94- for (auto const & [direction, cycle] : cycles) {
95- minTime = std::min (minTime, cycle.greenTime ());
96- }
97- } else {
98- for (auto const & [direction, cycle] : cycles) {
99- minTime = std::min (minTime, cycle.greenTime ());
100- }
101- }
102- }
103- return minTime;
104- }
105-
10674 double TrafficLight::meanGreenTime (bool priorityStreets) const {
10775 double meanTime{0 .};
10876 size_t nCycles{0 };
@@ -123,20 +91,6 @@ namespace dsf {
12391 return meanTime / nCycles;
12492 }
12593
126- void TrafficLight::increaseGreenTimes (Delay const delta) {
127- for (auto & [streetId, cycles] : m_cycles) {
128- if (m_streetPriorities.contains (streetId)) {
129- for (auto & [direction, cycle] : cycles) {
130- cycle = TrafficLightCycle (cycle.greenTime () + delta, cycle.phase ());
131- }
132- } else {
133- for (auto & [direction, cycle] : cycles) {
134- cycle = TrafficLightCycle (cycle.greenTime () - delta, cycle.phase () + delta);
135- }
136- }
137- }
138- }
139-
14094 void TrafficLight::increasePhases (Delay const phase) {
14195 for (auto & [streetId, cycles] : m_cycles) {
14296 for (auto & [direction, cycle] : cycles) {
@@ -147,20 +101,6 @@ namespace dsf {
147101 }
148102 }
149103
150- void TrafficLight::decreaseGreenTimes (Delay const delta) {
151- for (auto & [streetId, cycles] : m_cycles) {
152- if (!m_streetPriorities.contains (streetId)) {
153- for (auto & [direction, cycle] : cycles) {
154- cycle = TrafficLightCycle (cycle.greenTime () + delta, cycle.phase ());
155- }
156- } else {
157- for (auto & [direction, cycle] : cycles) {
158- cycle = TrafficLightCycle (cycle.greenTime () - delta, cycle.phase () + delta);
159- }
160- }
161- }
162- }
163-
164104 bool TrafficLight::isDefault () const {
165105 for (auto const & [streetId, cycles] : m_cycles) {
166106 for (auto const & [direction, cycle] : cycles) {
@@ -228,20 +168,6 @@ namespace dsf {
228168 return m_cycles.at (streetId).at (direction).isGreen (m_cycleTime, m_counter);
229169 }
230170
231- bool TrafficLight::isFavouringDirection (bool const priority) const {
232- for (auto const & [streetId, cycles] : m_cycles) {
233- if ((priority && m_streetPriorities.contains (streetId)) ||
234- (!priority && !m_streetPriorities.contains (streetId))) {
235- for (auto const & [direction, cycle] : cycles) {
236- if (!cycle.isGreenTimeIncreased ()) {
237- return false ;
238- }
239- }
240- }
241- }
242- return true ;
243- }
244-
245171 void TrafficLight::resetCycles () {
246172 m_defaultCycles.empty () ? m_defaultCycles = m_cycles : m_cycles = m_defaultCycles;
247173 }
0 commit comments