00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef RU_ALGORITHM_TEMPLATES_H
00023 #define RU_ALGORITHM_TEMPLATES_H
00024
00025 class TIL_TileList;
00026 class RU_Algorithm;
00027 class TIL_Region;
00028
00029 template<class Type, int fast> class RU_GeneratorOp
00030 {
00031 public:
00032 RU_GeneratorOp(RU_Algorithm *alg) : myAlg(alg) { ; }
00033 virtual ~RU_GeneratorOp() { ; }
00034
00035 virtual int generate(TIL_TileList * , float ,
00036 int , void * ) { return 0; }
00037
00038 protected:
00039 RU_Algorithm *myAlg;
00040 };
00041
00042
00043
00044
00045 template<class Type, int fast> class RU_PixelOp
00046 {
00047 public:
00048 RU_PixelOp(RU_Algorithm *alg) : myAlg(alg) { ; }
00049 virtual ~RU_PixelOp() { ; }
00050
00051 virtual int pixelAdjust(TIL_TileList * ,
00052 const TIL_TileList * ,
00053 float , int , void * )
00054 { return 0; }
00055
00056 protected:
00057 RU_Algorithm *myAlg;
00058 };
00059
00060
00061
00062 template<class Type, int fast> class RU_FilterOp
00063 {
00064 public:
00065 RU_FilterOp(RU_Algorithm *alg) : myAlg(alg) { ; }
00066 virtual ~RU_FilterOp() { ; }
00067
00068 virtual int filter(TIL_TileList * ,
00069 const TIL_Region * ,
00070 float , int , void * )
00071 { return 0; }
00072
00073 virtual int filter(TIL_Region * ,
00074 const TIL_Region * ,
00075 float , int , void * )
00076 { return 0; }
00077
00078
00079 protected:
00080 RU_Algorithm *myAlg;
00081 };
00082
00083
00084
00085
00086 template<class Type,int fast> class RU_BinaryOp
00087 {
00088 public:
00089 RU_BinaryOp(RU_Algorithm *alg) : myAlg(alg) { ; }
00090 virtual ~RU_BinaryOp() { ; }
00091
00092 virtual int binary(TIL_TileList * , const TIL_Region * ,
00093 const TIL_Region * , float ,
00094 int , void * ) { return 0; }
00095
00096 virtual int binary(TIL_Region * , const TIL_Region * ,
00097 const TIL_Region * , float ,
00098 int , void * ) { return 0; }
00099 protected:
00100 RU_Algorithm *myAlg;
00101 };
00102
00103
00104 #endif