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