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.

38 lines
845 B
C

1 month ago
#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);
};