00001
00002
00004
00005 #if !defined(AFX_TABLE2D_H__45AF9FF5_F7DA_40AB_9C1E_146EACDA440F__INCLUDED_)
00006 #define AFX_TABLE2D_H__45AF9FF5_F7DA_40AB_9C1E_146EACDA440F__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012
00013
00014 #include "ComputingObject.h"
00015
00016 #include <string>
00017
00018 #include "Table.h"
00019 #include "Variable.h"
00020 #include "InterpolationData2D.h"
00021 #include "Interpolator2D.h"
00022 #include "GenericFileReader2D.h"
00023 namespace Interpolator
00024 {
00028 class Table2D : public Table
00029 {
00030 public:
00031
00032 virtual ~Table2D();
00033
00034 Table2D(std::string sName,
00035 std::string sDescription,
00036 std::string sInterpolationType,
00037 std::string sFilePath);
00038
00039 Table2D(std::string sName,
00040 std::string sDescription,
00041 std::string sInterpolationType,
00042 std::string sXName,
00043 std::string sYName,
00044 std::string sZName,
00045 long lNbDataX,
00046 long lNbDataY,
00047 double* mXValues,
00048 double* mYValues,
00049 double* mZValues);
00050
00051
00052 double computeValue();
00053 double computeValue(double dXValue, double dYvalue);
00054
00055 Interpolator2D* getInterpolator() const;
00056 InterpolationData2D* getInterpolationData() const;
00057
00058 virtual void printInfos();
00059
00060 void setXValue(int i,double dNewValue);
00061 void setYValue(int i,double dNewValue);
00062 void setZValue(int i,int j,double dNewValue);
00063 void setValues(long lNbXData,long lNbYData,double* dNewXValues,double* dNewYValues,double* dNewZValues);
00064
00065
00066 double getXValue(int i) const ;
00067 double getYValue(int i) const ;
00068 double getZValue(int i,int j) const ;
00069
00070 double* getXValues() const ;
00071 double* getYValues() const ;
00072 double* getZValues() const ;
00073
00074 long getNbXData() const;
00075 long getNbYData() const;
00076 long getNbZData() const;
00077
00078
00079 private :
00080
00081 void initializeInterpolator();
00082
00083 Interpolator2D* _mInterpolator;
00084 InterpolationData2D* _mData;
00085
00086 };
00087 }
00088 #endif // !defined(AFX_TABLE2D_H__45AF9FF5_F7DA_40AB_9C1E_146EACDA440F__INCLUDED_)