29 #ifndef Rythmos_INTERPOLATOR_BASE_H 
   30 #define Rythmos_INTERPOLATOR_BASE_H 
   32 #include "Rythmos_DataStore.hpp" 
   33 #include "Rythmos_InterpolationBufferHelpers.hpp" 
   43 template<
class Scalar> 
 
   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
 
  126   virtual int order() 
const =0;
 
  136 template<
class Scalar>
 
  143 template<
class Scalar>
 
  144 Teuchos::RCP<InterpolatorBase<Scalar> >
 
  147   return Teuchos::null;
 
  154 #endif //Rythmos_INTERPOLATOR_BASE_H 
Base strategy class for interpolation functionality. 
 
virtual int order() const =0
Return the order of the interpolation. 
 
virtual Teuchos::RCP< InterpolatorBase< Scalar > > cloneInterpolator() const 
Clone the interpolator object if supported. 
 
virtual void setNodes(const RCP< const typename DataStore< Scalar >::DataStoreVector_t > &nodes)=0
Store pointer to interpolation nodes. 
 
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.