code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo...
[blender-staging.git] / source / gameengine / Expressions / FloatValue.h
1 /*
2  * FloatValue.h: interface for the CFloatValue 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 FloatValue.h
16  *  \ingroup expressions
17  */
18
19 #ifndef __FLOATVALUE_H__
20 #define __FLOATVALUE_H__
21
22 #include "Value.h"
23
24 class CFloatValue : public CPropValue 
25 {
26         //PLUGIN_DECLARE_SERIAL (CFloatValue,CValue)
27 public:
28         CFloatValue();
29         CFloatValue(float fl);
30         CFloatValue(float fl,const char *name,AllocationTYPE alloctype=CValue::HEAPVALUE);
31
32         virtual const STR_String & GetText();
33
34         void Configure(CValue* menuvalue);
35         virtual double GetNumber();
36         virtual void SetValue(CValue* newval);
37         float GetFloat();
38         void SetFloat(float fl);
39         virtual ~CFloatValue();
40         virtual CValue* GetReplica();
41         virtual CValue* Calc(VALUE_OPERATOR op, CValue *val);
42         virtual CValue* CalcFinal(VALUE_DATA_TYPE dtype, VALUE_OPERATOR op, CValue *val);
43 #ifdef WITH_PYTHON
44         virtual PyObject*       ConvertValueToPython();
45 #endif
46
47 protected:
48         float m_float;
49         STR_String* m_pstrRep;
50
51
52 #ifdef WITH_CXX_GUARDEDALLOC
53         MEM_CXX_CLASS_ALLOC_FUNCS("GE:CFloatValue")
54 #endif
55 };
56
57 #endif  /* __FLOATVALUE_H__ */