00001 // InterpolationData1D.h: interface for the InterpolationData class. 00002 // 00004 00005 #if !defined(AFX_InterpolationData1D_H__780CD822_1132_472E_B13A_FD205D1E026B__INCLUDED_) 00006 #define AFX_InterpolationData1D_H__780CD822_1132_472E_B13A_FD205D1E026B__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif // _MSC_VER > 1000 00011 00012 #include <string> 00013 //using namespace std; 00014 #include "IndexOutOfBoundException.h" 00015 #include "NullPointerException.h" 00016 #include "Interpolator.h" 00017 00018 namespace Interpolator 00019 { 00020 00022 class InterpolationData1D 00023 { 00024 public: 00025 InterpolationData1D(); 00026 InterpolationData1D(std::string sXName, std::string sYName, long lNbData,double* mXValues, double* mYValues); 00027 virtual ~InterpolationData1D(); 00028 00029 std::string getXName() const; 00030 std::string getYName() const; 00031 double getXValue(int i) const ;// throw (IndexOutOfBoundException,NullPointerException); 00032 double getYValue(int i) const ;// throw (IndexOutOfBoundException,NullPointerException); 00033 00034 double* getXValues() const ;// throw (NullPointerException); 00035 double* getYValues() const ;// throw (NullPointerException); 00036 00037 void setXValue(int i,double dNewValue) ;// throw (IndexOutOfBoundException,NullPointerException); 00038 void setYValue(int i,double dNewValue) ;// throw (IndexOutOfBoundException,NullPointerException); 00039 00040 void setValues(long lNbData,double* dNewXValues,double* dNewYValues); 00041 long getNbData() const; 00042 int checkDataValidity(long lNbData,double* dNewXValues); 00043 void checkSize(long lNbData); 00044 void DisplayData(); 00045 private: 00046 void setXValues(double* dNewValues); 00047 void setYValues(double* dNewValues); 00048 void setXValuesInInverseOrder(double* dNewValues); 00049 void setYValuesInInverseOrder(double* dNewValues); 00050 00051 std::string _sXName; 00052 std::string _sYName; 00053 long _lNbData; 00054 double* _mXValues; 00055 double* _mYValues; 00056 }; 00057 } 00058 #endif // !defined(AFX_InterpolationData1D_H__780CD822_1132_472E_B13A_FD205D1E026B__INCLUDED_)
1.4.5