field_1.h

00001 #ifndef FIELD_1_H
00002 #define FIELD_1_H
00003 
00004 #include "field.h"
00005 #include "interpolator.h"
00006 
00007 namespace afl
00008 {
00013     class Field_1 : public Field
00014     {
00016     //      typedef Iterator iterator;
00017 
00019         public:
00027               Field_1( const std::string& name, ddf::PropertySet* pset = NULL);
00028 
00032               virtual ~Field_1();
00033 
00047              virtual void interpolation( interp_t method );
00048 
00054              virtual void addBoundarySegment( const Field* f );
00055 
00056 
00062              virtual Value get( const Point& x ) const;
00063 
00068              virtual Derivative jacobian( const Point& x ) const;
00069 
00077              virtual Point gradient( const Point& x ) const;
00078 
00085              virtual data_t divergence( const Point& x ) const;
00086 
00093              virtual data_t laplacian( const Point& x ) const;
00094 
00104              virtual void set( const Point& x, const Value& value );
00105 
00119              virtual void set( const Point& x, const Value& value, const Derivative& dvalue );
00120              
00127              virtual size_t getDimension(  ) const { return 1; }
00128 
00135              virtual Point getBoundingBoxMin(  ) const;
00136 
00143              virtual Point getBoundingBoxMax(  ) const;
00144 
00148             virtual Field* clone(  ) const;
00149 
00162              virtual Value integral ( const Simplex& s ) const;
00163     };
00164 
00165 };
00166 
00167 #endif // FIELD_1_H

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