00001 #ifndef BASISINTERPOLATOR_2_H 00002 #define BASISINTERPOLATOR_2_H 00003 00004 #include "interpolator_2.h" 00005 namespace afl 00006 { 00007 00008 00014 class BasisInterpolator_2 : public Interpolator_2 00015 { 00016 00018 public: 00024 BasisInterpolator_2( const Field* f, const Parameters& params ); 00025 00029 virtual ~BasisInterpolator_2( ); 00030 00037 Value interpolate( const Point& x ) const; 00038 00043 virtual void toXML( std::ostream& doc ) const; 00044 00049 virtual Interpolator* clone( ) ; 00050 00057 virtual data_t getKsi( const Point& x, size_t u ) const; 00058 00065 virtual Value getValue( const Point& x, size_t u ) const; 00066 00070 virtual const std::string& getImplementation( ) const; 00071 00075 virtual const std::string& getMethod( ) const; 00076 00078 private: 00079 static const std::string _method; 00080 static const std::string _impl; 00081 00085 Function* _fn; 00086 }; 00087 00088 }; 00089 00090 #endif // LAGRANGELINEAR_2_H