Version: 9.16.0
StdMeshers_CompositeHexa_3D.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, 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// SMESH SMESH : implementation of SMESH idl descriptions
21// File : StdMeshers_CompositeBlock_3D.hxx
22// Module : SMESH
23//
24#ifndef _SMESH_CompositeSegment_1D_HXX_
25#define _SMESH_CompositeSegment_1D_HXX_
26
27#include "SMESH_StdMeshers.hxx"
28#include "SMESH_Algo.hxx"
29
30class SMESH_Mesh;
31class SMESH_ProxyMesh;
34class TopoDS_Edge;
35class TopoDS_Face;
36struct _QuadFaceGrid;
37
45{
46public:
48
49 void SetHypothesis( const StdMeshers_BlockRenumber* hyp ) { _blockRenumberHyp = hyp; }
50
51 virtual bool Compute(SMESH_Mesh& aMesh,
52 const TopoDS_Shape& aShape);
53
54 virtual bool Evaluate(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape,
55 MapShapeNbElems& aResMap);
56
57 virtual bool CheckHypothesis(SMESH_Mesh& /*aMesh*/,
58 const TopoDS_Shape& /*aShape*/,
59 Hypothesis_Status& aStatus);
60
61 private:
62
63 bool findBoxFaces( const TopoDS_Shape& shape,
64 std::list< _QuadFaceGrid >& boxFaceContainer,
65 SMESH_Mesh& mesh,
66 SMESH_ProxyMesh& proxyMesh,
67 bool& toRenumber,
68 _QuadFaceGrid * & fBottom,
69 _QuadFaceGrid * & fTop,
70 _QuadFaceGrid * & fFront,
71 _QuadFaceGrid * & fBack,
72 _QuadFaceGrid * & fLeft,
73 _QuadFaceGrid * & fRight);
74
76};
77
78#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:511
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
Definition: SMESH_Mesh.hxx:80
Container of xD mesh elements substituting other ones in the input mesh of an (x+1)D algorithm.
Definition: SMESH_ProxyMesh.hxx:51
Definition: StdMeshers_BlockRenumber.hxx:72
Computes hexahedral mesh on a box with composite sides.
Definition: StdMeshers_CompositeHexa_3D.hxx:45
const StdMeshers_BlockRenumber * _blockRenumberHyp
Definition: StdMeshers_CompositeHexa_3D.hxx:75
void SetHypothesis(const StdMeshers_BlockRenumber *hyp)
Definition: StdMeshers_CompositeHexa_3D.hxx:49
Represents a side of a quasi quadrilateral face.
Definition: StdMeshers_FaceSide.hxx:67
Class corresponding to a meshed composite face of a box.
Definition: StdMeshers_CompositeHexa_3D.cxx:152
Hypothesis_Status
Enumeration for hypothesis status (used by AddHypothesis() and RemoveHypothesis() methods)
Definition: SMESH_Mesh.idl:208