SimpleFilter Class Reference
[Filters]

Base class for predefined simple filters. More...

#include <filter.h>

Inherits Filter.

Inherited by DiffFilter, ImagPartFilter, MagFilter, RealPartFilter, SquareFilter, and SumFilter.

List of all members.

Public Member Functions

 SimpleFilter (void(*filter_fn)(int n, scalar *val1, scalar *result), MeshFunction *sln1, int item1=FN_VAL)
 SimpleFilter (void(*filter_fn)(int n, scalar *val1, scalar *val2, scalar *result), MeshFunction *sln1, MeshFunction *sln2, int item1=FN_VAL, int item2=FN_VAL)
 SimpleFilter (void(*filter_fn)(int n, scalar *val1, scalar *val2, scalar *val3, scalar *result), MeshFunction *sln1, MeshFunction *sln2, MeshFunction *sln3, int item1=FN_VAL, int item2=FN_VAL, int item3=FN_VAL)
virtual void precalculate (const int np, const QuadPt3D *pt, int mask)
 precalculates the current function at the current integration points.

Protected Member Functions

void init_components ()

Protected Attributes

int item [3]
void(* filter_fn_1 )(int n, scalar *val1, scalar *result)
void(* filter_fn_2 )(int n, scalar *val1, scalar *val2, scalar *result)
void(* filter_fn_3 )(int n, scalar *val1, scalar *val2, scalar *val3, scalar *result)

Detailed Description

Base class for predefined simple filters.

SimpleFilter is a base class for predefined simple filters (MagFilter, DiffFilter...). The 'simplicity' lies in the fact that only one value per input function can be combined (e.g., not a value and a derivative). If this is not sufficient, a full-fledged filter must be derived from the Filter class (see VonMisesFilter). SimpleFilter is also intended for the user to be able to easily create custom filters only by supplying the combining function.

The user specifies the combining function, the arguments ('sln1', 'sln2', 'sln3'), and optionally the 'item' for each argument, which can be any of FN_VAL_0, FN_DX_0, FN_DY_0 etc.

SimpleFilter is vector-valued, if at least one input function is vector-valued and both components are specified in 'item', e.g., item1 = FN_DX (which is FN_DX_0 | FN_DX_1). Otherwise it is scalar-valued.


Constructor & Destructor Documentation

SimpleFilter::SimpleFilter ( void(*)(int n, scalar *val1, scalar *result)  filter_fn,
MeshFunction sln1,
int  item1 = FN_VAL 
)
SimpleFilter::SimpleFilter ( void(*)(int n, scalar *val1, scalar *val2, scalar *result)  filter_fn,
MeshFunction sln1,
MeshFunction sln2,
int  item1 = FN_VAL,
int  item2 = FN_VAL 
)
SimpleFilter::SimpleFilter ( void(*)(int n, scalar *val1, scalar *val2, scalar *val3, scalar *result)  filter_fn,
MeshFunction sln1,
MeshFunction sln2,
MeshFunction sln3,
int  item1 = FN_VAL,
int  item2 = FN_VAL,
int  item3 = FN_VAL 
)

Member Function Documentation

void SimpleFilter::init_components (  )  [protected]
void SimpleFilter::precalculate ( const int  np,
const QuadPt3D pt,
int  mask 
) [virtual]

precalculates the current function at the current integration points.

Implements Function< TYPE >.


Member Data Documentation

void(* SimpleFilter::filter_fn_1)(int n, scalar *val1, scalar *result) [protected]
void(* SimpleFilter::filter_fn_2)(int n, scalar *val1, scalar *val2, scalar *result) [protected]
void(* SimpleFilter::filter_fn_3)(int n, scalar *val1, scalar *val2, scalar *val3, scalar *result) [protected]
int SimpleFilter::item[3] [protected]

The documentation for this class was generated from the following files:
Generated on Fri Sep 3 09:22:20 2010 for Hermes3D Library: Real Version by  doxygen 1.6.3