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.
139 lines
4.0 KiB
C++
139 lines
4.0 KiB
C++
/**
|
|
* @file FITKOFSnappyHexMeshDictWriter.h
|
|
* @brief SnappyHexMeshDict写出接口
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-23
|
|
*/
|
|
#ifndef __FITKOFSNAPPYHEXMESHDICTWRITER_H__
|
|
#define __FITKOFSNAPPYHEXMESHDICTWRITER_H__
|
|
|
|
#include "FITKOFDictWriterAPI.h"
|
|
#include "FITKOFAbstractDictWriter.h"
|
|
|
|
namespace Interface
|
|
{
|
|
class FITKAbsGeoShapeAgent;
|
|
class FITKGeometryMeshSizeManager;
|
|
}
|
|
|
|
namespace DICT
|
|
{
|
|
class FITKDictGroup;
|
|
}
|
|
|
|
namespace IO
|
|
{
|
|
/**
|
|
* @brief SnappyHexMeshDict 文件写出器
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-15
|
|
*/
|
|
class FITKOFSnappyHexMeshDictWriter : public FITKOFAbstractDictWriter
|
|
{
|
|
public:
|
|
explicit FITKOFSnappyHexMeshDictWriter();
|
|
virtual ~FITKOFSnappyHexMeshDictWriter();
|
|
|
|
/**
|
|
* @brief 设置文件路径
|
|
* @param[i] filePath
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-19
|
|
*/
|
|
void setFilePath(const QString& filePath) override;
|
|
/**
|
|
* @brief 重写run函数
|
|
* @return 状态 true:成功 false:失败
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-15
|
|
*/
|
|
bool run() override;
|
|
/**
|
|
* @brief 获取文件
|
|
* @return QString
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-19
|
|
*/
|
|
QString getFileName() override;
|
|
|
|
private:
|
|
/**
|
|
* @brief 设置字典里的FoamFile
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-19
|
|
*/
|
|
void dictObjectFoamFile();
|
|
/**
|
|
* @brief 设置几何网格区域数据
|
|
* @return 状态 true:成功 false:失败
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-23
|
|
*/
|
|
bool snappyHexMeshGeometryMeshW();
|
|
/**
|
|
* @brief 设置几何区域数据
|
|
* @return 状态 true:成功 false:失败
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-23
|
|
*/
|
|
bool geometrySnappyHexMesh();
|
|
/**
|
|
* @brief 设置要解析的点与几何尺寸,边界
|
|
* @return 状态 true:成功 false:失败
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-25
|
|
*/
|
|
bool castellatedMeshControls();
|
|
/**
|
|
* @brief 几何数据stl
|
|
* @param[i] geoModel 几何数据代理器对象
|
|
* @param[i] stlGroup 字典数据用于存储几何数据
|
|
* @param[i] name 几何名称
|
|
* @return 状态 true:成功 false:失败
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-24
|
|
*/
|
|
bool geoFaceGroupStl(Interface::FITKAbsGeoShapeAgent* geoModel, DICT::FITKDictGroup* stlGroup, QString name);
|
|
/**
|
|
* @brief snapControls
|
|
* @return 状态 true:成功 false:失败
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-25
|
|
*/
|
|
bool snapControls();
|
|
/**
|
|
* @brief 添加图层控件
|
|
* @param[i] isAddLayers 是否添加层级
|
|
* @return 状态 true:成功 false:失败
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-24
|
|
*/
|
|
bool addLayersControls(bool isAddLayers);
|
|
/**
|
|
* @brief meshQualityControls
|
|
* @return 状态 true:成功 false:失败
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-25
|
|
*/
|
|
bool meshQualityControls();
|
|
|
|
private:
|
|
/**
|
|
* @brief 文件名
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-19
|
|
*/
|
|
QString m_fileName{};
|
|
/**
|
|
* @brief 几何网格区域尺寸
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-25
|
|
*/
|
|
Interface::FITKGeometryMeshSizeManager* m_geometryMeshSizeManager{};
|
|
};
|
|
}
|
|
|
|
|
|
|
|
#endif
|