Blender V2.61 - r43446

Operator1Expr.h

Go to the documentation of this file.
00001 /*
00002  * Operator1Expr.h: interface for the COperator1Expr class.
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 
00019 #if !defined(AFX_OPERATOR1EXPR_H__A1653901_BF41_11D1_A51C_00A02472FC58__INCLUDED_)
00020 #define AFX_OPERATOR1EXPR_H__A1653901_BF41_11D1_A51C_00A02472FC58__INCLUDED_
00021 
00022 #include "Expression.h"
00023 
00024 class COperator1Expr : public CExpression  
00025 {
00026     //PLUGIN_DECLARE_SERIAL_EXPRESSION (COperator1Expr,CExpression)
00027 
00028 
00029 
00030 public:
00031     virtual bool MergeExpression(CExpression* otherexpr);
00032     virtual void BroadcastOperators(VALUE_OPERATOR op);
00033 
00034     virtual unsigned char GetExpressionID() { return COPERATOR1EXPRESSIONID;};
00035     CExpression* CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks);
00036     //virtual bool IsInside(float x,float y,float z,bool bBorderInclude = true);
00037     virtual bool NeedsRecalculated();
00038     void ClearModified() {
00039         if (m_lhs)
00040             m_lhs->ClearModified();
00041     }
00042     virtual CValue* Calculate();
00043     COperator1Expr(VALUE_OPERATOR op, CExpression *lhs);
00044     COperator1Expr();
00045     virtual ~COperator1Expr();
00046     
00047     
00048     
00049 private:
00050     VALUE_OPERATOR m_op;
00051     CExpression * m_lhs;
00052 
00053 
00054 #ifdef WITH_CXX_GUARDEDALLOC
00055 public:
00056     void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:COperator1Expr"); }
00057     void operator delete( void *mem ) { MEM_freeN(mem); }
00058 #endif
00059 };
00060 
00061 #endif // !defined(AFX_OPERATOR1EXPR_H__A1653901_BF41_11D1_A51C_00A02472FC58__INCLUDED_)
00062