1 /****************************************************************************/ 2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo 3 // Copyright (C) 2002-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 ODCell.h 11 /// @author Peter Mieth 12 /// @author Daniel Krajzewicz 13 /// @author Yun-Pang Floetteroed 14 /// @date Sept 2002 15 /// @version $Id$ 16 /// 17 // A single O/D-matrix cell 18 /****************************************************************************/ 19 #ifndef ODCell_h 20 #define ODCell_h 21 22 23 // =========================================================================== 24 // included modules 25 // =========================================================================== 26 #include <config.h> 27 28 #include <vector> 29 #include <map> 30 #include <utils/common/SUMOTime.h> 31 32 33 // =========================================================================== 34 // class declarations 35 // =========================================================================== 36 class RORoute; 37 38 39 // =========================================================================== 40 // class definitions 41 // =========================================================================== 42 /** 43 * @struct ODCell 44 * @brief A single O/D-matrix cell 45 * 46 * A single cell within an O/D-matrix. Contains the information about the origin 47 * and destination via string-ids of the district, the begin and the end time 48 * for which this cell is valid, the id of the vehicle type to use, and the 49 * amount of vehicles to insert during the described interval. 50 */ 51 struct ODCell { 52 /// @brief The number of vehicles 53 double vehicleNumber; 54 55 /// @brief The begin time this cell describes 56 SUMOTime begin; 57 58 /// @brief The end time this cell describes 59 SUMOTime end; 60 61 /// @brief Name of the origin district 62 std::string origin; 63 64 /// @brief Name of the destination district 65 std::string destination; 66 67 /// @brief Name of the vehicle type 68 std::string vehicleType; 69 70 /// @brief the list of paths / routes 71 std::vector<RORoute*> pathsVector; // path_id, string of edges? 72 73 /// @brief mapping of departure times to departing vehicles, if already fixed 74 std::map<SUMOTime, std::vector<std::string> > departures; 75 76 /// @brief the origin "district" is an edge id 77 bool originIsEdge = false; 78 79 /// @brief the destination "district" is an edge id 80 bool destinationIsEdge = false; 81 }; 82 83 84 #endif 85 86 /****************************************************************************/ 87 88