Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
Command_SaveTLCoupledLaneDet.cpp
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.
4// This program and the accompanying materials are made available under the
5// terms of the Eclipse Public License 2.0 which is available at
6// https://www.eclipse.org/legal/epl-2.0/
7// This Source Code may also be made available under the following Secondary
8// Licenses when the conditions for such availability set forth in the Eclipse
9// Public License 2.0 are satisfied: GNU General Public License, version 2
10// or later which is available at
11// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13/****************************************************************************/
20// Writes e2 state of a link for the time the link has yellow/red
21/****************************************************************************/
22#include <config.h>
23
25#include <microsim/MSNet.h>
32
33
34// ===========================================================================
35// method definitions
36// ===========================================================================
44
45
48
49
50void
52 if (myLink->getState() == myLastState && myHadOne) {
53 return;
54 }
55 myHadOne = true;
56 if (myLastState == LINKSTATE_TL_RED && myLink->getState() != LINKSTATE_TL_RED) {
58 if (myStartTime != end) {
59 myDetector->writeXMLOutput(myDevice, myStartTime, end);
60 myStartTime = end;
61 }
62 } else if (myLink->getState() == LINKSTATE_TL_RED) {
63 myDetector->reset();
65 }
66 myLastState = myLink->getState();
67}
68
69
70/****************************************************************************/
long long int SUMOTime
Definition GUI.h:36
@ LINKSTATE_TL_RED
The link has red light (must brake).
MSDetectorFileOutput * myDetector
The detector to use.
Command_SaveTLCoupledDet(MSTLLogicControl::TLSLogicVariants &tlls, MSDetectorFileOutput *dtf, SUMOTime begin, OutputDevice &device)
Constructor.
OutputDevice & myDevice
The file to write the output to.
SUMOTime myStartTime
The last time the values were written.
Command_SaveTLCoupledLaneDet(MSTLLogicControl::TLSLogicVariants &tlls, MSDetectorFileOutput *dtf, SUMOTime begin, OutputDevice &device, const MSLink *link)
Constructor.
const MSLink * myLink
The link to observe.
bool myHadOne
Whether the last link state was already saved.
LinkState myLastState
The state the link had the last time.
Base of value-generating classes (detectors).
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
Definition MSNet.cpp:186
SUMOTime getCurrentTimeStep() const
Returns the current simulation step.
Definition MSNet.h:334
Storage for all programs of a single tls.
Static storage of an output device and its base (abstract) implementation.