X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_Actor.cxx;h=e4e50c362ba7d76e37777cfa6ca535b1fd4a379e;hb=120207d740662965e1ca6dfe8325d1e7edad0e73;hp=d9e47586c42f180086b608d097df2083ef781945;hpb=426c37e4f6bce7d94cd64410912e711d1616b05d;p=modules%2Fsmesh.git diff --git a/src/OBJECT/SMESH_Actor.cxx b/src/OBJECT/SMESH_Actor.cxx index d9e47586c..e4e50c362 100644 --- a/src/OBJECT/SMESH_Actor.cxx +++ b/src/OBJECT/SMESH_Actor.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -1508,12 +1508,14 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation) my3DExtActor->VisibilityOff(); myScalarBarActor->VisibilityOff(); + if ( GetVisibility() ) { if ( theIsUpdateRepersentation ) 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) { case eFreeNodes: case eCoincidentNodes: @@ -1543,9 +1545,8 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation) break; default:; } - if ( myFunctor && myVisualObj->GetNbEntities( myFunctor->GetType() )) - myScalarBarActor->VisibilityOn(); - } + myScalarBarActor->VisibilityOn(); + } if ( GetPickable( )) myPickableActor->VisibilityOn(); @@ -1826,7 +1827,7 @@ void SMESH_ActorDef::UpdateHighlight() case SMESH_DeviceActor::eSurface: case SMESH_DeviceActor::eWireframe: { - anIsVisible = !IsWireframeOff(); + anIsVisible = anIsVisible && !IsWireframeOff(); if(myIsHighlighted) { myHighlitableActor->SetProperty(myHighlightProp);