From: eap Date: Mon, 28 Apr 2014 14:44:07 +0000 (+0400) Subject: SALOME_TESTS/Grids/smesh/mesh_Projection_2D_00/A0 X-Git-Tag: V7_4_0rc1~22 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=1c75225c8175228dbcbff7fdd5bc38cad7d19ac3;p=modules%2Fsmesh.git SALOME_TESTS/Grids/smesh/mesh_Projection_2D_00/A0 Allow different nb of EDGEs on the prism top and bottom --- diff --git a/src/StdMeshers/StdMeshers_Prism_3D.cxx b/src/StdMeshers/StdMeshers_Prism_3D.cxx index 79fd9f82e..9eea019c6 100644 --- a/src/StdMeshers/StdMeshers_Prism_3D.cxx +++ b/src/StdMeshers/StdMeshers_Prism_3D.cxx @@ -212,6 +212,7 @@ namespace { quad->side[ QUAD_TOP_SIDE ].grid->Reverse(); quad->side[ QUAD_LEFT_SIDE ].grid->Reverse(); int edgeIndex = 0; + bool isComposite = false; for ( size_t i = 0; i < quad->side.size(); ++i ) { StdMeshers_FaceSidePtr quadSide = quad->side[i]; @@ -219,7 +220,7 @@ namespace { if ( botE.IsSame( quadSide->Edge( iE ))) { if ( quadSide->NbEdges() > 1 ) - return false; + isComposite = true; //return false; edgeIndex = i; i = quad->side.size(); // to quit from the outer loop break; @@ -230,7 +231,7 @@ namespace { quad->face = TopoDS::Face( face ); - return true; + return isComposite; } //================================================================================ @@ -906,9 +907,9 @@ bool StdMeshers_Prism_3D::getWallFaces( Prism_3D::TPrismTopo & thePrism, return toSM( error(TCom("Side face #") << shapeID( face ) << " not meshable with quadrangles")); if ( ! setBottomEdge( *edge, quadList.back(), face )) - return toSM( error(TCom("Composite 'horizontal' edges are not supported"))); - thePrism.myWallQuads.push_back( quadList ); - faceMap.Add( face ); + ; //return toSM( error(TCom("Composite 'horizontal' edges are not supported"))); + if ( faceMap.Add( face )) + thePrism.myWallQuads.push_back( quadList ); break; } }