X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Data.h;h=05dc2be644771e2b21e80311250421a2d14eb311;hb=c66d90377083e2611816b72500533d4ffbc73e19;hp=dfc6ee32af3359791efbc29ccb5ca74c278bd27d;hpb=c39f725bfe98395871c5853dacb89ab1a6ecc6f2;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Data.h b/src/ModelAPI/ModelAPI_Data.h index dfc6ee32a..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 @@ -141,7 +149,7 @@ class MODELAPI_EXPORT ModelAPI_Data virtual void referencesToObjects( std::list > > >& theRefs) =0; - /// Copies all atributes content into theTarget data + /// Copies all attributes content into theTarget data virtual void copyTo(std::shared_ptr theTarget) = 0; /// Returns the invalid data pointer (to avoid working with NULL shared ptrs in swig) @@ -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