Path: blob/main/src/netedit/elements/data/GNEDataHandler.h
169684 views
/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-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 GNEDataHandler.h14/// @author Pablo Alvarez Lopez15/// @date Jan 202016///17// Builds data objects for netedit18/****************************************************************************/19#pragma once20#include <config.h>2122#include <utils/handlers/DataHandler.h>232425// ===========================================================================26// class declarations27// ===========================================================================28class GNENet;2930// ===========================================================================31// class definitions32// ===========================================================================3334class GNEDataHandler : public DataHandler {3536public:37/**@brief Constructor38* @param[in] net GNENet39* @param[in] file Name of the parsed file40* @param[in] allowUndoRedo enable or disable undoRedo41*/42GNEDataHandler(GNENet* net, const std::string& file, const bool allowUndoRedo);4344/// @brief Destructor45~GNEDataHandler();4647/// @brief run post parser tasks48bool postParserTasks();4950/// @name build functions51/// @{52/**@brief Builds DataSet (exclusive of netedit)53* @param[in] dataSetID new dataSet54*/55bool buildDataSet(const std::string& id);5657/**@brief Builds DataInterval58* @param[in] sumoBaseObject sumo base object used for build59* @param[in] dataSetID interval's dataSet60* @param[in] begin interval begin61* @param[in] end interval end62*/63bool buildDataInterval(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& dataSetID,64const double begin, const double end);6566/**@brief Builds edgeData67* @param[in] sumoBaseObject sumo base object used for build68* @param[in] edgeID edge ID69* @param[in] parameters parameters map70*/71bool buildEdgeData(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& edgeID,72const Parameterised::Map& parameters);7374/**@brief Builds edgeRelationData75* @param[in] sumoBaseObject sumo base object used for build76* @param[in] fromEdge edge from77* @param[in] toEdge edge to78* @param[in] parameters parameters map79*/80bool buildEdgeRelationData(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& fromEdgeID,81const std::string& toEdgeID, const Parameterised::Map& parameters);8283/**@brief Builds TAZRelationData84* @param[in] sumoBaseObject sumo base object used for build85* @param[in] fromTAZ TAZ from86* @param[in] toTAZ TAZ to87* @param[in] parameters parameters map88*/89bool buildTAZRelationData(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& fromTAZID,90const std::string& toTAZID, const Parameterised::Map& parameters);91/// @}9293protected:94/// @brief pointer to GNENet95GNENet* myNet;9697/// @brief allow undo/redo98const bool myAllowUndoRedo;99100/// @brief check if given ID correspond to a duplicated dataSet101bool checkDuplicatedDataSet(const std::string& id);102103private:104/// @brief invalidate default constructor105GNEDataHandler() = delete;106107/// @brief invalidate copy constructor108GNEDataHandler(const GNEDataHandler& s) = delete;109110/// @brief invalidate assignment operator111GNEDataHandler& operator=(const GNEDataHandler& s) = delete;112};113114115