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

HxImgFtorInOut Class Template Reference

Instantiation of generic algorithm for in/out pixel operations on images. More...

#include <HxImgFtorInOut.h>

Inheritance diagram for HxImgFtorInOut::

HxImgFtorI1Cast HxImgFtorI1 HxImgFunctor List of all members.

Public Types

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


Public Methods

 HxImgFtorInOut ()
 Constructor. More...

virtual ~HxImgFtorInOut ()
 Destructor. More...


Protected Methods

virtual void doIt (ImgDataPtrType ptr, HxSizes size, HxTagList &tags, HxImgFtorDescription *=0)
 Calls HxFuncInOutInit to do the initialization phase and HxFuncInOutDispatch to dispatch the actual work. More...


Detailed Description

template<class ImgSigT, class InOutT>
class HxImgFtorInOut< ImgSigT, InOutT >

Instantiation of generic algorithm for in/out pixel operations on images.

Template parameters:


Member Typedef Documentation

template<class ImgSigT, class InOutT>
typedef HxImgFtorInOutKey HxImgFtorInOut::KeyType
 

The key type of this class.

Reimplemented from HxImgFtorI1Cast.


Constructor & Destructor Documentation

template<class ImgSigT, class InOutT>
HxImgFtorInOut< ImgSigT, InOutT >::HxImgFtorInOut   [inline]
 

Constructor.

00036     : HxImgFtorI1Cast<ImgSigT>(
00037         HxImgFtorInOutKey(HxClassName<ImgSigT>(), HxClassName<InOutT>()))
00038 {
00039     HxImgFtorRuleBase::instance().setIsModifying(
00040         "inout", HxClassName<InOutT>(),
00041         IsModifying(typename InOutT::DirectionCategory()));
00042 }

template<class ImgSigT, class InOutT>
HxImgFtorInOut< ImgSigT, InOutT >::~HxImgFtorInOut   [virtual]
 

Destructor.

00046 {
00047 }


Member Function Documentation

template<class ImgSigT, class InOutT>
void HxImgFtorInOut< ImgSigT, InOutT >::doIt ImgDataPtrType    ptr,
HxSizes    size,
HxTagList   tags,
HxImgFtorDescription   description = 0
[protected, virtual]
 

Calls HxFuncInOutInit to do the initialization phase and HxFuncInOutDispatch to dispatch the actual work.

Reimplemented from HxImgFtorI1Cast.

00054 {
00055     if (description) {
00056         HxString v(typename InOutT::DirectionCategory().toString());
00057         v += ", ";
00058         v += typename InOutT::TransVarianceCategory().toString();
00059         v += ", ";
00060         v += typename InOutT::PhaseCategory().toString();
00061         description->setVariation(v);
00062     }
00063 
00064     HxBoundingBox imgBb(size), regionBb(size);
00065     regionBb = HxGetTag(tags, "boundingBox", imgBb);
00066     regionBb = regionBb.intersect(imgBb);
00067 
00068     if (!regionBb.isEmpty())
00069     {
00070         InOutT pixOp =
00071             HxFuncInOutInit<InOutT>(
00072                 regionBb.size(), tags,
00073                 typename InOutT::DirectionCategory(),
00074                 typename InOutT::TransVarianceCategory(),
00075                 typename InOutT::PhaseCategory());
00076         ptr.incXYZ(
00077             regionBb.begin().x(), regionBb.begin().y(), regionBb.begin().z());
00078         HxFuncInOutDispatch(ptr, regionBb.size(), pixOp);
00079     }
00080 
00081 }


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