[bos #34270] Fix Length 2D control still displayed after mesh cleared on hypothesis change

This commit is contained in:
cconopoima 2023-03-30 11:56:05 -03:00 committed by Christophe Bourcier
parent 1117f6b618
commit 5710686a4b

View File

@ -1508,12 +1508,14 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation)
my3DExtActor->VisibilityOff(); my3DExtActor->VisibilityOff();
myScalarBarActor->VisibilityOff(); myScalarBarActor->VisibilityOff();
if ( GetVisibility() ) { if ( GetVisibility() ) {
if ( theIsUpdateRepersentation ) if ( theIsUpdateRepersentation )
SetRepresentation(GetRepresentation()); SetRepresentation(GetRepresentation());
if(myControlMode != eNone) { // Avoid calling VisibilityOn of ExtActor after editing hypothesis. Use the same criteria than scalarBarActor
if( myControlMode != eNone && myFunctor && myVisualObj->GetNbEntities( myFunctor->GetType() ) ) {
switch(myControlMode) { switch(myControlMode) {
case eFreeNodes: case eFreeNodes:
case eCoincidentNodes: case eCoincidentNodes:
@ -1543,9 +1545,8 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation)
break; break;
default:; default:;
} }
if ( myFunctor && myVisualObj->GetNbEntities( myFunctor->GetType() )) myScalarBarActor->VisibilityOn();
myScalarBarActor->VisibilityOn(); }
}
if ( GetPickable( )) if ( GetPickable( ))
myPickableActor->VisibilityOn(); myPickableActor->VisibilityOn();