-// Copyright (C) 2014-2017 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
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef SketchPlugin_Feature_H_
return true;
}
- /// Moves the feature
- /// \param theDeltaX the delta for X coordinate is moved
- /// \param theDeltaY the delta for Y coordinate is moved
- SKETCHPLUGIN_EXPORT virtual void move(const double theDeltaX, const double theDeltaY) = 0;
-
- /// Construction result is allways recomuted on the fly
- SKETCHPLUGIN_EXPORT virtual bool isPersistentResult() {return false;}
-
/// Returns true is sketch element is under the rigid constraint
SKETCHPLUGIN_EXPORT virtual bool isFixed() {return false;}
/// initializes mySketch
SketchPlugin_Feature();
+ /// Store current feature of the document if it is not the sub-feature of the current sketch
+ void keepCurrentFeature();
+ /// Restore current feature of the document after adding new feature to the sketch
+ void restoreCurrentFeature();
+
friend class SketchPlugin_Sketch;
- private:
+private:
std::shared_ptr<GeomAPI_Shape> myPreview; ///< the preview shape
SketchPlugin_Sketch* mySketch; /// sketch that contains this feature
+
+ FeaturePtr myCurrentFeature; /// temporary stored current feature
};
#endif