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.
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "nmDataAnalyzeContextProvider.h"
|
|
|
|
|
|
#include "nmSubWnd_global.h"
|
|
|
|
|
|
|
|
|
|
|
|
// 窗口层的数据分析上下文控制器
|
|
|
|
|
|
// 负责把数据层的上下文请求转发给iSubWndFitting,避免nmData直接依赖nmSubWnd
|
|
|
|
|
|
class NM_SUB_WND_EXPORT nmSubWndDataAnalyzeController : public nmDataAnalyzeContextProvider {
|
|
|
|
|
|
public:
|
|
|
|
|
|
// 获取全局唯一的上下文控制器实例
|
|
|
|
|
|
static nmSubWndDataAnalyzeController* instance();
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前分析窗口选中的流动段索引
|
|
|
|
|
|
bool getCurrentSegmentIndex(void* pFitting, int& nIndexF);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取基础数据中的PVT相态类型
|
|
|
|
|
|
bool getBasicPft(void* pFitting, PvtFluidType& eType);
|
|
|
|
|
|
|
|
|
|
|
|
// 按参数名获取PVT基础参数值
|
|
|
|
|
|
bool getPvtParaValues(void* pFitting, const QStringList& listParas, QMap<QString, double>& mapValues);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取基础分层数据
|
|
|
|
|
|
bool getBasicDataLayers(void* pFitting, VVecVariant& vvecLayerData);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取指定相态和参数名对应的PVT曲线结果
|
|
|
|
|
|
bool getPvtRstOf(void* pFitting, PvtFluidType eType, const QString& sPara, VecDouble& vecX, VecDouble& vecY);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取Diffusion页面中某个参数的具体数值
|
|
|
|
|
|
bool getDiffusionParaOf(void* pFitting, DiffusionSubOption dso, const QString& sPara, double& d);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取Diffusion页面中指定子项的计算结果
|
|
|
|
|
|
bool getDiffusionRstOf(void* pFitting, DiffusionSubOption dso, VVecDouble& vvec);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前结果窗口对应的数值结果保存目录
|
|
|
|
|
|
bool getSaveResultDir(void* pFitting, const QString& sRstCode, QString& sDir);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
nmSubWndDataAnalyzeController() {}
|
|
|
|
|
|
};
|