1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
3 // File: FeaturesAPI_Reference.h
4 // Created: 04 August 2016
5 // Author: Mikhail Ponikarov
7 #ifndef SRC_MODELHIGHAPI_MODELHIGHAPI_REFERENCE_H_
8 #define SRC_MODELHIGHAPI_MODELHIGHAPI_REFERENCE_H_
10 //--------------------------------------------------------------------------------------
11 #include "ModelHighAPI.h"
15 //--------------------------------------------------------------------------------------
16 class ModelAPI_Attribute;
17 class ModelAPI_AttributeReference;
18 class ModelAPI_AttributeRefList;
19 class ModelAPI_Feature;
20 class ModelAPI_Object;
21 class ModelHighAPI_Interface;
22 //--------------------------------------------------------------------------------------
23 /**\class ModelHighAPI_Reference
25 * \brief Class for filling ModelAPI_AttributeReference
27 class ModelHighAPI_Reference
30 /// Default constructor
32 ModelHighAPI_Reference();
33 /// Constructor for object
35 ModelHighAPI_Reference(const std::shared_ptr<ModelAPI_Object> & theValue);
36 /// Constructor for Interface (use result() for object)
38 ModelHighAPI_Reference(const std::shared_ptr<ModelHighAPI_Interface> & theValue);
41 virtual ~ModelHighAPI_Reference();
43 /// Fill attribute values
44 MODELHIGHAPI_EXPORT virtual
45 void fillAttribute(const std::shared_ptr<ModelAPI_AttributeReference> & theAttribute) const;
47 /// Append to list attribute
49 virtual void appendToList(const std::shared_ptr<ModelAPI_AttributeRefList> & theAttribute) const;
51 /// Returns feature for this object.
53 virtual std::shared_ptr<ModelAPI_Feature> feature() const;
56 std::shared_ptr<ModelAPI_Object> myObject;
59 //--------------------------------------------------------------------------------------
60 //--------------------------------------------------------------------------------------
61 #endif /* SRC_MODELHIGHAPI_MODELHIGHAPI_REFATTR_H_ */