]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/ModelAPI/ModelAPI_AttributeRefAttr.h
Salome HOME
Define guards are corrected according to the code style
[modules/shaper.git] / src / ModelAPI / ModelAPI_AttributeRefAttr.h
index d9c5f3a6041044750589e7112dd4c6ce8b7c8484..be0bf6e1ec836a85f45af8df75c904ecf6179488 100644 (file)
@@ -2,25 +2,35 @@
 // Created:     8 May 2014
 // Author:      Mikhail PONIKAROV
 
-#ifndef ModelAPI_AttributeRefAttr_HeaderFile
-#define ModelAPI_AttributeRefAttr_HeaderFile
+#ifndef ModelAPI_AttributeRefAttr_H_
+#define ModelAPI_AttributeRefAttr_H_
 
 #include "ModelAPI_Attribute.h"
+#include "ModelAPI_Feature.h"
 
 /**\class ModelAPI_AttributeRefAttr
  * \ingroup DataModel
- * \brief Attribute that contains reference to an attribute of a feature 
- * (located in the same document).
+ * \brief Attribute that contains reference to an attribute of a feature or reference to 
+ * a feature (switchable)
  */
 
 class ModelAPI_AttributeRefAttr : public ModelAPI_Attribute
 {
 public:
-  /// Defines the attribute referenced from this attribute
-  MODELAPI_EXPORT virtual void setValue(boost::shared_ptr<ModelAPI_Attribute> theAttr) = 0;
+  /// Returns true if this attribute references to a object (not to the attribute)
+  MODELAPI_EXPORT virtual bool isObject() = 0;
+
+  /// Defines the reference to the attribute
+  MODELAPI_EXPORT virtual void setAttr(boost::shared_ptr<ModelAPI_Attribute> theAttr) = 0;
 
   /// Returns attribute referenced from this attribute
-  MODELAPI_EXPORT virtual boost::shared_ptr<ModelAPI_Attribute> value() = 0;
+  MODELAPI_EXPORT virtual boost::shared_ptr<ModelAPI_Attribute> attr() = 0;
+
+  /// Defines the reference to the object
+  MODELAPI_EXPORT virtual void setObject(ObjectPtr theFeature) = 0;
+
+  /// Returns object referenced from this attribute
+  MODELAPI_EXPORT virtual ObjectPtr object() = 0;
 
   /// Returns the type of this class of attributes
   MODELAPI_EXPORT static std::string type() {return "RefAttr";}