field_4.h

00001 #ifndef FIELD_4_H
00002 #define FIELD_4_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_4 : public Field
00017     {
00019         //  typedef Iterator iterator;
00020 
00022         public:
00030               Field_4( const std::string& name, ddf::PropertySet* pset = NULL);
00031 
00035               virtual ~Field_4();
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 
00082              virtual data_t laplacian( const Point& x ) const;
00083 
00093              void set( const Point& x, const Value& value );
00094 
00108              void set( const Point& x, const Value& value, const Derivative& dvalue );
00109              
00116              virtual size_t getDimension(  ) const { return 4; }
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_4_H

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