Version: 9.16.0
StdMeshers_ViscousLayerBuilder.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA/DEN, EDF R&D, OPEN CASCADE
2//
3// This library is free software; you can redistribute it and/or
4// modify it under the terms of the GNU Lesser General Public
5// License as published by the Free Software Foundation; either
6// version 2.1 of the License, or (at your option) any later version.
7//
8// This library is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11// Lesser General Public License for more details.
12//
13// You should have received a copy of the GNU Lesser General Public
14// License along with this library; if not, write to the Free Software
15// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16//
17// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18//
19
20// File : StdMeshers_ViscousLayersBuilder.hxx
21// Module : SMESH
22//
23#ifndef _SMESH_ViscourLayerBuilder_HXX_
24#define _SMESH_ViscourLayerBuilder_HXX_
25
26#include <BRepOffset_MakeOffset.hxx>
27#include <BRepOffset_Offset.hxx>
28
29#include "SMESH_StdMeshers.hxx"
30#include "SMESH_Hypothesis.hxx"
34
35
37{
38 public:
41
42 virtual bool CheckHypothesis(SMESH_Mesh& aMesh,
43 const TopoDS_Shape& aShape,
45
46 virtual bool Compute(SMESH_Mesh& /*aMesh*/, const TopoDS_Shape& /*aShape*/ );
47
48 virtual bool Evaluate(SMESH_Mesh & /*aMesh*/, const TopoDS_Shape & /*aShape*/,
49 MapShapeNbElems& /*aResMap*/ );
50
54 virtual bool IsApplicable( const TopoDS_Shape &S, bool /*toCheckAll*/, int algoDim );
55
56 void SetBndShapes(const std::vector<int>& shapeIds, bool toIgnore);
57 // std::vector<int> GetBndShapes() const { return _shapeIds; }
58 // bool IsToIgnoreShapes() const { return _isToIgnoreShapes; }
59
60 void SetTotalThickness(double thickness);
61 // double GetTotalThickness() const { return _thickness; }
62
63 void SetNumberLayers(int nb);
64 // int GetNumberLayers() const { return _nbLayers; }
65
66 void SetStretchFactor(double factor);
67 // double GetStretchFactor() const { return _stretchFactor; }
68
70 // StdMeshers_ViscousLayers::ExtrusionMethod GetMethod() const { return _method; }
71
72 // name of a group to create
73 void SetGroupName(const std::string& name);
74 // const std::string& GetGroupName() const { return _groupName; }
75
85 TopoDS_Shape GetShrinkGeometry( SMESH_Mesh & theMesh, const TopoDS_Shape & theShape );
86
94 bool AddLayers( SMESH_Mesh & shrinkMesh, SMESH_Mesh & theMesh, const TopoDS_Shape & theShape );
95
96 private:
97
98
101
102 BRepOffset_MakeOffset _makeOffset;
103 BRepOffset_Offset _makeFaceOffset;
104 TopoDS_Shape _offsetShape;
105};
106
107#endif
std::map< SMESH_subMesh *, std::vector< smIdType > > MapShapeNbElems
Definition: SMESH_Algo.hxx:63
#define STDMESHERS_EXPORT
Definition: SMESH_StdMeshers.hxx:38
Definition: SMESH_Algo.hxx:490
virtual bool Evaluate(SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, MapShapeNbElems &aResMap)=0
evaluates size of prospective mesh on a shape
virtual bool CheckHypothesis(SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, SMESH_Hypothesis::Hypothesis_Status &aStatus)=0
Check hypothesis definition to mesh a shape.
virtual bool Compute(SMESH_Mesh &aMesh, const TopoDS_Shape &aShape)=0
Computes mesh on a shape.
Definition: SMESH_Gen.hxx:68
Hypothesis_Status
Definition: SMESH_Hypothesis.hxx:51
Definition: SMESH_Mesh.hxx:80
Definition: StdMeshers_Cartesian_VL.hxx:44
Definition: StdMeshers_ViscousLayerBuilder.hxx:37
BRepOffset_MakeOffset _makeOffset
Definition: StdMeshers_ViscousLayerBuilder.hxx:102
StdMeshers_Cartesian_VL::ViscousBuilder * _vlBuilder
Definition: StdMeshers_ViscousLayerBuilder.hxx:100
BRepOffset_Offset _makeFaceOffset
Definition: StdMeshers_ViscousLayerBuilder.hxx:103
StdMeshers_ViscousLayers2D * _hyp
Definition: StdMeshers_ViscousLayerBuilder.hxx:99
TopoDS_Shape _offsetShape
Definition: StdMeshers_ViscousLayerBuilder.hxx:104
Hypothesis defining parameters of viscous layers.
Definition: StdMeshers_ViscousLayers2D.hxx:36
ExtrusionMethod
Definition: StdMeshers_ViscousLayers.hxx:64
bool IsApplicable(const QString &aHypType, GEOM::GEOM_Object_ptr theGeomObject, const bool toCheckAll)
Definition: SMESHGUI_HypothesesUtils.cxx:617