#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* 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* 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 m_vecWdtWelPtrs; QVector m_vecWdtAlgGroupPtrs; // Common输入参数 QMap m_mapCommonInputs; }; #define _wdtHelper wdtSysUtilsHelper::getInstance()