Base class for predefined simple filters. More...
#include <filter.h>
Inherits Filter.
Inherited by DiffFilter, ImagPartFilter, MagFilter, RealPartFilter, SquareFilter, and SumFilter.
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) |
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.
| 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 | |||
| ) |
| 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 >.
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] |
1.6.3