00001 #ifndef WMASKGRID_H
00002 #define WMASKGRID_H
00003
00004 #include "general.h"
00005
00006
00012
00026
00027
00028 class WMaskGrid{
00029
00030 public:
00031
00032 WMaskGrid();
00033 WMaskGrid(int numberOfElements, int numberOfElementsBorder, double Factor, Array2D & A);
00034
00035 ~WMaskGrid();
00036
00037 void setup(int numberOfElements, int numberOfElementsBorder, double Factor, Array2D & A);
00038
00039 double getValue(int row,int col);
00040 void putValue(int row,int col,double value);
00041 void cpValueInBorder(Array2D & u, double value=1.0);
00042
00043 double firstDerivativeAntiSymmetric(double dxy, int row, int col, int flag);
00044 double firstDerivativeSymmetric(double dxy, int row, int col, int flag);
00045
00046 void testStorage(void);
00047
00048 Array2D buildGrid(void);
00049
00050
00051 inline double WMaskGrid::getScalingFactor(void)const{
00052 return(_factorOfScaling) ;
00053 }
00054
00055 inline void WMaskGrid::setScalingFactor(double Factor){
00056 _factorOfScaling = Factor;
00057 }
00058
00059
00060 protected:
00061
00062 int _numberOfElements, _numberOfElementsBorder;
00063 double _factorOfScaling;
00064
00065
00066 Array2D _gridInf,
00067 _gridSup,
00068 _gridLeft,
00069 _gridRight,
00070 _gridInner;
00071
00072
00073 };
00074
00075
00076 #endif