From: eap Date: Mon, 18 Nov 2013 16:51:16 +0000 (+0000) Subject: Regression of SALOME_TESTS/Grids/smesh/bugs_03/D6 X-Git-Tag: V7_3_0a1~43 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e57d64d3910c1a5f0eca72ee7244d32873495517;p=modules%2Fsmesh.git Regression of SALOME_TESTS/Grids/smesh/bugs_03/D6 Improve the EventListener to clean all EDGEs of a complex side if one EDGE is cleaned --- diff --git a/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx b/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx index c2798d959..c71c9dfc0 100644 --- a/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx +++ b/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx @@ -215,6 +215,18 @@ namespace { } } } + // clean all EDGEs of a complex side if one EDGE is cleaned + else if ( event == SMESH_subMesh::CLEAN && + eventType == SMESH_subMesh::COMPUTE_EVENT ) + { + SMESH_subMeshIteratorPtr smIt = subMesh->getDependsOnIterator(/*includeSelf=*/false); + while ( smIt->more() ) // loop on VERTEX sub-meshes + { + SMESH_subMesh* sm = smIt->next(); + if ( sm->IsAlwaysComputed() ) // it's an internal node sub-mesh + sm->ComputeStateEngine( SMESH_subMesh::CLEAN ); + } + } } }; // struct VertexNodesRestoringListener }