Salome HOME
Revert "EDF 25230 - Impossible to create directly a face"
[modules/geom.git] / src / XAOPlugin / XAOPlugin_IOperations.hxx
index 2b477442a1a0d42b3237f2edab9c5b7da0184429..a3ca017f9cb5f6679fd78dc829de32a2a96f3983 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2014-2024  CEA, EDF, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -40,22 +40,46 @@ namespace XAO {
 class XAOPLUGINENGINE_EXPORT XAOPlugin_IOperations: public GEOMImpl_IBaseIEOperations
 {
 public:
-  XAOPlugin_IOperations( GEOM_Engine*, int );
+  XAOPlugin_IOperations( GEOM_Engine* );
   ~XAOPlugin_IOperations();
 
   bool ExportXAO( Handle(GEOM_Object) shape,
                   std::list<Handle(GEOM_Object)> groupList,
                   std::list<Handle(GEOM_Field)> fieldList,
                   const char* author,
-                  const char* fileName );
-  
+                  const char* fileName,
+                  const char* shapeFileName );
+
+  std::string ExportXAOMem( Handle(GEOM_Object) shape,
+                            std::list<Handle(GEOM_Object)> groupList,
+                            std::list<Handle(GEOM_Field)> fieldList,
+                            const char* author );
+
   bool ImportXAO( const char* fileName,
                   Handle(GEOM_Object)& shape,
                   Handle(TColStd_HSequenceOfTransient)& subShapes,
                   Handle(TColStd_HSequenceOfTransient)& groups,
                   Handle(TColStd_HSequenceOfTransient)& fields );
 
+  bool ImportXAOMem( const std::string& theXML,
+                     Handle(GEOM_Object)& shape,
+                     Handle(TColStd_HSequenceOfTransient)& subShapes,
+                     Handle(TColStd_HSequenceOfTransient)& groups,
+                     Handle(TColStd_HSequenceOfTransient)& fields );
+
 private:
+  std::string exportXAO( Handle(GEOM_Object) shape,
+                         std::list<Handle(GEOM_Object)> groupList,
+                         std::list<Handle(GEOM_Field)> fieldList,
+                         const char* author,
+                         const char* fileName,
+                         const char* shapeFileName );
+  bool importXAO( const char* fileName,
+                  const std::string& theXML,
+                  Handle(GEOM_Object)& shape,
+                  Handle(TColStd_HSequenceOfTransient)& subShapes,
+                  Handle(TColStd_HSequenceOfTransient)& groups,
+                  Handle(TColStd_HSequenceOfTransient)& fields );
   void importSubShapes( XAO::Geometry* xaoGeometry,
                         Handle(GEOM_Function) function,
                         int shapeType,