00001 #ifndef COM_M4NKIND_Image2DEffectFire_H 00002 #define COM_M4NKIND_Image2DEffectFire_H 00003 00004 #include "VirtualImage.h" 00005 #include "PackObjectReference.h" 00006 #include "PackULong_Flags.h" 00007 #include "PackLong_WithLimits.h" 00008 #include "PackULong_Enums.h" 00009 #include "PackList.h" 00010 /*! 00011 \class Image2DEffectFire 00012 \ingroup BaseObjectInherited_VedaLibDemo 00013 \brief Image that mix images of any size or color depth into a new RGBA one. 00014 it uses a layer list by source image. Each layers can affect a color channel, 00015 it can use a HSV->RGB mixer and manages alpha channel. 00016 */ 00017 00018 class Image2DEffectFire : public VirtualImage 00019 { 00020 /*================================================================== 00021 PUBLIC 00022 ==================================================================*/ 00023 public: 00024 /*! 00025 \brief Constructor. There should only be members initialisation there. 00026 */ 00027 Image2DEffectFire(void); 00028 00029 /*! 00030 \brief Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp 00031 */ 00032 BASEOBJECT_DEFINE_CLASS(Image2DEffectFire); 00033 00034 /*! 00035 \brief Return the number of byte component for one pixel. 00036 This one is no more a virtual method. 00037 */ 00038 virtual unsigned int GetByteDepth(){ return(4); }; 00039 /*! 00040 \brief Return the pixel width of the image 00041 */ 00042 virtual unsigned int GetPixelWidth(); 00043 /*! 00044 \brief Return the pixel height of the image 00045 */ 00046 virtual unsigned int GetPixelHeight(); 00047 /* 00048 \brief If IsTimeDynamic() is true, this image can change with time. 00049 You have to use UpdateToFrame()to make the image change to a given date. 00050 by default, UpdateToFrame() does nothing. 00051 \param _framedate time in seconds. 00052 */ 00053 virtual void UpdateToFrame(float _framedate); 00054 00055 /*================================================================== 00056 PROTECTED 00057 ==================================================================*/ 00058 protected: 00059 //! the square 2n pixel size: 00060 PackLong_WithLimits mSer_2nPixelWidth; 00061 //! the square 2n pixel size: 00062 PackLong_WithLimits mSer_2nPixelHeight; 00063 // ! we need a second buffer for double buffer. 00064 float *m_pBitmap1Alloc; 00065 // ! the swap buffers 00066 float *m_pDblBuf1; 00067 // ! the swap buffers 00068 float *m_pDblBuf2; 00069 //! randomval 00070 unsigned int m_randomval; 00071 00072 /*! 00073 \brief Method that really build the object using the serializable parameters. 00074 */ 00075 virtual bool CreateInternal(void); 00076 #ifdef _ENGINE_EDITABLE_ 00077 /*! 00078 \brief that closes everything. Still, the object exist and can be rebuild the same using Create() 00079 */ 00080 virtual void CloseInternal(void); 00081 #endif 00082 }; 00083 00084 #endif
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/