fix for building with collada and some other warnings
[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
16 /** \file BoolValue.h
17  *  \ingroup expressions
18  */
19
20 #if !defined _BOOLVALUE_H
21 #define _BOOLVALUE_H
22
23 #include "Value.h"
24
25 /**
26  *      Smart Boolean Value class.
27  * Is used by parser when an expression tree is build containing booleans.
28  */
29
30 class CBoolValue : public CPropValue  
31 {
32
33         //PLUGIN_DECLARE_SERIAL(CBoolValue,CValue)      
34
35 public:
36         static const STR_String sTrueString;
37         static const STR_String sFalseString;
38
39         CBoolValue();
40         CBoolValue(bool inBool);
41         CBoolValue(bool innie, const char *name, AllocationTYPE alloctype = CValue::HEAPVALUE);
42
43         virtual const STR_String& GetText();
44         virtual double          GetNumber();
45         bool                            GetBool();
46         virtual void            SetValue(CValue* newval);
47         
48         virtual CValue*         Calc(VALUE_OPERATOR op, CValue *val);
49         virtual CValue*         CalcFinal(VALUE_DATA_TYPE dtype, VALUE_OPERATOR op, CValue *val);
50         
51         void                            Configure(CValue* menuvalue);
52         virtual CValue*         GetReplica();
53 #ifdef WITH_PYTHON
54         virtual PyObject*       ConvertValueToPython();
55 #endif
56
57 private:
58         bool                            m_bool;
59
60
61 #ifdef WITH_CXX_GUARDEDALLOC
62 public:
63         void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:CBoolValue"); }
64         void operator delete( void *mem ) { MEM_freeN(mem); }
65 #endif
66 };
67
68 #endif // !defined _BOOLVALUE_H
69