00001 #ifndef INTERPOLATOR_3_H 00002 #define INTERPOLATOR_3_H 00003 00004 #include "interpolator.h" 00005 #include "point.h" 00006 #include "element.h" 00007 #include <set> 00008 00009 namespace afl 00010 { 00011 00012 00018 class Interpolator_3 : public Interpolator 00019 { 00021 protected: 00022 00028 Interpolator_3( const Field* f, const Parameters& params ); 00029 00033 virtual ~Interpolator_3( ) { } 00034 00035 00042 virtual const Element<3>& find_u( const Point& x ) const; 00043 00045 private: 00049 mutable std::vector<Element<3> > _elems; 00053 mutable std::vector<std::set<size_t> > _cells; 00054 }; 00055 }; 00056 00057 #endif // DELAUNAYLINEAR_3_H