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

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 "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()