Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / Model / Model_AttributeRefList.h
index bf6290c07ddf7bc64573b2e0e982b6bbc8df49d2..2b0edac1fc99c7a2f4ab30f1109f29e2c140b668 100644 (file)
@@ -2,11 +2,13 @@
 // Created:     8 May 2014
 // Author:      Mikhail PONIKAROV
 
-#ifndef Model_AttributeRefList_HeaderFile
-#define Model_AttributeRefList_HeaderFile
+#ifndef Model_AttributeRefList_H_
+#define Model_AttributeRefList_H_
 
 #include "Model.h"
 #include "ModelAPI_AttributeRefList.h"
+#include "ModelAPI_Feature.h"
+
 #include <TDataStd_ReferenceList.hxx>
 
 /**\class Model_AttributeRefList
 
 class Model_AttributeRefList : public ModelAPI_AttributeRefList
 {
-  Handle_TDataStd_ReferenceList myRef; ///< references to the features labels
-public:
+  Handle_TDataStd_ReferenceList myRef;  ///< references to the features labels
+ public:
   /// Appends the feature to the end of a list
-  MODEL_EXPORT virtual void append(boost::shared_ptr<ModelAPI_Feature> theFeature);
+  MODEL_EXPORT virtual void append(ObjectPtr theObject);
 
   /// Erases the first meet of the feature in the list
-  MODEL_EXPORT virtual void remove(boost::shared_ptr<ModelAPI_Feature> theFeature);
+  MODEL_EXPORT virtual void remove(ObjectPtr theObject);
 
   /// Returns number of features in the list
-  MODEL_EXPORT virtual int size();
+  MODEL_EXPORT virtual int size() const;
+
+  /// Returns the list of features
+  MODEL_EXPORT virtual std::list<ObjectPtr> list();
 
   /// Returns the list of features
-  MODEL_EXPORT virtual std::list<boost::shared_ptr<ModelAPI_Feature> > list();
+  MODEL_EXPORT virtual ObjectPtr object(const int theIndex) const;
 
-protected:
+ protected:
   /// Objects are created for features automatically
   MODEL_EXPORT Model_AttributeRefList(TDF_Label& theLabel);