VedaLibImage/ProceduralImage.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_ProceduralImage_H
00006 #define COM_M4NKIND_ProceduralImage_H
00007 
00008 #include "GreyImage2nSquareSized.h"
00009 #include "PackULong_RandomSeed.h"
00010 #include "PackLong_WithLimits.h"
00011 
00012 /*!
00013     \class  ProceduralImage
00014     \ingroup BaseObjectInherited_VedaLibImage BaseObjectInheritedDocGroup
00015     \brief  Virtual Base class for procedural Images. It manages a random number,
00016             and serialize its editable random seed number, which defines the whole shape.
00017 */
00018 
00019 class ProceduralImage : public GreyImage2nSquareSized
00020 {
00021 /*==================================================================
00022                                 PUBLIC
00023 ==================================================================*/
00024 public:
00025     /*!
00026         \brief  Constructor. There should only be members initialisation there.
00027     */
00028     ProceduralImage(void);
00029 
00030     /*!
00031         \brief  Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp
00032     */
00033     BASEOBJECT_DEFINE_VIRTUALCLASS(ProceduralImage);
00034 
00035 /*==================================================================
00036                                 PROTECTED
00037 ==================================================================*/
00038 protected:
00039     //! the random Seed that decide the form of the whole procedural generation:
00040     PackULong_RandomSeed    mSer_RandomSeed;
00041 
00042     //! a value defining the general recursion force of the algorythm used:
00043     PackLong_WithLimits     mSer_Recursion;
00044     /*!
00045         \brief  Method that really build the object using the serializable parameters.
00046                 For the virtual ProceduralImage class, it reset a random seed number which defines a shape.
00047                 the superclass VirtualImage allocates the image memory.
00048                 Close() should close everything opened by Create().
00049     */
00050     virtual bool CreateInternal(void);
00051 
00052 };
00053 
00054 #endif

      /\/\        4         N         k         !         N         D
                      _______  _ __ ___  _____            ___ _ _  ____
     ___________  __//___   /________  |/    / ___________\_______/    \
    /   _   _   \/   _     /    _   /      _/_/____/    _       __     /
   /    /   /       /     /    /    \      \/     /    /    \   \     /
  \\___/___/___/    ¯    _____/_____/       ______\___/_____/\________\\
               \________/_ ___ __ l____\      /elD!  
                 http://www.m4nkind.com \____/