|
|
|
|
#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;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|