code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo...
[blender-staging.git] / source / gameengine / Expressions / IntValue.h
1 /*
2  * IntValue.h: interface for the CIntValue class.
3  * Copyright (c) 1996-2000 Erwin Coumans <coockie@acm.org>
4  *
5  * Permission to use, copy, modify, distribute and sell this software
6  * and its documentation for any purpose is hereby granted without fee,
7  * provided that the above copyright notice appear in all copies and
8  * that both that copyright notice and this permission notice appear
9  * in supporting documentation.  Erwin Coumans makes no
10  * representations about the suitability of this software for any
11  * purpose.  It is provided "as is" without express or implied warranty.
12  *
13  */
14
15 /** \file IntValue.h
16  *  \ingroup expressions
17  */
18
19 #ifndef __INTVALUE_H__
20 #define __INTVALUE_H__
21
22
23 #include "Value.h"
24
25 typedef long long cInt; 
26
27 class CIntValue : public CPropValue  
28 {
29         //PLUGIN_DECLARE_SERIAL (CIntValue,CValue)
30
31 public:
32         virtual const STR_String& GetText();
33         virtual double                  GetNumber();
34         
35         cInt GetInt();
36         CIntValue();
37         CIntValue(cInt innie);
38         CIntValue(cInt innie,
39                   const char *name,
40                   AllocationTYPE alloctype=CValue::HEAPVALUE);
41         
42         virtual CValue* Calc(VALUE_OPERATOR op,
43                                                  CValue *val);
44
45         virtual CValue* CalcFinal(VALUE_DATA_TYPE dtype,
46                                                           VALUE_OPERATOR op,
47                                                           CValue *val);
48
49         virtual void    SetValue(CValue* newval);
50
51         void                    Configure(CValue* menuvalue);
52         void                    AddConfigurationData(CValue* menuvalue);
53         virtual CValue* GetReplica();
54
55 #ifdef WITH_PYTHON
56         virtual PyObject*       ConvertValueToPython();
57 #endif
58
59 protected:
60         virtual                 ~CIntValue();
61
62 private:
63         cInt                    m_int;
64         STR_String*             m_pstrRep;
65
66
67 #ifdef WITH_CXX_GUARDEDALLOC
68         MEM_CXX_CLASS_ALLOC_FUNCS("GE:CIntValue")
69 #endif
70 };
71
72 #endif  /* __INTVALUE_H__ */