From b436e961fe4dfec1410dc4637e09823d1eaf8b9f Mon Sep 17 00:00:00 2001 From: Nicolas RECHATIN Date: Mon, 13 Nov 2023 12:11:56 +0100 Subject: [PATCH] feat : Added .root file name in export API --- src/ExchangeAPI/ExchangeAPI_Export.cpp | 16 ++++++---------- src/ExchangeAPI/ExchangeAPI_Export.h | 6 ++++-- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/ExchangeAPI/ExchangeAPI_Export.cpp b/src/ExchangeAPI/ExchangeAPI_Export.cpp index 3fc5e5376..0112b6433 100644 --- a/src/ExchangeAPI/ExchangeAPI_Export.cpp +++ b/src/ExchangeAPI/ExchangeAPI_Export.cpp @@ -53,18 +53,13 @@ ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr& apply(); // finish operation to make sure the export is done on the current state of the history } -ExportPtr exportToROOT(const std::shared_ptr &thePart, - const ModelHighAPI_Selection &theSelectedShape, - const std::string &theFilePath = "./exportedROOT.C", - const std::string &theManagerName = "manager_name", - const std::string &theManagerTitle = "manager_title"); - /// Constructor with values for ROOT export. ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr &theFeature, const ModelHighAPI_Selection &theSelectedShape, const std::string &theFilePath, const std::string &theManagerName, - const std::string &theManagerTitle) + const std::string &theManagerTitle, + const std::string &theExpFilePath) : ModelHighAPI_Interface(theFeature) { initialize(); @@ -72,7 +67,7 @@ ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr & fillAttribute("ROOT", theFeature->string(ExchangePlugin_ExportFeature::FILE_FORMAT_ID())); fillAttribute(theManagerName, theFeature->string(ExchangePlugin_ExportFeature::ROOT_MANAGER_NAME_ID())); fillAttribute(theManagerTitle, theFeature->string(ExchangePlugin_ExportFeature::ROOT_MANAGER_TITLE_ID())); - fillAttribute(theFilePath, theFeature->string(ExchangePlugin_ExportFeature::EXP_NAME_FILE_ID())); + fillAttribute(theExpFilePath, theFeature->string(ExchangePlugin_ExportFeature::EXP_NAME_FILE_ID())); fillAttribute(theSelectedShape, theFeature->selection(ExchangePlugin_ExportFeature::MAIN_OBJECT_ID())); fillAttribute(theFilePath, theFeature->string(ExchangePlugin_ExportFeature::ROOT_FILE_PATH_ID())); theFeature->execute(); @@ -284,14 +279,15 @@ ExportPtr exportToROOT(const std::shared_ptr &thePart, const ModelHighAPI_Selection &theSelectedShape, const std::string &theFilePath = "./exportedROOT.C", const std::string &theManagerName = "manager_name", - const std::string &theManagerTitle = "manager_title") + const std::string &theManagerTitle = "manager_title", + const std::string &theExpFilePath = "exported.root") { apply(); // finish previous operation to make sure all previous operations are done std::shared_ptr aFeature = thePart->addFeature(ExchangePlugin_ExportFeature::ID()); if (theFilePath.substr(theFilePath.size() - 2) != ".C") aFeature->setError(std::string("Error: the file seems to not have a .C extension file for ROOT. Aborting")); - return ExportPtr(new ExchangeAPI_Export(aFeature, theSelectedShape, theFilePath, theManagerName, theManagerTitle)); + return ExportPtr(new ExchangeAPI_Export(aFeature, theSelectedShape, theFilePath, theManagerName, theManagerTitle, theExpFilePath)); } diff --git a/src/ExchangeAPI/ExchangeAPI_Export.h b/src/ExchangeAPI/ExchangeAPI_Export.h index 082284dca..309dd9df5 100644 --- a/src/ExchangeAPI/ExchangeAPI_Export.h +++ b/src/ExchangeAPI/ExchangeAPI_Export.h @@ -59,7 +59,8 @@ public: const ModelHighAPI_Selection &theSelectedShape, const std::string &theFilePath, const std::string &theManagerName, - const std::string &theManagerTitle); + const std::string &theManagerTitle, + const std::string &theExpFilePath); /// Constructor with values for STL of selected result export. EXCHANGEAPI_EXPORT @@ -191,7 +192,8 @@ ExportPtr exportToROOT(const std::shared_ptr &thePart, const ModelHighAPI_Selection &theSelectedShape, const std::string &theFilePath = "./exportedROOT.C", const std::string &theManagerName = "manager_name", - const std::string &theManagerTitle = "manager_title"); + const std::string &theManagerTitle = "manager_title", + const std::string &theExpFilePath = "exported.root"); /** \ingroup CPPHighAPI * \brief Export selected features or the whole part to the binary file. -- 2.39.2