Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxImgFtorBpo Class Template Reference

Instantiation of generic algorithm for binary pixel operations on images. More...

#include <HxImgFtorBpo.h>

Inheritance diagram for HxImgFtorBpo::

HxImgFtorI3Cast HxImgFtorI3 HxImgFunctor List of all members.

Public Types

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

enum  RuleType { Src1IsKey, ArgsAreKey }

Public Methods

 HxImgFtorBpo (RuleType ruleType=Src1IsKey)
 Constructor. More...

virtual ~HxImgFtorBpo ()
 Destructor. More...


Protected Methods

virtual void doIt (DstDataPtrType dstPtr, Src1DataPtrType src1Ptr, Src2DataPtrType src2Ptr, HxSizes dstSize, HxSizes src1Size, HxSizes src2Size, HxTagList &tags, HxImgFtorDescription *=0)
 Calls HxFuncBinaryPixOp to do the actual work. More...


Detailed Description

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT, class BpoT>
class HxImgFtorBpo< DstImgSigT, Src1ImgSigT, Src2ImgSigT, BpoT >

Instantiation of generic algorithm for binary pixel operations on images.


Member Typedef Documentation

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT, class BpoT>
typedef HxImgFtorBpoKey HxImgFtorBpo::KeyType
 

The key type of this class.

Reimplemented from HxImgFtorI3Cast.


Constructor & Destructor Documentation

template<class DstImgSigT, class Src1ImgSigT, class Src2ImgSigT, class BpoT>
HxImgFtorBpo< DstImgSigT, Src1ImgSigT, Src2ImgSigT, BpoT >::HxImgFtorBpo RuleType    ruleType = Src1IsKey [inline]
 

Constructor.

00024     : HxImgFtorI3Cast<DstImgSigT, Src1ImgSigT, Src2ImgSigT>(
00025         HxImgFtorBpoKey(HxClassName<DstImgSigT>(), HxClassName<Src1ImgSigT>(), 
00026             HxClassName<Src2ImgSigT>(), HxClassName<BpoT>()))
00027 {
00028     switch (ruleType)
00029     {
00030     case Src1IsKey  :
00031         HxImgFtorRuleBase::instance().setResultType(
00032             HxClassName<DstImgSigT>(), "bpo",
00033             HxClassName<Src1ImgSigT>(), HxClassName<BpoT>());
00034         HxImgFtorRuleBase::instance().setArgumentType(
00035             HxClassName<Src2ImgSigT>(), "bpo",
00036             HxClassName<Src1ImgSigT>(), HxClassName<BpoT>());
00037         break;
00038     case ArgsAreKey :
00039         HxImgFtorRuleBase::instance().setResultType(
00040             HxClassName<DstImgSigT>(), "bpo",
00041             HxClassName<Src1ImgSigT>(), HxClassName<Src2ImgSigT>(),
00042             HxClassName<BpoT>());
00043         break;
00044     }
00045 }

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

Destructor.

00049 {
00050 }


Member Function Documentation

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

Calls HxFuncBinaryPixOp to do the actual work.

Reimplemented from HxImgFtorI3Cast.

00058 {
00059     BpoT bpo(tags);
00060     int nPix = dstSize.x() * dstSize.y() * dstSize.z();
00061     HxFuncBinaryPixOp(
00062         dstPtr, src1Ptr, src2Ptr, nPix, bpo);
00063 }


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