1 // Name : ModelHighAPI_RefAttr.h
5 // 08/06/16 - Sergey POKHODENKO - Creation of the file
7 #ifndef SRC_MODELHIGHAPI_MODELHIGHAPI_REFATTR_H_
8 #define SRC_MODELHIGHAPI_MODELHIGHAPI_REFATTR_H_
10 //--------------------------------------------------------------------------------------
11 #include "ModelHighAPI.h"
16 #include <boost/variant.hpp>
17 //--------------------------------------------------------------------------------------
18 class ModelAPI_Attribute;
19 class ModelAPI_AttributeRefAttr;
20 class ModelAPI_Object;
21 class ModelHighAPI_Interface;
22 //--------------------------------------------------------------------------------------
23 /**\class ModelHighAPI_RefAttr
25 * \brief Class for filling ModelAPI_AttributeRefAttr
27 class ModelHighAPI_RefAttr
30 /// Default constructor
32 ModelHighAPI_RefAttr();
33 /// Constructor for attribute
35 ModelHighAPI_RefAttr(const std::shared_ptr<ModelAPI_Attribute> & theValue);
36 /// Constructor for object
38 ModelHighAPI_RefAttr(const std::shared_ptr<ModelAPI_Object> & theValue);
39 /// Constructor for Interface (use result() for object)
41 ModelHighAPI_RefAttr(const std::shared_ptr<ModelHighAPI_Interface> & theValue);
44 virtual ~ModelHighAPI_RefAttr();
46 /// Fill attribute values
48 virtual void fillAttribute(const std::shared_ptr<ModelAPI_AttributeRefAttr> & theAttribute) const;
52 std::shared_ptr<ModelAPI_Attribute>,
53 std::shared_ptr<ModelAPI_Object>
57 //--------------------------------------------------------------------------------------
58 //--------------------------------------------------------------------------------------
59 #endif /* SRC_MODELHIGHAPI_MODELHIGHAPI_REFATTR_H_ */