00001
00002
00003 #include "IntImage.h"
00004
00005 IntImage &IntImage::operator&=(const IntImage &img)
00006 {
00007 if((width!=img.width) || (height!=img.height)) {
00008 ERROR("The images have different sizes");
00009 }
00010
00011 try {
00012 Assert<Fatal_error>(img.pixels);
00013 }
00014 catch(Fatal_error e) {e.print("Invalid data");}
00015
00016 for(int i=0;i<getSize();i++)
00017 pixels[0][i] = pixels[0][i] & img.pixels[0][i];
00018
00019 return *this;
00020 }
00021
00022 IntImage &IntImage::operator|=(const IntImage &img)
00023 {
00024 if((width!=img.width) || (height!=img.height)) {
00025 ERROR("The images have different sizes");
00026 }
00027
00028 try {
00029 Assert<Fatal_error>(img.pixels);
00030 }
00031 catch(Fatal_error e) {e.print("Invalid data");}
00032
00033 for(int i=0;i<getSize();i++)
00034 pixels[0][i] = pixels[0][i] | img.pixels[0][i];
00035
00036 return *this;
00037 }
00038
00039 IntImage &IntImage::operator=(Image< int >& img)
00040 {
00041 width = img.getWidth();
00042 height = img.getHeight();
00043 setName(img.getName());
00044 if (img.getWidth()*img.getHeight() != 0)
00045 setPixels(img.getWidth(), img.getHeight(), img.getPixels());
00046 else
00047 pixels = NULL;
00048 return *this;
00049 }