VedaLibImage/PerlinNoiseImage.h

Go to the documentation of this file.
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 \____/