Salome HOME
23288: [CEA 1626] Meshgems v2.3
[plugins/ghs3dprlplugin.git] / src / GHS3DPRLPlugin / GHS3DPRLPlugin_GHS3DPRL.hxx
index b98eb64fbd221969692cdca11f044e9bb728263c..f1d112522c602af08fd3f87b1fe2237dc370a9a3 100755 (executable)
@@ -1,41 +1,40 @@
-//  GHS3DPRLPlugin : C++ implementation
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D
 //
-//  Copyright (C) 2006  OPEN CASCADE, 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
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-// File    : GHS3DPRLPlugin_GHS3DPRL.hxx
-// Author  : Christian VAN WAMBEKE (CEA) (from Hexotic plugin Lioka RAZAFINDRAZAKA)
-// Date    : 2007/02/01
-// Project : SALOME
-//=============================================================================
 
+// ---
+// File   : GHS3DPRLPlugin_GHS3DPRL.hxx
+// Author : Christian VAN WAMBEKE (CEA) (from Hexotic plugin Lioka RAZAFINDRAZAKA)
+// ---
+//
 #ifndef _GHS3DPRLPlugin_GHS3DPRL_HXX_
 #define _GHS3DPRLPlugin_GHS3DPRL_HXX_
 
-#include "SMESH_3D_Algo.hxx"
+#include "GHS3DPRLPlugin_Defs.hxx"
+
+#include "SMESH_Algo.hxx"
 #include "SMESH_Mesh.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
 class SMESH_Mesh;
 class GHS3DPRLPlugin_Hypothesis;
 
-class GHS3DPRLPlugin_GHS3DPRL: public SMESH_3D_Algo
+class GHS3DPRLPLUGIN_EXPORT GHS3DPRLPlugin_GHS3DPRL: public SMESH_3D_Algo
 {
 public:
   GHS3DPRLPlugin_GHS3DPRL(int hypId, int studyId, SMESH_Gen* gen);
@@ -48,12 +47,11 @@ public:
   void SetParameters(const GHS3DPRLPlugin_Hypothesis* hyp);
 
   virtual bool Compute(SMESH_Mesh&         aMesh,
-                      const TopoDS_Shape& aShape);
+                       const TopoDS_Shape& aShape);
 
-  ostream & SaveTo(ostream & save);
-  istream & LoadFrom(istream & load);
-  friend ostream & operator << (ostream & save, GHS3DPRLPlugin_GHS3DPRL & hyp);
-  friend istream & operator >> (istream & load, GHS3DPRLPlugin_GHS3DPRL & hyp);
+  virtual bool Evaluate(SMESH_Mesh&         aMesh,
+                        const TopoDS_Shape& aShape,
+                        MapShapeNbElems&    aResMap);
 
 protected:
   const GHS3DPRLPlugin_Hypothesis* _hypothesis;
@@ -62,9 +60,15 @@ private:
   int   _countTotal;
   int   _nodeRefNumber;
 
-  string _MEDName;    //number of partitions
-  int   _NbPart;      //number of partitions
-  bool  _KeepFiles;   //tepal file .noboite binary or not
+  std::string _MEDName;
+  int         _NbPart;      //number of partitions
+  bool        _KeepFiles;   //tepal file .noboite binary or not
+  bool        _Background;  //true for big meshes
+  bool        _Multithread; //true for mg_tetra_hpc false for mg_tetra_hpc_mpi
+  //ToMergeSubdomains ToTagSubdomains ToOutputInterfaces ToDiscardSubdomains
+  float       _Gradation;
+  float       _MinSize;
+  float       _MaxSize;
 };
 
 #endif