Salome HOME
Merge branch 'csgroup_IS2'
[modules/shaper.git] / src / PartSet / PartSet_PreviewSketchPlane.cpp
index 83529e23891f309d9eab8290d9d5932e6a84470b..d3c11e51a38e04dbeb0686d779b4d144f8667d79 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2020  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2021  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -61,6 +61,23 @@ void PartSet_PreviewSketchPlane::eraseSketchPlane(ModuleBase_IWorkshop* theWorks
   }
 }
 
+void PartSet_PreviewSketchPlane::displaySketchPlane(ModuleBase_IWorkshop* theWorkshop)
+{
+  if (myPlane.get() && (!myPreviewIsDisplayed)) {
+    XGUI_Displayer* aDisp = XGUI_Tools::workshop(theWorkshop)->displayer();
+    aDisp->displayAIS(myPlane, false/*load object in selection*/, 1/*shaded*/, false);
+    myPreviewIsDisplayed = true;
+  }
+}
+
+
+void PartSet_PreviewSketchPlane::clearPlanePreview()
+{
+  myPlane = std::shared_ptr<GeomAPI_AISObject>();
+  myShape = std::shared_ptr<GeomAPI_Shape>();
+}
+
+
 void PartSet_PreviewSketchPlane::createSketchPlane(const CompositeFeaturePtr& theSketch,
                                                    ModuleBase_IWorkshop* theWorkshop)
 {
@@ -73,7 +90,7 @@ void PartSet_PreviewSketchPlane::createSketchPlane(const CompositeFeaturePtr& th
   if (!aSelAttr)
     return;
 
-  if (myShape.get() && myShape->isSame(aSelAttr->value()))
+  if (myShape.get() && myShape->isSame(aSelAttr->value()) && myPlane.get())
     return;
 
   XGUI_Displayer* aDisp = XGUI_Tools::workshop(theWorkshop)->displayer();