X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_AttributeRefList.h;h=9384d2855215acefab356e10b75e32e0a259c357;hb=074b1d850036614d4a08999c4bc4e8630db63d2b;hp=d6004f7af4fd1bf1d0c3318a22a91050c0c05ec5;hpb=db1bdf5481826c868b2c92c6cbc9afe8c5ad337c;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_AttributeRefList.h b/src/ModelAPI/ModelAPI_AttributeRefList.h index d6004f7af..9384d2855 100644 --- a/src/ModelAPI/ModelAPI_AttributeRefList.h +++ b/src/ModelAPI/ModelAPI_AttributeRefList.h @@ -1,9 +1,11 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: ModelAPI_AttributeRefList.h // Created: 8 May 2014 // Author: Mikhail PONIKAROV -#ifndef ModelAPI_AttributeRefList_HeaderFile -#define ModelAPI_AttributeRefList_HeaderFile +#ifndef ModelAPI_AttributeRefList_H_ +#define ModelAPI_AttributeRefList_H_ #include "ModelAPI_Attribute.h" #include "ModelAPI_Feature.h" @@ -16,12 +18,15 @@ class ModelAPI_AttributeRefList : public ModelAPI_Attribute { -public: + public: /// Returns the type of this class of attributes - MODELAPI_EXPORT static std::string type() {return "RefList";} + MODELAPI_EXPORT static std::string type() + { + return "RefList"; + } /// Returns the type of this class of attributes, not static method - MODELAPI_EXPORT virtual std::string attributeType() {return type();} + MODELAPI_EXPORT virtual std::string attributeType(); /// Appends the feature to the end of a list MODELAPI_EXPORT virtual void append(ObjectPtr theObject) = 0; @@ -30,15 +35,21 @@ public: MODELAPI_EXPORT virtual void remove(ObjectPtr theObject) = 0; /// Returns number of features in the list - MODELAPI_EXPORT virtual int size() = 0; + MODELAPI_EXPORT virtual int size() const = 0; /// Returns the list of features MODELAPI_EXPORT virtual std::list list() = 0; -protected: + /// Returns the referenced object by the zero-based index + MODELAPI_EXPORT virtual ObjectPtr object(const int theIndex) const = 0; + + MODELAPI_EXPORT virtual ~ModelAPI_AttributeRefList(); + protected: /// Objects are created for features automatically - MODELAPI_EXPORT ModelAPI_AttributeRefList() - {} + MODELAPI_EXPORT ModelAPI_AttributeRefList(); + }; +typedef std::shared_ptr AttributeRefListPtr; + #endif