00001 #ifndef BASISINTERPOLATOR_1_H 00002 #define BASISINTERPOLATOR_1_H 00003 00004 #include "interpolator_1.h" 00005 namespace afl 00006 { 00007 00008 00014 class BasisInterpolator_1 : public Interpolator_1 00015 { 00016 00018 public: 00024 BasisInterpolator_1( const Field* f, const Parameters& params ); 00025 00029 virtual ~BasisInterpolator_1( ); 00030 00037 virtual 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 // BASISINTERPOLATOR_1_H