You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
class CScatteredTrace;
|
|
|
|
|
|
struct SCATTEREDDATAINDEX;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ֵ<EFBFBD><D6B5>
|
|
|
|
|
|
class CInterpolator
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CInterpolator();
|
|
|
|
|
|
~CInterpolator();
|
|
|
|
|
|
//Attributes
|
|
|
|
|
|
private:
|
|
|
|
|
|
CScatteredTrace* m_pScatteredData;
|
|
|
|
|
|
int m_iCalculateMethod;
|
|
|
|
|
|
// <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
|
//0--ö<>ٲ<EFBFBD>ֵ
|
|
|
|
|
|
//1--<2D><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>Ȩƽ<C8A8><C6BD>
|
|
|
|
|
|
//2--<2D><><EFBFBD>뷴<EFBFBD>ȼ<EFBFBD>Ȩƽ<C8A8><C6BD>
|
|
|
|
|
|
//3--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_iInterpolatePointCount;
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD>ڲ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><CBBE>뼰<EFBFBD><EBBCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)*/
|
|
|
|
|
|
SCATTEREDDATAINDEX* m_pInterpolateDataIndex;
|
|
|
|
|
|
|
|
|
|
|
|
//Operations
|
|
|
|
|
|
public:
|
|
|
|
|
|
void SetScatteredData(CScatteredTrace* pScatteredData);
|
|
|
|
|
|
void SetCalculateMethod(int iMethod);
|
|
|
|
|
|
int GetInterpolatePoint();
|
|
|
|
|
|
void SetInterpolatePoint(int iValue);
|
|
|
|
|
|
SCATTEREDDATAINDEX* GetInterpolateDataIndexArray();
|
|
|
|
|
|
|
|
|
|
|
|
double Interpolate(double x,double y,int iType,double* pDataArray=NULL);
|
|
|
|
|
|
private:
|
|
|
|
|
|
double Interpolate0(double x,double y,int iType,double* pDataArray);
|
|
|
|
|
|
};
|