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.
AppFlow/FITK_Interface/FITKInterfaceMeshGen/FITKAbstractMesherDriver.h

101 lines
2.7 KiB
C++

/**
*
* @file FITKAbstractMesherDriver.h
* @brief 网格驱动器抽象类声明
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*
*/
#ifndef __FITK_ABSTRACT_MESHER_DRIVER_H___
#define __FITK_ABSTRACT_MESHER_DRIVER_H___
#include "FITKInterfaceMeshGenAPI.h"
#include "FITK_Kernel/FITKCore/FITKVarientParams.h"
#include <QObject>
namespace Core
{
class FITKAbstractDataObject;
}
namespace Interface
{
/**
* @brief 网格驱动器抽象类
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
class FITKInterfaceMeshGenAPI FITKAbstractMesherDriver : public QObject,
public Core::FITKVarientParams
{
Q_OBJECT
public:
/**
* @brief Construct a new FITKAbstractMesherDriver object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
explicit FITKAbstractMesherDriver() = default;
/**
* @brief Destroy the FITKAbstractMesherDriver object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
virtual ~FITKAbstractMesherDriver() = 0;
/**
* @brief 设置临时数据对象
* @param[i] data 临时数据对象
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
virtual void setDataObject(Core::FITKAbstractDataObject* data);
/**
* @brief 设置启动参数
* @param[i] args 参数
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
virtual void setArgs(const QStringList& args);
/**
* @brief 启动网格驱动器
* @param[i] info 附加信息
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
virtual void startMesher(QStringList info = QStringList()) = 0;
/**
* @brief 停止网格驱动器
* @param[i] info 附加信息
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
virtual void stopMesher(QStringList info = QStringList()) = 0;
signals:
/**
* @brief 网格划分结束信号
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
void mesherFinished();
protected:
/**
* @brief 临时数据对象
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
Core::FITKAbstractDataObject* _data{};
/**
* @brief 启动参数
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-18
*/
QStringList _args{};
};
}
#endif