00001 #ifndef INTERPOLATOR_2_H 00002 #define INTERPOLATOR_2_H 00003 00004 #include "interpolator.h" 00005 #include "point.h" 00006 #include "element.h" 00007 00008 #include <vector> 00009 #include <set> 00010 00011 namespace afl 00012 { 00013 00014 00020 class Interpolator_2 : public Interpolator 00021 { 00023 protected: 00029 Interpolator_2( const Field* f, const Parameters& params ); 00030 00034 virtual ~Interpolator_2( ); 00035 00042 virtual Element<2> find_u( const Point& x ) const; 00043 00045 private: 00049 mutable std::vector<Element<2> > _elems; 00053 mutable std::vector<std::set<size_t> > _cells; 00054 }; 00055 00056 }; 00057 00058 #endif // DELAUNAYLINEAR_2_H