field_3.h

00001 #ifndef FIELD_3_H
00002 #define FIELD_3_H
00003 
00004 #include "field.h"
00005 #include "interpolator.h"
00006 #include "afltypes.h"
00007 
00008 namespace afl
00009 {
00010     class Iterator;
00011     class Interpolator;
00016     class Field_3 : public Field
00017     {
00019         //  typedef Iterator iterator;
00020 
00022         public:
00030               Field_3( const std::string& name, ddf::PropertySet* pset = NULL);
00031 
00035               virtual ~Field_3();
00036 
00043              void interpolation( interp_t method );
00044 
00050              Value get( const Point& p ) const;
00051 
00056              virtual Derivative jacobian( const Point& x ) const;
00057 
00065              virtual Point gradient( const Point& x ) const;
00066 
00073              virtual data_t divergence( const Point& x ) const;
00074 
00081              virtual data_t laplacian( const Point& x ) const;
00082 
00090              virtual Point curl( const Point& x ) const; 
00091 
00101              void set( const Point& x, const Value& value );
00102 
00116              void set( const Point& x, const Value& value, const Derivative& dvalue );
00117              
00124              virtual size_t getDimension(  ) const { return 3; }
00125 
00132              virtual Point getBoundingBoxMin(  ) const;
00133 
00140              virtual Point getBoundingBoxMax(  ) const;
00141 
00145             virtual Field* clone(  ) const;
00146 
00159              virtual Value integral ( const Simplex& s ) const;
00160 
00162         protected:
00163 
00164 
00166         private:
00167 
00170         public:
00171         protected:
00172         private:
00173 
00174     };
00175 
00176 };
00177 
00178 #endif // FIELD_3_H

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