analyticinterpolator.h

00001 #ifndef ANALYTICINTERPOLATOR_H
00002 #define ANALYTICINTERPOLATOR_H
00003 
00004 #include "field.h"
00005 #include "afltypes.h"
00006 #include "point.h"
00007 #include "functions.h"
00008 #include "value.h"
00009 #include "interpolator.h"
00010 
00011 namespace afl
00012 {
00013 
00018     class AnalyticInterpolator : public Interpolator
00019     {
00020 
00022         public:
00029             AnalyticInterpolator( const Field* f, const FnValue& fn,
00030                    const Parameters& params );
00031 
00035             virtual ~AnalyticInterpolator(  );
00036 
00043             virtual Value interpolate( const Point& x ) const;
00044 
00049             virtual void toXML( std::ostream& doc ) const;
00050 
00055             virtual Interpolator* clone(  );
00056 
00060             virtual const ddf::Geometry* getValueGeometry(  ) const;
00061 
00065             virtual const std::string& getImplementation(  ) const;
00066              
00070             virtual const std::string& getMethod(  ) const;
00071 
00073         private:
00074             static const std::string _method;
00075             static const std::string _impl;
00076 
00077             FnValue _fn;
00078             ddf::Geometry _geom;
00079     };
00080 
00081 };
00082 
00083 #endif // ANALYTICINTERPOLATOR_H

Generated on Fri Dec 22 07:17:50 2006 for afl by  doxygen 1.4.6