Salome HOME
Interfaces to be used by Import feature.
[modules/shaper.git] / src / ModelAPI / ModelAPI_AttributeSelection.h
index 9b4970c124a01e80f7ef4187e683c8f0a8e67971..40882dde44a8871b1ee8ec21e7afc328db6c53b7 100644 (file)
@@ -6,7 +6,7 @@
 #define ModelAPI_AttributeSelection_H_
 
 #include "ModelAPI_Attribute.h"
-#include <ModelAPI_ResultBody.h>
+#include <ModelAPI_Result.h>
 
 /**\class ModelAPI_AttributeSelection
  * \ingroup DataModel
@@ -18,13 +18,17 @@ class ModelAPI_AttributeSelection : public ModelAPI_Attribute
  public:
   /// Defines the result and its selected sub-shape
   virtual void setValue(
-    const ResultBodyPtr& theContext, const boost::shared_ptr<GeomAPI_Shape>& theSubShape) = 0;
+    const ResultPtr& theContext, const boost::shared_ptr<GeomAPI_Shape>& theSubShape) = 0;
 
   /// Returns the selected subshape
   virtual boost::shared_ptr<GeomAPI_Shape> value() = 0;
 
   /// Returns the context of the selection (the whole shape owner)
-  virtual ResultBodyPtr context() = 0;
+  virtual ResultPtr context() = 0;
+
+  /// Updates the underlied selection due to the changes in the referenced objects
+  /// \returns false if update is failed
+  virtual bool update() = 0;
 
   /// Returns the type of this class of attributes
   static std::string type()
@@ -50,4 +54,7 @@ class ModelAPI_AttributeSelection : public ModelAPI_Attribute
   }
 };
 
+//! Pointer on double attribute
+typedef boost::shared_ptr<ModelAPI_AttributeSelection> AttributeSelectionPtr;
+
 #endif