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
00023 template <class DstImgSigT, class SrcImgSigT, class KerImgSigT, class NgbT>
00024 class L_HXIMAGEREP HxImgFtorKernelNgb2d
00025 : public HxImgFtorI3Cast<DstImgSigT, SrcImgSigT, KerImgSigT>
00026 {
00027
00028 public:
00029
00031 typedef HxImgFtorKernelNgbKey KeyType;
00032
00034 typedef typename SrcImgSigT::DataPtrType SrcDataPtrType;
00035
00037 typedef typename KerImgSigT::DataPtrType KerDataPtrType;
00038
00039
00041 HxImgFtorKernelNgb2d();
00042
00044 virtual ~HxImgFtorKernelNgb2d();
00045
00047 virtual HxSizes minimumBorderSize(HxTagList &tags) const;
00048
00049 protected:
00051 virtual void doIt(
00052 DstDataPtrType dstPtr, SrcDataPtrType srcPtr,
00053 KerDataPtrType kerPtr,
00054 HxSizes dstSize, HxSizes srcSize, HxSizes kerSize,
00055 HxTagList &tags, HxImgFtorDescription* = 0);
00056
00057 private:
00058 HxImgFtorKernelNgb2d(const HxImgFtorKernelNgb2d&);
00059 };
00060
00061 #ifdef INC_TEMPLATE_SRC
00062 #include "HxImgFtorKernelNgb2d.c"
00063 #endif
00064
00065 #endif