/********************************************************************** * @file FITKOFTransportModelManager.h * @brief Transport Model管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-23 *********************************************************************/ #ifndef _FITK_OF_TRANSPORT_MODEL_MANAGER_H___ #define _FITK_OF_TRANSPORT_MODEL_MANAGER_H___ #include "FITKInterfaceFlowOFAPI.h" #include "FITKOFEnum.hpp" #include #include namespace Interface { class FITKAbsOFTransportModel; } typedef std::function CREATETRANSPORTMODELFUN; namespace Interface { struct FITKOFTransportModelInfo { QString _transModelName{}; QList _enableSolverType; CREATETRANSPORTMODELFUN _createFuns{}; }; class FITKInterfaceFlowOFAPI FITKOFTransportModelManager { public: explicit FITKOFTransportModelManager(); virtual ~FITKOFTransportModelManager(); /** * @brief 过滤Transport Model类型 * @param[i] solverType * @return QStringList * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-23 */ QStringList filterTransportModels(FITKOFSolverTypeEnum::FITKOFSolverType solverType); /** * @brief 获取Transport Model信息 * @param[i] transModelName * @return FITKOFTransportModelInfo * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-23 */ FITKOFTransportModelInfo getTransportModelInfo(QString transModelName); private: /** * @brief 初始化Transport Model数据信息 * @return void * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 */ void initTransportModels(); private: /** * @brief Transport Model数据信息 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-23 */ QList m_transportModels{}; }; } #endif