00001 /*! \file 00002 \author victorien ferry & www.m4nkind.com 00003 \brief This file applies the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 , read file COPYING. 00004 */ 00005 #ifndef COM_M4NKIND_PerlinNoiseImage_H 00006 #define COM_M4NKIND_PerlinNoiseImage_H 00007 00008 #include "ProceduralImage.h" 00009 00010 /*! 00011 \class PerlinNoiseImage 00012 \ingroup BaseObjectInherited_VedaLibImage BaseObjectInheritedDocGroup 00013 \brief Class able to build a grey, 2n-pixelSized, perlin noise Image 00014 */ 00015 00016 class PerlinNoiseImage : public ProceduralImage 00017 { 00018 /*================================================================== 00019 PUBLIC 00020 ==================================================================*/ 00021 public: 00022 /*! 00023 \brief Constructor. There should only be members initialisation there. 00024 */ 00025 PerlinNoiseImage(void); 00026 00027 /*! 00028 \brief Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp 00029 */ 00030 BASEOBJECT_DEFINE_CLASS(PerlinNoiseImage); 00031 00032 00033 /*================================================================== 00034 PROTECTED 00035 ==================================================================*/ 00036 protected: 00037 00038 /*! 00039 \brief Method that really build the object using the serializable parameters. 00040 Close() should close everything opened by Create(). 00041 It uses a faaast fractal-building perlin noise algorithm: all pixels 00042 are written Once, and 1 bitmap is used. 00043 \return false if creation failed. 00044 */ 00045 virtual bool CreateInternal(void); 00046 private: 00047 unsigned char GetPerlinMergeRandom( int vv, unsigned char uforce ); 00048 }; 00049 00050 #endif
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/