Salome HOME
NPAL18352: Selection bug in GEOM GUI.
[modules/geom.git] / src / GEOMGUI / GeometryGUI_Swig.cxx
index bd43124355f59061b76c9b496a501b4403b030cd..22159ad46a71486fdb881ee153f4fd139c7059fb 100644 (file)
@@ -66,6 +66,7 @@
 #include <AIS_ListOfInteractive.hxx>
 #include <AIS_ListIteratorOfListOfInteractive.hxx>
 #include <AIS_Drawer.hxx>
+#include <BRepTools.hxx>
 
 // IDL Headers
 #include <SALOMEconfig.h>
@@ -439,7 +440,7 @@ void GEOM_Swig::setColor(const char* theEntry, int red, int green, int blue, boo
            ite.Value()->SetColor(CSFColor);
            if (ite.Value()->IsKind(STANDARD_TYPE(GEOM_AISShape)))
              Handle(GEOM_AISShape)::DownCast(ite.Value())->SetShadingColor(CSFColor);
-           ite.Value()->Redisplay(Standard_True);
+           ic->Redisplay(ite.Value(), true, true);
            if (myUpdateViewer)
              occViewer->update();
            break;
@@ -613,13 +614,13 @@ void GEOM_Swig::setDeflection(const char* theEntry, float theDeflect)
          if ((!aObj.IsNull()) && aObj->hasEntry() && aObj->isSame(anIO)) {
            Handle(AIS_Shape) aShape = Handle(AIS_Shape)::DownCast(it.Value());
            if (!aShape.IsNull()) {
-             Handle(AIS_Drawer) aDrawer = aShape->Attributes();
-             if (aDrawer.IsNull())
-               aDrawer = new AIS_Drawer();
-             aDrawer->SetDeviationCoefficient(myParam);
-             aShape->SetAttributes(aDrawer);
-             aContext->Redisplay(aShape, true, true);
-             aContext->UpdateCurrentViewer();
+             TopoDS_Shape aSh = aShape->Shape();
+             if (!aSh.IsNull())
+               BRepTools::Clean(aSh);
+
+             aShape->SetOwnDeviationCoefficient( myParam );
+             aShape->SetOwnHLRDeviationAngle( 1.57 );
+             aContext->Redisplay(aShape);
              return;
            }
          }