1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: ModelAPI_AttributeDouble.h
5 // Author: Mikhail PONIKAROV
7 #ifndef ModelAPI_AttributeDouble_H_
8 #define ModelAPI_AttributeDouble_H_
10 #include "ModelAPI_Attribute.h"
12 /**\class ModelAPI_AttributeDouble
14 * \brief Attribute that contains real value with double precision.
17 class ModelAPI_AttributeDouble : public ModelAPI_Attribute
20 /// Defines the double value
21 MODELAPI_EXPORT virtual void setValue(const double theValue) = 0;
23 /// Returns the double value
24 MODELAPI_EXPORT virtual double value() = 0;
26 /// Defines the double value
27 MODELAPI_EXPORT virtual void setText(const std::string& theText) = 0;
29 /// Returns the double value
30 MODELAPI_EXPORT virtual std::string text() = 0;
32 /// Returns the type of this class of attributes
33 MODELAPI_EXPORT static std::string typeId()
38 /// Returns the type of this class of attributes, not static method
39 MODELAPI_EXPORT virtual std::string attributeType();
41 /// To virtually destroy the fields of successors
42 MODELAPI_EXPORT virtual ~ModelAPI_AttributeDouble();
45 /// Objects are created for features automatically
46 MODELAPI_EXPORT ModelAPI_AttributeDouble();
49 //! Pointer on double attribute
50 typedef std::shared_ptr<ModelAPI_AttributeDouble> AttributeDoublePtr;