SALOME_TESTS/Grids/smesh/mesh_Projection_2D_00/A0

Allow different nb of EDGEs on the prism top and bottom
This commit is contained in:
eap 2014-04-28 18:44:07 +04:00
parent e4f3043d7d
commit 1c75225c81

View File

@ -212,6 +212,7 @@ namespace {
quad->side[ QUAD_TOP_SIDE ].grid->Reverse(); quad->side[ QUAD_TOP_SIDE ].grid->Reverse();
quad->side[ QUAD_LEFT_SIDE ].grid->Reverse(); quad->side[ QUAD_LEFT_SIDE ].grid->Reverse();
int edgeIndex = 0; int edgeIndex = 0;
bool isComposite = false;
for ( size_t i = 0; i < quad->side.size(); ++i ) for ( size_t i = 0; i < quad->side.size(); ++i )
{ {
StdMeshers_FaceSidePtr quadSide = quad->side[i]; StdMeshers_FaceSidePtr quadSide = quad->side[i];
@ -219,7 +220,7 @@ namespace {
if ( botE.IsSame( quadSide->Edge( iE ))) if ( botE.IsSame( quadSide->Edge( iE )))
{ {
if ( quadSide->NbEdges() > 1 ) if ( quadSide->NbEdges() > 1 )
return false; isComposite = true; //return false;
edgeIndex = i; edgeIndex = i;
i = quad->side.size(); // to quit from the outer loop i = quad->side.size(); // to quit from the outer loop
break; break;
@ -230,7 +231,7 @@ namespace {
quad->face = TopoDS::Face( face ); 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 ) return toSM( error(TCom("Side face #") << shapeID( face )
<< " not meshable with quadrangles")); << " not meshable with quadrangles"));
if ( ! setBottomEdge( *edge, quadList.back(), face )) if ( ! setBottomEdge( *edge, quadList.back(), face ))
return toSM( error(TCom("Composite 'horizontal' edges are not supported"))); ; //return toSM( error(TCom("Composite 'horizontal' edges are not supported")));
if ( faceMap.Add( face ))
thePrism.myWallQuads.push_back( quadList ); thePrism.myWallQuads.push_back( quadList );
faceMap.Add( face );
break; break;
} }
} }