1 // BLSURFPlugin : C++ implementation
3 // Copyright (C) 2006 OPEN CASCADE, CEA/DEN, EDF R&D
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License.
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // Lesser General Public License for more details.
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this library; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
22 // File : BLSURFPlugin_Hypothesis.hxx
23 // Authors : Francis KLOSS (OCC) & Patrick LAUG (INRIA) & Lioka RAZAFINDRAZAKA (CEA)
24 // & Aurelien ALLEAUME (DISTENE)
28 //=============================================================================
30 #ifndef _BLSURFPlugin_Hypothesis_HXX_
31 #define _BLSURFPlugin_Hypothesis_HXX_
33 #include "SMESH_Hypothesis.hxx"
34 #include "Utils_SALOME_Exception.hxx"
36 // Parameters for work of BLSURF
38 class BLSURFPlugin_Hypothesis: public SMESH_Hypothesis
41 BLSURFPlugin_Hypothesis(int hypId, int studyId, SMESH_Gen * gen);
59 void SetTopology(Topology theTopology);
60 Topology GetTopology() const { return _topology; }
62 void SetPhysicalMesh(PhysicalMesh thePhysicalMesh);
63 PhysicalMesh GetPhysicalMesh() const { return _physicalMesh; }
65 void SetPhySize(double thePhySize);
66 double GetPhySize() const { return _phySize; }
68 void SetGeometricMesh(GeometricMesh theGeometricMesh);
69 GeometricMesh GetGeometricMesh() const { return _geometricMesh; }
71 void SetAngleMeshS(double theAngle);
72 double GetAngleMeshS() const { return _angleMeshS; }
74 void SetGradation(double theGradation);
75 double GetGradation() const { return _gradation; }
77 void SetQuadAllowed(bool theVal);
78 bool GetQuadAllowed() const { return _quadAllowed; }
80 void SetDecimesh(bool theVal);
81 bool GetDecimesh() const { return _decimesh; }
83 static Topology GetDefaultTopology();
84 static PhysicalMesh GetDefaultPhysicalMesh();
85 static double GetDefaultPhySize();
86 static GeometricMesh GetDefaultGeometricMesh();
87 static double GetDefaultAngleMeshS();
88 static double GetDefaultGradation();
89 static bool GetDefaultQuadAllowed();
90 static bool GetDefaultDecimesh();
93 virtual ostream & SaveTo(ostream & save);
94 virtual istream & LoadFrom(istream & load);
95 friend ostream & operator <<(ostream & save, BLSURFPlugin_Hypothesis & hyp);
96 friend istream & operator >>(istream & load, BLSURFPlugin_Hypothesis & hyp);
100 * \param theMesh - the built mesh
101 * \param theShape - the geometry of interest
102 * \retval bool - always false
104 virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
108 PhysicalMesh _physicalMesh;
110 GeometricMesh _geometricMesh;