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/FITKGeoOCCIOHDF5/FITKOCCHDF5Reader.h

115 lines
3.1 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*****************************************************************//**
*
* @file FITKHDF5Reader.h
* @brief HDF5文件读取 继承自线程任务。
* @author fulipeng (flipengqd@yeah.net)
* @date 2024-09-09
*
*********************************************************************/
#ifndef __FITKOCCHDF5Reader_H__
#define __FITKOCCHDF5Reader_H__
#include "FITKGeoOCCIOHDF5API.h"
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
#include "FITK_Interface/FITKInterfaceIO/FITKAbstractHDF5Reader.h"
ForwardDeclarNS(Core, FITKAbstractNDataObject);
ForwardDeclarNS(H5, Group);
ForwardDeclarNS(H5, DataType);
namespace IO
{
/**
* @brief HDF5文件读取
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
class FITKGEOOCCIOHDF5API FITKOCCHDF5Reader : public FITKAbstractHDF5Reader
{
public:
/**
* @brief Construct a new FITKOCCHDF5Reader object
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
explicit FITKOCCHDF5Reader() = default;
virtual ~FITKOCCHDF5Reader() = default;
/**
* @brief 重写run函数
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
void run() override;
/**
* @brief 打印控制台消息
* @param[i] level 打印级别 1 normal 2 warning 3error
* @param[i] str 数据
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
void consoleMessage(int level, const QString& str) override;
protected:
private:
/**
* @brief 读取命令数据
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
bool readCommDatas();
/**
* @brief 读取基准数据
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
bool readDatumDatas();
/**
* @brief 读取信息
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
bool readInfo();
/**
* @brief 读取版本
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
bool readVersion();
/**
* @brief 根据枚举名称实例化该类 GeoModel
* @param enumName 枚举转换的字符串名称
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
Core::FITKAbstractNDataObject* getGeoCommand(QString enumName);
/**
* @brief 根据枚举名称实例化该类 GeoDatum
* @param enumName 枚举转换的字符串名称
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
Core::FITKAbstractNDataObject* getGeoDatum(QString enumName);
private:
};
}
#endif