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