00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef HxImgFtorRecNgb2d_h
00011 #define HxImgFtorRecNgb2d_h
00012
00013 #include "HxSizes.h"
00014 #include "HxImgFtorRecNgbKey.h"
00015 #include "HxImgFtorI2Cast.h"
00016
00017 #include "HxTagList.h"
00018
00019
00023 template <class ImgSigT, class KerImgSigT, class PixOpT, class RedOpT>
00024 class L_HXIMAGEREP HxImgFtorRecNgb2d
00025 : public HxImgFtorI2Cast<ImgSigT, KerImgSigT>
00026 {
00027
00028 public:
00029
00031 typedef HxImgFtorRecNgbKey KeyType;
00032
00034 typedef typename ImgSigT::DataPtrType DataPtrType;
00035
00037 typedef typename KerImgSigT::DataPtrType KerDataPtrType;
00038
00039
00041 HxImgFtorRecNgb2d();
00042
00044 virtual ~HxImgFtorRecNgb2d();
00045
00046 protected:
00047
00051 virtual void doIt(
00052 DataPtrType imgPtr, KerDataPtrType kerPtr,
00053 HxSizes imgSize, HxSizes kerSize,
00054 HxTagList &tags, HxImgFtorDescription* = 0);
00055
00056 virtual void recNgb(
00057 DataPtrType imgPtr, KerDataPtrType kerPtr,
00058 HxSizes imgSize, HxSizes kerSize, HxTagList &tags);
00059
00060 virtual void recNgbKx(
00061 DataPtrType imgPtr, KerDataPtrType kerPtr,
00062 HxSizes imgSize, HxSizes kerSize, HxTagList &tags);
00063
00064 virtual void recNgbKy(
00065 DataPtrType imgPtr, KerDataPtrType kerPtr,
00066 HxSizes imgSize, HxSizes kerSize, HxTagList &tags);
00067
00068 private:
00069 HxImgFtorRecNgb2d(const HxImgFtorRecNgb2d&);
00070 };
00071
00072 #ifdef INC_TEMPLATE_SRC
00073 #include "HxImgFtorRecNgb2d.c"
00074 #endif
00075
00076 #endif