mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-29 02:40:35 +05:00
0022005: Error at the end of NETGEN 3D spheres mesh while tetrahedrons have been generated
SMESH_Algo::IsReversedSubMesh() is moved to SMESH_MesherHelper
This commit is contained in:
parent
bb00f9a545
commit
f35cfb87a0
@ -1646,7 +1646,7 @@ bool StdMeshers_Prism_3D::projectBottomToTop()
|
||||
// if the bottom faces is orienetd OK then top faces must be reversed
|
||||
bool reverseTop = true;
|
||||
if ( myHelper->NbAncestors( botFace, *myBlock.Mesh(), TopAbs_SOLID ) > 1 )
|
||||
reverseTop = ! SMESH_Algo::IsReversedSubMesh( TopoDS::Face( botFace ), meshDS );
|
||||
reverseTop = ! myHelper->IsReversedSubMesh( TopoDS::Face( botFace ));
|
||||
int iFrw, iRev, *iPtr = &( reverseTop ? iRev : iFrw );
|
||||
|
||||
// loop on bottom mesh faces
|
||||
|
@ -861,15 +861,15 @@ bool StdMeshers_Projection_2D::Compute(SMESH_Mesh& theMesh, const TopoDS_Shape&
|
||||
done = projectBy2DSimilarity( tgtFace, srcFace, tgtMesh, srcMesh, shape2ShapeMap, is1DComputed);
|
||||
}
|
||||
|
||||
SMESH_MesherHelper helper( theMesh );
|
||||
helper.SetSubShape( tgtFace );
|
||||
|
||||
if ( !done )
|
||||
{
|
||||
// --------------------
|
||||
// Prepare to mapping
|
||||
// --------------------
|
||||
|
||||
SMESH_MesherHelper helper( theMesh );
|
||||
helper.SetSubShape( tgtFace );
|
||||
|
||||
// Check if node projection to a face is needed
|
||||
Bnd_B2d uvBox;
|
||||
SMDS_ElemIteratorPtr faceIt = srcSubMesh->GetSubMeshDS()->GetElements();
|
||||
@ -1182,7 +1182,7 @@ bool StdMeshers_Projection_2D::Compute(SMESH_Mesh& theMesh, const TopoDS_Shape&
|
||||
}
|
||||
}
|
||||
// Fix orientation
|
||||
if ( SMESH_Algo::IsReversedSubMesh( face, meshDS ))
|
||||
if ( helper.IsReversedSubMesh( face ))
|
||||
{
|
||||
SMESH_MeshEditor editor( tgtMesh );
|
||||
SMDS_ElemIteratorPtr eIt = meshDS->MeshElements( face )->GetElements();
|
||||
|
@ -756,7 +756,7 @@ bool StdMeshers_QuadToTriaAdaptor::Compute(SMESH_Mesh& aMesh,
|
||||
{
|
||||
bool isRev = false;
|
||||
if ( helper.NbAncestors( aShapeFace, aMesh, aShape.ShapeType() ) > 1 )
|
||||
isRev = SMESH_Algo::IsReversedSubMesh( TopoDS::Face(aShapeFace), meshDS );
|
||||
isRev = helper.IsReversedSubMesh( TopoDS::Face(aShapeFace) );
|
||||
|
||||
SMDS_ElemIteratorPtr iteratorElem = aSubMeshDSFace->GetElements();
|
||||
while ( iteratorElem->more() ) // loop on elements on a geometrical face
|
||||
|
@ -1096,7 +1096,7 @@ bool _ViscousBuilder::findFacesWithLayers()
|
||||
{
|
||||
_ignoreShapeIds.insert( faceInd );
|
||||
ignoreFaces.push_back( exp.Current() );
|
||||
if ( SMESH_Algo::IsReversedSubMesh( TopoDS::Face( exp.Current() ), getMeshDS()))
|
||||
if ( helper.IsReversedSubMesh( TopoDS::Face( exp.Current() )))
|
||||
_sdVec[i]._reversedFaceIds.insert( faceInd );
|
||||
}
|
||||
}
|
||||
@ -4480,7 +4480,7 @@ bool _ViscousBuilder::addBoundaryElements()
|
||||
reverse = ( helper.GetSubShapeOri( F, E ) == TopAbs_REVERSED );
|
||||
if ( helper.GetSubShapeOri( data._solid, F ) == TopAbs_REVERSED )
|
||||
reverse = !reverse, F.Reverse();
|
||||
if ( SMESH_Algo::IsReversedSubMesh( TopoDS::Face(F), getMeshDS() ))
|
||||
if ( helper.IsReversedSubMesh( TopoDS::Face(F) ))
|
||||
reverse = !reverse;
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user