|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @file OperatorsImportManager.h
|
|
|
|
|
* @brief 文件导入操作器
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#ifndef _OperatorsImportManager_H
|
|
|
|
|
#define _OperatorsImportManager_H
|
|
|
|
|
|
|
|
|
|
#include "OperManagerBase.h"
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKThreadTask.h"
|
|
|
|
|
|
|
|
|
|
namespace ModelOper
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @brief 导入类型
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
enum class ImportType {
|
|
|
|
|
ImportNone, ///空
|
|
|
|
|
ImportGeo, ///几何
|
|
|
|
|
ImportMesh, ///网格
|
|
|
|
|
ImportOpenFoamMesh, ///OpenFoam网格
|
|
|
|
|
};
|
|
|
|
|
/**
|
|
|
|
|
* @brief 文件导入操作器
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
class OperatorsImportManager :public OperManagerBase
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT;
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief Construct a new Operators Import Manager object
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
OperatorsImportManager();
|
|
|
|
|
/**
|
|
|
|
|
* @brief Destroy the Operators Import Manager object
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
~OperatorsImportManager();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 执行
|
|
|
|
|
* @return true 成功
|
|
|
|
|
* @return false 失败
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
virtual bool execGUI();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 执行结果处理
|
|
|
|
|
* @return true 成功
|
|
|
|
|
* @return false 失败
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
virtual bool execProfession();
|
|
|
|
|
private slots:
|
|
|
|
|
;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 几何导入完成槽函数
|
|
|
|
|
* @param[i] result 是否成功
|
|
|
|
|
* @param[i] objID 几何id
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
void slotGeoImportFinish(bool result, int objID);
|
|
|
|
|
/**
|
|
|
|
|
* @brief 网格导入完成槽函数
|
|
|
|
|
* @param[i] result 是否成功
|
|
|
|
|
* @param[i] objID 网格id
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
void slotMeshImportFinish(bool result, int objID);
|
|
|
|
|
/**
|
|
|
|
|
* @brief OpenFoam网格文件导入槽函数
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-09-05
|
|
|
|
|
*/
|
|
|
|
|
void slotFoamMeshInportFinish();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 导入文件读取线程
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
class ImportReadThread :public Core::FITKThreadTask
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT;
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief Construct a new Import Read Thread object
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
ImportReadThread() = default;
|
|
|
|
|
/**
|
|
|
|
|
* @brief Destroy the Import Read Thread object
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
~ImportReadThread() = default;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 执行函数
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
void run();
|
|
|
|
|
signals:
|
|
|
|
|
;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 导入完成信号
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
void sigImportFinish(bool, int);
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 类型
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
ImportType _type = ImportType::ImportNone;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 文件名称
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-08-14
|
|
|
|
|
*/
|
|
|
|
|
QString _fileName = "";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 按钮注册相关操作
|
|
|
|
|
Register2FITKOPeratorRepo(actionImportGeometry, OperatorsImportManager);
|
|
|
|
|
Register2FITKOPeratorRepo(actionImportMesh, OperatorsImportManager);
|
|
|
|
|
Register2FITKOPeratorRepo(actionImportOpenFoamMesh, OperatorsImportManager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|