Salome HOME
updated copyright message
[modules/homard.git] / src / HOMARD / HOMARD_DriverTools.cxx
index 7e464eb8c846adfe99ac4ee3172698600302094e..5a7740bb6a6016270089bd2584bf0f6991fb23e2 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2011-2023  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -112,6 +112,7 @@ namespace HOMARD
     os << cas.GetName();
     os << separator() << cas.GetDirName();
     os << separator() << cas.GetConfType();
+    os << separator() << cas.GetExtType();
 
     std::vector<double> coor = cas.GetBoundingBox();
     os << separator() << coor.size();
@@ -302,10 +303,14 @@ namespace HOMARD
     os << separator() << BoundaryType ;
     os << separator() << boundary.GetCaseCreation() ;
 
-    if ( BoundaryType == 0 )
+    if ( BoundaryType == -1 )
+    {
+      os << separator() << boundary.GetDataFile();
+    }
+    else if ( BoundaryType == 0 )
     {
       os << separator() << boundary.GetMeshName();
-      os << separator() << boundary.GetMeshFile();
+      os << separator() << boundary.GetDataFile();
     }
     else {
       std::vector<double> coor = boundary.GetCoords() ;
@@ -380,6 +385,10 @@ namespace HOMARD
     if ( !ok ) return false;
     cas.SetConfType( atoi( chunk.c_str() ) );
 
+    chunk = getNextChunk( stream, start, ok );
+    if ( !ok ) return false;
+    cas.SetExtType( atoi( chunk.c_str() ) );
+
     chunk = getNextChunk( stream, start, ok );
     if ( !ok ) return false;
 
@@ -739,12 +748,20 @@ namespace HOMARD
 
     // Si analytique, les coordonnees des frontieres : le nombre depend du type
     // Si discret, le maillage
+    // Si CAO, la géométrie
     int lgcoords ;
-    if ( BoundaryType == 1 ) { lgcoords = 7 ; }
+    if ( BoundaryType == -1 ) { lgcoords = -1 ; }
+    else if ( BoundaryType == 1 ) { lgcoords = 7 ; }
     else if ( BoundaryType == 2 ) { lgcoords = 4 ; }
     else { lgcoords = 0 ; }
 //
-    if ( lgcoords == 0 )
+    if ( lgcoords == -1 )
+    {
+      chunk = getNextChunk( stream, start, ok );
+      if ( !ok ) return false;
+      boundary.SetDataFile( chunk.c_str() );
+    }
+    else if ( lgcoords == 0 )
     {
       chunk = getNextChunk( stream, start, ok );
       if ( !ok ) return false;
@@ -752,7 +769,7 @@ namespace HOMARD
 
       chunk = getNextChunk( stream, start, ok );
       if ( !ok ) return false;
-      boundary.SetMeshFile( chunk.c_str() );
+      boundary.SetDataFile( chunk.c_str() );
     }
     else
     { std::vector<double> coords;