Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxImgFtorI2Cast.h

00001 /*
00002  *  Copyright (c) 1999, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Edo Poll                (poll@wins.uva.nl)
00007  *  Marc Navarro            (mnavarro@wins.uva.nl)
00008  *  Dennis Koelma           (koelma@wins.uva.nl)
00009  */
00010 
00011 #ifndef HxImgFtorI2Cast_h
00012 #define HxImgFtorI2Cast_h
00013 
00014 #include "HxSizes.h"
00015 #include "HxImgFtorI2CastKey.h"
00016 #include "HxImgFtorI2.h"
00017 
00018 #include "HxTagList.h"
00019 
00020 class HxImageData;
00021 
00022 
00026 template <class DstImgSigT, class SrcImgSigT>
00027 class L_HXIMAGEREP HxImgFtorI2Cast : public HxImgFtorI2
00028 {
00029 
00030 public:
00031     
00033     typedef HxImgFtorI2CastKey      KeyType;
00034 
00036     typedef typename DstImgSigT::DataPtrType DstDataPtrType;
00037 
00039     typedef typename SrcImgSigT::DataPtrType SrcDataPtrType;
00040 
00042                     HxImgFtorI2Cast(const KeyType&);
00043 
00045     virtual         ~HxImgFtorI2Cast();
00046     
00048     virtual void    callIt(HxImageData* dstImg, const HxImageData* srcImg, 
00049                         HxTagList &tags);
00050 
00051 protected:
00053     virtual void    doIt(DstDataPtrType dstPtr, SrcDataPtrType srcPtr, 
00054                          HxSizes dstSize, HxSizes srcSize, HxTagList &tags,
00055                          HxImgFtorDescription* description = 0) = 0;
00056 
00057 private:
00058                     HxImgFtorI2Cast();
00059                     HxImgFtorI2Cast(const HxImgFtorI2Cast&);
00060 };
00061 
00062 template <class DstImgSigT, class SrcImgSigT>
00063 inline
00064 HxImgFtorI2Cast<DstImgSigT, SrcImgSigT>::HxImgFtorI2Cast(const KeyType& key)
00065             : HxImgFtorI2(key){}
00066 
00067 #ifdef INC_TEMPLATE_SRC
00068 #include "HxImgFtorI2Cast.c"
00069 #endif
00070 
00071 #endif

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