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.
nmWTAI-Platform/Include/mTool/mToolPseu/iWxPseuSubTri.h

91 lines
2.2 KiB
C++

This file contains ambiguous Unicode characters!

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 "iWxPseuSub.h"
#include "mToolPseu_global.h"
class iWxPseudo3Sub;
class iAlgPseuMethodTriInfo;
class M_TOOL_PSEU_EXPORT iWxPseuSubTri : public iWxPseuSub
{
Q_OBJECT
public:
explicit iWxPseuSubTri(QWidget *parent = 0);
~iWxPseuSubTri();
// 初始化
virtual void initUI();
// 传递参数
virtual void setInfos(QString sFluidType, QString sPhaseType, QString sPara);
// 最后一个SubWx
iWxPseudo3Sub* getSubWxPseu();
iWxPseudo3Sub* getSubWxBy(QString sName);
// 初始化算法
virtual void initAlg();
// 算法计算入口
virtual void calAndFreshPseu(bool bCreateIfFirst = true);
// 是否已经正确进行了拟压力计算
virtual bool hasProperPseuRst();
/// @brief 获取 拟压力页面中,拟压力结果表
/// @param vvec,返回数据长度为4分别为压力P/拟压力Ps/偏差因子Zg/黏度Miug
/// 压力,单位 Mpa
/// 拟压力,单位 Pa/sec
/// 偏差因子,单位 Pa/sec
/// 黏度,单位 Pa/sec
virtual bool getPseuRstOf(VVecDouble& vvec);
// 传递参数
void calAndFreshBy(VecDouble& vecX);
// 最终的计算函数
bool calPseudo3(VecDouble& vecP, VecDouble& vecPs, QString& sAllExpr, bool bLogging);
// 刷新最终的Sub图表
bool freshFinalPs(VecDouble& vecP, VecDouble& vecPs, QString sAllExpr);
// 返回数据,触发信息
bool getPseuPseuInfos(VVecDouble& vvec, \
QMap<QString, iAlgPseuMethodTriInfo*>& mapPsInfos, \
QMap<QString, double>& mapOthers);
// 保存
// void saveBkInfos();
// 文件标识
virtual QString getFilePseuTag();
virtual bool savePseu();
private:
// 算法有多少种
virtual void dealwithMethods();
// 算法切换
void refreshByMethod(QString s);
// 准备
void preparePsInfos(QMap<QString, iAlgPseuMethodTriInfo*>& mapInfos, bool bOut);
void prepareOthers();
signals:
private slots:
void slotSubWxChanged(int);
void slotRefreshPseu();
private:
QStackedWidget* m_pStackedWx;
VecDouble m_vecX;
};