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/iWxPvtSubPhaseGas.h

124 lines
3.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 "iWxPvtSubPhase.h"
namespace Ui {
class iWxPvtSubPhaseGas;
}
class iWxPvtComposition;
class M_TOOL_PVT_EXPORT iWxPvtSubPhaseGas : public iWxPvtSubPhase
{
Q_OBJECT
public:
explicit iWxPvtSubPhaseGas(QString sFluidType, \
QString sPhaseType, \
QWidget *parent = 0);
~iWxPvtSubPhaseGas();
// 初始化
virtual void initUI();
// 返回数据
virtual bool getParaValue(QString sPara,
double &fValue,
QString sUnitDest = "");
// 从当前所有的信息中获取参数的值
virtual bool getPvtParaValue(QString s, double& d);
// 文件标识
virtual QString getFilePvtTag();
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
protected:
// 默认值
virtual void initDefault();
// 刷新H2S/CO2/N2等
void refreshHCN();
// 刷新摩尔
void refreshMole();
// 根据组分计算并刷新相对密度
void calAndFreshPho(QMap<QString, double>& map);
// 计算临界值
void calAndFreshTcPc(QWidget *pSender = NULL);
// 判断数值是否正确
bool checkInputOfHCN(QWidget *pSender = NULL);
// 在本类对于绘图窗体进行布局调整,注意仅仅是为了代码维护方便而已
virtual void initUI_Others_Btns(QString sPara, QHBoxLayout* pLayoutH);
virtual void initUI_Others_Paras(QString sPara, QHBoxLayout* pLayoutH);
virtual void changeOthersBtns(QString s);
virtual void changeOthersParas(QString s);
// 纠正
void runZgMatch();
void getMathExps(VecPointF& vec);
void updateMatchPlot(VecDouble x, VecDouble y, VecPointF vecExps);
void freshPpcs(double fPpc, double fPpcNew = -1.f);
public slots:
// 临界计算方法切换
void on_cbxCriticalMethods_currentIndexChanged(const QString &arg1);
// H2S/CO2/N2的摩尔模式
void on_radioFraction_clicked();
void on_radioPercent_clicked();
// H2S/CO2/N2的摩尔数值验证
void on_tbxH2S_textChanged(const QString &arg1);
void on_tbxCO2_textChanged(const QString &arg1);
void on_tbxN2_textChanged(const QString &arg1);
// 比重改变
void on_tbxGravity_textChanged(const QString &arg1);
void on_btnComposition_clicked();
void slotCompSubChanged(QMap<QString, double>& map);
// 自行调整,绘图视图下侧的内容显示
virtual void slotAdjustPlotBottomLayout(QString sPara, QHBoxLayout*& pLayoutH);
// match 功能20210718
void slotBtnZgMatchPrepare();
void slotBtnZgMatchRun();
void slotCbxZgMatchUsePpc();
void slotZgMatchExpData(VVecVariant& vvecData);
// 凝析气参数设置
void slotDiffDpRatioGPP();
// 计算时,对于参数的设定
virtual void slotDealwithAlgoMembers(iAlgPvtBase*& p);
private:
Ui::iWxPvtSubPhaseGas *ui;
QMap<QString, double> m_mapComps;
int m_nCustomIndex;
// match 功能20210718
QPushButton* m_pBtnZgMatchPrepare;
QPushButton* m_pBtnZgMatchRun;
QLabel* m_pLblPpcs;
QCheckBox* m_pCbxUsePpc;
VVecVariant m_vvecExps; //match需要的edit数据
QLineEdit* m_pTbxGPP;
QLabel* m_pLblGPP;
};