X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_VTKUtils.cxx;h=fe5b138dcb36fd6dbb84a34a71db63488d259c51;hp=bc6714980ac919d96a441e40c85f27fa706c7567;hb=6472eab132825fec572beda8276947593f85ffa1;hpb=af067a707ef5f310a5f0878fa9c535655c332ada;ds=sidebyside diff --git a/src/SMESHGUI/SMESHGUI_VTKUtils.cxx b/src/SMESHGUI/SMESHGUI_VTKUtils.cxx index bc6714980..fe5b138dc 100644 --- a/src/SMESHGUI/SMESHGUI_VTKUtils.cxx +++ b/src/SMESHGUI/SMESHGUI_VTKUtils.cxx @@ -281,7 +281,7 @@ namespace SMESH _PTR(AttributePixMap) pixMap = attr; toShow = ( pixMap->GetPixMap() != emptyIcon ); } - smeshActor->Update(); + //smeshActor->Update(); UpdateView( theWindow, toShow ? eDisplay : eErase, io->getEntry() ); } } @@ -289,6 +289,29 @@ namespace SMESH return; } + //================================================================================ + /*! + * \brief Remove/update actors while module activation + * + * At module activation, groups and sub-meshes can be removed on engine side due + * to modification of meshed geometry, while their actors can remain. + * Here we remove/update SMESH_Actor's of changed objects. State (emptiness) of objects + * is defined by their icons in the Object Browser + */ + //================================================================================ + + void UpdateActorsAfterUpdateStudy() + { + SUIT_Study* study = SMESH::GetActiveStudy(); + if ( SUIT_Desktop* desk = study->application()->desktop() ) + { + QList wndList = desk->windows(); + SUIT_ViewWindow* wnd; + foreach ( wnd, wndList ) + SMESH::UpdateActorsAfterUpdateStudy(wnd); + } + } + //================================================================================ /*! * \brief Notify the user on problems during visualization