Salome HOME
Init feature by model widget factory content
[modules/shaper.git] / src / ModelAPI / ModelAPI_Data.h
index f8dd2289673e932f53d9d01a26df8e5acee9c17b..76967d18143f6e50c00374755a0ad13fa5f6f110 100644 (file)
@@ -14,8 +14,10 @@ class ModelAPI_AttributeDouble;
 class ModelAPI_AttributeReference;
 class ModelAPI_AttributeRefAttr;
 class ModelAPI_AttributeRefList;
+class ModelAPI_AttributeBoolean;
 class ModelAPI_Document;
 class ModelAPI_Attribute;
+class GeomAPI_Shape;
 
 /**\class ModelAPI_Data
  * \ingroup DataModel
@@ -43,6 +45,8 @@ public:
   virtual boost::shared_ptr<ModelAPI_AttributeRefAttr> refattr(const std::string theID) = 0;
   /// Returns the attribute that contains list of references to features
   virtual boost::shared_ptr<ModelAPI_AttributeRefList> reflist(const std::string theID) = 0;
+  /// Returns the attribute that contains boolean value
+  virtual boost::shared_ptr<ModelAPI_AttributeBoolean> boolean(const std::string theID) = 0;
 
   /// Returns the generic attribute by identifier
   /// \param theID identifier of the attribute
@@ -55,6 +59,11 @@ public:
   /// Returns true if it is correctly connected t othe data model
   virtual bool isValid() = 0;
 
+  /// Stores the shape (called by the execution method).
+  virtual void store(const boost::shared_ptr<GeomAPI_Shape>& theShape) = 0;
+  /// Returns the shape-result produced by this feature
+  virtual boost::shared_ptr<GeomAPI_Shape> shape() = 0;
+
   /// Initializes object by the attributes: must be called just after the object is created
   /// for each attribute of the object
   /// \param theID identifier of the attribute that can be referenced by this ID later