Salome HOME
Merge branch 'master' of https://codev-tuleap.cea.fr/plugins/git/salome/shaper
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_Feature.cpp
index 6ad032f18babeb82f14283b8243686072265027f..e006d6c6de5b8afca5f8271ef7dba420ef527b5f 100644 (file)
@@ -57,3 +57,21 @@ SketchPlugin_Sketch* SketchPlugin_Feature::sketch()
   return mySketch;
 }
 
+void SketchPlugin_Feature::keepCurrentFeature()
+{
+  FeaturePtr aCurFeature = document()->currentFeature(true);
+  std::shared_ptr<SketchPlugin_Feature> aSketchFeature =
+      std::dynamic_pointer_cast<SketchPlugin_Feature>(aCurFeature);
+  std::shared_ptr<SketchPlugin_Sketch> aSketch =
+      std::dynamic_pointer_cast<SketchPlugin_Sketch>(aCurFeature);
+  if ((!aSketchFeature || aSketchFeature->sketch() != sketch()) &&
+      (!aSketch || aSketch.get() != sketch()))
+    myCurrentFeature = aCurFeature;
+}
+
+void SketchPlugin_Feature::restoreCurrentFeature()
+{
+  if (myCurrentFeature)
+    document()->setCurrentFeature(myCurrentFeature, true);
+  myCurrentFeature = FeaturePtr();
+}