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