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/FITKOFDictWriter/FITKOFDictWriterIO.h

123 lines
3.2 KiB
C

/**
* @file FITKOFDictWriterIO.h
* @brief Dict
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-29
*/
#ifndef __FITKOFDICTWRITERIO_H__
#define __FITKOFDICTWRITERIO_H__
#include "FITKOFDictWriterAPI.h"
#include "FITK_Kernel/FITKAppFramework/FITKComponentInterface.h"
namespace IO
{
/**
* @brief Dict
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-29
*/
enum DictWriteType
{
SnappyHexMesh,
BlockMesh,
Control,
CreatePatch,
TurbulenceProp,
TransportProp,
FvSchemes,
FvSolution,
FvOptions,
ChangeDictionaryDict,
InitialDir,
SetFieldsDict,
OperatingConditions,
BoundaryMesh,
};
/**
* @brief FITKOFDictWriterIO
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-15
*/
class FITKOFDictWriterAPI FITKOFDictWriterIO : public QObject,
public AppFrame::FITKComponentInterface
{
public:
explicit FITKOFDictWriterIO();
virtual ~FITKOFDictWriterIO();
/**
* @brief
* @param[i] type
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
void setReadLevel(QList<DictWriteType> typeList);
/**
* @brief
* @param[i] filePath
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
bool setFilePath(const QString& filePath);
/**
* @brief return "IO::FITKOFDictWriterIO"
* @return QString
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
virtual QString getComponentName() override;
/**
* @brief
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-28
*/
void setPhysicsDictW();
/**
* @brief run
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-15
*/
bool exec();
/**
* @brief
* @return QString
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
QString getFilePath();
/**
* @brief <<
* @param[i] type
* @return FITKOFDictWriterIO
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-29
*/
FITKOFDictWriterIO &operator<<(const DictWriteType type);
private:
void setPhysicsDictWFile();
private:
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-29
*/
QList<DictWriteType> m_writeTypeList;
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-29
*/
QString m_filePath;
};
}
#endif