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 calculated double value
27 MODELAPI_EXPORT virtual void setCalculatedValue(const double theValue) = 0;
29 /// Defines the text value
30 MODELAPI_EXPORT virtual void setText(const std::string& theText) = 0;
32 /// Returns the text value
33 MODELAPI_EXPORT virtual std::string text() = 0;
35 /// Allows to set expression (text) as invalid (by the parameters listener)
36 MODELAPI_EXPORT virtual void setExpressionInvalid(const bool theFlag) = 0;
38 /// Returns true if text is invalid
39 MODELAPI_EXPORT virtual bool expressionInvalid() = 0;
41 /// Returns the type of this class of attributes
42 MODELAPI_EXPORT static std::string typeId()
47 /// Returns the type of this class of attributes, not static method
48 MODELAPI_EXPORT virtual std::string attributeType();
50 /// To virtually destroy the fields of successors
51 MODELAPI_EXPORT virtual ~ModelAPI_AttributeDouble();
54 /// Objects are created for features automatically
55 MODELAPI_EXPORT ModelAPI_AttributeDouble();
58 //! Pointer on double attribute
59 typedef std::shared_ptr<ModelAPI_AttributeDouble> AttributeDoublePtr;