Main Page   Class Overview   Pixels   Images   Geometry   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 HxFuncInOutPixOpInit(HxSizes,HxTagList&) to dispatch the initialization phase and HxFuncInOutPixOp(DataPtrT,HxSizes,PixOpT&) 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.


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.

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

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

Destructor.

00045 {
00046 }


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 HxFuncInOutPixOpInit(HxSizes,HxTagList&) to dispatch the initialization phase and HxFuncInOutPixOp(DataPtrT,HxSizes,PixOpT&) to dispatch the actual work.

Reimplemented from HxImgFtorI1Cast.

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


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