Eclipse SUMO - Simulation of Urban MObility
MSFCDExport.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2012-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 /****************************************************************************/
18 // Realises dumping Floating Car Data (FCD) Data
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
22 
23 #include <utils/common/SUMOTime.h>
24 
25 
26 // ===========================================================================
27 // class declarations
28 // ===========================================================================
29 class OutputDevice;
30 class MSEdgeControl;
31 class MSEdge;
32 class MSLane;
33 
34 
35 // ===========================================================================
36 // class definitions
37 // ===========================================================================
47 class MSFCDExport {
48 public:
58  static void write(OutputDevice& of, SUMOTime timestep, bool elevation);
59 
60 private:
62  static void writeTransportable(OutputDevice& of, const MSEdge* e, MSTransportable* p, const SUMOVehicle* v,
63  bool filter, bool shapeFilter, bool inRadius,
64  SumoXMLTag tag, bool useGeo, bool elevation, SumoXMLAttrMask mask);
65 
66  static bool isVisible(const SUMOVehicle* veh);
67  static bool hasOwnOutput(const SUMOVehicle* veh, bool filter, bool shapeFilter, bool isInRadius = false);
68  static bool hasOwnOutput(const MSTransportable* p, bool filter, bool shapeFilter, bool isInRadius = false);
69 
70 private:
73 
76 
77 
78 };
long long int SUMOTime
Definition: GUI.h:35
SumoXMLTag
Numbers representing SUMO-XML - element names.
std::bitset< 96 > SumoXMLAttrMask
Stores edges and lanes, performs moving of vehicle.
Definition: MSEdgeControl.h:78
A road/street connecting two junctions.
Definition: MSEdge.h:77
Realises dumping FCD Data.
Definition: MSFCDExport.h:47
static bool isVisible(const SUMOVehicle *veh)
static bool hasOwnOutput(const SUMOVehicle *veh, bool filter, bool shapeFilter, bool isInRadius=false)
static void write(OutputDevice &of, SUMOTime timestep, bool elevation)
Writes the position and the angle of each vehicle into the given device.
Definition: MSFCDExport.cpp:50
MSFCDExport(const MSFCDExport &)
Invalidated copy constructor.
MSFCDExport & operator=(const MSFCDExport &)
Invalidated assignment operator.
static void writeTransportable(OutputDevice &of, const MSEdge *e, MSTransportable *p, const SUMOVehicle *v, bool filter, bool shapeFilter, bool inRadius, SumoXMLTag tag, bool useGeo, bool elevation, SumoXMLAttrMask mask)
write transportable
Representation of a lane in the micro simulation.
Definition: MSLane.h:84
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:61
Representation of a vehicle.
Definition: SUMOVehicle.h:60