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