00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxImgFtorNgb2dExtra2_h
00010 #define HxImgFtorNgb2dExtra2_h
00011
00012 #include "HxSizes.h"
00013 #include "HxImgFtorNgbExtra2Key.h"
00014 #include "HxImgFtorI4Cast.h"
00015
00016 #include "HxTagList.h"
00017
00018
00031 template <class DstImgSigT, class SrcImgSigT, class ExtraImgSigT,
00032 class ExtraImg2SigT, class NgbT>
00033 class L_HXIMAGEREP HxImgFtorNgb2dExtra2
00034 : public HxImgFtorI4Cast<DstImgSigT, SrcImgSigT, ExtraImgSigT, ExtraImg2SigT>
00035 {
00036 public:
00037
00039 typedef HxImgFtorNgbExtra2Key KeyType;
00040
00042 HxImgFtorNgb2dExtra2();
00043
00045 virtual ~HxImgFtorNgb2dExtra2();
00046
00048 virtual bool probeOp(HxTagList &tags) const;
00049
00050 protected:
00051
00061 virtual void doIt(
00062 Img1DataPtrType dstPtr, Img2DataPtrType srcPtr,
00063 Img3DataPtrType extraPtr, Img4DataPtrType extra2Ptr,
00064 HxSizes dstSize, HxSizes srcSize,
00065 HxSizes extraSize, HxSizes extra2Size,
00066 HxTagList &tags, HxImgFtorDescription* description = 0);
00067
00068 private:
00069 HxImgFtorNgb2dExtra2(const HxImgFtorNgb2dExtra2&);
00070 };
00071
00072 #ifdef INC_TEMPLATE_SRC
00073 #include "HxImgFtorNgb2dExtra2.c"
00074 #endif
00075
00076 #endif