dune-localfunctions 2.10
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType > Class Template Referenceabstract

virtual base class for a local interpolation More...

#include <dune/localfunctions/common/virtualinterface.hh>

Inheritance diagram for Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >:
Inheritance graph

Public Types

using FunctionType = std::function< RangeType(DomainType)>
 type of function to interpolate
 
typedef RangeType::field_type CoefficientType
 type of the coefficient vector in the interpolate method
 

Public Member Functions

virtual ~LocalInterpolationVirtualInterfaceBase ()
 
virtual void interpolate (const FunctionType &f, std::vector< CoefficientType > &out) const =0
 determine coefficients interpolating a given function
 

Detailed Description

template<class DomainType, class RangeType>
class Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >

virtual base class for a local interpolation

This class defines the interface using pure virtual methods. In applications you should use the derived class LocalInterpolationVirtualInterface that also contains a interpolate method where the function type is a template parameter.

This template method cannot be defined in the same class as the virtual method. Otherwise name resolution fails.

Member Typedef Documentation

◆ CoefficientType

template<class DomainType , class RangeType >
typedef RangeType::field_type Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >::CoefficientType

type of the coefficient vector in the interpolate method

◆ FunctionType

template<class DomainType , class RangeType >
using Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >::FunctionType = std::function<RangeType(DomainType)>

type of function to interpolate

Constructor & Destructor Documentation

◆ ~LocalInterpolationVirtualInterfaceBase()

template<class DomainType , class RangeType >
virtual Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >::~LocalInterpolationVirtualInterfaceBase ( )
inlinevirtual

Member Function Documentation

◆ interpolate()

template<class DomainType , class RangeType >
virtual void Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >::interpolate ( const FunctionType f,
std::vector< CoefficientType > &  out 
) const
pure virtual

determine coefficients interpolating a given function

This is the pure virtual method taking a VirtualFunction.

Parameters
[in]fFunction instance used to interpolate.
[out]outResulting coefficients vector.

Implemented in Dune::LocalInterpolationVirtualImp< DomainType, RangeType, Imp >, and Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >.


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