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/FITKOFBlockMeshDictWriter.h

183 lines
5.4 KiB
C

/**
* @file FITKOFBlockMeshDictWriter.h
* @brief BlockMeshDict
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
#ifndef __FITKFLOWOFDICTWRITER_H__
#define __FITKFLOWOFDICTWRITER_H__
#include "FITKOFDictWriterAPI.h"
#include "FITKOFAbstractDictWriter.h"
namespace Interface
{
class FITKAbstractRegionMeshSize;
}
namespace DICT
{
class FITKDictVector;
class FITKDictArray;
}
namespace IO
{
/**
* @brief BlockMeshDict
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-15
*/
class FITKOFBlockMeshDictWriter : public FITKOFAbstractDictWriter
{
public:
explicit FITKOFBlockMeshDictWriter();
virtual ~FITKOFBlockMeshDictWriter();
/**
* @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-19
*/
bool blockMeshRegionMeshW();
/**
* @brief boxblockMeshDict
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
bool blockMeshRegionMeshBox();
/**
* @brief boxblockMeshDict
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
bool vertexBox();
/**
* @brief boxblockMeshDict
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
bool boundaryBox();
/**
* @brief boxindex
* @param face
* @param index
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
bool vectorDataBoxByFaceIndex(DICT::FITKDictVector* face, int index);
/**
* @brief
* @param[i] point
* @param[o] global
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-25
*/
void conversionglobalPoint(double point[], double global[]);
/**
* @brief CylinderblockMeshDict
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
bool blockMeshRegionMeshCylinder();
/**
* @brief CylinderblockMeshDict
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
bool vertexCylinder();
/**
* @brief Cylinder线blockMeshDict
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-26
*/
bool edgesCylinder();
/**
* @brief CylinderblockMeshDict
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
bool boundaryCylinder();
/**
* @brief Cylinderindex
* @param face
* @param index
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-23
*/
bool vectorDataCylinderByFaceIndex(DICT::FITKDictArray* face, int index);
/**
* @brief CylinderblockMeshDict
* @return true: false:
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
bool blockMeshRegionMeshSphere();
/**
* @brief
* @param[i] array
* @param[i] point
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-25
*/
void insertPoint(DICT::FITKDictArray* array, double point[]);
private:
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
QString m_fileName{};
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-19
*/
Interface::FITKAbstractRegionMeshSize* m_regionMeshSize{};
};
}
#endif