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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# pragma once
# include "iAlgDiffusionBase.h"
// 模型方法
enum KkModelMethod
{
KK_M_Power = 0 , //乘幂
KK_M_Exp , //指数
KK_M_Unknown
} ;
// 计算
class M_DIFFUSION_EXPORT iAlgDiffusionKK : public iAlgDiffusionBase
{
public :
iAlgDiffusionKK ( ) ;
// 计算函数(调用算法)
virtual bool cal ( VecDouble vecX , VecDouble & vecY1 , VecDouble & vecY2 ) ;
virtual bool cal ( double dIn , double & dOut1 , double & dOut2 ) ;
virtual bool cal ( VecDouble vecX , VecDouble & vecY ) ;
virtual bool cal ( double dIn , double & dOut ) ;
/// @brief 根据dX/dY(左侧/右侧的第二个点),反算求解指数
/// @param dIndex求解的指数
/// @param dX,dY 点通常指的是鼠标移动后对应的数值点
/// @param bL(左侧还是右侧, 左侧为第一个, 右侧为第2个)
virtual bool inversCal ( double & dIndex , double dX , double dY , bool bL ) ;
protected :
// 把参数Map解析为成员变量
virtual bool parseParas2Members ( QStringList & listTagParas , QStringList & listTagModels ) ;
// 输入(参数+输入)正确性验证
virtual bool checkParas ( ) ;
virtual bool checkInputs ( ) ;
protected :
double m_dIndex1 ; //指数1, 比如Kro指数
KkModelMethod m_oModel1 ; //模型1, 比如Kro模型
double m_dIndex2 ; //指数2, 比如Krw指数
KkModelMethod m_oModel2 ; //模型2, 比如Krw模型
} ;