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_Object;
20 class ModelHighAPI_Interface;
21 //--------------------------------------------------------------------------------------
22 /**\class ModelHighAPI_Reference
24 * \brief Class for filling ModelAPI_AttributeReference
26 class ModelHighAPI_Reference
29 /// Default constructor
31 ModelHighAPI_Reference();
32 /// Constructor for object
34 ModelHighAPI_Reference(const std::shared_ptr<ModelAPI_Object> & theValue);
35 /// Constructor for Interface (use result() for object)
37 ModelHighAPI_Reference(const std::shared_ptr<ModelHighAPI_Interface> & theValue);
40 virtual ~ModelHighAPI_Reference();
42 /// Fill attribute values
44 virtual void fillAttribute(const std::shared_ptr<ModelAPI_AttributeReference> & theAttribute) const;
46 /// Append to list attribute
48 virtual void appendToList(const std::shared_ptr<ModelAPI_AttributeRefList> & theAttribute) const;
51 std::shared_ptr<ModelAPI_Object> myObject;
54 //--------------------------------------------------------------------------------------
55 //--------------------------------------------------------------------------------------
56 #endif /* SRC_MODELHIGHAPI_MODELHIGHAPI_REFATTR_H_ */