00001 // Interpolator1D.h: interface for the Interpolator1D class. 00002 // 00004 00005 #if !defined(AFX_Interpolator1D_H__A7A7A0C7_4ED6_4E13_A70E_97DD503C5DB7__INCLUDED_) 00006 #define AFX_Interpolator1D_H__A7A7A0C7_4ED6_4E13_A70E_97DD503C5DB7__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif // _MSC_VER > 1000 00011 00012 #include "Interpolator.h" 00013 #include <string> 00014 //using namespace std; 00015 #include "InterpolationData1D.h" 00016 00017 #include <gsl/gsl_errno.h> 00018 #include <gsl/gsl_spline.h> 00019 namespace Interpolator 00020 { 00022 class Interpolator1D : public Interpolator 00023 { 00024 public: 00025 00026 Interpolator1D(); 00027 Interpolator1D( std::string sName, 00028 std::string sDescription, 00029 std::string sInterpolationType, 00030 InterpolationData1D* mInterpolationData); 00031 00032 virtual ~Interpolator1D(); 00033 00034 long getNbData(); 00035 virtual double getInterpolatedValue(double dValue)=0; 00036 virtual InterpolationData1D* getInterpolatedData(); 00037 00038 virtual void updateInterpolator()=0; 00039 00040 protected: 00041 gsl_interp_accel *acc; 00042 gsl_spline *spline; 00043 00044 private: 00045 InterpolationData1D* _mInterpolationData; 00046 00047 00048 }; 00049 } 00050 #endif // !defined(AFX_Interpolator1D_H__A7A7A0C7_4ED6_4E13_A70E_97DD503C5DB7__INCLUDED_)
1.4.5