|
|
/*****************************************************************//**
|
|
|
*
|
|
|
* @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
|