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
|
|
|
|
|
|
|
|
|
|
#include "Defines.h"
|
|
|
|
|
|
|
|
|
|
#include "iAlgMath_global.h"
|
|
|
|
|
|
|
|
|
|
// 插值方法,注:该方法源码来源于原先等值线插值
|
|
|
|
|
// 具体参见:iPlotContour 类库20240419之前代码
|
|
|
|
|
// 该类暂时未启用,如果需要联系wzg
|
|
|
|
|
class I_ALGMATH_EXPORT zxInterpolation
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
zxInterpolation();
|
|
|
|
|
virtual ~zxInterpolation();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
// 普通插值
|
|
|
|
|
static bool runByCommon(VVecDouble& vvecInters, int nRow, int nCol);
|
|
|
|
|
static bool _runColCommon(const VVecDouble& vvecSrcs, VVecDouble& vvecRs, \
|
|
|
|
|
const int nRow, const int nCol, int &nRRCol);
|
|
|
|
|
static bool _runRowCommon(const VVecDouble& vvecSrcs, VVecDouble& vvecRs, \
|
|
|
|
|
const int nRow, const int nCol, int &nRRow );
|
|
|
|
|
|
|
|
|
|
// 贝塞尔插值
|
|
|
|
|
static bool runByBezier(VVecDouble& vvecSrcs, \
|
|
|
|
|
VVecDouble& vvecInters, \
|
|
|
|
|
int nRow, int nCol);
|
|
|
|
|
static bool _runColBezier(const VVecDouble& vvecSrcs, \
|
|
|
|
|
VVecDouble& vvecRs, \
|
|
|
|
|
int nSize);
|
|
|
|
|
static bool _runRowBezier(const VVecDouble& vvecSrcs, \
|
|
|
|
|
VVecDouble& vvecRs, \
|
|
|
|
|
int nSize);
|
|
|
|
|
static QVector<QPointF> _runBezier(const QVector<QPointF>& vecInputs, \
|
|
|
|
|
const int nSizeRaw);
|
|
|
|
|
};
|