fix for building with collada and some other warnings
[blender.git] / source / gameengine / Expressions / IfExpr.h
1 /*
2  * IfExpr.h: interface for the CIfExpr 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 IfExpr.h
17  *  \ingroup expressions
18  */
19
20 #if !defined(AFX_IFEXPR_H__1F691841_C5C7_11D1_A863_0000B4542BD8__INCLUDED_)
21 #define AFX_IFEXPR_H__1F691841_C5C7_11D1_A863_0000B4542BD8__INCLUDED_
22
23 #if defined(_MSC_VER) && _MSC_VER >= 1000
24 #pragma once
25 #endif // _MSC_VER >= 1000
26
27 #include "Expression.h"
28
29 class CIfExpr : public CExpression  
30 {
31         //PLUGIN_DECLARE_SERIAL_EXPRESSION (CIfExpr,CExpression)
32
33 private:
34         CExpression *m_guard, *m_e1, *m_e2;
35
36 public:
37         virtual bool MergeExpression(CExpression* otherexpr);
38         CIfExpr(CExpression *guard, CExpression *e1, CExpression *e2);
39         CIfExpr();
40         
41         virtual unsigned char GetExpressionID();
42         virtual ~CIfExpr();
43         virtual CValue* Calculate();
44         
45         virtual bool            IsInside(float x,float y,float z,bool bBorderInclude=true);
46         virtual bool            NeedsRecalculated();
47
48
49         virtual CExpression*    CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks);
50         virtual void                    ClearModified();
51         virtual void                    BroadcastOperators(VALUE_OPERATOR op);
52
53
54 #ifdef WITH_CXX_GUARDEDALLOC
55 public:
56         void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:CIfExpr"); }
57         void operator delete( void *mem ) { MEM_freeN(mem); }
58 #endif
59 };
60
61 #endif // !defined(AFX_IFEXPR_H__1F691841_C5C7_11D1_A863_0000B4542BD8__INCLUDED_)
62