Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / ModelAPI / ModelAPI_Object.h
index 490e5617ac77205b85adf6c2c4b9b370db57f3fc..cf81f99bfee1dda02e24ba738a498ef8c6aeaf65 100644 (file)
@@ -10,6 +10,8 @@
 #include <memory>
 
 class ModelAPI_AttributeDocRef;
+class ModelAPI_AttributeDouble;
+class ModelAPI_Document;
 
 /**\class ModelAPI_Object
  * \ingroup DataModel
@@ -29,6 +31,8 @@ public:
 
   /// Returns the attribute that references to another document
   virtual std::shared_ptr<ModelAPI_AttributeDocRef> docRef(const std::string theID) = 0;
+  /// Returns the attribute that contains real value with double precision
+  virtual std::shared_ptr<ModelAPI_AttributeDouble> real(const std::string theID) = 0;
 
   /// Initializes object by the attributes: must be called just after the object is created
   /// for each attribute of the object
@@ -36,6 +40,9 @@ public:
   /// \param theAttrType type of the created attribute (received from the type method)
   virtual void addAttribute(std::string theID, std::string theAttrType) = 0;
 
+  /// Returns the document of this data
+  virtual std::shared_ptr<ModelAPI_Document> document() = 0;
+
 protected:
   /// Objects are created for features automatically
   ModelAPI_Object()