Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / ModelAPI / ModelAPI_Object.h
index 91167b871b71331c26b305d006d64570a62f1ae7..9241d9b6545310c70a13dd62e1e65d30186314d4 100644 (file)
@@ -6,6 +6,7 @@
 #define ModelAPI_Object_H_
 
 #include "ModelAPI.h"
+#include "ModelAPI_Data.h"
 
 #include <boost/shared_ptr.hpp>
 
@@ -24,7 +25,7 @@ class ModelAPI_Document;
 class ModelAPI_Object
 {
   boost::shared_ptr<ModelAPI_Data> myData;  ///< manager of the data model of a feature
-  boost::shared_ptr<ModelAPI_Document> myDoc;  ///< document this feature belongs to
+  boost::shared_ptr<ModelAPI_Document> myDoc;  ///< document this object belongs to
  public:
   /// By default object is displayed in the object browser.
   virtual bool isInHistory()
@@ -66,7 +67,14 @@ class ModelAPI_Object
     myDoc = theDoc;
   }
 
+  /// removes all fields from this feature
+  MODELAPI_EXPORT virtual void erase() {
+    if (myData) myData->erase();
+    setData(DataPtr());
+  }
+
   friend class Model_Document;
+
 };
 
 typedef boost::shared_ptr<ModelAPI_Object> ObjectPtr;