Salome HOME
[bos #40620] [CEA] XAO export for SHAPER: Allow export of brep in a separate file
[modules/shaper.git] / src / ExchangePlugin / ExchangePlugin_ExportFeature.h
index ffd9deab8e755fae43668a5fe2620b4ebc8b93b1..295aa7618f4a5e3fed26c73c4c395c629319fb97 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2021  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -150,6 +150,26 @@ public:
     static const std::string MY_XAO_GEOMETRY_NAME_ID("xao_geometry_name");
     return MY_XAO_GEOMETRY_NAME_ID;
   }
+  /// attribute name of xao shape file path
+  inline static const std::string& XAO_SHAPE_FILE_PATH_ID()
+  {
+    static const std::string MY_XAO_SHAPE_FILE_PATH_ID("xao_shape_file_path");
+    return MY_XAO_SHAPE_FILE_PATH_ID;
+  }
+  /// attribute flag to export shape in a separate file during xao export,
+  /// name of shape file will be xao_file_path + .brep
+  inline static const std::string& XAO_SHAPE_FILE_SEPARATE_ID()
+  {
+    static const std::string MY_XAO_SHAPE_FILE_SEPARATE_ID("xao_shape_file_separate");
+    return MY_XAO_SHAPE_FILE_SEPARATE_ID;
+  }
+  /// attribute string memory buffer
+  inline static const std::string& MEMORY_BUFFER_ID()
+  {
+    static const std::string MY_MEMORY_BUFFER_ID("memory_buffer");
+    return MY_MEMORY_BUFFER_ID;
+  }
+
   /// Default constructor
   EXCHANGEPLUGIN_EXPORT ExchangePlugin_ExportFeature();
   /// Default destructor
@@ -185,10 +205,12 @@ public:
 protected:
   /// Performs export of the file
   EXCHANGEPLUGIN_EXPORT void exportFile(const std::string& theFileName,
-                                        const std::string& theFormat);
+                                        const std::string& theFormat,
+                                        const bool         isMemoryExport);
 
   /// Performs export to XAO file
-  EXCHANGEPLUGIN_EXPORT void exportXAO(const std::string& theFileName);
+  EXCHANGEPLUGIN_EXPORT void exportXAO(const std::string& theFileName,
+                                       const bool         isMemoryExport);
 
   /// Performs export to STL file
   EXCHANGEPLUGIN_EXPORT void exportSTL(const std::string& theFileName);