From fb602c3040017949cfa7db3761c3471eb0b7fe1c Mon Sep 17 00:00:00 2001 From: Nicolas RECHATIN Date: Mon, 9 Oct 2023 11:04:52 +0200 Subject: [PATCH] feat : Added manager attr + default values --- src/ExchangeAPI/ExchangeAPI_Export.cpp | 28 +++++++++++++++++--------- src/ExchangeAPI/ExchangeAPI_Export.h | 10 ++++++--- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/ExchangeAPI/ExchangeAPI_Export.cpp b/src/ExchangeAPI/ExchangeAPI_Export.cpp index b1a276bf3..3fc5e5376 100644 --- a/src/ExchangeAPI/ExchangeAPI_Export.cpp +++ b/src/ExchangeAPI/ExchangeAPI_Export.cpp @@ -53,17 +53,25 @@ 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 std::string & theFilePath, - const ModelHighAPI_Selection & theSelectedShape) -: ModelHighAPI_Interface(theFeature) +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) + : ModelHighAPI_Interface(theFeature) { initialize(); fillAttribute("ROOT", theFeature->string(ExchangePlugin_ExportFeature::EXPORT_TYPE_ID())); fillAttribute("ROOT", theFeature->string(ExchangePlugin_ExportFeature::FILE_FORMAT_ID())); - fillAttribute("manager_name", theFeature->string(ExchangePlugin_ExportFeature::ROOT_MANAGER_NAME_ID())); - fillAttribute("manager_title", theFeature->string(ExchangePlugin_ExportFeature::ROOT_MANAGER_TITLE_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(theSelectedShape, theFeature->selection(ExchangePlugin_ExportFeature::MAIN_OBJECT_ID())); fillAttribute(theFilePath, theFeature->string(ExchangePlugin_ExportFeature::ROOT_FILE_PATH_ID())); @@ -273,15 +281,17 @@ ExportPtr exportToXAO(const std::shared_ptr & thePart, } ExportPtr exportToROOT(const std::shared_ptr &thePart, - const std::string &theFilePath, - const ModelHighAPI_Selection &theSelectedShape) + const ModelHighAPI_Selection &theSelectedShape, + const std::string &theFilePath = "./exportedROOT.C", + const std::string &theManagerName = "manager_name", + const std::string &theManagerTitle = "manager_title") { 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, theFilePath, theSelectedShape)); + return ExportPtr(new ExchangeAPI_Export(aFeature, theSelectedShape, theFilePath, theManagerName, theManagerTitle)); } diff --git a/src/ExchangeAPI/ExchangeAPI_Export.h b/src/ExchangeAPI/ExchangeAPI_Export.h index 0c5f68aa8..082284dca 100644 --- a/src/ExchangeAPI/ExchangeAPI_Export.h +++ b/src/ExchangeAPI/ExchangeAPI_Export.h @@ -56,8 +56,10 @@ public: /// Constructor with values for ROOT export. EXCHANGEAPI_EXPORT explicit ExchangeAPI_Export(const std::shared_ptr &theFeature, + const ModelHighAPI_Selection &theSelectedShape, const std::string &theFilePath, - const ModelHighAPI_Selection &theSelectedShape); + const std::string &theManagerName, + const std::string &theManagerTitle); /// Constructor with values for STL of selected result export. EXCHANGEAPI_EXPORT @@ -186,8 +188,10 @@ ExportPtr exportToXAO(const std::shared_ptr & thePart, */ EXCHANGEAPI_EXPORT ExportPtr exportToROOT(const std::shared_ptr &thePart, - const std::string &theFilePath, - const ModelHighAPI_Selection &theSelectedShape); + const ModelHighAPI_Selection &theSelectedShape, + const std::string &theFilePath = "./exportedROOT.C", + const std::string &theManagerName = "manager_name", + const std::string &theManagerTitle = "manager_title"); /** \ingroup CPPHighAPI * \brief Export selected features or the whole part to the binary file. -- 2.39.2