X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_ComputeDlg.cxx;h=b5720d7970379a272dfa9264dbf978c1fba86ab0;hp=246adbfbb9406851ec4f9212aa63ebdb78607ca5;hb=c4d4c3be32adf37c4ff99664205b4f15e1560674;hpb=de3e0ec062a1ffd253abadc65aff734d58c6a1c3 diff --git a/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx b/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx index 246adbfbb..b5720d797 100644 --- a/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx @@ -951,7 +951,7 @@ void SMESHGUI_BaseComputeOp::computeMesh() SMESH::SMESH_IDSource_var aSubMeshObj = SMESH::SObjectToInterface( smSObj ); SMESH_Actor *anActor = SMESH::FindActorByObject( aSubMeshObj ); - if ( anActor && anActor->GetVisibility() ) + if ( anActor /*&& anActor->GetVisibility()*/ ) aListToUpdate.append( TListOf_IDSrc_SObj::value_type( aSubMeshObj, smSObj )); } // put Groups into list @@ -967,7 +967,7 @@ void SMESHGUI_BaseComputeOp::computeMesh() SMESH::SMESH_IDSource_var aGroupObj = SMESH::SObjectToInterface( aGroupSO ); SMESH_Actor *anActor = SMESH::FindActorByObject( aGroupObj ); - if ( anActor && anActor->GetVisibility() ) + if ( anActor /*&& anActor->GetVisibility()*/ ) aListToUpdate.append( TListOf_IDSrc_SObj::value_type( aGroupObj, aGroupSO )); } @@ -983,11 +983,9 @@ void SMESHGUI_BaseComputeOp::computeMesh() { try { OCC_CATCH_SIGNALS; - bool toDisplay = false; std::string entry = (*anIter).second->GetID(); if ( !aMesh->_is_nil() ) // display only a mesh { - toDisplay = true; SMESH_Actor *anActor = SMESH::FindActorByObject( aMesh ); if ( !anActor ) anActor = SMESH::CreateActor( entry.c_str(), /*clearLog =*/true ); if ( anActor ) // actor is not created for an empty mesh @@ -996,8 +994,14 @@ void SMESHGUI_BaseComputeOp::computeMesh() //SMESH::DisplayActor( SMESH::GetActiveWindow(), anActor ); -- 23615 } } - if ( toDisplay ) - SMESH::UpdateView( SMESH::eDisplay, entry.c_str() ); + else + { + SMESH_Actor *anActor = SMESH::FindActorByEntry( entry.c_str() ); + anActor->Update(); + if ( !anActor->GetVisibility() ) + continue; + } + SMESH::UpdateView( SMESH::eDisplay, entry.c_str() ); if ( SVTK_ViewWindow* vtkWnd = SMESH::GetVtkViewWindow(SMESH::GetActiveWindow() )) if ( vtkWnd->getRenderer() ) @@ -1133,7 +1137,7 @@ void SMESHGUI_BaseComputeOp::showComputeResult( const bool theMemoryLack, aCompDlg->myFullInfo->hide(); } - // pbs of hypo dfinitions + // pbs of hypo definitions if ( theNoHypoError ) { aCompDlg->myHypErrorGroup->hide(); } else { @@ -1254,8 +1258,8 @@ void SMESHGUI_BaseComputeOp::stopOperation() void SMESHGUI_BaseComputeOp::onPublishShape() { - GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen(); GEOM::GEOM_Object_var meshShape = myMesh->GetShapeToMesh(); + GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen( meshShape ); QStringList entryList; QList rows; @@ -1276,7 +1280,7 @@ void SMESHGUI_BaseComputeOp::onPublishShape() // look for myMainShape in the table for ( int r = 0, nr = table()->rowCount(); r < nr; ++r ) { if ( table()->item( r, COL_SHAPEID )->text() == "1" ) { - if ( so->_is_nil() ) { + if ( !so->_is_nil() ) { CORBA::String_var name = so->GetName(); CORBA::String_var entry = so->GetID(); QString shapeText = QString("%1 (%2)").arg( name.in() ).arg( entry.in() );