Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxImgFtorI3Cast Class Template Reference

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

#include <HxImgFtorI3Cast.h>

Inheritance diagram for HxImgFtorI3Cast::

HxImgFtorI3 HxImgFunctor HxImgFtorBpo List of all members.

Public Types

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

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

typedef Src1ImgSigT::DataPtrType Src1DataPtrType
 The data pointer type of the first source image. More...

typedef Src2ImgSigT::DataPtrType Src2DataPtrType
 The data pointer type of the second source image. More...


Public Methods

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

virtual ~HxImgFtorI3Cast ()
 Destructor. More...

virtual void callIt (HxImageData *dstImg, const HxImageData *src1Img, const HxImageData *src2Img, HxTagList &tags)
 Converts parameters and calls doIt. More...


Protected Methods

virtual void doIt (DstDataPtrType dstPtr, Src1DataPtrType src1Ptr, Src2DataPtrType src2Ptr, HxSizes dstSize, HxSizes src1Size, HxSizes src2Size, HxTagList &tags, HxImgFtorDescription *=0)=0
 doIt is implemented by derived image functors. More...


Detailed Description

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
class HxImgFtorI3Cast< DstImgSigT, Src1ImgSigT, Src2ImgSigT >

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


Member Typedef Documentation

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
typedef HxImgFtorI3CastKey HxImgFtorI3Cast::KeyType
 

The key type of this class.

Reimplemented from HxImgFtorI3.

Reimplemented in HxImgFtorBpo, HxImgFtorGenConv2d, HxImgFtorGenConv2dK1d, HxImgFtorGenConv3d, HxImgFtorGenConv3dK1d, HxImgFtorKernelNgb2d, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoEqual< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoLessThan< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoXor< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoMin< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoSqrDst< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoGreaterEqual< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoSub< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoInf< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoDot< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoOr< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxMagnitude< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoAnd< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoSup< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoNotEqual< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoCross< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoPow< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoRightShift< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoLeftShift< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoDiv< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoMax< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoGreaterThan< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoMul< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, DstSigT, ImgSigT, HxBpoSetPixElt< typename DstSigT::ArithType, typename DstSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoVec2< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoMod< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoAdd< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoLessEqual< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorGenConv2d< ImgSigT, KerSigT, KerSigT, HxBpoMul< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoAddAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel2d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2d< ImgSigT, KerSigT, KerSigT, HxBpoAdd< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoMaxAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel2d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2d< ImgSigT, KerSigT, KerSigT, HxBpoAdd< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoSupAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel2d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2d< ImgSigT, KerSigT, KerSigT, HxBpoAdd< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoMinAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel2d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2d< ImgSigT, KerSigT, KerSigT, HxBpoAdd< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoInfAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel2d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2dK1d< ImgSigT, KerSigT, KerSigT, HxBpoAdd< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoInfAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel1d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2dK1d< ImgSigT, KerSigT, KerSigT, HxBpoAdd< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoMaxAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel1d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2dK1d< ImgSigT, KerSigT, KerSigT, HxBpoAdd< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoMinAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel1d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2dK1d< ImgSigT, KerSigT, KerSigT, HxBpoAdd< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoSupAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel1d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv2dK1d< ImgSigT, KerSigT, KerSigT, HxBpoMul< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoAddAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel1d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv3d< ImgSigT, KerSigT, KerSigT, HxBpoMul< typename KerSigT::ArithType, typename KerSigT::ArithType, typename KerSigT::ArithType >, HxBpoAddAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel3d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, HxImgFtorGenConv3dK1d< DstSigT, SrcSigT, KerSigT, HxBpoMul< typename KerSigT::ArithType, typename SrcSigT::ArithType, typename KerSigT::ArithType >, HxBpoAddAssign< typename KerSigT::ArithType, typename KerSigT::ArithType >, HxKernel1d< typename KerSigT::DataPtrType, typename KerSigT::ArithType > >, and HxImgFtorKernelNgb2d< DstSigT, SrcSigT, KerSigT, HxNgbNormCorrelation< typename SrcSigT::ArithType, typename DstSigT::ArithTypeDouble > >.

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
typedef DstImgSigT::DataPtrType HxImgFtorI3Cast::DstDataPtrType
 

The data pointer type of the destination image.

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
typedef Src1ImgSigT::DataPtrType HxImgFtorI3Cast::Src1DataPtrType
 

The data pointer type of the first source image.

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
typedef Src2ImgSigT::DataPtrType HxImgFtorI3Cast::Src2DataPtrType
 

The data pointer type of the second source image.


Constructor & Destructor Documentation

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
HxImgFtorI3Cast< DstImgSigT, Src1ImgSigT, Src2ImgSigT >::HxImgFtorI3Cast const KeyType   key [inline]
 

Constructor.

00069 : HxImgFtorI3(key){}

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
HxImgFtorI3Cast< DstImgSigT, Src1ImgSigT, Src2ImgSigT >::~HxImgFtorI3Cast   [virtual]
 

Destructor.

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


Member Function Documentation

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
void HxImgFtorI3Cast< DstImgSigT, Src1ImgSigT, Src2ImgSigT >::callIt HxImageData   dstImg,
const HxImageData   src1Img,
const HxImageData   src2Img,
HxTagList   tags
[virtual]
 

Converts parameters and calls doIt.

Reimplemented from HxImgFtorI3.

00038 {
00039     TYPENAME DstImgSigT::DataPtrType dstPtr
00040         = HxMakeDataPtr<typename DstImgSigT::DataPtrType>(dstImg);
00041     TYPENAME Src1ImgSigT::DataPtrType src1Ptr
00042         = HxMakeDataPtr<typename Src1ImgSigT::DataPtrType>(src1Img);
00043     TYPENAME Src2ImgSigT::DataPtrType src2Ptr
00044         = HxMakeDataPtr<typename Src2ImgSigT::DataPtrType>(src2Img);
00045 
00046     HxImgFtorDescription* description = getDescription();
00047     if (description)
00048     {
00049         description->setTags(tags);
00050         description->addArgument(dstImg->signature(), dstImg->sizes());
00051         description->addArgument(src1Img->signature(), src1Img->sizes());
00052         description->addArgument(src2Img->signature(), src2Img->sizes());
00053         description->startTime();
00054     }
00055     
00056     doIt(dstPtr, src1Ptr, src2Ptr, 
00057         dstImg->sizes(), src1Img->sizes(), src2Img->sizes(), tags, description);
00058 
00059     if (description)
00060         description->stopTime();
00061 }

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT>
virtual void HxImgFtorI3Cast< DstImgSigT, Src1ImgSigT, Src2ImgSigT >::doIt DstDataPtrType    dstPtr,
Src1DataPtrType    src1Ptr,
Src2DataPtrType    src2Ptr,
HxSizes    dstSize,
HxSizes    src1Size,
HxSizes    src2Size,
HxTagList   tags,
HxImgFtorDescription   = 0
[protected, pure virtual]
 

doIt is implemented by derived image functors.

Reimplemented in HxImgFtorBpo, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoEqual< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoLessThan< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoXor< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoMin< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoSqrDst< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoGreaterEqual< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoSub< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoInf< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoDot< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoOr< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxMagnitude< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoAnd< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoSup< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoNotEqual< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoCross< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoPow< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoRightShift< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoLeftShift< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoDiv< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoMax< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoGreaterThan< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoMul< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, DstSigT, ImgSigT, HxBpoSetPixElt< typename DstSigT::ArithType, typename DstSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoVec2< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoMod< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, HxImgFtorBpo< ImgSigT, ImgSigT, ImgSigT, HxBpoAdd< typename ImgSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >, and HxImgFtorBpo< DstSigT, ImgSigT, ImgSigT, HxBpoLessEqual< typename DstSigT::ArithType, typename ImgSigT::ArithType, typename ImgSigT::ArithType > >.


The documentation for this class was generated from the following files:
Generated on Tue Jan 8 13:59:29 2002 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001