Salome HOME
Useful methods for sketch operations managements
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_Sketch.h
index 3c6181200faf5747bc70f4911c8da25dde1ac241..371943ec599254f9b1d520c90cf87404ffa41704 100644 (file)
@@ -18,6 +18,8 @@ const std::string SKETCH_ATTR_DIRX("DirX");
 const std::string SKETCH_ATTR_DIRY("DirY");
 /// Vector Z, normal to the sketch plane
 const std::string SKETCH_ATTR_NORM("Norm");
+/// All features of this sketch (list of references)
+const std::string SKETCH_ATTR_FEATURES("Features");
 
 /**\class SketchPlugin_Sketch
  * \ingroup DataModel
@@ -43,18 +45,18 @@ public:
   /// Returns the sketch preview
   SKETCHPLUGIN_EXPORT virtual const boost::shared_ptr<GeomAPI_Shape>& preview();
 
-  /// Sets the sketch as active. All features and features previews 
-  /// will be connected to this sketch.
-  SKETCHPLUGIN_EXPORT static void setActive(boost::shared_ptr<SketchPlugin_Sketch> theSketch);
-
-  /// Returns the currently active sketch. All features and features previews 
-  /// will be connected to this sketch.
-  SKETCHPLUGIN_EXPORT static boost::shared_ptr<SketchPlugin_Sketch> active();
+  /// Adds sub-feature of the higher level feature (sub-element of the sketch)
+  /// \param theFeature sub-feature
+  SKETCHPLUGIN_EXPORT virtual const void addSub(
+    const boost::shared_ptr<ModelAPI_Feature>& theFeature);
 
   /// Converts a 2D sketch space point into point in 3D space
   SKETCHPLUGIN_EXPORT boost::shared_ptr<GeomAPI_Pnt> to3D(
     const double theX, const double theY);
 
+  /// Returns true if this feature must be displayed in the history (top level of Part tree)
+  SKETCHPLUGIN_EXPORT virtual bool isInHistory() {return true;}
+
   /// Use plugin manager for features creation
   SketchPlugin_Sketch();
 protected: