Salome HOME
Updated copyright comment
[plugins/ghs3dprlplugin.git] / src / GHS3DPRLPlugin / GHS3DPRLPlugin_Hypothesis.hxx
old mode 100755 (executable)
new mode 100644 (file)
index 47f2679..4165b87
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2007-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
@@ -29,6 +29,7 @@
 
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
+#include <TCollection_AsciiString.hxx>
 
 //  Parameters for work of GHS3DPRL
 //
@@ -37,10 +38,17 @@ class GHS3DPRLPLUGIN_EXPORT GHS3DPRLPlugin_Hypothesis: public SMESH_Hypothesis
 {
 public:
 
-  GHS3DPRLPlugin_Hypothesis(int hypId, int studyId, SMESH_Gen* gen);
+  GHS3DPRLPlugin_Hypothesis(int hypId, SMESH_Gen* gen);
 
   static const char* GetHypType() { return "MG-Tetra Parallel Parameters"; }
 
+  static std::string DefaultWorkingDirectory();
+
+  /*!
+   * \brief Return a unique file name
+   */
+  static std::string GetFileName(const GHS3DPRLPlugin_Hypothesis* hyp);
+
   void                  SetMEDName(std::string theVal);
   std::string           GetMEDName() const { return _MEDName; }
 
@@ -52,19 +60,22 @@ public:
 
   void                  SetBackground(bool theVal);
   bool                  GetBackground() const { return _Background; }
-  
+
+  void                  SetMultithread(bool theVal);
+  bool                  GetMultithread() const { return _Multithread; }
+
   //ToMergeSubdomains ToTagSubdomains ToOutputInterfaces ToDiscardSubdomains
-  void                  SetToMergeSubdomains(bool theVal);
-  bool                  GetToMergeSubdomains() const { return _ToMergeSubdomains; }
-  
-  void                  SetToTagSubdomains(bool theVal);
-  bool                  GetToTagSubdomains() const { return _ToTagSubdomains; }
-  
-  void                  SetToOutputInterfaces(bool theVal);
-  bool                  GetToOutputInterfaces() const { return _ToOutputInterfaces; }
-  
-  void                  SetToDiscardSubdomains(bool theVal);
-  bool                  GetToDiscardSubdomains() const { return _ToDiscardSubdomains; }
+  void                  SetGradation(float theVal);
+  float                 GetGradation() const { return _Gradation; }
+
+  void                  SetMinSize(float theVal);
+  float                 GetMinSize() const { return _MinSize; }
+
+  void                  SetMaxSize(float theVal);
+  float                 GetMaxSize() const { return _MaxSize; }
+
+  void                  SetAdvancedOption(const char* theOptAndVals );
+  std::string           GetAdvancedOption() const { return _AdvOptions; }
 
   // the parameters default values
 
@@ -72,16 +83,14 @@ public:
   static int            GetDefaultNbPart();
   static bool           GetDefaultKeepFiles();
   static bool           GetDefaultBackground();
-  static bool           GetDefaultToMergeSubdomains();
-  static bool           GetDefaultToTagSubdomains();
-  static bool           GetDefaultToOutputInterfaces();
-  static bool           GetDefaultToDiscardSubdomains();
+  static bool           GetDefaultMultithread();
+  static float          GetDefaultGradation();
+  static float          GetDefaultMinSize();
+  static float          GetDefaultMaxSize();
 
   // Persistence
   virtual std::ostream& SaveTo(std::ostream& save);
   virtual std::istream& LoadFrom(std::istream& load);
-  friend std::ostream&  operator <<(std::ostream& save, GHS3DPRLPlugin_Hypothesis& hyp);
-  friend std::istream&  operator >>(std::istream& load, GHS3DPRLPlugin_Hypothesis& hyp);
 
   /*!
    * \brief Does nothing
@@ -97,18 +106,19 @@ public:
   virtual bool          SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0);
 
 private:
-  int          _countSubMesh;
-  int          _countTotal;
-  int          _nodeRefNumber;
-
-  std::string  _MEDName;     // generic path/name of med files
-  int          _NbPart;      // number of partitions
-  bool         _KeepFiles;   // keep intermediates tepal files or not
-  bool         _Background;  // tepal in background
-  bool         _ToMergeSubdomains;
-  bool         _ToTagSubdomains;
-  bool         _ToOutputInterfaces;
-  bool         _ToDiscardSubdomains;
+  int         _countSubMesh;
+  int         _countTotal;
+  int         _nodeRefNumber;
+
+  std::string _MEDName;     // generic path/name of med files
+  int         _NbPart;      // number of partitions
+  bool        _KeepFiles;   // keep intermediates tepal files or not
+  bool        _Background;  // mg-tetra_hpc in background
+  bool        _Multithread; // launch mg-tetra_hpc multithread version, else mpi version
+  float       _Gradation;
+  float       _MinSize;
+  float       _MaxSize;
+  std::string _AdvOptions;
   };
 
 #endif