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_Component/FITKCGNSIO/FITKCGNSIOInterface.h

141 lines
4.3 KiB
C

/**********************************************************************
* @file FITKCGNSIOInterface.h
* @brief CGNS IO
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*********************************************************************/
#include "FITKCGNSIOAPI.h"
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
#include "FITK_Kernel/FITKCore/FITKAbstractObjectContainer.hpp"
#include "FITK_Kernel/FITKAppFramework/FITKComponentInterface.h"
#include <QObject>
ForwardDeclarNS(Interface, FITKAbstractIO);
namespace Interface {
class FITKUnstructuredFluidMeshVTK;
}
namespace IO
{
/**
* @brief CGNS
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
class FITKCGNSIOAPI FITKCGNSIOInterface : public QObject, public AppFrame::FITKComponentInterface
{
Q_OBJECT
public:
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
FITKCGNSIOInterface() = default;
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
~FITKCGNSIOInterface() = default;
/**
* @brief
* @param fileName
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
void setFileName(const QString& fileName);
/**
* @brief
* @return
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
QString getComponentName() override;
/**
* @brief
* @return
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
bool exec(const int indexPort) override;
/**
* @brief
* @param mesh
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
void setMeshObj(Interface::FITKUnstructuredFluidMeshVTK* mesh);
/**
* @brief
* @return bool
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
bool isSuccess();
/**
* @brief
* @return true false
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
bool isRunning();
/**
* @brief 线true线
* @param r 线
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
void setRunInThread(bool r = true);
signals:
/**
* @brief 线
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
void ioThreadFinishedSig();
private slots:
/**
* @brief 线
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
void ioThreadFinishedSlot();
private:
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
QString m_fileName{};
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
Interface::FITKUnstructuredFluidMeshVTK* m_Mesh{};
/**
* @brief 线
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-04
*/
Core::FITKAbstractObjectContainer<Interface::FITKAbstractIO> m_io{ nullptr };
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-19
*/
bool m_success{ false };
/**
* @brief 线
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-04
*/
bool m_runInThread{ true };
};
}