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/mGui/mGuiJob/iWxDataFluidSub.h

100 lines
2.6 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 "iWxBase.h"
#include "mGuiJob_global.h"
namespace Ui {
class iWxDataFluidSub;
}
class iWxPvtMain;
class iPseu3Wrapper;
class iPseudo3Info;
class iPseuCWrapper;
class iPseudoCInfo;
class M_GUI_JOB_EXPORT iWxDataFluidSub : public iWxBase
{
Q_OBJECT
public:
explicit iWxDataFluidSub(QString sFluid, QWidget *parent = 0);
~iWxDataFluidSub();
virtual void initUI();
QString getFluid();
void setPhaseS(bool b);
bool getPhaseS();
// 启动Gas自动显示模式
void runAutoShow();
// 拟压力模式
VVecDouble getPseuData();
iPseu3Wrapper* getPseuData3(); //三区
iPseuCWrapper* getPseuDataC();
//Pseudo
void setMapParaFromFluid(QMap<QString, double> map);
QMap<QString, double> getMapParaFromFluid();
bool getMapParaValue(QString str, double& f);
// 由于多相用的时候得顺序问题,故权宜之计
bool getParaValueEx(QString sPara, double& f);
public:
void copyFrom(iDlgBase* pFrom);
// 序列化
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
private:
void initAdvCtrls();
void freshAdvCtrls();
protected:
virtual void paintEvent(QPaintEvent *);
private slots:
void on_cbxUseAdvanced_clicked();
void on_btnCalSoSg_clicked(); //计算饱和度
void on_btnCal3C_clicked(); //通过弹出PVT对话框计算压缩系数等
void on_btnCalFinal_clicked(); //最终刷新计算
void slotPvtResultsChanged(QMap<QString,double>& map);
void slotPseudoResultsChanged(VVecDouble& vvec);
void slotPseudoResults3Changed(const VVecDouble& vvec, \
const QMap<QString, iPseudo3Info*>& mapPsInfos, \
const QMap<QString, double>& mapOthers);
void slotPseudoResultsCChanged(const VVecDouble& vvec, \
const QMap<QString, iPseudoCInfo*>& mapPsInfos, \
const QMap<QString, double>& mapOthers);
private:
Ui::iWxDataFluidSub *ui;
QString m_sFluid; //油气水
bool m_bSinglePhase; //是否单相
QStringList m_listParas; //参数项
// //Pseudo结果四列
// VecDouble vecP = vvec[0]
// VecDouble vecPs = vvec[1]
// VecDouble vecZg = vvec[2]
// VecDouble vecMug = vvec[3]
VVecDouble m_vvecPseuData;//原先VecPointF
iPseu3Wrapper* m_pPseu3Wrapper; //对于三区,采用数据体
iPseuCWrapper* m_pPseuCWrapper;
iWxPvtMain* m_pWxPvt;
//Pseudo
QMap<QString, double> m_mapParaFromFluid;
};