00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxImgFtorGenConv2d_h
00012 #define HxImgFtorGenConv2d_h
00013
00014 #include "HxSizes.h"
00015 #include "HxImgFtorGenConvKey.h"
00016 #include "HxImgFtorI3Cast.h"
00017
00018 #include "HxTagList.h"
00019
00020
00024 template <class DstImgSigT, class SrcImgSigT, class KerImgSigT,
00025 class PixOpT, class RedOpT, class KernelT>
00026 class L_HXIMAGEREP HxImgFtorGenConv2d
00027 : public HxImgFtorI3Cast<DstImgSigT, SrcImgSigT, KerImgSigT>
00028 {
00029
00030 public:
00031
00033 typedef HxImgFtorGenConvKey KeyType;
00034
00036 typedef typename SrcImgSigT::DataPtrType SrcDataPtrType;
00037
00039 typedef typename KerImgSigT::DataPtrType KerDataPtrType;
00040
00041
00043 HxImgFtorGenConv2d();
00044
00046 virtual ~HxImgFtorGenConv2d();
00047
00048 protected:
00049
00051 virtual void doIt(DstDataPtrType dstPtr, SrcDataPtrType srcPtr,
00052 KerDataPtrType kerPtr,
00053 HxSizes dstSize, HxSizes srcSize, HxSizes kerSize,
00054 HxTagList &tags, HxImgFtorDescription* = 0);
00055
00056 private:
00057 HxImgFtorGenConv2d(const HxImgFtorGenConv2d&);
00058 };
00059
00060 #ifdef INC_TEMPLATE_SRC
00061 #include "HxImgFtorGenConv2d.c"
00062 #endif
00063
00064 #endif