#pragma once #include "ZxDot.h" #include "mModuleDefines.h" #include "mGuiJob_global.h" class iModelOption; class iModelInfoBase; class iModelDescGroup; // ModelOption Helper class M_GUI_JOB_EXPORT tMoHelper { public: tMoHelper(); public: /// @brief 根据类型获取xml中配置的名称,示例:s_Key_Wel ---> MoWel /// @param sType(in),具体哪种类型(如 s_Key_Wel) /// @param nLayerIndex(in),当前所在层,如果为-1则不考虑,从0开始 static QString getMoNameOf(QString sType, int nLayerIndex = -1); /// @brief 根据 xml中配的Name 获取 类型 示例:MoWel ---> s_Key_Wel /// @param sPara(in),参数,如MoWel /// @param nLayerIndex(in),当前所在层,如果为-1则不考虑,从0开始 static QString getMoTypeStrOf(QString sPara, int nLayerIndex = -1); /// @brief 根据 xml中配的Name 获取 类型 示例:MoWel ---> MOT_Wel /// @param sPara(in),参数,如MoWel /// @param nLayerIndex(in),当前所在层,如果为-1则不考虑,从0开始 static Model_Option_Type getMoTypeEnumOf(QString sPara, int nLayerIndex = -1); // 收集涉及到的参数 // 井储参数 static void appendParas_Wbs(QStringList& listParas, QString sWbs); static void appendParas_Bdy(QStringList& listParas, QString sBdy, \ bool bLinearFlow = false); static void appendParas_Inner(QStringList& listParas, \ iModelOption* pOption, \ iModelInfoBase* pModelInfo); static void appendToLists(QStringList& listParas, \ QStringList& listTemps, \ int nLayerIndex, \ bool bCrossFlow, \ QString sParaSrcTag); // 根据Code和Tag获取ModelDescGroup static iModelDescGroup* getModelDescGroup(QString sTag, QString sCode); static iModelInfoBase* getModelInfo(QString sCode, QString sTag, \ vecModelInfoBasesPtr* pVec); static bool findSubModelResInfo(iModelDescGroup* pMoldeDesc, QStringList listFilteredSeries); static bool findSubModelWelInfo(int& n/*, vecModelInfoBasesPtr* pVec*/, QStringList listFilteredSeries); };