Blender  V2.59
EmptyValue.h
Go to the documentation of this file.
00001 /*
00002  * EmptyValue.h: interface for the CEmptyValue class.
00003  * $Id: EmptyValue.h 35063 2011-02-22 10:33:14Z jesterking $
00004  * Copyright (c) 1996-2000 Erwin Coumans <coockie@acm.org>
00005  *
00006  * Permission to use, copy, modify, distribute and sell this software
00007  * and its documentation for any purpose is hereby granted without fee,
00008  * provided that the above copyright notice appear in all copies and
00009  * that both that copyright notice and this permission notice appear
00010  * in supporting documentation.  Erwin Coumans makes no
00011  * representations about the suitability of this software for any
00012  * purpose.  It is provided "as is" without express or implied warranty.
00013  *
00014  */
00015 
00020 #if !defined _EMPTYVALUE_H
00021 #define _EMPTYVALUE_H
00022 
00023 #include "Value.h"
00024 
00025 class CListValue;
00026 
00027 class CEmptyValue : public CPropValue  
00028 {
00029         //PLUGIN_DECLARE_SERIAL (CEmptyValue,CValue)
00030 public:
00031         CEmptyValue();
00032         virtual                                 ~CEmptyValue();
00033 
00034         virtual const STR_String &      GetText();
00035         virtual double                  GetNumber();
00036         CListValue*                             GetPolySoup();
00037         virtual double*                 GetVector3(bool bGetTransformedVec=false);
00038         bool                                    IsInside(CValue* testpoint,bool bBorderInclude=true);
00039         CValue *                                Calc(VALUE_OPERATOR op, CValue *val);
00040         CValue *                                CalcFinal(VALUE_DATA_TYPE dtype, VALUE_OPERATOR op, CValue *val);
00041         virtual CValue*                 GetReplica();
00042 
00043 
00044 #ifdef WITH_CXX_GUARDEDALLOC
00045 public:
00046         void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:CEmptyValue"); }
00047         void operator delete( void *mem ) { MEM_freeN(mem); }
00048 #endif
00049 };
00050 
00051 #endif // !defined _EMPTYVALUE_H
00052