From: eap Date: Tue, 29 Apr 2014 16:33:11 +0000 (+0400) Subject: SALOME_TESTS/Grids/smesh/2D_mesh_QuadranglePreference_00/A1 X-Git-Tag: V7_4_0rc1~17 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=8b786444b7995095756c154bdc97842b75255a28;p=modules%2Fsmesh.git SALOME_TESTS/Grids/smesh/2D_mesh_QuadranglePreference_00/A1 Fix for degenerated EDGEs --- 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; }