Salome HOME
Update viewer on delete an item
[modules/shaper.git] / src / PartSet / PartSet_OperationPrs.cpp
index f31b1b404d2ce5f525f32cab93986fdf2ca2c04b..f27f35f1910f58dcb960a425dba5781c233621f7 100644 (file)
@@ -127,6 +127,9 @@ void PartSet_OperationPrs::Compute(
     // change deviation coefficient to provide more precise circle
     // as there is no result, the shape is processed to correct deviation. To be unified
     ModuleBase_Tools::setDefaultDeviationCoefficient(aShape, aDrawer);
+    Handle(Prs3d_Drawer) aHighlightDrawer = DynamicHilightAttributes();
+    if (!aHighlightDrawer.IsNull())
+      ModuleBase_Tools::setDefaultDeviationCoefficient(aShape, aHighlightDrawer);
 
     if (myUseAISWidth) {
       Handle(AIS_InteractiveObject) anIO = anIter.Value();
@@ -235,7 +238,8 @@ void PartSet_OperationPrs::appendShapeIfVisible(ModuleBase_IWorkshop* theWorksho
                               QMap<ObjectPtr, QList<GeomShapePtr> >& theObjectShapes)
 {
   XGUI_Displayer* aDisplayer = XGUI_Tools::workshop(theWorkshop)->displayer();
-  if (XGUI_Displayer::isVisible(aDisplayer, theObject)) {
+  // VSV: Do not use isVisible checking because it can be used when state "Show Only" is ON
+  //if (XGUI_Displayer::isVisible(aDisplayer, theObject)) {
     if (theGeomShape.get()) {
       if (theObjectShapes.contains(theObject))
         theObjectShapes[theObject].append(theGeomShape);
@@ -250,7 +254,7 @@ void PartSet_OperationPrs::appendShapeIfVisible(ModuleBase_IWorkshop* theWorksho
               .arg(ModuleBase_Tools::objectInfo(theObject)).toStdString().c_str());
   #endif
     }
-  }
+  //}
 }
 
 void PartSet_OperationPrs::getFeatureShapes(const FeaturePtr& theFeature,