29#ifndef Rythmos_INTERPOLATOR_BASE_H
30#define Rythmos_INTERPOLATOR_BASE_H
32#include "Rythmos_DataStore.hpp"
33#include "Rythmos_InterpolationBufferHelpers.hpp"
45 :
virtual public Teuchos::Describable
46 ,
virtual public Teuchos::ParameterListAcceptor
47 ,
virtual public Teuchos::VerboseObject<InterpolatorBase<Scalar> >
93 const RCP<
const typename DataStore<Scalar>::DataStoreVector_t> & nodes
118 const Array<Scalar> &t_values,
119 typename DataStore<Scalar>::DataStoreVector_t *data_out
136template<
class Scalar>
143template<
class Scalar>
144Teuchos::RCP<InterpolatorBase<Scalar> >
147 return Teuchos::null;
Base strategy class for interpolation functionality.
virtual int order() const =0
Return the order of the interpolation.
virtual void interpolate(const Array< Scalar > &t_values, typename DataStore< Scalar >::DataStoreVector_t *data_out) const =0
Perform an interpolation.
virtual bool supportsCloning() const
Return if this interpolator supports cloning or not.
virtual void setNodes(const RCP< const typename DataStore< Scalar >::DataStoreVector_t > &nodes)=0
Store pointer to interpolation nodes.
virtual Teuchos::RCP< InterpolatorBase< Scalar > > cloneInterpolator() const
Clone the interpolator object if supported.