/** * * @file FITKAbstractHDF5Reader.h * @brief HDF5文件读取基类声明 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-05-29 * */ #ifndef _FITKABSTRACTHDF5READER_H__ #define _FITKABSTRACTHDF5READER_H__ #include "FITKInterfaceIOAPI.h" #include "FITKAbstractIO.h" #include "FITK_Kernel/FITKCore/FITKCoreMacros.h" #include ForwardDeclarNS(H5, H5File); ForwardDeclarNS(H5, Group); ForwardDeclarNS(H5, H5Object); ForwardDeclarNS(H5, DataType); namespace IO { /** * @brief 读取HDF5文件 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-05-29 */ class FITKInterfaceIOAPI FITKAbstractHDF5Reader : public Interface::FITKAbstractIO { public: explicit FITKAbstractHDF5Reader() = default; virtual ~FITKAbstractHDF5Reader() = default; /** * @brief 设置H5根节点 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-05-29 */ void setH5Root(H5::H5File* h5File); /** * @brief 设置版本 * param v 版本号 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-05-29 */ void setVersion(double v); /** * @brief 发送百分比 * param p -1为自动计算,否则直接发送百分比 0-100 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-05-29 */ void sendCurrentPercent(int p = -1); protected: /** * @brief H5的文件指针 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-05-29 */ H5::H5File* _h5File{}; /** * @brief H5工程管理版本 * @author fulipeng (fulipengqd@yeah.net) * @date 2024-05-29 */ double _version = -1; }; } #endif