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/nmNum/nmData/nmDataAnalyzeContextProvider.h

42 lines
1.6 KiB
C

#pragma once
#include "Defines.h"
#include "mAlgDefines.h"
#include "mModuleDefines.h"
#include "nmData_global.h"
#include <QMap>
#include <QString>
#include <QStringList>
// 数据层访问分析窗口上下文的抽象接口
// nmData只依赖这个接口不直接包含nmSubWnd中的具体窗口类
class NM_DATA_EXPORT nmDataAnalyzeContextProvider {
public:
virtual ~nmDataAnalyzeContextProvider() {}
// 获取当前分析窗口选中的流动段索引
virtual bool getCurrentSegmentIndex(void* pFitting, int& nIndexF) = 0;
// 获取基础数据中的PVT相态类型
virtual bool getBasicPft(void* pFitting, PvtFluidType& eType) = 0;
// 按参数名获取PVT基础参数值
virtual bool getPvtParaValues(void* pFitting, const QStringList& listParas, QMap<QString, double>& mapValues) = 0;
// 获取基础分层数据
virtual bool getBasicDataLayers(void* pFitting, VVecVariant& vvecLayerData) = 0;
// 获取指定相态和参数名对应的PVT曲线结果
virtual bool getPvtRstOf(void* pFitting, PvtFluidType eType, const QString& sPara, VecDouble& vecX, VecDouble& vecY) = 0;
// 获取Diffusion页面中某个参数的具体数值
virtual bool getDiffusionParaOf(void* pFitting, DiffusionSubOption dso, const QString& sPara, double& d) = 0;
// 获取Diffusion页面中指定子项的计算结果
virtual bool getDiffusionRstOf(void* pFitting, DiffusionSubOption dso, VVecDouble& vvec) = 0;
// 获取当前结果窗口对应的数值结果保存目录
virtual bool getSaveResultDir(void* pFitting, const QString& sRstCode, QString& sDir) = 0;
};