if ( !aPanel )
return false;
- theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced;
+ theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | UF_VTKViewer | UF_VTK_Forced | UF_VTK_Init;
return true;
}
}
//Process the draw events for viewer
- QApplication::processEvents();
+ QApplication::processEvents( QEventLoop::ExcludeUserInputEvents );
if ( OCCViewer_ViewWindow* vw = (OCCViewer_ViewWindow*)myPreviewViewManager->getActiveView() )
vw->onTopView();
}
aGroupsNames.append( aGroup->GetName() );
}
}
- if( myEditedObject->IsMustBeUpdated() )
- myEditedObject->RemoveGeometryGroups();
+ if( myEditedObject->IsMustBeUpdated() ) {
+ for( int anIndex = 1, aLength = aSeq.Length(); anIndex <= aLength; anIndex++ ) {
+ Handle(HYDROData_ShapesGroup) aGeomGroup =
+ Handle(HYDROData_ShapesGroup)::DownCast( aSeq.Value( anIndex ) );
+ if ( !aGeomGroup.IsNull() && !aGroupsNames.contains( aGeomGroup->GetName() ) ) {
+ myEditedObject->RemoveGeometryGroup( aGeomGroup );
+ }
+ }
+ }
aPanel->setAvailableGroups( aGroupsNames );
aPanel->includeGroups( aList );