00001 #ifndef __ICMultiImageOp__
00002 #define __ICMultiImageOp__
00003
00022 #include <stdio.h>
00023
00024 #include "AnImageOp.hpp"
00025 #include "C3CImage.hpp"
00026
00027 class ICMultiImageOp : public AnImageOp
00028 {
00029 protected:
00030
00031 bool fullColor;
00032
00033 int iterations;
00034
00035 int ctype;
00036
00037 protected:
00038
00039
00040
00041 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00042 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0)
00043 { return greyFilter(src,dest); }
00044
00045
00046
00047 virtual C3CImage* scolorFilter(C3CImage* src, C3CImage* dest=0);
00048 virtual C3CImage* scolorSelectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0)
00049 { return scolorFilter(src,dest); }
00050
00051
00052
00053
00054 virtual C3CImage* fcolorFilter(C3CImage* src, C3CImage* dest=0);
00055 virtual C3CImage* fcolorSelectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0)
00056 { return fcolorFilter(src,dest); }
00057
00058 public:
00059 ICMultiImageOp(int iter=50, bool colorFlag= false):AnImageOp()
00060 {fullColor= colorFlag; iterations= iter; ctype=0; }
00061 virtual ~ICMultiImageOp(){}
00062
00063 virtual void setOutType(int outType){ ctype= outType; }
00064 virtual int getOutType(){ return ctype; }
00065
00066
00067 virtual void setIterations(int i){ iterations=i;}
00068
00069 virtual AnImage* filter(AnImage* src, AnImage* dest=0);
00070 virtual AnImage* selectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00071
00072 virtual void report(FILE* file){}
00073 };
00074
00075
00076 #endif