00001 #ifndef _AnImageAdaptor_H
00002 #define _AnImageAdaptor_H
00003
00004 #include <stdio.h>
00005
00006
00007
00026 #include "AnImage.hpp"
00027
00028 class AnImageAdaptor
00029 {
00030 protected:
00031
00032 AnImage* image;
00033 int width0, height0;
00034
00035 public:
00036
00037 AnImageAdaptor(AnImage* animage=0)
00038 {
00039 image= animage;
00040 width0=height0=0;
00041 if( image != 0 ){width0= image->getWidth(); height0= image->getHeight();}
00042 }
00043 virtual ~AnImageAdaptor(){ image= 0; }
00044
00045 void set(AnImage* im)
00046 {
00047 image= im;
00048 width0=height0=0;
00049 if( image != 0 ){width0= image->getWidth(); height0= image->getHeight();}
00050 }
00051
00052 int getWidth(){ return width0; }
00053 int getHeight(){ return height0; }
00054 int getChannels(){ return image->getChannels(); }
00055 int getChannelDepth(){ return image->getPower2MaxRangeBoundary(); }
00056
00057 virtual int get(int x, int y, int c=0){ return image->get(c,x,y); }
00058
00059 virtual int igetR(double x, double y, int c=0)=0;
00060 virtual double getR(double x, double y, int c=0)=0;
00061 };
00062
00063 #endif