Salome HOME
Update behavior of calculation of Multi-Rotation constraint
[modules/shaper.git] / src / ModuleBase / ModuleBase_ResultPrs.cpp
index 5dd2f536b8a825107dd5961046d5ffb3fd8665b0..69ef0e7517952f6f6d9e84f8b8fdef16fe1a52fc 100644 (file)
@@ -5,6 +5,7 @@
 // Author:      Vitaly SMETANNIKOV
 
 #include "ModuleBase_ResultPrs.h"
+#include "ModuleBase_Tools.h"
 
 #include <ModelAPI_Tools.h>
 #include <ModelAPI_ResultConstruction.h>
@@ -34,13 +35,11 @@ ModuleBase_ResultPrs::ModuleBase_ResultPrs(ResultPtr theResult)
   }
   TopoDS_Shape aShape = aShapePtr->impl<TopoDS_Shape>();
   Set(aShape);
-  if (aShape.ShapeType() == TopAbs_VERTEX) {
-    Handle(Prs3d_Drawer) aDrawer = Attributes();
-    if (aDrawer->HasOwnPointAspect()) 
-      aDrawer->PointAspect()->SetTypeOfMarker(Aspect_TOM_PLUS);
-    else
-      aDrawer->SetPointAspect(new Prs3d_PointAspect(Aspect_TOM_PLUS, Quantity_NOC_YELLOW, 1.));
-  }
+  Handle(Prs3d_Drawer) aDrawer = Attributes();
+  if (aDrawer->HasOwnPointAspect()) 
+    aDrawer->PointAspect()->SetTypeOfMarker(Aspect_TOM_PLUS);
+  else
+    aDrawer->SetPointAspect(new Prs3d_PointAspect(Aspect_TOM_PLUS, Quantity_NOC_YELLOW, 1.));
 }
 
 
@@ -65,7 +64,15 @@ void ModuleBase_ResultPrs::Compute(const Handle(PrsMgr_PresentationManager3d)& t
   myOriginalShape = aShapePtr->impl<TopoDS_Shape>();
   if (!myOriginalShape.IsNull()) {
     Set(myOriginalShape);
+
+    // change deviation coefficient to provide more precise circle
+    Handle(Prs3d_Drawer) aDrawer = Attributes();
+    Standard_Real aPrevDeviation = aDrawer->DeviationCoefficient();
+    //aDrawer->SetDeviationCoefficient(ModuleBase_Tools::defaultDeviationCoefficient());
+
     AIS_Shape::Compute(thePresentationManager, thePresentation, theMode);
+
+    //aDrawer->SetDeviationCoefficient(aPrevDeviation);
   }
 }