5 #include <dune/common/fmatrix.hh>
6 #include <dune/common/fvector.hh>
7 #include <dune/common/typetraits.hh>
16 template <
class Gr
idView,
class LocalFunction>
27 template <
class LocalFct,
28 disableCopyMove<Self, LocalFct> = 0>
30 : localFct_(std::forward<LocalFct>(localFct))
34 virtual void bind (Entity
const& entity)
override
36 localFct_.
bind(entity);
46 virtual double evaluate (
int comp, LocalCoordinate
const& xi)
const override
48 return evaluateImpl(comp, localFct_(xi));
53 template <
class T,
int N,
int M>
58 return r < N && c < M ? mat[r][c] : 0.0;
62 template <
class T,
int N>
65 return comp < N ? vec[comp] : 0.0;
70 std::enable_if_t<IsIndexable<T,int>::value,
int> = 0>
71 double evaluateImpl (
int comp, T
const& value)
const
78 std::enable_if_t<not IsIndexable<T,int>::value,
int> = 0>
79 double evaluateImpl (
int comp, T
const& value)
const
86 LocalFunction localFct_;
Definition: datacollectorinterface.hh:9
Type erasure for dune-functions LocalFunction interface.
Definition: defaultvtkfunction.hh:19
virtual double evaluate(int comp, LocalCoordinate const &xi) const override
Evaluate the LocalFunction in LocalCoordinates.
Definition: defaultvtkfunction.hh:46
virtual void bind(Entity const &entity) override
Bind the LocalFunction to the Entity.
Definition: defaultvtkfunction.hh:34
LocalFunctionWrapper(LocalFct &&localFct)
Constructor. Stores a copy of the passed localFct in a local variable.
Definition: defaultvtkfunction.hh:29
virtual void unbind() override
Unbind the LocalFunction from the Entity.
Definition: defaultvtkfunction.hh:40
Definition: function.hh:17
Definition: function.hh:20
void unbind()
Unbind from the currently bound entity.
Definition: localfunction.hh:87
void bind(Entity const &entity)
Bind the function to the grid entity.
Definition: localfunction.hh:80
An abstract base class for LocalFunctions that can be bound to an element and evaluated in local coor...
Definition: localfunctioninterface.hh:11
typename Entity::Geometry::LocalCoordinate LocalCoordinate
Definition: localfunctioninterface.hh:14
typename GridView::template Codim< 0 >::Entity Entity
Definition: localfunctioninterface.hh:13