MeVisLab Toolbox Reference
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 >

Public Member Functions

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

Public Attributes

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

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 73 of file mlKernelTools.h.

Constructor & Destructor Documentation

◆ useObjectLineFilter()

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

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 90 of file mlKernelTools.h.

◆ ~useObjectLineFilter()

template<class T , typename DATATYPE >
ml::useObjectLineFilter< T, DATATYPE >::~useObjectLineFilter ( )
inlineoverride

Virtual destructor to avoid warnings. Currently it does nothing.

Definition at line 94 of file mlKernelTools.h.

Member Function Documentation

◆ operator()()

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

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 101 of file mlKernelTools.h.

Member Data Documentation

◆ pLF

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 83 of file mlKernelTools.h.

◆ pOb

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 78 of file mlKernelTools.h.


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