#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>
class ModelAPI_AttributeReference;
class ModelAPI_AttributeRefAttr;
class ModelAPI_AttributeRefList;
+class ModelAPI_AttributeRefAttrList;
class ModelAPI_AttributeBoolean;
class ModelAPI_AttributeString;
class ModelAPI_Document;
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
/// 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();