1 // File: Model_AttributeReference.h
3 // Author: Mikhail PONIKAROV
5 #ifndef Model_AttributeReference_HeaderFile
6 #define Model_AttributeReference_HeaderFile
9 #include "ModelAPI_AttributeReference.h"
10 #include <TDF_Label.hxx>
11 #include <TDF_Reference.hxx>
13 /**\class Model_AttributeReference
15 * \brief Attribute that contains reference to feature (located in the same document).
18 class Model_AttributeReference : public ModelAPI_AttributeReference
20 Handle_TDF_Reference myRef; ///< references to the feature label
22 /// Defines the feature referenced from this attribute
23 MODEL_EXPORT virtual void setValue(boost::shared_ptr<ModelAPI_Feature> theFeature);
25 /// Returns feature referenced from this attribute
26 MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Feature> value();
29 /// Objects are created for features automatically
30 MODEL_EXPORT Model_AttributeReference(TDF_Label& theLabel);
32 friend class Model_Data;