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