X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Quadrangle_2D.cxx;h=1aee3df7e516f383ec69ac455b5557162d4ef3f6;hp=f6a7e237902befa95e4973a661d37600a49697e6;hb=8b786444b7995095756c154bdc97842b75255a28;hpb=4edb4666f465956c76c5b41ec9c8fc582dbea64a diff --git a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx index f6a7e2379..1aee3df7e 100644 --- a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx +++ b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx @@ -1138,14 +1138,25 @@ FaceQuadStruct::Ptr StdMeshers_Quadrangle_2D::CheckNbEdges(SMESH_Mesh & do { const TopoDS_Edge& edge = *edgeIt; - if ( SMESH_Algo::isDegenerated( edge ) && myNeedSmooth ) + nextSideVReached = nextSideV.IsSame( myHelper->IthVertex( 1, edge )); + if ( SMESH_Algo::isDegenerated( edge )) { - // no side on a degenerated EDGE + if ( !myNeedSmooth ) // need to make a side on a degen edge + { + if ( sideEdges.empty() ) + { + sideEdges.push_back( edge ); + ++nbUsedDegen; + } + else + { + break; + } + } } else { sideEdges.push_back( edge ); - nextSideVReached = nextSideV.IsSame( myHelper->IthVertex( 1, edge )); } ++edgeIt; }