MeVisLabToolboxReference
ml::useObjectLineFilter< T, DATATYPE > Struct Template Reference

Wrapper for the use of object bound row filters. More...

#include <mlKernelTools.h>

Inheritance diagram for ml::useObjectLineFilter< T, DATATYPE >:
ml::fctLineFilter< DATATYPE >

List of all members.

Public Member Functions

 useObjectLineFilter (T *po, void(T::*pf)(TSubImageWithCursor< DATATYPE > *, TSubImageWithCursor< DATATYPE > *, size_t))
 Constructor.
virtual ~useObjectLineFilter ()
 Virtual destructor to avoid warnings. Currently it does nothing.
void operator() (TSubImageWithCursor< DATATYPE > *inSubImg, TSubImageWithCursor< DATATYPE > *outSubImg, size_t numVox) const
 This operator is calling the filtering method pLF of the object pOb.

Public Attributes

T * pOb
 Pointer to store the pointer to the class type object passed to the explicit useObjectLineFilter as po.
void(T::* pLF )(TSubImageWithCursor< DATATYPE > *, TSubImageWithCursor< DATATYPE > *, size_t)
 This is an element/member function adapter.

Detailed Description

template<class T, typename DATATYPE>
struct ml::useObjectLineFilter< T, DATATYPE >

Wrapper for the use of object bound row filters.

The constructor takes pointers to the hosting object and to the (public) inner function of this object. This inner function/method filters a row of a number of voxels from a SubImage and writes the result to another SubImage. Function-Type use of the useObjectLineFilter object forwards the call to the object-bounded function.

Definition at line 76 of file mlKernelTools.h.


Constructor & Destructor Documentation

template<class T , typename DATATYPE >
ml::useObjectLineFilter< T, DATATYPE >::useObjectLineFilter ( T *  po,
void(T::*)(TSubImageWithCursor< DATATYPE > *, TSubImageWithCursor< DATATYPE > *, size_t)  pf 
) [inline, explicit]

Constructor.

It first sets the pointer member pOb to store the pointer to the object containing the method doing the filtering work. Then it initializes pLF which is the adapter pointer to the method within pOb which does the filtering work.

Definition at line 93 of file mlKernelTools.h.

template<class T , typename DATATYPE >
virtual ml::useObjectLineFilter< T, DATATYPE >::~useObjectLineFilter ( ) [inline, virtual]

Virtual destructor to avoid warnings. Currently it does nothing.

Definition at line 97 of file mlKernelTools.h.


Member Function Documentation

template<class T , typename DATATYPE >
void ml::useObjectLineFilter< T, DATATYPE >::operator() ( TSubImageWithCursor< DATATYPE > *  inSubImg,
TSubImageWithCursor< DATATYPE > *  outSubImg,
size_t  numVox 
) const [inline, virtual]

This operator is calling the filtering method pLF of the object pOb.

It overloads virtually the operator of the base class fctLineFilter. If a fctLineFilter object is used as a function then its operator is called which then virtually calls this overloaded one. Here the object bound method is called via the element/member function adapter pLF which really does the filtering work.

Reimplemented from ml::fctLineFilter< DATATYPE >.

Definition at line 104 of file mlKernelTools.h.


Member Data Documentation

template<class T , typename DATATYPE >
void(T::* ml::useObjectLineFilter< T, DATATYPE >::pLF)(TSubImageWithCursor< DATATYPE > *, TSubImageWithCursor< DATATYPE > *, size_t)

This is an element/member function adapter.

It specifies the method of the class T which can be called by *pLF (see operator()(...) of this class). The real implementation is done in the class T.

Definition at line 86 of file mlKernelTools.h.

template<class T , typename DATATYPE >
T* ml::useObjectLineFilter< T, DATATYPE >::pOb

Pointer to store the pointer to the class type object passed to the explicit useObjectLineFilter as po.

It will be needed by the overloaded operator() to call the line filter function within *po.

Definition at line 81 of file mlKernelTools.h.


The documentation for this struct was generated from the following file: