00001
00002
00004
00005 #if !defined(AFX_2DINTERPOLATIONDATA_H__AEBA8863_48FA_4871_B822_A31645EDC6C9__INCLUDED_)
00006 #define AFX_2DINTERPOLATIONDATA_H__AEBA8863_48FA_4871_B822_A31645EDC6C9__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012 #include <string>
00013
00014
00015 #include "IndexOutOfBoundException.h"
00016 #include "NullPointerException.h"
00017 #include "Interpolator.h"
00018
00019 namespace Interpolator
00020 {
00022 class InterpolationData2D
00023 {
00024 public:
00025
00026 InterpolationData2D();
00027 InterpolationData2D(std::string sXName, std::string sYName, std::string sZName,long lNbXData,long lNbYData,double* mXValues, double* mYValues,double* mZValues);
00028 virtual ~InterpolationData2D();
00029
00030 std::string getXName() const;
00031 std::string getYName() const;
00032 std::string getZName() const;
00033
00034 double getXValue(int i) const ;
00035 double getYValue(int i) const ;
00036 double getZValue(int i,int j) const ;
00037
00038 double* getXValues() const ;
00039 double* getYValues() const ;
00040 double* getZValues() const ;
00041
00042 void setXValue(int i,double dNewValue) ;
00043 void setYValue(int i,double dNewValue) ;
00044 void setZValue(int i,int j,double dNewValue) ;
00045
00046 void setValues(long lNbXData,long lNbYData,double* dNewXValues,double* dNewYValues,double* dNewZValues);
00047
00048 long getNbXData() const;
00049 long getNbYData() const;
00050 long getNbZData() const;
00051
00052 virtual void printInfos();
00053
00054 private:
00055 void setXValues(double* dNewValues);
00056 void setYValues(double* dNewValues);
00057 void setZValues(double* dNewValues);
00058
00059 std::string _sXName;
00060 std::string _sYName;
00061 std::string _sZName;
00062
00063 long _lNbXData;
00064 long _lNbYData;
00065 long _lNbZData;
00066
00067 double* _mXValues;
00068 double* _mYValues;
00069 double* _mZValues;
00070 };
00071 }
00072 #endif // !defined(AFX_2DINTERPOLATIONDATA_H__AEBA8863_48FA_4871_B822_A31645EDC6C9__INCLUDED_)