interpolationfactory.h

00001 #ifndef INTERPOLATIONFACTORY_H_PROTECTOR
00002 #define INTERPOLATIONFACTORY_H_PROTECTOR
00003 
00004 #include "xmlnode.h"
00005 #include "interpolator.h"
00006 
00007 #include <vector>
00008 
00009 namespace afl
00010 {
00011     class Interpolator;
00012 
00016     class InterpolationFactory
00017     {
00018         public:
00030             static Interpolator* interpolation( XMLNode* interpolation, 
00031                     Field* field, const ddf::PropertySet* pset );
00032 
00042             static Interpolator* interpolation( const std::string& function, 
00043                     Field* field, const ddf::PropertySet* pset );
00044 
00052             static Interpolator* analyticInterpolation( Field* field, 
00053                     const std::string& formula );
00054 
00064             static Interpolator* analyticInterpolation( 
00065                    const std::vector<std::string>& formulas,
00066                    Field* field, size_t columns = 1 );
00067 
00068         private:
00079             static Interpolator* analyticInterpolation( Field* field, 
00080                     XMLNode* interpolation );
00081     };
00082 
00083 }
00084 
00085 #endif
00086 

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