00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxNeighbFunctorTem_h
00012 #define HxNeighbFunctorTem_h
00013
00014 #include "HxNeighbFunctorTable.h"
00015 #include "HxPoint.h"
00016 #include "HxValueList.h"
00017
00019 template <class ArgType, class ResType>
00020 class HxNeighbFunctorTem
00021 {
00022 public:
00024 HxNeighbFunctorTem(HxString name);
00025
00026 virtual ~HxNeighbFunctorTem();
00027
00029 virtual void init() = 0;
00030
00032 virtual void next(ArgType pixV, ArgType maskV, HxPoint p) = 0;
00033
00035 virtual ResType result() = 0;
00036
00038 virtual int hasPhase2();
00039
00041 virtual void init2();
00042
00044 virtual void next2(ArgType pixV, ArgType maskV, HxPoint p);
00045
00047 virtual ResType result2();
00048 private:
00049 HxNeighbFunctorTem();
00050 HxString _name;
00051 };
00052
00053 #ifdef INC_TEMPLATE_SRC
00054 #include "HxNeighbFunctorTem.c"
00055 #endif
00056
00057 #endif