1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2012-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
10 /// @file    MSFullExport.h
11 /// @author  Mario Krumnow
12 /// @date    2012-04-26
13 /// @version $Id$
14 ///
15 // Dumping a hugh List of Parameters available in the Simulation
16 /****************************************************************************/
17 #ifndef MSFullExport_h
18 #define MSFullExport_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <utils/common/SUMOTime.h>
27 
28 
29 // ===========================================================================
30 // class declarations
31 // ===========================================================================
32 class OutputDevice;
33 class MSEdgeControl;
34 class MSEdge;
35 class MSLane;
36 
37 
38 // ===========================================================================
39 // class definitions
40 // ===========================================================================
41 /**
42  * @class MSFullExport
43  * @brief Dumping a hugh List of Parameters available in the Simulation
44  *
45  *  The class offers a static method, which writes a hugh List of Parameters
46  *  available in the Simulation into the given OutputDevice.
47  *
48  * @todo consider error-handling on write (using IOError)
49  */
50 class MSFullExport {
51 public:
52     /**@brief Dumping a hugh List of Parameters available in the Simulation
53     *
54     *  The class offers a static method, which writes a hugh List of Parameters
55     *  available in the Simulation into the given OutputDevice.
56     *
57     * @param[in] of The output device to use
58     * @param[in] timestep The current time step
59     * @exception IOError If an error on writing occurs (!!! not yet implemented)
60     */
61     static void write(OutputDevice& of, SUMOTime timestep);
62 
63 
64 private:
65     /// @brief Invalidated copy constructor.
66     MSFullExport(const MSFullExport&);
67 
68     /// @brief Invalidated assignment operator.
69     MSFullExport& operator=(const MSFullExport&);
70 
71     /// @brief Writes the XML Nodes for the vehicles (e.g. speed, position, emissions)
72     static void writeVehicles(OutputDevice& of);
73 
74     /// @brief Writes the XML Nodes for the edges (e.g. traveltime)
75     static void writeEdge(OutputDevice& of);
76 
77     /// @brief Writes the XML Nodes for the lanes (e.g. emissions, occupancy)
78     static void writeLane(OutputDevice& of, const MSLane& lane);
79 
80     /// @brief Writes the XML Nodes for the traffic lights (e.g. actual state)
81     static void writeTLS(OutputDevice& of, SUMOTime timestep);
82 
83 };
84 
85 
86 #endif
87 
88 /****************************************************************************/
89 
90