]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/PartSet/PartSet_WidgetSketchLabel.cpp
Salome HOME
Issue #3220: Show/Hide sketch plane
[modules/shaper.git] / src / PartSet / PartSet_WidgetSketchLabel.cpp
index e8244c6542e647d34d66b9c0977146240dce70f1..4a2a5154f0f0a6cfee6b7afcdbbd52565c2dcb71 100644 (file)
@@ -889,12 +889,16 @@ bool PartSet_WidgetSketchLabel::eventFilter(QObject* theObj, QEvent* theEvent)
 void PartSet_WidgetSketchLabel::onShowViewPlane(bool toShow)
 {
   PartSet_Module* aModule = dynamic_cast<PartSet_Module*>(myWorkshop->module());
+  PartSet_PreviewSketchPlane* aPreviewPlane = aModule->sketchMgr()->previewSketchPlane();
   if (toShow) {
     CompositeFeaturePtr aSketch = std::dynamic_pointer_cast<ModelAPI_CompositeFeature>(myFeature);
-    aModule->sketchMgr()->previewSketchPlane()->createSketchPlane(aSketch, myWorkshop);
+    if (aPreviewPlane->isPlaneCreated())
+      aPreviewPlane->displaySketchPlane(myWorkshop);
+    else
+      aPreviewPlane->createSketchPlane(aSketch, myWorkshop);
   }
   else {
-    aModule->sketchMgr()->previewSketchPlane()->eraseSketchPlane(myWorkshop, false);
+    aPreviewPlane->eraseSketchPlane(myWorkshop, false);
   }
   myWorkshop->viewer()->update();
 }