1 // File: Model_AttributeRefList.h
3 // Author: Mikhail PONIKAROV
5 #ifndef Model_AttributeRefList_HeaderFile
6 #define Model_AttributeRefList_HeaderFile
9 #include "ModelAPI_AttributeRefList.h"
10 #include "ModelAPI_Feature.h"
12 #include <TDataStd_ReferenceList.hxx>
14 /**\class Model_AttributeRefList
16 * \brief Attribute that contains list of references to features (located in the same document).
19 class Model_AttributeRefList : public ModelAPI_AttributeRefList
21 Handle_TDataStd_ReferenceList myRef; ///< references to the features labels
23 /// Appends the feature to the end of a list
24 MODEL_EXPORT virtual void append(FeaturePtr theFeature);
26 /// Erases the first meet of the feature in the list
27 MODEL_EXPORT virtual void remove(FeaturePtr theFeature);
29 /// Returns number of features in the list
30 MODEL_EXPORT virtual int size();
32 /// Returns the list of features
33 MODEL_EXPORT virtual std::list<FeaturePtr > list();
36 /// Objects are created for features automatically
37 MODEL_EXPORT Model_AttributeRefList(TDF_Label& theLabel);
39 friend class Model_Data;