AkimaInterpolator1D.cpp

Go to the documentation of this file.
00001 // AkimaInterpolator1D.cpp: implementation of the AkimaInterpolator1D class.
00002 //
00004 
00005 #ifdef WIN32 
00006 #pragma warning(disable:4786)
00007 #endif
00008 #include "AkimaInterpolator1D.h"
00009 
00011 // Construction/Destruction
00013 namespace Interpolator
00014 {
00015 
00017 AkimaInterpolator1D::AkimaInterpolator1D()
00018 {
00019 
00020 }
00021 
00023 AkimaInterpolator1D::~AkimaInterpolator1D()
00024 {
00025     gsl_spline_free (spline);
00026     gsl_interp_accel_free (acc);
00027 }
00028 
00029 
00034 AkimaInterpolator1D::AkimaInterpolator1D(       
00035                                 std::string sName, 
00036                                 std::string sDescription, 
00037                                 InterpolationData1D* mInterpolationData) : 
00038                                 Interpolator1D(sName,sDescription,"Akima",
00039                                 mInterpolationData)
00040 
00041 {
00042         acc             = gsl_interp_accel_alloc ();
00043         spline  = gsl_spline_alloc (gsl_interp_akima, getNbData());
00044         gsl_spline_init (spline, mInterpolationData->getXValues(), mInterpolationData->getYValues(), getNbData());
00045 }
00046 
00048 double AkimaInterpolator1D::getInterpolatedValue(double dValue)
00049 {
00050       return gsl_spline_eval (spline, dValue, acc);
00051 }
00052 
00054 void AkimaInterpolator1D::updateInterpolator()
00055 {
00056         gsl_spline_free (spline);
00057     gsl_interp_accel_free (acc);
00058         acc             = gsl_interp_accel_alloc ();
00059         spline  = gsl_spline_alloc (gsl_interp_akima, getNbData());
00060         gsl_spline_init (spline, getInterpolatedData()->getXValues(), getInterpolatedData()->getYValues(), getNbData());
00061 }
00062 
00063 }
00064 

Generated on Tue Apr 14 09:50:27 2009 for Interpolator Library by  doxygen 1.4.5