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.
76 lines
2.1 KiB
C++
76 lines
2.1 KiB
C++
/**********************************************************************
|
|
* @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 <functional>
|
|
#include <QStringList>
|
|
|
|
namespace Interface
|
|
{
|
|
class FITKAbsOFTransportModel;
|
|
}
|
|
|
|
typedef std::function<Interface::FITKAbsOFTransportModel*()> CREATETRANSPORTMODELFUN;
|
|
|
|
namespace Interface
|
|
{
|
|
|
|
struct FITKOFTransportModelInfo
|
|
{
|
|
QString _transModelName{};
|
|
QList<FITKOFSolverTypeEnum::FITKOFSolverType> _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<FITKOFTransportModelInfo> m_transportModels{};
|
|
};
|
|
}
|
|
|
|
|
|
#endif
|