00001 /*---------------------------------------------------------------------+ 00002 | Library QgarLib, graphics analysis and recognition | 00003 | Copyright (C) 2002 Qgar Project, LORIA | 00004 | | 00005 | This library is free software; you can redistribute it and/or | 00006 | modify it under the terms of the GNU Lesser General Public | 00007 | License version 2.1, as published by the Free Software Foundation. | 00008 | | 00009 | This library is distributed in the hope that it will be useful, | 00010 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 00011 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 00012 | See the GNU Lesser General Public License for more details. | 00013 | | 00014 | The GNU Lesser General Public License is included in the file | 00015 | LICENSE.LGPL, in the root directory of the Qgar packaging. See | 00016 | http://www.gnu.org/licenses/lgpl.html for the terms of the licence. | 00017 | To receive a paper copy, write to the Free Software Foundation, | 00018 | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. | 00019 | | 00020 | Contact Project Qgar for any information: | 00021 | LORIA - équipe Qgar | 00022 | B.P. 239, 54506 Vandoeuvre-lès-Nancy Cedex, France | 00023 | email: qgar-contact@loria.fr | 00024 | http://www.qgar.org/ | 00025 *---------------------------------------------------------------------*/ 00026 00027 00028 #ifndef __ABSTRACTMULTIIMAGE_H_INCLUDED__ 00029 #define __ABSTRACTMULTIIMAGE_H_INCLUDED__ 00030 00031 00032 /** 00033 * @file AbstractMultiImage.H 00034 * @brief Header file of class qgar::AbstractMultiImage. 00035 * 00036 * @author <a href="mailto:qgar-develop@loria.fr?subject=Qgar fwd Gérald Masini">Gérald Masini</a> 00037 * @date April 25, 2003 14:43 00038 * @since Qgar 2.1 00039 */ 00040 00041 00042 // For RCS/CVS use: Do not delete 00043 /* $Id: AbstractMultiImage.H,v 1.10 2005/10/14 17:05:45 masini Exp $ */ 00044 00045 00046 00047 namespace qgar 00048 { 00049 00050 /** 00051 * @ingroup DS_IMG 00052 * 00053 * @class AbstractMultiImage AbstractMultiImage.H "qgarlib/AbstractMultiImage.H" 00054 * 00055 * @brief Root class for classes defining multi-layered images. 00056 * 00057 * Just an empty abstract class to group such classes together in 00058 * the same subtree of the inheritance hierarchy. 00059 */ 00060 class AbstractMultiImage 00061 { 00062 // ------------------------------------------------------------------- 00063 // P U B L I C M E M B E R S 00064 // ------------------------------------------------------------------- 00065 public: 00066 00067 /** @name Destructor */ 00068 // ========== 00069 //@{ 00070 00071 /** 00072 * @brief Virtual destructor. 00073 */ 00074 virtual ~AbstractMultiImage(); 00075 00076 //@} 00077 00078 00079 /** @name Access to image characteristics */ 00080 // =============================== 00081 //@{ 00082 00083 /** 00084 * @brief Get the image width. 00085 */ 00086 inline int width() const; 00087 00088 /** 00089 * @brief Get the image height. 00090 */ 00091 inline int height() const; 00092 00093 //@} 00094 00095 00096 /** @name Operators */ 00097 // ========= 00098 //@{ 00099 00100 /** 00101 * @brief Assign given image to current image. 00102 * @param anImg image to assign to the current image 00103 */ 00104 AbstractMultiImage& operator=(const AbstractMultiImage& anImg); 00105 00106 //@} 00107 00108 // ------------------------------------------------------------------- 00109 // P R O T E C T E D M E M B E R S 00110 // ------------------------------------------------------------------- 00111 protected: 00112 00113 // ============================================ 00114 /** @name Constructors 00115 Constructors belong to the protected section 00116 so that the class cannot be instantiated. 00117 */ 00118 // ============================================ 00119 //@{ 00120 00121 /** 00122 * @brief Default constructor: Set <b>0</b> to width and height. 00123 * 00124 * The constructor belongs to the protected section 00125 * so that the class cannot be instantiated. 00126 */ 00127 AbstractMultiImage(); 00128 00129 /** 00130 * @brief Copy constructor. 00131 * 00132 * @param anImg image to be copied 00133 */ 00134 AbstractMultiImage(const AbstractMultiImage& anImg); 00135 00136 /** 00137 * @brief Initialize with given width and height. 00138 * 00139 * @param aWidth width of the image (in pixels) 00140 * @param aHeight height of the image (in pixels) 00141 */ 00142 AbstractMultiImage(unsigned int aWidth, unsigned int aHeight); 00143 00144 //@} 00145 00146 00147 /** @name Representation of an image */ 00148 // ========================== 00149 //@{ 00150 00151 /** 00152 * @brief Width of the image. 00153 */ 00154 int _width; 00155 00156 /** 00157 * @brief Height of the image. 00158 */ 00159 int _height; 00160 00161 //@} 00162 00163 // ------------------------------------------------------------------- 00164 }; // class AbstractMultiImage 00165 00166 00167 00168 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00169 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00170 // I N L I N E F U N C T I O N S I M P L E M E N T A T I O N 00171 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00172 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00173 00174 00175 // ACCESS TO IMAGE CHARACTERISTICS 00176 // =============================== 00177 00178 00179 // GET THE IMAGE WIDTH 00180 00181 inline int 00182 AbstractMultiImage::width() const 00183 { 00184 return _width; 00185 } 00186 00187 00188 // GET THE IMAGE HEIGHT 00189 00190 inline int 00191 AbstractMultiImage::height() const 00192 { 00193 return _height; 00194 } 00195 00196 00197 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00198 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00199 00200 00201 } // namespace qgar 00202 00203 00204 #endif /* __ABSTRACTMULTIIMAGE_H_INCLUDED__ */