Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxImgFtorIMCast.h

00001 /*
00002  *  Copyright (c) 1999, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Jan-Mark Geusebroek     (mark@wins.uva.nl)
00007  *  Edo Poll                (poll@wins.uva.nl)
00008  *  Marc Navarro            (mnavarro@wins.uva.nl)
00009  *  Dennis Koelma           (koelma@wins.uva.nl)
00010  */
00011 
00012 #ifndef HxImgFtorIMCast_h
00013 #define HxImgFtorIMCast_h
00014 
00015 #include "HxSizes.h"
00016 #include "HxImgFtorIMCastKey.h"
00017 #include "HxImgFtorIM.h"
00018 #include "HxDataPtrArray.h"
00019 
00020 #include "HxTagList.h"
00021 
00022 class HxImageData;
00023 
00024 
00028 template <class DstImgSigT, class SrcImgsSigT>
00029 class L_HXIMAGEREP HxImgFtorIMCast : public HxImgFtorIM
00030 {
00031 
00032 public:
00033     
00035     typedef HxImgFtorIMCastKey      KeyType;
00036 
00038     typedef typename DstImgSigT::DataPtrType DstDataPtrType;
00039 
00041     typedef typename SrcImgsSigT::DataPtrType SrcDataPtrType;
00042 
00044     typedef HxDataPtrArray<SrcImgsSigT> SrcDataPtrArray;
00045 
00047                     HxImgFtorIMCast(const KeyType&);
00048 
00050     virtual         ~HxImgFtorIMCast();
00051     
00053     virtual void    callIt(HxImageData* dstImg, HxImageData** srcImgs, 
00054                            const int nImgs,
00055                            HxTagList &tags);
00056 
00057 protected:
00059     virtual void    doIt(DstDataPtrType dstPtr, SrcDataPtrArray& srcPtrs, 
00060                          HxSizes dstSize, HxSizes srcSize, HxTagList &tags,
00061                          HxImgFtorDescription* description = 0) = 0;
00062 
00063 private:
00064                     HxImgFtorIMCast();
00065                     HxImgFtorIMCast(const HxImgFtorIMCast&);
00066 };
00067 
00068 template <class DstImgSigT, class SrcImgsSigT>
00069 inline
00070 HxImgFtorIMCast<DstImgSigT, SrcImgsSigT>::HxImgFtorIMCast(const KeyType& key)
00071             : HxImgFtorIM(key){}
00072 
00073 #ifdef INC_TEMPLATE_SRC
00074 #include "HxImgFtorIMCast.c"
00075 #endif
00076 
00077 #endif

Generated on Tue Jan 8 13:59:14 2002 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001