/home/neoflo/smb4k/SERVEUR/Millie/trunk/src/ImageMono.hpp

Aller à la documentation de ce fichier.
00001 /******************************************************************************
00002  *       __    _    _   _       _       _   _____                             *
00003  *       | \  / |  | | | |     | |     | |  | ___|                            *
00004  *       |  \/  |  | | | |     | |     | |  | |_                              *
00005  *       |      |  | | | |     | |     | |  |  _|                             *
00006  *       | |\/| |  | | | |__   | |__   | |  | |__                             *
00007  *       |_|  |_|  |_| |____|  |____|  |_|  |____|                            *
00008  * __________________________________________________________________________ *
00009  *                 Multifunctional Library For Image Processing               *
00010  *                                                                            *
00011  *                                                                            *
00012  *                                                                            *
00013  *      (c) Copyright 2007 by Humbert Florent                                 *
00014  *                                                                            *
00015  *      This program is free software; you can redistribute it and/or modify  *
00016  *      it under the terms of the GNU General Public License as published by  *
00017  *      the Free Software Foundation; only version 2 of the License.          *
00018  *                                                                            *
00019  *      This program is distributed in the hope that it will be useful,       *
00020  *      but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00021  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00022  *      GNU General Public License for more details.                          *
00023  *                                                                            *
00024  *      You should have received a copy of the GNU General Public License     *
00025  *      along with this program; if not, write to the Free Software           *
00026  *      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA             *
00027  *      02111-1307, USA.                                                      *
00028  ******************************************************************************/
00029 
00032 #ifndef _IMAGEMONO_HPP_
00033 #define _IMAGEMONO_HPP_
00034 
00035 #include <complex>
00036 
00037 #include "DataBuffer.hpp"
00038 #include "MillieExceptions.hpp"
00039 
00040 
00041 namespace Millie
00042 {
00043 
00050   template<typename T>
00051   class TImageMono
00052   {
00053     protected:
00054 
00058       DataBuffer<T> *  _dataBuffer;
00059 
00063       int _hauteur;
00064 
00068       int _largeur;
00069 
00070     public:
00071 
00076       TImageMono();
00077 
00092       TImageMono(int largeur, int hauteur);
00093 
00099       TImageMono(TImageMono<T>&);
00100 
00104       virtual ~TImageMono();
00105 
00110       TImageMono<T>& operator=(TImageMono<T>& );
00111 
00112 
00120       virtual T  getPixel(int x, int y)  const
00121       {
00122         return (*_dataBuffer)[y * getWidth() + x];
00123       }
00124 
00132       virtual void setPixel(int x, int y, T value)
00133       {
00134         (*_dataBuffer)[y * getWidth() + x] = value;
00135       }
00136 
00144       virtual void addToPixel(int x, int y, T& value)
00145       {
00146         (*_dataBuffer)[y * getWidth() + x] += value;
00147       }
00148 
00154       virtual int getWidth() const;
00155 
00160       virtual int getHeight() const;
00161 
00172       virtual void resize(int taillex, int tailley);
00173 
00174   };
00175 
00176 }
00177 
00178 
00179 
00180 #include "ImageMono.cpp"
00181 
00182 
00183 #endif

Généré le Fri May 18 23:24:33 2007 pour Millie par  doxygen 1.5.1