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/FITKOFSnappyHexMeshDictWrit...

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