Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxImgFtorMNpo Class Template Reference

Instantiation of generic algorithm for M output, N input pixel operations on images. More...

#include <HxImgFtorMNpo.h>

Inheritance diagram for HxImgFtorMNpo::

HxImgFtorIMNCast< DstImgSigT, SrcImgsSigT > HxImgFtorIMN HxImgFunctor List of all members.

Public Types

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


Public Methods

 HxImgFtorMNpo ()
 Constructor. More...

virtual bool probeOp (HxTagList &tags) const
 Probe Operation. More...

virtual ~HxImgFtorMNpo ()
 Destructor. More...


Protected Methods

virtual void doIt (DstDataPtrArray &dstPtrs, SrcDataPtrArray &srcPtrs, HxSizes dstSize, HxSizes srcSize, HxTagList &tags, HxImgFtorDescription *=0)
 Calls HxFuncMNPixOp to do the actual work. More...


Detailed Description

template<class DstImgSigT, class SrcImgsSigT, class MNpoT>
class HxImgFtorMNpo< DstImgSigT, SrcImgsSigT, MNpoT >

Instantiation of generic algorithm for M output, N input pixel operations on images.


Member Typedef Documentation

template<class DstImgSigT, class SrcImgsSigT, class MNpoT>
typedef HxImgFtorMNpoKey HxImgFtorMNpo::KeyType
 

The key type of this class.

Reimplemented from HxImgFtorIMN.


Constructor & Destructor Documentation

template<class DstImgSigT, class SrcImgsSigT, class MNpoT>
HxImgFtorMNpo< DstImgSigT, SrcImgsSigT, MNpoT >::HxImgFtorMNpo  
 

Constructor.

00021     : HxImgFtorIMNCast<DstImgSigT, SrcImgsSigT>(
00022         HxImgFtorMNpoKey(HxClassName<DstImgSigT>(), HxClassName<SrcImgsSigT>(), 
00023             HxClassName<MNpoT>()))
00024 {
00025 #ifdef CD_TRACE
00026     HxEnvironment::instance()->outputStream()
00027         << "HxImgFtorMNpo::HxImgFtorMNpo()" << STD_ENDL;
00028 #endif
00029     static HxRegKey* mpoKey
00030         = HxRegistry::instance().insertKey("/imagefunctortable/mpo");
00031 
00032     HxRegKey* k = mpoKey->insertKey(HxClassName<MNpoT>());
00033     k = k->insertKey("resulttype");
00034     k->insertValue(
00035         HxClassName<SrcImgsSigT>(), HxRegData(HxClassName<DstImgSigT>()));
00036 }

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

Destructor.

00040 {
00041 #ifdef CD_TRACE
00042     HxEnvironment::instance()->outputStream()
00043         << "HxImgFtorMNpo::~HxImgFtorMNpo()" << STD_ENDL;
00044 #endif
00045 }


Member Function Documentation

template<class DstImgSigT, class SrcImgsSigT, class MNpoT>
bool HxImgFtorMNpo< DstImgSigT, SrcImgsSigT, MNpoT >::probeOp HxTagList   tags const [virtual]
 

Probe Operation.

Reimplemented from HxImgFunctor.

00050 {
00051     MNpoT mpo(tags);
00052 
00053     return HxGetTag(tags, "preOpIsOk", true);
00054 }

template<class DstImgSigT, class SrcImgsSigT, class MNpoT>
void HxImgFtorMNpo< DstImgSigT, SrcImgsSigT, MNpoT >::doIt DstDataPtrArray   dstPtrs,
SrcDataPtrArray   srcPtrs,
HxSizes    dstSize,
HxSizes    srcSize,
HxTagList   tags,
HxImgFtorDescription   description = 0
[protected, virtual]
 

Calls HxFuncMNPixOp to do the actual work.

Reimplemented from HxImgFtorIMNCast.

00061 {
00062     HxAddTag(tags, "sourceCnt", srcPtrs.size());
00063     MNpoT mpo(tags);
00064 
00065     int nPix = dstSize.x() * dstSize.y() * dstSize.z();
00066     HxFuncMNPixOp(
00067         dstPtrs, srcPtrs, nPix, mpo);
00068 }


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