1 // File: ModelAPI_AttributeDocRef.h
3 // Author: Mikhail PONIKAROV
5 #ifndef ModelAPI_AttributeDocRef_H_
6 #define ModelAPI_AttributeDocRef_H_
8 #include "ModelAPI_Attribute.h"
9 #include "ModelAPI_Document.h"
11 /**\class ModelAPI_AttributeDocRef
13 * \brief Attribute that contains reference to another document.
16 class ModelAPI_AttributeDocRef : public ModelAPI_Attribute
19 /// Defines the document referenced from this attribute
20 MODELAPI_EXPORT virtual void setValue(boost::shared_ptr<ModelAPI_Document> theDoc) = 0;
22 /// Returns document referenced from this attribute
23 MODELAPI_EXPORT virtual boost::shared_ptr<ModelAPI_Document> value() = 0;
25 /// Returns the type of this class of attributes
26 MODELAPI_EXPORT static std::string type()
31 /// Returns the type of this class of attributes, not static method
32 MODELAPI_EXPORT virtual std::string attributeType()
37 /// To virtually destroy the fields of successors
38 MODELAPI_EXPORT virtual ~ModelAPI_AttributeDocRef()
43 /// Objects are created for features automatically
44 MODELAPI_EXPORT ModelAPI_AttributeDocRef()