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

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