Salome HOME
Do not show a mesh when a group is created
authoreap <eap@opencascade.com>
Thu, 7 Aug 2014 11:35:00 +0000 (15:35 +0400)
committereap <eap@opencascade.com>
Thu, 7 Aug 2014 11:35:00 +0000 (15:35 +0400)
Instead, only update a visible group accoding to a changed contents.

src/SMESHGUI/SMESHGUI_GroupDlg.cxx

index 7d2f4b1ae1a78faf735dc14d2439731262aa0e8b..e7b45e88913ac29e326f4b725fd08bf60ea130f5 100644 (file)
@@ -1155,9 +1155,10 @@ bool SMESHGUI_GroupDlg::onApply()
 
       if ( aMeshGroupSO )
       {
-        if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str())) {
+        if ( SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str()))
+        {
+          Handle(SALOME_InteractiveObject) anIO = anActor->getIO();
           if ( isConversion ) { // need to reset TVisualObj and actor
-            Handle(SALOME_InteractiveObject) anIO = anActor->getIO();
             SMESH::RemoveVisualObjectWithActors( anIO->getEntry(), true );
             SMESH::Update( anIO,true);
             myActorsList.clear();
@@ -1183,12 +1184,14 @@ bool SMESHGUI_GroupDlg::onApply()
             anActor->SetSufaceColor( aColor.R, aColor.G, aColor.B, delta ); break;          
             break;
           }
+          // update a visible group accoding to a changed contents
+          if ( !isConversion && anActor->GetVisibility() )
+            SMESH::Update( anIO, true );
         }
       }
     }
     SMESHGUI::Modified();
     mySMESHGUI->updateObjBrowser(true);
-    SMESH::UpdateView(); // asv: fix of BUG PAL5515
     mySelectionMgr->clearSelected();
 
     if( LightApp_Application* anApp =