/*****************************************************************//** * * @file FITKOCCHDF5AdaptorOperGeometryFace.h * @brief HDF5 Adaptor OperGeometryFace。 * @author fulipeng (flipengqd@yeah.net) * @date 2024-09-13 * *********************************************************************/ #ifndef __FITKOCCHDF5ADAPTOROPERGEOMETRYFACE_H__ #define __FITKOCCHDF5ADAPTOROPERGEOMETRYFACE_H__ #include "FITKGeoOCCIOHDF5API.h" #include "FITK_Kernel/FITKCore/FITKCoreMacros.h" #include "FITKOCCHDF5AdaptorBasicGeometryFace.h" #include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h" #include "FITK_Interface/FITKInterfaceIO/FITKAbstractHDF5Writer.h" #include "FITK_Interface/FITKInterfaceGeoIOHDF5/FITKAbstractHDF5Adaptor.h" ForwardDeclarNS(Core, FITKAbstractDataObject); ForwardDeclarNS(Interface, FITKAbsGeoModelSurface); ForwardDeclarNS(Interface, FITKAbsGeoCommand); ForwardDeclarNS(Interface, FITKAbsGeoModelOperFace); ForwardDeclarNS(H5, H5File); ForwardDeclarNS(H5, Group); ForwardDeclarNS(H5, H5Object); ForwardDeclarNS(H5, DataType); namespace IO { /** * @brief HDF5 Adaptor Basic Geometry Face * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-13 */ class FITKGEOOCCIOHDF5API FITKOCCHDF5AdaptorOperGeometryFace : public FITKOCCHDF5AdaptorBasicGeometryFace { public: /** * @brief Construct a new FITKOCCHDF5AdaptorOperGeometryFace object * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-13 */ explicit FITKOCCHDF5AdaptorOperGeometryFace() = default; virtual ~FITKOCCHDF5AdaptorOperGeometryFace() = default; /** * @brief 获取适配器数据类型名 * @return 适配器数据类型名 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-13 */ QString getAdaptorClass() override; /** * @brief 适配器读取 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-13 */ bool adaptR() override; /** * @brief 适配器写出 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-13 */ bool adaptW() override; protected: /** * @brief 读取基础几何面 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool readOperGeometryFace(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 写出基础几何面 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool writeOperGeometryFace(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 读取操作几何面 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool readOperGeometryRectangularTrimmedSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 写出操作几何面 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool writeOperGeometryRectangularTrimmedSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 读取操作几何面 抽象面操作类 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool readOperGeometryOperFaceBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 写出操作几何面 抽象面操作类 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool writeOperGeometryOperFaceBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 读取操作几何面 填补缝隙 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool readOperGeometryOperFaceFillGaps(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 写出操作几何面 填补缝隙 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool writeOperGeometryOperFaceFillGaps(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 读取操作几何面 填补孔洞 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool readOperGeometryOperFaceFillHoles(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 写出操作几何面 填补孔洞 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool writeOperGeometryOperFaceFillHoles(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 读取操作几何面 删除悬浮边 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool readOperGeometryOperFaceDeleteFloatingEdge(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); /** * @brief 写出操作几何面 删除悬浮边 * @param comm 几何命令 * @param h5Group 数据块 * @return 状态 true成功, false失败 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-09-12 */ bool writeOperGeometryOperFaceDeleteFloatingEdge(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group); }; Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelSurface, FITKOCCHDF5AdaptorOperGeometryFace, 1) Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelOperFace, FITKOCCHDF5AdaptorOperGeometryFace, 2) } #endif