/** * * @file FITKMeshGenInterface.h * @brief 网格生成接口类 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-17 * */ #ifndef _FITKMESHGEN_INTERFACE_H___ #define _FITKMESHGEN_INTERFACE_H___ #include "FITKInterfaceMeshGenAPI.h" #include "FITK_Kernel/FITKCore/FITKCoreMacros.h" #include #include namespace Interface { //前置声明 class FITKGlobalMeshSizeInfo; class FITKRegionMeshSizeManager; class FITKAbstractMeshSizeInfoGenerator; class FITKAbstractGeometryMeshSizeGenerator; class FITKAbstractMesherDriver; class FITKAbstractMeshProcessor; class FITKGeometryMeshSizeManager; class FITKZonePointManager; class FITKRegionGeometryRefineManager; class FITKMeshGenInterfaceDeleator; /** * @brief 网格生成接口类 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ class FITKInterfaceMeshGenAPI FITKMeshGenInterface : public QObject { friend FITKMeshGenInterfaceDeleator; //声明为单例 DeclSingleton(FITKMeshGenInterface); public: /** * @brief 获取全局网格尺寸信息 * @return FITKGlobalMeshSizeInfo* * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKGlobalMeshSizeInfo* getGlobalMeshSizeInfo(); /** * @brief 注册网格尺寸生成器 * @param genator * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ void regMeshSizeGenerator(FITKAbstractMeshSizeInfoGenerator* genator); /** * @brief 获取网格尺寸生成器 * @return FITKAbstractGeometryMeshSizeGenerator* * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKAbstractMeshSizeInfoGenerator* getMeshSizeGenerator(); /** * @brief 注册几何网格尺寸生成器 * @param genator FITKAbstractMeshSizeInfoGenerator* * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-07-24 */ void regGeometryMeshSizeGenerator(FITKAbstractGeometryMeshSizeGenerator* genator); /** * @brief 获取几何网格尺寸生成器 * @return FITKAbstractGeometryMeshSizeGenerator* * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-07-24 */ FITKAbstractGeometryMeshSizeGenerator* getGeometryMeshSizeGenerator(); /** * @brief 注册网格生成驱动器 * @param driver * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ void regMesherDriver(FITKAbstractMesherDriver* driver); /** * @brief 获取网格生成驱动器 * @return FITKAbstractMesherDriver* * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKAbstractMesherDriver* getMesherDriver(); /** * @brief 注册网格处理器 * @param p * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ void regMeshProcessor(FITKAbstractMeshProcessor* p ); /** * @brief 获取网格处理器 * @return FITKAbstractMeshProcessor* * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKAbstractMeshProcessor* getMeshProcessor(); /** * @brief 获取区域网格尺寸管理器 * @return FITKRegionMeshSizeManager* * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKRegionMeshSizeManager* getRegionMeshSizeMgr(); /** * @brief 获取几何网格区域尺寸管理器 * @return FITKGeometryMeshSizeManager* * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-07-24 */ FITKGeometryMeshSizeManager* getGeometryMeshSizeManager(); /** * @brief 获取网格区域材料点 * @return FITKAbstractGeometryMeshSizeGenerator* * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-26 */ FITKZonePointManager* getZonePointManager(); /** * @brief 获取几何区域优化管理器 * @return FITKRegionGeometryRefineManager* * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-09-02 */ FITKRegionGeometryRefineManager* getRegionGeometryRefineManager(); private: /** * @brief 初始化 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ void initialize(); /** * @brief 析构 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ void finalize(); private: /** * @brief 网格尺寸生成器 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKAbstractMeshSizeInfoGenerator* _meshSizeGenor{}; /** * @brief 几何网格尺寸生成器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-07-24 */ FITKAbstractGeometryMeshSizeGenerator* _geoMeshSizeGenor{}; /** * @brief 网格尺寸生成驱动器 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKAbstractMesherDriver* _mesherDriver{}; /** * @brief 网格文件处理器 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKAbstractMeshProcessor* _meshProcessor{}; /** * @brief 全局网格尺寸信息 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKGlobalMeshSizeInfo* _globalSize{}; /** * @brief 区域网格尺寸管理器 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-12 */ FITKRegionMeshSizeManager* _regionMeshMgr{}; /** * @brief 几何网格区域尺寸管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-07-24 */ FITKGeometryMeshSizeManager* _geoMeshSizeMgr{}; /** * @brief 网格区域分点生成器 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-26 */ FITKZonePointManager* _zonePointsManager{}; /** * @brief 几何区域优化管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-09-02 */ FITKRegionGeometryRefineManager* _regionGeoRefineMgr{}; }; class FITKMeshGenInterfaceDeleator { public: explicit FITKMeshGenInterfaceDeleator() = default; virtual ~FITKMeshGenInterfaceDeleator(); }; } #endif