#include <Rythmos_InterpolatorBase.hpp>
Inheritance diagram for Rythmos::InterpolatorBase< Scalar >:

Public Member Functions | |
| virtual bool | supportsCloning () const |
| Return if this interpolator supports cloning or not. | |
| virtual Teuchos::RCP< InterpolatorBase< Scalar > > | cloneInterpolator () const |
| Clone the interpoloator object if supported. | |
| virtual void | interpolate (const typename DataStore< Scalar >::DataStoreVector_t &data_in, const Array< Scalar > &t_values, typename DataStore< Scalar >::DataStoreVector_t *data_out) const =0 |
| Perform an interpolation. | |
| virtual int | order () const =0 |
| Return the order of the interpolation. | |
ToDo: Finish documentation!
Definition at line 44 of file Rythmos_InterpolatorBase.hpp.
| bool Rythmos::InterpolatorBase< Scalar >::supportsCloning | ( | ) | const [virtual] |
Return if this interpolator supports cloning or not.
If returnVal==true, then cloneInterpolator() will clone *this object and return an non-null RCP.
The default implementation of this function simply returns false.
Reimplemented in Rythmos::LinearInterpolator< Scalar >.
Definition at line 128 of file Rythmos_InterpolatorBase.hpp.
| Teuchos::RCP< InterpolatorBase< Scalar > > Rythmos::InterpolatorBase< Scalar >::cloneInterpolator | ( | ) | const [virtual] |
Clone the interpoloator object if supported.
Postconditions:
supportsCloning()==true] returnVal != Teuchos::null [supportsCloning()==false] returnVal == Teuchos::null
The default implementation returns
Teuchos::null which is consistent with the default implementation of supportsCloning(). If this function is overridden in a base class to support cloning, then supportsCloning() must be overridden to return true.
Reimplemented in Rythmos::LinearInterpolator< Scalar >.
Definition at line 136 of file Rythmos_InterpolatorBase.hpp.
| virtual void Rythmos::InterpolatorBase< Scalar >::interpolate | ( | const typename DataStore< Scalar >::DataStoreVector_t & | data_in, | |
| const Array< Scalar > & | t_values, | |||
| typename DataStore< Scalar >::DataStoreVector_t * | data_out | |||
| ) | const [pure virtual] |
Perform an interpolation.
This function must support passing node values back out directly, handling when only one node value is passed in, and dealing with xdot==Teuchosnull. There is no guarantee at this time that data_out will be in the same order as t_values.
Preconditions:
data_in must have unique time values and be sorted in ascending time order data_in.size()>=1 data_in.size()==1 then t_values[0] == data_in[0].time t_values must have unique and sorted values in ascending order data_in.front().time <= t_values[i] <= data_in.back().time for all t=0..time_values.size()-1 data_in[i].x != Teuchos::null for all i=0..data_in.size()-1 Postconditions:
data_out will come out sorted in ascending time order data_in[i].xdot == Teuchos::null then all t_values in the interval data_in[i-1]..data_in[i+1] will have xdot = Tuechos::null. Implemented in Rythmos::HermiteInterpolator< Scalar >, and Rythmos::LinearInterpolator< Scalar >.
| virtual int Rythmos::InterpolatorBase< Scalar >::order | ( | ) | const [pure virtual] |
Return the order of the interpolation.
2007/05/18: rabartl: ToDo: Define what "order" means.
Implemented in Rythmos::HermiteInterpolator< Scalar >, and Rythmos::LinearInterpolator< Scalar >.
1.4.7