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

HxImgFtorI1Cast Class Template Reference

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

#include <HxImgFtorI1Cast.h>

Inheritance diagram for HxImgFtorI1Cast::

HxImgFtorI1 HxImgFunctor HxImgFtorInOut HxImgFtorRgb2d HxImgFtorRgb3d HxImgFtorSetBorder2d HxImgFtorSetBorder3d List of all members.

Public Types

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

typedef ImgSigT::DataPtrType ImgDataPtrType
 The data pointer type of the image. More...


Public Methods

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

virtual ~HxImgFtorI1Cast ()
 Destructor. More...

virtual void callIt (HxImageData *img, HxTagList &tags)
 Converts parameters and calls doIt. More...


Protected Methods

virtual void doIt (ImgDataPtrType ptr, HxSizes size, HxTagList &tags, HxImgFtorDescription *=0)=0
 doIt is implemented by derived image functors:. More...


Detailed Description

template<class ImgSigT>
class HxImgFtorI1Cast< ImgSigT >

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

Template parameters:


Member Typedef Documentation

template<class ImgSigT>
typedef HxImgFtorI1CastKey HxImgFtorI1Cast::KeyType
 

The key type of this class.

Reimplemented from HxImgFtorI1.

Reimplemented in HxImgFtorInOut, HxImgFtorRgb2d, HxImgFtorRgb3d, HxImgFtorSetBorder2d, HxImgFtorSetBorder3d, HxImgFtorInOut< ImgSigT, HxImageDataToHxMatrix< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxInOutSetVal< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxExportPpm< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxImportPackedRgb< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoSupAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxImportBytes< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxImportPix< typename ImgSigT::ArithType, DataT > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoMulAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxExportPix< typename ImgSigT::ArithType, DataT > >, HxImgFtorInOut< ImgSigT, HxInOutGetPoints< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoAddAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoMaxAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxGeneratePix< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxInOutHistogram< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoMinAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxImportPpm< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoInfAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorRgb2d< ImgSigT, HxRgbLab< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbDirectNC< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbLuv< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbStretch< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbLogMag< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbOOO< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbXYZ< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbBinary< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbLabel< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbHSI< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbDirect< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbCMY< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbLab< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbLuv< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbStretch< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbOOO< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbLogMag< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbXYZ< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbBinary< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbLabel< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbHSI< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbDirect< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, and HxImgFtorRgb3d< ImgSigT, HxRgbCMY< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >.

template<class ImgSigT>
typedef ImgSigT::DataPtrType HxImgFtorI1Cast::ImgDataPtrType
 

The data pointer type of the image.


Constructor & Destructor Documentation

template<class ImgSigT>
HxImgFtorI1Cast< ImgSigT >::HxImgFtorI1Cast const KeyType   key [inline]
 

Constructor.

00069                                                             : HxImgFtorI1(key)
00070 {
00071 }

template<class ImgSigT>
HxImgFtorI1Cast< ImgSigT >::~HxImgFtorI1Cast   [virtual]
 

Destructor.

00020 {
00021 }


Member Function Documentation

template<class ImgSigT>
void HxImgFtorI1Cast< ImgSigT >::callIt HxImageData   img,
HxTagList   tags
[virtual]
 

Converts parameters and calls doIt.

Reimplemented from HxImgFtorI1.

00026 {
00027     TYPENAME ImgSigT::DataPtrType ptr
00028         = HxMakeDataPtr<typename ImgSigT::DataPtrType>(img);
00029 
00030     HxImgFtorDescription* description = getDescription();
00031     if (description)
00032     {
00033         description->setTags(tags);
00034         description->addArgument(img->signature(), img->sizes());
00035         description->startTime();
00036     }
00037 
00038     doIt(ptr, img->sizes(), tags, description);
00039     if (description)
00040         description->stopTime();
00041 
00042 }

template<class ImgSigT>
virtual void HxImgFtorI1Cast< ImgSigT >::doIt ImgDataPtrType    imgPtr,
HxSizes    imgSize,
HxTagList   tags,
HxImgFtorDescription   description = 0
[protected, pure virtual]
 

doIt is implemented by derived image functors:.

Reimplemented in HxImgFtorInOut, HxImgFtorRgb2d, HxImgFtorRgb3d, HxImgFtorSetBorder2d, HxImgFtorSetBorder3d, HxImgFtorInOut< ImgSigT, HxImageDataToHxMatrix< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxInOutSetVal< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxExportPpm< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxImportPackedRgb< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoSupAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxImportBytes< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxImportPix< typename ImgSigT::ArithType, DataT > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoMulAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxExportPix< typename ImgSigT::ArithType, DataT > >, HxImgFtorInOut< ImgSigT, HxInOutGetPoints< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoAddAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoMaxAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxGeneratePix< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxInOutHistogram< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoMinAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorInOut< ImgSigT, HxImportPpm< typename ImgSigT::ArithType > >, HxImgFtorInOut< ImgSigT, HxReduceAdaptor< HxBpoInfAssign< typename ImgSigT::ArithType, typename ImgSigT::ArithType > > >, HxImgFtorRgb2d< ImgSigT, HxRgbLab< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbDirectNC< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbLuv< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbStretch< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbLogMag< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbOOO< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbXYZ< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbBinary< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbLabel< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbHSI< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbDirect< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb2d< ImgSigT, HxRgbCMY< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbLab< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbLuv< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbStretch< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbOOO< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbLogMag< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbXYZ< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbBinary< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbLabel< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbHSI< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, HxImgFtorRgb3d< ImgSigT, HxRgbDirect< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >, and HxImgFtorRgb3d< ImgSigT, HxRgbCMY< TYPENAME ImgSigT::ArithType, TYPENAME ImgSigT::ArithTypeDouble > >.


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