Salome HOME
Boost has been removed from code
[modules/shaper.git] / src / ModelAPI / ModelAPI_AttributeBoolean.h
1 // File:        ModelAPI_AttributeBoolean.h
2 // Created:     2 june 2014
3 // Author:      Vitaly Smetannikov
4
5 #ifndef MODELAPI_ATTRIBUTEBOOLEAN_H_
6 #define MODELAPI_ATTRIBUTEBOOLEAN_H_
7
8 #include "ModelAPI_Attribute.h"
9
10 /**\class ModelAPI_AttributeBoolean
11  * \ingroup DataModel
12  * \brief Attribute that contains boolean value.
13  */
14
15 class ModelAPI_AttributeBoolean : public ModelAPI_Attribute
16 {
17  public:
18   /// Defines the double value
19   MODELAPI_EXPORT virtual void setValue(bool theValue) = 0;
20
21   /// Returns the double value
22   MODELAPI_EXPORT virtual bool value() = 0;
23
24   /// Returns the type of this class of attributes
25   MODELAPI_EXPORT static std::string type()
26   {
27     return "Boolean";
28   }
29
30   /// Returns the type of this class of attributes, not static method
31   MODELAPI_EXPORT virtual std::string attributeType()
32   {
33     return type();
34   }
35
36   /// To virtually destroy the fields of successors
37   MODELAPI_EXPORT virtual ~ModelAPI_AttributeBoolean()
38   {
39   }
40
41  protected:
42   /// Objects are created for features automatically
43   MODELAPI_EXPORT ModelAPI_AttributeBoolean()
44   {
45   }
46 };
47
48 typedef std::shared_ptr<ModelAPI_AttributeBoolean> AttributeBooleanPtr;
49
50 #endif