Salome HOME
Define guards are corrected according to the code style
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_Feature.h
index 08476395845b4718e3b2c028a27d435cbe171677..093bf025856dc9c656f6107eb5cc1517fd56f26c 100644 (file)
@@ -2,12 +2,14 @@
 // Created:     27 Mar 2014
 // Author:      Mikhail PONIKAROV
 
-#ifndef SketchPlugin_Feature_HeaderFile
-#define SketchPlugin_Feature_HeaderFile
+#ifndef SketchPlugin_Feature_H_
+#define SketchPlugin_Feature_H_
 
 #include "SketchPlugin.h"
 #include <ModelAPI_Feature.h>
 #include <GeomAPI_Shape.h>
+#include <GeomAPI_AISObject.h>
+#include <ModelAPI_Document.h>
 
 class SketchPlugin_Sketch;
 class GeomAPI_Pnt2d;
@@ -21,18 +23,14 @@ class Handle_AIS_InteractiveObject;
 class SketchPlugin_Feature: public ModelAPI_Feature
 {
 public:
-  /// Returns the sketch preview
-  /// \param theSketch the owner of this feature
-  /// \return the built preview
-  SKETCHPLUGIN_EXPORT virtual const boost::shared_ptr<GeomAPI_Shape>& preview() = 0;
-
-  /// Returns the AIS preview
-  SKETCHPLUGIN_EXPORT virtual Handle_AIS_InteractiveObject getAISShape(Handle_AIS_InteractiveObject thePrevious);
+  /// Simple creation of interactive object by the result of the object
+  static boost::shared_ptr<GeomAPI_AISObject> simpleAISObject(
+    boost::shared_ptr<ModelAPI_Result> theRes, boost::shared_ptr<GeomAPI_AISObject> thePrevious);
 
   /// Adds sub-feature of the higher level feature (sub-element of the sketch)
   /// \param theFeature sub-feature
   SKETCHPLUGIN_EXPORT virtual const void addSub(
-    const FeaturePtr& theFeature) = 0;
+    const FeaturePtr& theFeature) {};
 
   /// Returns true if this feature must be displayed in the history (top level of Part tree)
   SKETCHPLUGIN_EXPORT virtual bool isInHistory() {return false;}
@@ -47,12 +45,6 @@ public:
   virtual double distanceToPoint(const boost::shared_ptr<GeomAPI_Pnt2d>& thePoint) = 0;
 
 protected:
-  /// Set the shape to the internal preview field
-  /// \param theShape a preview shape
-  void setPreview(const boost::shared_ptr<GeomAPI_Shape>& theShape); ///< the preview shape
-  /// Return the shape from the internal preview field
-  /// \return theShape a preview shape
-  const boost::shared_ptr<GeomAPI_Shape>& getPreview() const;
   /// Sets the higher-level feature for the sub-feature (sketch for line)
   void setSketch(SketchPlugin_Sketch* theSketch) {mySketch = theSketch;}
   /// Returns the sketch of this feature