X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Data.h;h=05dc2be644771e2b21e80311250421a2d14eb311;hb=c66d90377083e2611816b72500533d4ffbc73e19;hp=d06d7c100d99eaf153ad16f2aee7cd0b67754bdb;hpb=055d3c94f677cdf74eca05711fe9dcae89035d58;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Data.h b/src/ModelAPI/ModelAPI_Data.h index d06d7c100..05dc2be64 100644 --- a/src/ModelAPI/ModelAPI_Data.h +++ b/src/ModelAPI/ModelAPI_Data.h @@ -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 #include @@ -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 refattr(const std::string& theID) = 0; /// Returns the attribute that contains list of references to features virtual std::shared_ptr 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 refattrlist(const std::string& theID) = 0; /// Returns the attribute that contains boolean value virtual std::shared_ptr boolean(const std::string& theID) = 0; /// Returns the attribute that contains boolean value @@ -154,9 +162,14 @@ class MODELAPI_EXPORT ModelAPI_Data /// This method is called by the updater. virtual void setUpdateID(const int theID) = 0; - /// Returns true if the given object is owner of this data (needed for correct erase of object - /// with duplicated data) - virtual bool isOwner(ModelAPI_Object* theOwner) = 0; + /// Returns the owner of htis data + virtual std::shared_ptr 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