Version: 9.16.0
StdMeshers_Cartesian_VL::ViscousBuilder Class Reference

#include <StdMeshers_Cartesian_VL.hxx>

Public Member Functions

 ViscousBuilder (const StdMeshers_ViscousLayers *hypViscousLayers, const SMESH_Mesh &theMesh, const TopoDS_Shape &theShape)
 Constructor. More...
 
 ~ViscousBuilder ()
 Destructor. More...
 
TopoDS_Shape MakeOffsetShape (const TopoDS_Shape &theShape, SMESH_Mesh &theMesh, std::string &theError)
 Create an offset shape from a given one. More...
 
SMESH_MeshMakeOffsetMesh ()
 Create a temporary mesh used to hold elements of the offset shape. More...
 
bool MakeViscousLayers (SMESH_Mesh &offsetMesh, SMESH_Mesh &theMesh, const TopoDS_Shape &theShape)
 Create prismatic mesh between _offsetShape and theShape. More...
 

Private Member Functions

TopoDS_Shape MakeOffsetSolid (const TopoDS_Shape &theShape, SMESH_Mesh &theMesh, std::string &theError)
 Create an offset solid from a given one. More...
 
bool CheckGeometryMaps (SMESH_Mesh &offsetMesh, const TopoDS_Shape &theShape)
 
void getOffsetSubShape (const TopoDS_Shape &S, std::vector< TopoDS_Shape > &listOfShapes)
 Return the list of sub-shape of the same type of the offset shape generated from a given initial sub-shape. More...
 

Private Attributes

const StdMeshers_ViscousLayers_hyp
 
BRepOffset_MakeOffset _makeOffset
 
std::vector< BRepOffset_MakeOffset * > _makeOffsetCollection
 
BRepOffsetAPI_MakeOffset _makeFaceOffset
 
BOPAlgo_Builder _solidCompound
 
SMESH_Mesh_offsetMesh
 
TopoDS_Shape _offsetShape
 
std::set< int > _shapesWVL
 
std::map< int, std::vector< int > > _edge2facesWOVL
 

Constructor & Destructor Documentation

◆ ViscousBuilder()

StdMeshers_Cartesian_VL::ViscousBuilder::ViscousBuilder ( const StdMeshers_ViscousLayers hypViscousLayers,
const SMESH_Mesh theMesh,
const TopoDS_Shape &  theShape 
)

◆ ~ViscousBuilder()

StdMeshers_Cartesian_VL::ViscousBuilder::~ViscousBuilder ( )

Destructor.

Member Function Documentation

◆ CheckGeometryMaps()

bool StdMeshers_Cartesian_VL::ViscousBuilder::CheckGeometryMaps ( SMESH_Mesh offsetMesh,
const TopoDS_Shape &  theShape 
)
private

◆ getOffsetSubShape()

void StdMeshers_Cartesian_VL::ViscousBuilder::getOffsetSubShape ( const TopoDS_Shape &  S,
std::vector< TopoDS_Shape > &  listOfShapes 
)
private

Return the list of sub-shape of the same type of the offset shape generated from a given initial sub-shape.

◆ MakeOffsetMesh()

SMESH_Mesh * StdMeshers_Cartesian_VL::ViscousBuilder::MakeOffsetMesh ( )

Create a temporary mesh used to hold elements of the offset shape.

References _offsetMesh.

◆ MakeOffsetShape()

TopoDS_Shape StdMeshers_Cartesian_VL::ViscousBuilder::MakeOffsetShape ( const TopoDS_Shape &  theShape,
SMESH_Mesh theMesh,
std::string &  theError 
)

Create an offset shape from a given one.

Parameters
[in]theShape- input shape
[in]theMesh- main mesh
[out]theError- error description
Returns
TopoDS_Shape - result offset shape

References Face.

Referenced by StdMeshers_Cartesian_3D::Compute(), and StdMeshers_ViscousLayerBuilder::GetShrinkGeometry().

◆ MakeOffsetSolid()

TopoDS_Shape StdMeshers_Cartesian_VL::ViscousBuilder::MakeOffsetSolid ( const TopoDS_Shape &  theShape,
SMESH_Mesh theMesh,
std::string &  theError 
)
private

Create an offset solid from a given one.

Parameters
[in]theShape- input shape can be a solid, solidcompound or a compound with solids
[in]theMesh- main mesh
[out]theError- error description
Returns
TopoDS_Shape - result offset shape of the same type as the received shape

References Face, SMESH_Mesh::GetMeshDS(), and SMESHDS_Mesh::ShapeToIndex().

◆ MakeViscousLayers()

Field Documentation

◆ _edge2facesWOVL

std::map< int, std::vector< int > > StdMeshers_Cartesian_VL::ViscousBuilder::_edge2facesWOVL
private

Referenced by ViscousBuilder().

◆ _hyp

const StdMeshers_ViscousLayers* StdMeshers_Cartesian_VL::ViscousBuilder::_hyp
private

◆ _makeFaceOffset

BRepOffsetAPI_MakeOffset StdMeshers_Cartesian_VL::ViscousBuilder::_makeFaceOffset
private

◆ _makeOffset

BRepOffset_MakeOffset StdMeshers_Cartesian_VL::ViscousBuilder::_makeOffset
private

◆ _makeOffsetCollection

std::vector<BRepOffset_MakeOffset*> StdMeshers_Cartesian_VL::ViscousBuilder::_makeOffsetCollection
private

◆ _offsetMesh

SMESH_Mesh* StdMeshers_Cartesian_VL::ViscousBuilder::_offsetMesh
private

Referenced by MakeOffsetMesh().

◆ _offsetShape

TopoDS_Shape StdMeshers_Cartesian_VL::ViscousBuilder::_offsetShape
private

◆ _shapesWVL

std::set< int > StdMeshers_Cartesian_VL::ViscousBuilder::_shapesWVL
private

Referenced by ViscousBuilder().

◆ _solidCompound

BOPAlgo_Builder StdMeshers_Cartesian_VL::ViscousBuilder::_solidCompound
private