00001 #ifndef _MY_FChessBoard3D_ 00002 #define _MY_FChessBoard3D_ 00003 #include "sfunctions.h" 00004 #include "stackvector.h" 00005 00006 00020 class FChessBoard3D : public Function3D 00021 { 00022 private: 00023 Point3D m_p0; 00024 Point3D m_p1; 00025 Point3D m_lp0; 00026 Point3D m_lp1; 00027 unsigned m_dimX,m_dimY,m_dimZ; 00028 double m_dX,m_dY,m_dZ; 00029 00030 StackVector<3,unsigned> Xi,Xe; 00031 00032 00033 dealii::Table<3,double> m_matrix3D; 00034 protected: 00035 00036 public: 00037 FChessBoard3D(Point3D p0,Point3D p1,Point3D lp0,Point3D lp1,std::string fileName); 00038 FChessBoard3D(Point3D p0,Point3D p1,Point3D lp0,Point3D lp1,double My,double Cy,std::string fileName); 00039 FChessBoard3D(Point3D p0,Point3D p1,int dimX,int dimY,int dimZ, std::vector<double> &data); 00040 00041 virtual double operator() (const VecDouble &p, unsigned int component=0) const; 00042 00043 int getDimX(){return m_dimX;} 00044 int getDimY(){return m_dimY;} 00045 int getDimZ(){return m_dimZ;} 00046 00047 virtual ~FChessBoard3D(); 00048 00049 }; 00050 00051 #endif