/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2002-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file ODCell.h14/// @author Peter Mieth15/// @author Daniel Krajzewicz16/// @author Yun-Pang Floetteroed17/// @date Sept 200218///19// A single O/D-matrix cell20/****************************************************************************/21#pragma once22#include <config.h>2324#include <vector>25#include <map>26#include <utils/common/SUMOTime.h>27#include <utils/vehicle/SUMOVehicleParameter.h>282930// ===========================================================================31// class declarations32// ===========================================================================33class RORoute;343536// ===========================================================================37// class definitions38// ===========================================================================39/**40* @struct ODCell41* @brief A single O/D-matrix cell42*43* A single cell within an O/D-matrix. Contains the information about the origin44* and destination via string-ids of the district, the begin and the end time45* for which this cell is valid, the id of the vehicle type to use, and the46* amount of vehicles to insert during the described interval.47*/48struct ODCell {49/// @brief The number of vehicles50double vehicleNumber;5152/// @brief The begin time this cell describes53SUMOTime begin;5455/// @brief The end time this cell describes56SUMOTime end;5758/// @brief Name of the origin district59std::string origin;6061/// @brief Name of the destination district62std::string destination;6364/// @brief Name of the vehicle type65std::string vehicleType;6667/// @brief the list of paths / routes68std::vector<RORoute*> pathsVector; // path_id, string of edges?6970/// @brief mapping of departure times to departing vehicles, if already fixed71typedef std::map<SUMOTime, std::vector<SUMOVehicleParameter> > Departures;72Departures departures;7374/// @brief the origin "district" is an edge id75bool originIsEdge = false;7677/// @brief the destination "district" is an edge id78bool destinationIsEdge = false;79};808182