00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef HxImgFtorKernelNgb2d_h
00011 #define HxImgFtorKernelNgb2d_h
00012
00013 #include "HxSizes.h"
00014 #include "HxImgFtorKernelNgbKey.h"
00015 #include "HxImgFtorI3Cast.h"
00016
00017 #include "HxTagList.h"
00018
00019
00031 template <class DstImgSigT, class SrcImgSigT, class KerImgSigT, class NgbT>
00032 class L_HXIMAGEREP HxImgFtorKernelNgb2d
00033 : public HxImgFtorI3Cast<DstImgSigT, SrcImgSigT, KerImgSigT>
00034 {
00035 public:
00036
00038 typedef HxImgFtorKernelNgbKey KeyType;
00039
00041 HxImgFtorKernelNgb2d();
00042
00044 virtual ~HxImgFtorKernelNgb2d();
00045
00047 virtual bool probeOp(HxTagList &tags) const;
00048
00049 protected:
00050
00059 virtual void doIt(
00060 Img1DataPtrType dstPtr, Img2DataPtrType srcPtr,
00061 Img3DataPtrType kerPtr,
00062 HxSizes dstSize, HxSizes srcSize, HxSizes kerSize,
00063 HxTagList &tags, HxImgFtorDescription* description = 0);
00064
00065 private:
00066 HxImgFtorKernelNgb2d(const HxImgFtorKernelNgb2d&);
00067 };
00068
00069 #ifdef INC_TEMPLATE_SRC
00070 #include "HxImgFtorKernelNgb2d.c"
00071 #endif
00072
00073 #endif