field_2.h

00001 #ifndef FIELD_2_H
00002 #define FIELD_2_H
00003 
00004 #include "field.h"
00005 #include "interpolator.h"
00006 #include "boundary_2.h"
00007 #include "afltypes.h"
00008 
00009 namespace afl
00010 {
00011     class Iterator;
00012     class Interpolator;
00017     class Field_2 : public Field
00018     {
00020         //  typedef Iterator iterator;
00021 
00023         public:
00031               Field_2( const std::string& name, ddf::PropertySet* pset = NULL);
00032 
00036               virtual ~Field_2();
00037 
00044              virtual void interpolation( interp_t method );
00045 
00051              virtual Value get( const Point& p ) const;
00052 
00057              virtual Derivative jacobian( const Point& x ) const;
00058 
00066              virtual Point gradient( const Point& x ) const;
00067 
00074              virtual data_t divergence( const Point& x ) const;
00075 
00082              virtual data_t laplacian( const Point& x ) const;
00083 
00093              virtual void set( const Point& x, const Value& value );
00094 
00108              virtual void set( const Point& x, const Value& value, const Derivative& dvalue );
00109              
00116              virtual size_t getDimension(  ) const { return 2; }
00117 
00124              virtual Point getBoundingBoxMin(  ) const;
00125 
00132              virtual Point getBoundingBoxMax(  ) const;
00133 
00137             virtual Field* clone(  ) const;
00138 
00151              virtual Value integral ( const Simplex& s ) const;
00152 
00154         protected:
00155 
00156 
00158         private:
00159 
00162         public:
00163         protected:
00164         private:
00165 
00166     };
00167 
00168 };
00169 
00170 #endif // FIELD_2_H

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