Salome HOME
b0858806d77f236d98d003de63bae8d911d188c6
[modules/smesh.git] / src / NETGENPlugin / NETGENPlugin_NETGEN_3D.hxx
1 //=============================================================================
2 // File      : NETGENPlugin_NETGEN_3D.hxx
3 //             Moved here from SMESH_NETGEN_3D.hxx
4 // Created   : lundi 27 Janvier 2003
5 // Author    : Nadir BOUHAMOU (CEA)
6 // Project   : SALOME
7 // Copyright : CEA 2003
8 // $Header$
9 //=============================================================================
10
11 #ifndef _NETGENPlugin_NETGEN_3D_HXX_
12 #define _NETGENPlugin_NETGEN_3D_HXX_
13
14 #include "SMESH_3D_Algo.hxx"
15 #include "SMESH_Mesh.hxx"
16 #include "StdMeshers_MaxElementVolume.hxx"
17 #include "Utils_SALOME_Exception.hxx"
18
19 class NETGENPlugin_NETGEN_3D: public SMESH_3D_Algo
20 {
21 public:
22   NETGENPlugin_NETGEN_3D(int hypId, int studyId, SMESH_Gen* gen);
23   virtual ~NETGENPlugin_NETGEN_3D();
24
25   virtual bool CheckHypothesis(SMESH_Mesh& aMesh,
26                                const TopoDS_Shape& aShape,
27                                SMESH_Hypothesis::Hypothesis_Status& aStatus);
28
29   virtual bool Compute(SMESH_Mesh& aMesh,
30                        const TopoDS_Shape& aShape);
31
32   ostream & SaveTo(ostream & save);
33   istream & LoadFrom(istream & load);
34   friend ostream & operator << (ostream & save, NETGENPlugin_NETGEN_3D & hyp);
35   friend istream & operator >> (istream & load, NETGENPlugin_NETGEN_3D & hyp);
36
37 protected:
38   double _maxElementVolume;
39
40   const StdMeshers_MaxElementVolume* _hypMaxElementVolume;
41 };
42
43 #endif