Blender V2.61 - r43446

EmptyValue.h

Go to the documentation of this file.
00001 /*
00002  * EmptyValue.h: interface for the CEmptyValue 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 _EMPTYVALUE_H
00020 #define _EMPTYVALUE_H
00021 
00022 #include "Value.h"
00023 
00024 class CListValue;
00025 
00026 class CEmptyValue : public CPropValue  
00027 {
00028     //PLUGIN_DECLARE_SERIAL (CEmptyValue,CValue)
00029 public:
00030     CEmptyValue();
00031     virtual                 ~CEmptyValue();
00032 
00033     virtual const STR_String &  GetText();
00034     virtual double          GetNumber();
00035     CListValue*             GetPolySoup();
00036     virtual double*         GetVector3(bool bGetTransformedVec=false);
00037     bool                    IsInside(CValue* testpoint,bool bBorderInclude=true);
00038     CValue *                Calc(VALUE_OPERATOR op, CValue *val);
00039     CValue *                CalcFinal(VALUE_DATA_TYPE dtype, VALUE_OPERATOR op, CValue *val);
00040     virtual CValue*         GetReplica();
00041 
00042 
00043 #ifdef WITH_CXX_GUARDEDALLOC
00044 public:
00045     void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:CEmptyValue"); }
00046     void operator delete( void *mem ) { MEM_freeN(mem); }
00047 #endif
00048 };
00049 
00050 #endif // !defined _EMPTYVALUE_H
00051