From 5af4f7d6d232330047f8e3d699e2f7bb242a3aaa Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 7 Nov 2007 10:13:19 +0000 Subject: [PATCH] PAL16202,16203 (Propagation 1D on edges group) source shape can be a group --- .../StdMeshersGUI_StdHypothesisCreator.cxx | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx b/src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx index cfa700236..13f87e560 100644 --- a/src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx +++ b/src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx @@ -244,16 +244,24 @@ namespace { */ //================================================================================ - SUIT_SelectionFilter* filterForShapeOfDim(const int dim, - const int nbSubShapes = 0, - const TopAbs_ShapeEnum subShapeType = TopAbs_SHAPE, - const bool closed = false) + SUIT_SelectionFilter* filterForShapeOfDim(const int dim, + TopAbs_ShapeEnum subShapeType = TopAbs_SHAPE, + const int nbSubShapes = 0, + bool closed = false) { TColStd_MapOfInteger shapeTypes; switch ( dim ) { case 0: shapeTypes.Add( TopAbs_VERTEX ); break; - case 1: shapeTypes.Add( TopAbs_EDGE ); break; - case 2: shapeTypes.Add( TopAbs_FACE ); break; + case 1: + if ( subShapeType == TopAbs_SHAPE ) subShapeType = TopAbs_EDGE; + shapeTypes.Add( TopAbs_EDGE ); + shapeTypes.Add( TopAbs_COMPOUND ); // for a group + break; + case 2: + if ( subShapeType == TopAbs_SHAPE ) subShapeType = TopAbs_FACE; + shapeTypes.Add( TopAbs_FACE ); + shapeTypes.Add( TopAbs_COMPOUND ); // for a group + break; case 3: shapeTypes.Add( TopAbs_SHELL ); shapeTypes.Add( TopAbs_SOLID ); @@ -665,7 +673,7 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const StdMeshers::StdMeshers_ProjectionSource3D::_narrow( hyp ); item.myName = tr( "SMESH_SOURCE_3DSHAPE" ); p.append( item ); - customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 3 , 6, TopAbs_FACE, true ), + customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 3, TopAbs_FACE, 6, true ), h->GetSource3DShape())); item.myName = tr( "SMESH_SOURCE_MESH" ); p.append( item ); customWidgets()->append( newObjRefParamWdg( new SMESH_TypeFilter( MESH ), -- 2.39.2