/** * * @file FITKModelEnum.h * @brief 模型相关枚举值 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-03-07 * */ #ifndef _FITKINTERFACE_MODERL_ENUM_H__ #define _FITKINTERFACE_MODERL_ENUM_H__ #include #include "FITKInterfaceModelAPI.h" namespace Interface { /** * @brief 模型相关枚举 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-04-13 */ class FITKInerfaceModelAPI FITKModelEnum : public QObject { Q_OBJECT public: /** * @brief 单元类型枚举 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-29 */ enum FITKEleType { EleNone, Line2, Line3, Tri3, Tri6, Quad4, Quad8, Tet4, Tet10, Wedge6, Hex8, Hex20, Polygon, }; Q_ENUM(FITKEleType); /** * @brief 集合类型 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-03-30 */ enum FITKModelSetType { FMSNone, FMSNode, FMSElem, FMSMIX, FMSPoint, FMSEdge, FMSSurface, FMSSolid, FMSComb, }; Q_ENUM(FITKModelSetType); /** * @brief 网格模型维度 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-04-03 */ enum FITKMeshDim { FMDimNone, FMDimD0, FMDimD1, FMDimD2, FMDimD3, FMDimMix, }; Q_ENUM(FITKMeshDim); /** * @brief 模型维度 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-04-11 */ enum FITKModelDim { FMDNone, FMD0, //点 FMD1, //线,梁 FMD2, //面,壳 FMD3, //体,solid }; Q_ENUM(FITKModelDim); /** * @brief 模型类型 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-27 */ enum AbsModelType { AMTNone, ///< 错误值 AMTMesh = 100, ///< 网格类型 AMTPartical, ///< 粒子网格类型 AMTunstructuredMesh, ///< 非结构网格类型 AMTStructuredMesh, ///< 结构网格类型 AMTunstructuredMeshvtk, ///< 非结构网格类型 AMTGeometry = 200, ///< 几何类型 AMTOCC, ///< OCC几何类型 AssInstance = 300, ///< 装配实例 Assembly, ///< 装配 AMTMIX = 1000, }; Q_ENUM(AbsModelType); public: /** * @brief 根据网格类型获取网格维度 * @param[i] eletype 单元类型 * @return FITKMeshDim * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-04-03 */ static FITKMeshDim GetElementDim(FITKEleType eletype); private: FITKModelEnum() = default; FITKModelEnum(const FITKModelEnum&) = delete; ~FITKModelEnum() = default; }; } #endif