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_Interface/FITKInterfaceGeoIOHDF5/FITKInterfaceHDF5AdaptorDat...

234 lines
7.8 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 FITKInterfaceHDF5AdaptorDatum.h
* @brief HDF5 Adaptor Command。
* @author fulipeng (flipengqd@yeah.net)
* @date 2024-09-14
*
*********************************************************************/
#ifndef __FITKINTERFACEHDF5ADAPTORDATUM_H__
#define __FITKINTERFACEHDF5ADAPTORDATUM_H__
#include "FITKInterfaceGeoIOHDF5API.h"
#include "FITKAbstractHDF5Adaptor.h"
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
ForwardDeclarNS(Core, FITKAbstractDataObject);
ForwardDeclarNS(Interface, FITKAbsGeoDatum);
ForwardDeclarNS(Interface, FITKAbsGeoReferencePlane);
ForwardDeclarNS(H5, H5File);
ForwardDeclarNS(H5, Group);
ForwardDeclarNS(H5, H5Object);
ForwardDeclarNS(H5, DataType);
namespace IO
{
/**
* @brief HDF5 Adaptor Command
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
class FITKINTERFACEGEOIOHDF5API FITKInterfaceHDF5AdaptorDatum : public FITKAbstractHDF5Adaptor
{
public:
/**
* @brief Construct a new FITKInterfaceHDF5AdaptorDatum object
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
explicit FITKInterfaceHDF5AdaptorDatum() = default;
virtual ~FITKInterfaceHDF5AdaptorDatum() = default;
/**
* @brief 获取适配器数据类型名
* @return 适配器数据类型名
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
QString getAdaptorClass() override;
/**
* @brief 适配器读取
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
bool adaptR() override;
/**
* @brief 适配器写出
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-14
*/
bool adaptW() override;
protected:
/**
* @brief 读取基准 基类
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumBase(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 写出基准 基类
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumBase(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 读取基准 点
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumPoint(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 写出基准 基类
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumPoint(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 读取基准 线
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumLine(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 写出基准 线
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumLine(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 读取基准 面
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 写出基准 线
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 读取基准 偏移线
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumOffsetPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 写出基准 偏移线
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumOffsetPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 读取基准 三点面
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumThreePointsPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 写出基准 三点面
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumThreePointsPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 读取基准 方程面
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatumEquationPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 写出基准 方程面
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatumEquationPlane(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 读取基准
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool readDatum(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
/**
* @brief 写出基准
* @param datum 基准面
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-18
*/
virtual bool writeDatum(Interface::FITKAbsGeoDatum* datum, H5::Group & h5Group);
};
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoDatum, FITKInterfaceHDF5AdaptorDatum, 1)
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoReferencePlane, FITKInterfaceHDF5AdaptorDatum, 2)
}
#endif