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

HxImgFtorI4Cast.h

00001 /*
00002  *  Copyright (c) 2002, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Dennis Koelma           (koelma@wins.uva.nl)
00007  */
00008 
00009 #ifndef HxImgFtorI4Cast_h
00010 #define HxImgFtorI4Cast_h
00011 
00012 #include "HxSizes.h"
00013 #include "HxImgFtorI4CastKey.h"
00014 #include "HxImgFtorI4.h"
00015 
00016 #include "HxTagList.h"
00017 
00018 class HxImageData;
00019 
00020 
00032 template <class Img1SigT, class Img2SigT, class Img3SigT, class Img4SigT>
00033 class L_HXIMAGEREP HxImgFtorI4Cast : public HxImgFtorI4
00034 {
00035 
00036 public:
00037     
00039     typedef HxImgFtorI4CastKey  KeyType;
00040 
00042     typedef typename Img1SigT::DataPtrType Img1DataPtrType;
00043 
00045     typedef typename Img2SigT::DataPtrType Img2DataPtrType;
00046 
00048     typedef typename Img3SigT::DataPtrType Img3DataPtrType;
00049 
00051     typedef typename Img4SigT::DataPtrType Img4DataPtrType;
00052 
00054                     HxImgFtorI4Cast(const KeyType&);
00055 
00057     virtual         ~HxImgFtorI4Cast();
00058     
00060     virtual void    callIt(HxImageData* img1, HxImageData* img2, 
00061                            HxImageData* img3, HxImageData* img4, 
00062                            HxTagList &tags);
00063 
00064 protected:
00070     virtual void    doIt(Img1DataPtrType img1Ptr, Img2DataPtrType img2Ptr, 
00071                          Img3DataPtrType img3Ptr, Img4DataPtrType img4Ptr, 
00072                          HxSizes img1Size, HxSizes img2Size,
00073                          HxSizes img3Size, HxSizes img4Size,
00074                          HxTagList &tags, HxImgFtorDescription* = 0) = 0;
00075 
00076 private:
00077                     HxImgFtorI4Cast();
00078                     HxImgFtorI4Cast(const HxImgFtorI4Cast&);
00079 };
00080 
00081 template <class Img1SigT, class Img2SigT, class Img3SigT, class Img4SigT>
00082 inline
00083 
00084 HxImgFtorI4Cast<Img1SigT, Img2SigT, Img3SigT, Img4SigT>    ::HxImgFtorI4Cast(const KeyType& key) : HxImgFtorI4(key)
00085 {
00086 }
00087 
00088 #ifdef INC_TEMPLATE_SRC
00089 #include "HxImgFtorI4Cast.c"
00090 #endif
00091 
00092 #endif

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