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

98 lines
2.3 KiB
C

#pragma once
#include "iWxPseuSub.h"
#include "mToolPseu_global.h"
class M_TOOL_PSEU_EXPORT iWxPseuSubNormal : public iWxPseuSub
{
Q_OBJECT
public:
explicit iWxPseuSubNormal(QWidget *parent = 0);
~iWxPseuSubNormal();
void initUI();
// 传递参数
virtual void setInfos(QString sFluidType, QString sPhaseType, QString sPara);
// 传递参数
void calAndFreshBy(QMap<QString, VecPointF>& mapInputs);
// 是否已经正确进行了拟压力计算
virtual bool hasProperPseuRst();
/// @brief 获取 拟压力页面中,拟压力结果表
/// @param vvec,返回数据长度为4分别为压力P/拟压力Ps/偏差因子Zg/黏度Miug
/// 压力,单位 Mpa
/// 拟压力,单位 Pa/sec
/// 偏差因子,单位 Pa/sec
/// 黏度,单位 Pa/sec
virtual bool getPseuRstOf(VVecDouble& vvec);
// 组织四列拟压力相关的数据
// VecDouble vecP = vvec[0]
// VecDouble vecPs = vvec[1]
// VecDouble vecZg = vvec[2]
// VecDouble vecMug = vvec[3]
bool getPseuPseuInfos(VVecDouble& vvec);
// 文件标识
virtual QString getFilePseuTag();
// 辅助信息
virtual void dealwithDesc();
// 初始化算法
virtual void initAlg();
// 算法计算入口
virtual void calAndFreshPseu(bool bCreateIfFirst = true);
protected:
virtual void initUI_Others_Paras(QHBoxLayout* pLayoutH);
// 四个范围点nWhich0-3
double getPrsScale(int nWhich);
// 步长
double getPrsStep();
// 获取数值
double getCtrlValueBy(QString sKey);
protected slots:
// 压力段范围点改变
void slotPrsScaleChanged();
// 压力段步长改变
void slotPrsStepChanged();
// 根据当前压力段范围点重新计算
void slotBtnRefresh();
private:
// 初始化
virtual QWidget* initUI_Chart();
virtual void initUI_Others();
// 算法有多少种
virtual void dealwithMethods();
// 标题
virtual void dealwithTitles();
// 计算点
virtual bool calResultPos(QPointF& pt);
// 组织数据
bool organizeInputs(QString sX, \
QMap<QString, VecPointF>& mapInputs, \
QMap<QString, VecDouble>& mapParas);
signals:
private:
VecDouble m_vecZg;
VecDouble m_vecMug;
};