Eclipse SUMO - Simulation of Urban MObility
MSTransportableDevice_FCD.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2013-2024 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 /****************************************************************************/
19 // A device which records floating car data
20 /****************************************************************************/
21 #pragma once
22 #include <config.h>
23 
24 #include "MSTransportableDevice.h"
25 #include <utils/common/SUMOTime.h>
26 
27 
28 // ===========================================================================
29 // class declarations
30 // ===========================================================================
31 class MSTransportable;
32 
33 
34 // ===========================================================================
35 // class definitions
36 // ===========================================================================
46 public:
50  static void insertOptions(OptionsCont& oc);
51 
52 
63  static void buildDevices(MSTransportable& t, std::vector<MSTransportableDevice*>& into);
64 
65 public:
68 
69  bool notifyEnter(SUMOTrafficObject& /*veh*/, MSMoveReminder::Notification /*reason*/, const MSLane* /*enteredLane*/) {
70  return false;
71  }
72 
73  void saveState(OutputDevice& /* out */) const {
74  }
75 
77  const std::string deviceName() const {
78  return "fcd";
79  }
80 
82  static void cleanup();
83 
84 private:
90  MSTransportableDevice_FCD(MSTransportable& holder, const std::string& id);
91 
92 private:
95 
98 
99 
100 };
Representation of a lane in the micro simulation.
Definition: MSLane.h:84
Notification
Definition of a vehicle state.
A device which collects info on the vehicle trip (mainly on departure and arrival)
const std::string deviceName() const
return the name for this type of device
static void cleanup()
resets the edge filter
MSTransportableDevice_FCD & operator=(const MSTransportableDevice_FCD &)
Invalidated assignment operator.
static void insertOptions(OptionsCont &oc)
Inserts MSTransportableDevice_FCD-options.
bool notifyEnter(SUMOTrafficObject &, MSMoveReminder::Notification, const MSLane *)
Checks whether the reminder is activated by a vehicle entering the lane.
MSTransportableDevice_FCD(const MSTransportableDevice_FCD &)
Invalidated copy constructor.
MSTransportableDevice_FCD(MSTransportable &holder, const std::string &id)
Constructor.
static void buildDevices(MSTransportable &t, std::vector< MSTransportableDevice * > &into)
Build devices for the given vehicle, if needed.
void saveState(OutputDevice &) const
Saves the state of the device.
Abstract in-person device.
A storage for options typed value containers)
Definition: OptionsCont.h:89
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:61
Representation of a vehicle, person, or container.