00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxImgFtorNgb2dExtra_h
00010 #define HxImgFtorNgb2dExtra_h
00011
00012 #include "HxSizes.h"
00013 #include "HxImgFtorNgbExtraKey.h"
00014 #include "HxImgFtorI3Cast.h"
00015
00016 #include "HxTagList.h"
00017
00018
00030 template <class DstImgSigT, class SrcImgSigT, class ExtraImgSigT, class NgbT>
00031 class L_HXIMAGEREP HxImgFtorNgb2dExtra
00032 : public HxImgFtorI3Cast<DstImgSigT, SrcImgSigT, ExtraImgSigT>
00033 {
00034 public:
00035
00037 typedef HxImgFtorNgbExtraKey KeyType;
00038
00040 HxImgFtorNgb2dExtra();
00041
00043 virtual ~HxImgFtorNgb2dExtra();
00044
00046 virtual bool probeOp(HxTagList &tags) const;
00047
00048 protected:
00049
00058 virtual void doIt(
00059 Img1DataPtrType dstPtr, Img2DataPtrType srcPtr,
00060 Img3DataPtrType extraPtr,
00061 HxSizes dstSize, HxSizes srcSize, HxSizes extraSize,
00062 HxTagList &tags, HxImgFtorDescription* description = 0);
00063
00064 private:
00065 HxImgFtorNgb2dExtra(const HxImgFtorNgb2dExtra&);
00066 };
00067
00068 #ifdef INC_TEMPLATE_SRC
00069 #include "HxImgFtorNgb2dExtra.c"
00070 #endif
00071
00072 #endif