00001 #ifndef __AbsRImageFlow__ 00002 #define __AbsRImageFlow__ 00003 00004 00005 00024 #include <stdio.h> 00025 00026 #include "AnImage.hpp" 00027 #include "RImage.hpp" 00028 00029 #include "AbsLimiter.hpp" 00030 00031 class AbsRImageFlow 00032 { 00033 protected: 00034 00035 AbsLimiter* limiter; 00036 00037 public: 00038 00039 AbsRImageFlow(){limiter=0;} 00040 virtual ~AbsRImageFlow(){} 00041 00042 virtual AbsLimiter* getLimiter(){return limiter;} 00043 virtual void setLimiter(AbsLimiter* alimiter){ limiter= alimiter; } 00044 00045 virtual void setTime(int atime){} 00046 virtual double getTime(){return 1.0;} 00047 00049 00054 virtual double flow(RImage& image, int x, int y)=0; 00055 virtual double flow(RImage& image0, RImage& imSmooth, int x, int y) 00056 { return flow(image0, x, y); } 00057 00058 virtual void report(FILE* file){} 00059 }; 00060 00061 00062 #endif