Salome HOME
Task 5.2.4 task_5_2_4
authorvsv <vsv@opencascade.com>
Thu, 8 Aug 2019 14:14:34 +0000 (17:14 +0300)
committervsv <vsv@opencascade.com>
Thu, 8 Aug 2019 14:14:34 +0000 (17:14 +0300)
src/GeomAPI/GeomAPI_AISObject.cpp
src/PartSet/PartSet_OperationPrs.cpp

index 7a86b1e8c410e3e88eb24f06bc2c76febad1d672..45f57fa5a241a7a8b3012b8d0fe7c5f8a8d65b2e 100644 (file)
@@ -406,6 +406,10 @@ bool GeomAPI_AISObject::setDeflection(const double theDeflection)
       if (fabs(aCoefficient-theDeflection) > Precision::Confusion()) {
         isModified = true;
         anAISShape->SetOwnDeviationCoefficient(theDeflection);
+        Handle(Prs3d_Drawer) aDrawer = anAISShape->DynamicHilightAttributes();
+        if (!aDrawer.IsNull()) {
+          aDrawer->SetDeviationCoefficient(theDeflection);
+        }
         // redisplay is necessary here to update presentation in all modes
         // Standard True flag. Displayer uses Standard False flag. If it will be changed in
         // displayer, redisplay here will not be necessary. But performance should be checked.
index f9d91312c53ca0bcbceb0afb742d854fe38dff0d..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();