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

HxImgFtorIMCast Class Template Reference

Class for (checked) conversion of (polymorphic) HxImageData parameters of HxImgFtorIM to (statically typed) image data pointers. More...

#include <HxImgFtorIMCast.h>

Inheritance diagram for HxImgFtorIMCast::

HxImgFtorIM HxImgFunctor HxImgFtorMpo List of all members.

Public Types

typedef HxImgFtorIMCastKey KeyType
 The key type of this class. More...

typedef DstImgSigT::DataPtrType DstDataPtrType
 The data pointer type of the destination image. More...

typedef SrcImgsSigT::DataPtrType SrcDataPtrType
 The data pointer type of the source images. More...

typedef HxDataPtrArray< SrcImgsSigT > SrcDataPtrArray
 An array of data pointers to source images. More...


Public Methods

 HxImgFtorIMCast (const KeyType &)
 Constructor. More...

virtual ~HxImgFtorIMCast ()
 Destructor. More...

virtual void callIt (HxImageData *dstImg, HxImageData **srcImgs, int nImgs, HxTagList &tags)
 Converts parameters and calls doIt. More...


Protected Methods

virtual void doIt (DstDataPtrType dstPtr, SrcDataPtrArray &srcPtrs, HxSizes dstSize, HxSizes srcSize, HxTagList &tags, HxImgFtorDescription *description=0)=0
 doIt is implemented by derived image functors:. More...


Detailed Description

template<class DstImgSigT, class SrcImgsSigT>
class HxImgFtorIMCast< DstImgSigT, SrcImgsSigT >

Class for (checked) conversion of (polymorphic) HxImageData parameters of HxImgFtorIM to (statically typed) image data pointers.

Template parameters:


Member Typedef Documentation

template<class DstImgSigT, class SrcImgsSigT>
typedef HxImgFtorIMCastKey HxImgFtorIMCast::KeyType
 

The key type of this class.

Reimplemented from HxImgFtorIM.

Reimplemented in HxImgFtorMpo, and HxImgFtorMpo< DstSigT, SrcsSigT, HxMpoVec3< typename DstSigT::ArithType, typename SrcsSigT::ArithType > >.

template<class DstImgSigT, class SrcImgsSigT>
typedef DstImgSigT::DataPtrType HxImgFtorIMCast::DstDataPtrType
 

The data pointer type of the destination image.

template<class DstImgSigT, class SrcImgsSigT>
typedef SrcImgsSigT::DataPtrType HxImgFtorIMCast::SrcDataPtrType
 

The data pointer type of the source images.

template<class DstImgSigT, class SrcImgsSigT>
typedef HxDataPtrArray<SrcImgsSigT> HxImgFtorIMCast::SrcDataPtrArray
 

An array of data pointers to source images.


Constructor & Destructor Documentation

template<class DstImgSigT, class SrcImgsSigT>
HxImgFtorIMCast< DstImgSigT, SrcImgsSigT >::HxImgFtorIMCast const KeyType   key [inline]
 

Constructor.

00081             : HxImgFtorIM(key){}

template<class DstImgSigT, class SrcImgsSigT>
HxImgFtorIMCast< DstImgSigT, SrcImgsSigT >::~HxImgFtorIMCast   [virtual]
 

Destructor.

00027 {
00028 #ifdef CD_TRACE
00029     HxEnvironment::instance()->outputStream()
00030         << "HxImgFtorIMCast<>::~HxImgFtorIMCast()" << STD_ENDL;
00031     HxEnvironment::instance()->flush();
00032 #endif
00033 }


Member Function Documentation

template<class DstImgSigT, class SrcImgsSigT>
void HxImgFtorIMCast< DstImgSigT, SrcImgsSigT >::callIt HxImageData   dstImg,
HxImageData **    srcImgs,
int    nImgs,
HxTagList   tags
[virtual]
 

Converts parameters and calls doIt.

Reimplemented from HxImgFtorIM.

00039 {
00040     TYPENAME DstImgSigT::DataPtrType dstPtr
00041         = HxMakeDataPtr<typename DstImgSigT::DataPtrType>(dstImg);
00042     SrcDataPtrArray srcPtrs(srcImgs, nImgs);
00043 
00044     HxImgFtorDescription* description = getDescription();
00045     if (description)
00046     {
00047         description->setTags(tags);
00048         description->addArgument(dstImg->signature(), dstImg->sizes());
00049         description->addArgument(srcImgs[0]->signature(), srcImgs[0]->sizes());
00050         description->startTime();
00051     }
00052     
00053     doIt(
00054         dstPtr, srcPtrs, dstImg->sizes(), srcImgs[0]->sizes(),
00055         tags, description);
00056 
00057     if (description)
00058         description->stopTime();
00059 }

template<class DstImgSigT, class SrcImgsSigT>
virtual void HxImgFtorIMCast< DstImgSigT, SrcImgsSigT >::doIt DstDataPtrType    dstPtr,
SrcDataPtrArray   srcPtrs,
HxSizes    dstSize,
HxSizes    srcSize,
HxTagList   tags,
HxImgFtorDescription   description = 0
[protected, pure virtual]
 

doIt is implemented by derived image functors:.

Reimplemented in HxImgFtorMpo, and HxImgFtorMpo< DstSigT, SrcsSigT, HxMpoVec3< typename DstSigT::ArithType, typename SrcsSigT::ArithType > >.


The documentation for this class was generated from the following files:
Generated on Tue Feb 3 14:18:59 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001