41 #ifndef mia_1d_interpolator_hh 42 #define mia_1d_interpolator_hh 85 virtual T operator () (
const double& x)
const = 0;
92 virtual typename coeff_map<T>::coeff_type derivative_at (
const double& x)
const = 0;
132 virtual typename coeff_map<T>::coeff_type
derivative_at (
const double& x)
const;
136 typedef std::vector< typename coeff_map< T >::coeff_type >
TCoeff1D;
188 __attribute__ ((warn_unused_result));
222 template <
typename T>
223 struct __dispatch_min_max {
224 static void apply(
const T i, T& min, T &max);
231 template <
typename I,
typename O>
232 struct __dispatch_copy {
std::vector< typename coeff_map< T >::coeff_type > TCoeff1D
Type of the coefficients after filtering.
virtual T operator()(const double &x) const =0
Interpolator that uses some kind of spaciel kernel.
virtual coeff_map< T >::coeff_type derivative_at(const double &x) const =0
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
T1DInterpolator< T > * create(const std::vector< T > &src) const __attribute__((warn_unused_result))
std::vector< double > VWeight
type for the weight vector
std::shared_ptr< CSplineKernel > PSplineKernel
Interpolator base class providing the full interface.
std::vector< int > VIndex
type for the index vector
Abstract base class for B-spline interpolation boundary conditions.
Factory class for 1D interpolators.
TCoeff1D coeff_vector
vector to hold coefficients
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport.
Basic Interpolator type for 1D Data.
std::shared_ptr< const C1DInterpolatorFactory > P1DInterpolatorFactory
CSplineBoundaryCondition::Pointer PSplineBoundaryCondition
#define NS_MIA_END
conveniance define to end the mia namespace