fixed spacing in the headers to get rid of some warnings and some other
[blender.git] / source / gameengine / Expressions / BoolValue.h
1 /*
2  * BoolValue.h: interface for the CBoolValue class.
3  * $Id$
4  * Copyright (c) 1996-2000 Erwin Coumans <coockie@acm.org>
5  *
6  * Permission to use, copy, modify, distribute and sell this software
7  * and its documentation for any purpose is hereby granted without fee,
8  * provided that the above copyright notice appear in all copies and
9  * that both that copyright notice and this permission notice appear
10  * in supporting documentation.  Erwin Coumans makes no
11  * representations about the suitability of this software for any
12  * purpose.  It is provided "as is" without express or implied warranty.
13  *
14  */
15 #if !defined _BOOLVALUE_H
16 #define _BOOLVALUE_H
17
18 #include "Value.h"
19
20 /**
21  *      Smart Boolean Value class.
22  * Is used by parser when an expression tree is build containing booleans.
23  */
24
25 class CBoolValue : public CPropValue  
26 {
27
28         //PLUGIN_DECLARE_SERIAL(CBoolValue,CValue)      
29
30 public:
31         CBoolValue();
32         CBoolValue(bool inBool);
33         CBoolValue(bool innie, STR_String name, AllocationTYPE alloctype = CValue::HEAPVALUE);
34
35         virtual const STR_String& GetText();
36         virtual float           GetNumber();
37         bool                            GetBool();
38         virtual void            SetValue(CValue* newval);
39         
40         virtual CValue*         Calc(VALUE_OPERATOR op, CValue *val);
41         virtual CValue*         CalcFinal(VALUE_DATA_TYPE dtype, VALUE_OPERATOR op, CValue *val);
42         
43         void                            Configure(CValue* menuvalue);
44         virtual CValue*         GetReplica();
45         virtual PyObject*       ConvertValueToPython();
46
47 private:
48         bool                            m_bool;
49 };
50
51 #endif // !defined _BOOLVALUE_H
52