}
//------------------------------------------------------------
- void SetVisibilityState(VISU_ActorBase *theActor, Qtx::VisibilityState state) {
+ void SetVisibilityState(SALOME_Actor *theActor, Qtx::VisibilityState state) {
if(!theActor || !theActor->hasIO() || !theActor->getIO()->hasEntry())
return;
SetVisibilityState(theActor->getIO()->getEntry(), state);
class SalomeApp_Study;
class SalomeApp_Application;
class VISU_ActorBase;
+class SALOME_Actor;
namespace VISU
{
_PTR(SObject) theTableSO );
VISU_I_EXPORT void SetVisibilityState(std::string entry, Qtx::VisibilityState state);
- VISU_I_EXPORT void SetVisibilityState(VISU_ActorBase *theActor, Qtx::VisibilityState state);
+ VISU_I_EXPORT void SetVisibilityState(SALOME_Actor *theActor, Qtx::VisibilityState state);
VISU_I_EXPORT void CurveVisibilityChanged(VISU::Curve_i* theCurve,
int theDisplaying,
vtkActorCollection* anActColl = aCopy.GetActors();
vtkActor *anActor;
VISU_Actor *anVISUActor = NULL, *aResActor = NULL;
- for(anActColl->InitTraversal(); (anActor = anActColl->GetNextActor()) != NULL;){
- if(anActor->IsA("VISU_Actor")){
+ for(anActColl->InitTraversal(); (anActor = anActColl->GetNextActor()) != NULL;) {
+ if( anActor->IsA("VISU_Actor") ) {
anVISUActor = VISU_Actor::SafeDownCast(anActor);
if (thePrs == anVISUActor->GetPrs3d()) {
aResActor = anVISUActor;
}
else if ( theDisplaing == eDisplayAll ) {
anVISUActor->VisibilityOn();
- VISU::SetVisibilityState(anVISUActor, Qtx::HiddenState);
+ VISU::SetVisibilityState(anVISUActor, Qtx::ShownState);
}
}
+ } else if ( anActor->IsA("SALOME_Actor") && (theDisplaing == eEraseAll || theDisplaing == eDisplayOnly) ) {
+ // rnv : fix for the 21254: EDF 1861 VISU: Eye symbol and VISU presentations.
+ // Take into account presentations created in other modules.
+ SALOME_Actor* aSActor = SALOME_Actor::SafeDownCast(anActor);
+ if( aSActor ) {
+ aSActor->VisibilityOff();
+ VISU::SetVisibilityState(aSActor, Qtx::HiddenState);
+ }
}
}
+
if (aResActor) {
RepaintView(theViewWindow);
return aResActor;