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/mData/mSysUtilsWDT/wdtSysUtilsHelper.h

75 lines
2.1 KiB
C

#pragma once
#include "Defines.h"
#include "mSysUtilsWDT_global.h"
class iParameter;
class wdtDefineWel;
class wdtDefineSubWel;
class wdtDefineMethod;
//class wdtDefineAnal;
class wdtAlgItem;
class wdtAlgItemGroup;
class M_SYSUTILS_WDT_EXPORT wdtSysUtilsHelper
{
public:
// 获取对象,单例模式
static wdtSysUtilsHelper* getInstance();
// 关闭消耗
static void release();
// Wdt defines
bool loadWdtAlgDefines(QString sFileDefine = "", QString sFileAlg = "");
// 获取模型定义相关的内容对应的是ModelDescsWDT_cn文件
QVector<wdtDefineWel*>* getWdtWelPtrs();
wdtDefineWel* getWdtWelDefine(QString sNameOrId);
wdtDefineSubWel* getWdtSubWelDefine(QString sNameOrId, QString sNameOrIdWel);
wdtDefineMethod* getWdtMethodDefine(QString sNameOrId, QString sNameOrIdWel, QString sNameOrIdSubWel);
// wdtDefineAnal* getWdtAnalDefine(QString sNameOrId, wdtDefineMethod* p);
/// @brief 获取定义的CommonParas节点的内容
/// @param sSubWndTag 具体的窗体(其实也就是功能)
/// @param sNameOrIdSubWel 井别(对应 油井 还是 气井)
/// @param sNameOrIdWel 井型(对应直井/定向井,还是 水平井)
QStringList getCommonParaInputs(QString sSubWndTag, \
QString sNameOrIdSubWel, \
QString sNameOrIdWel);
// 获取算法相关的定义对应的是WdtAlgDefines_cn文件
QVector<wdtAlgItemGroup*>* getWdtAlgGroupPtrs();
wdtAlgItemGroup* getWdtAlgGroup(QString sNameOrId);
wdtAlgItem* getWdtAlgItem(QString sNameOrId, QString sNameOrIdGroup = "");
private:
wdtSysUtilsHelper();
~wdtSysUtilsHelper();
// Wdt defines
bool _loadWdtDefines(QString sFileDefine = "");
bool _loadWdtAlgs(QString sFileAlg = "");
private:
static wdtSysUtilsHelper* m_pSysInstance;
private:
// 系统统一的命名载体
QVector<wdtDefineWel*> m_vecWdtWelPtrs;
QVector<wdtAlgItemGroup*> m_vecWdtAlgGroupPtrs;
// Common输入参数
QMap<QString, QStringList> m_mapCommonInputs;
};
#define _wdtHelper wdtSysUtilsHelper::getInstance()