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.
nmWATI/Include/mTool/mToolPvt/iWxPvtUtilItemPseudo3.h

74 lines
1.6 KiB
C++

#pragma once
#include "iWxPvtUtilItem.h"
class iWxPseudo3Sub;
class iPseudo3Info;
class M_TOOL_PVT_EXPORT iWxPvtUtilItemPseudo3 : public iWxPvtUtilItem
{
Q_OBJECT
public:
explicit iWxPvtUtilItemPseudo3(QWidget *parent = 0);
~iWxPvtUtilItemPseudo3();
// 初始化
virtual void initUI();
// 传递参数
virtual void setInfos(QString sFluidType, QString sPhaseType, QString sPara);
// 最后一个SubWx
iWxPseudo3Sub* getSubWxPseu();
iWxPseudo3Sub* getSubWxBy(QString sName);
// 传递参数
void calAndFreshBy(VecDouble& vecX);
// 最终的计算函数
bool calPseudo3(VecDouble& vecP, VecDouble& vecPs, QString& sAllExpr, bool bLogging);
// 刷新最终的Sub图表
bool freshFinalPs(VecDouble& vecP, VecDouble& vecPs, QString sAllExpr);
// 返回数据,触发信息
bool getPvtPseuInfos(VVecDouble& vvec, \
QMap<QString, iPseudo3Info*>& mapPsInfos, \
QMap<QString, double>& mapOthers);
// 保存
// void saveBkInfos();
// 文件标识
virtual QString getFilePvtTag();
virtual bool savePvt();
private:
// 算法有多少种
virtual void dealwithMethods();
// 算法切换
void refreshByMethod(QString s);
// 准备
void preparePsInfos(QMap<QString, iPseudo3Info*>& mapInfos, bool bOut);
void prepareOthers();
signals:
private slots:
void slotSubWxChanged(int);
void slotRefreshPseu();
private:
QStackedWidget* m_pStackedWx;
VecDouble m_vecX;
QMap<QString, double> m_mapOthers;
};