Salome HOME
Extrusion fix
[modules/shaper.git] / src / ModelAPI / ModelAPI_Data.h
index 22293469911764463a6fd86e1183fb1766ccabcd..05dc2be644771e2b21e80311250421a2d14eb311 100644 (file)
@@ -7,6 +7,10 @@
 #ifndef ModelAPI_Data_H_
 #define ModelAPI_Data_H_
 
+#ifdef _WINDOWS // to avoid too long decorated name warning 
+#pragma warning( disable : 4503 )
+#endif
+
 #include "ModelAPI.h"
 #include <string>
 #include <list>
@@ -20,6 +24,7 @@ class ModelAPI_AttributeDouble;
 class ModelAPI_AttributeReference;
 class ModelAPI_AttributeRefAttr;
 class ModelAPI_AttributeRefList;
+class ModelAPI_AttributeRefAttrList;
 class ModelAPI_AttributeBoolean;
 class ModelAPI_AttributeString;
 class ModelAPI_Document;
@@ -73,6 +78,9 @@ class MODELAPI_EXPORT ModelAPI_Data
   virtual std::shared_ptr<ModelAPI_AttributeRefAttr> refattr(const std::string& theID) = 0;
   /// Returns the attribute that contains list of references to features
   virtual std::shared_ptr<ModelAPI_AttributeRefList> reflist(const std::string& theID) = 0;
+  /// Returns the attribute that contains list of references to features or reference to
+  /// an attribute of a feature
+  virtual std::shared_ptr<ModelAPI_AttributeRefAttrList> refattrlist(const std::string& theID) = 0;
   /// Returns the attribute that contains boolean value
   virtual std::shared_ptr<ModelAPI_AttributeBoolean> boolean(const std::string& theID) = 0;
   /// Returns the attribute that contains boolean value
@@ -157,6 +165,12 @@ class MODELAPI_EXPORT ModelAPI_Data
   /// Returns the owner of htis data
   virtual std::shared_ptr<ModelAPI_Object> owner() = 0;
 
+  /// Returns true if the object is deleted, but some data is still keept in memory
+  virtual bool isDeleted() = 0;
+
+  /// Sets true if the object is deleted, but some data is still keept in memory
+  virtual void setIsDeleted(const bool theFlag) = 0;
+
  protected:
   /// Objects are created for features automatically
   ModelAPI_Data();