-// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
Handle(AIS_InteractiveContext) ic = getAISContext();
// check if trihedron is displayed
- Standard_Boolean isTrihedronDisplayed = ic->IsDisplayed( getTrihedron() );
+ Standard_Boolean isTrihedronDisplayed = isTrihedronVisible();
+ Standard_Boolean isViewCubeDisplayed = isViewCubeVisible();
// get objects to be erased (all currently displayed objects)
AIS_ListOfInteractive aList;
ic->DisplayedObjects( aList );
AIS_ListIteratorOfListOfInteractive anIter( aList );
for ( ; anIter.More(); anIter.Next() ) {
- if ( (isTrihedronDisplayed && anIter.Value()->DynamicType() == STANDARD_TYPE( AIS_Trihedron ) ) )
+ if ( isTrihedronDisplayed && anIter.Value()->DynamicType() == STANDARD_TYPE( AIS_Trihedron ) )
+ continue;
+ if ( isViewCubeDisplayed && anIter.Value()->DynamicType() == STANDARD_TYPE( AIS_ViewCube ) )
continue;
// erase an object
for( it = sel_modes.begin(); it != sel_modes.end(); ++it )
ic->Activate( anAIS, AIS_Shape::SelectionMode( (TopAbs_ShapeEnum)*it ) );
}
+ else if ( anAIS->DynamicType() == STANDARD_TYPE(AIS_ViewCube) )
+ {
+ ic->Activate( anAIS, 0 );
+ }
else if ( anAIS->DynamicType() != STANDARD_TYPE(AIS_Trihedron) )
{
ic->Load( anAIS, -1 );