Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxImgFtorIMNCast.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 HxImgFtorIMNCast_h
00013 #define HxImgFtorIMNCast_h
00014 
00015 #include "HxSizes.h"
00016 #include "HxImgFtorIMNCastKey.h"
00017 #include "HxImgFtorIMN.h"
00018 #include "HxDataPtrArray.h"
00019 
00020 #include "HxTagList.h"
00021 
00022 class HxImageData;
00023 
00024 
00034 template <class DstImgsSigT, class SrcImgsSigT>
00035 class L_HXIMAGEREP HxImgFtorIMNCast : public HxImgFtorIMN
00036 {
00037 
00038 public:
00039     
00041     typedef HxImgFtorIMNCastKey      KeyType;
00042 
00044     typedef DstImgsSigT::DataPtrType DstDataPtrType;
00045 
00047     typedef SrcImgsSigT::DataPtrType SrcDataPtrType;
00048 
00050     typedef HxDataPtrArray<SrcImgsSigT> SrcDataPtrArray;
00051 
00053     typedef HxDataPtrArray<DstImgsSigT> DstDataPtrArray;
00054 
00056                     HxImgFtorIMNCast(const KeyType&);
00057 
00059     virtual         ~HxImgFtorIMNCast();
00060     
00062     virtual void    callIt(HxImageData** dstImgs, int dstCnt,
00063                            HxImageData** srcImgs, int srcCnt,
00064                            HxTagList &tags);
00065 
00066 protected:
00072     virtual void    doIt(DstDataPtrArray& dstPtrs, SrcDataPtrArray& srcPtrs, 
00073                          HxSizes dstSize, HxSizes srcSize, HxTagList &tags,
00074                          HxImgFtorDescription* description = 0) = 0;
00075 
00076 private:
00077                     HxImgFtorIMNCast();
00078                     HxImgFtorIMNCast(const HxImgFtorIMNCast&);
00079 };
00080 
00081 template <class DstImgsSigT, class SrcImgsSigT>
00082 inline
00083 HxImgFtorIMNCast<DstImgsSigT, SrcImgsSigT>::HxImgFtorIMNCast(const KeyType& key)
00084             : HxImgFtorIMN(key){}
00085 
00086 #ifdef INC_TEMPLATE_SRC
00087 #include "HxImgFtorIMNCast.c"
00088 #endif
00089 
00090 #endif

Generated on Tue Feb 3 14:18:37 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001