Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

ConstExpr.h

Go to the documentation of this file.
00001 // ConstExpr.h: interface for the CConstExpr class.
00002 /*
00003  * Copyright (c) 1996-2000 Erwin Coumans <coockie@acm.org>

00004  *
00005  * Permission to use, copy, modify, distribute and sell this software

00006  * and its documentation for any purpose is hereby granted without fee,

00007  * provided that the above copyright notice appear in all copies and

00008  * that both that copyright notice and this permission notice appear

00009  * in supporting documentation.  Erwin Coumans makes no

00010  * representations about the suitability of this software for any

00011  * purpose.  It is provided "as is" without express or implied warranty.

00012  *
00013  */
00014 
00015 #ifndef __CONSTEXPR_H__
00016 #define __CONSTEXPR_H__
00017 
00018 #include "Expression.h"
00019 #include "Value.h"      // Added by ClassView
00020 
00021 class CConstExpr : public CExpression  
00022 {
00023         //PLUGIN_DECLARE_SERIAL_EXPRESSION (CConstExpr,CExpression)
00024 public:
00025         virtual bool MergeExpression(CExpression* otherexpr);
00026         
00027         void BroadcastOperators(VALUE_OPERATOR op);
00028 
00029         virtual unsigned char GetExpressionID() { return CCONSTEXPRESSIONID;};
00030         CExpression*    CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks);
00031         //bool IsInside(float x,float y,float z,bool bBorderInclude=true);
00032         bool NeedsRecalculated();
00033         void ClearModified() { 
00034                 if (m_value) {
00035                         m_value->SetModified(false);
00036                         m_value->SetAffected(false);
00037                 }
00038         }
00039         virtual float GetNumber() { return -1;};
00040         virtual CValue* Calculate();
00041         CConstExpr(CValue* constval);
00042         CConstExpr() {};
00043         virtual ~CConstExpr();
00044                         
00045 
00046 private:
00047         CValue* m_value;
00048 };
00049 
00050 #endif // !defined(AFX_CONSTEXPR_H__061ECFC3_BE87_11D1_A51C_00A02472FC58__INCLUDED_)

Generated at Thu Feb 1 13:03:01 2001 for Ketsji Game Engine by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000