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++

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