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