20 #ifndef LIBMESH_WRAPPED_FUNCTOR_H 21 #define LIBMESH_WRAPPED_FUNCTOR_H 43 template <
typename Output=Number>
70 virtual std::unique_ptr<FEMFunctionBase<Output>>
clone ()
const override 72 return std::unique_ptr<FEMFunctionBase<Output>>
78 const Real time = 0.)
override 79 {
return _func->operator()(p, time); }
85 {
_func->operator() (p, time, output); }
90 Real time=0.)
override 91 {
return _func->component(i, p, time); }
95 std::unique_ptr<FunctionBase<Output>>
_func;
102 #endif // LIBMESH_WRAPPED_FUNCTOR_H
WrappedFunctor & operator=(const WrappedFunctor &)=delete
virtual Output component(const FEMContext &, unsigned int i, const Point &p, Real time=0.) override
virtual std::unique_ptr< FEMFunctionBase< Output > > clone() const override
virtual Output operator()(const FEMContext &, const Point &p, const Real time=0.) override
std::unique_ptr< FunctionBase< Output > > _func
virtual ~WrappedFunctor()=default
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
WrappedFunctor(const FunctionBase< Output > &func)
Base class for functors that can be evaluated at a point and (optionally) time.
A geometric point in (x,y,z) space.