|
|
|
|
/*****************************************************************//**
|
|
|
|
|
*
|
|
|
|
|
* @file FITKInterfaceHDF5AdaptorCommand.h
|
|
|
|
|
* @brief HDF5 Adaptor Command。
|
|
|
|
|
* @author fulipeng (flipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
#ifndef __FITKINTERFACEHDF5ADAPTORCOMMAND_H__
|
|
|
|
|
#define __FITKINTERFACEHDF5ADAPTORCOMMAND_H__
|
|
|
|
|
|
|
|
|
|
#include "FITKInterfaceGeoIOHDF5API.h"
|
|
|
|
|
#include "FITKAbstractHDF5Adaptor.h"
|
|
|
|
|
|
|
|
|
|
ForwardDeclarNS(Core, FITKAbstractDataObject);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoCommand);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoShapeAgent);
|
|
|
|
|
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-11
|
|
|
|
|
*/
|
|
|
|
|
class FITKINTERFACEGEOIOHDF5API FITKInterfaceHDF5AdaptorCommand : public FITKAbstractHDF5Adaptor
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief Construct a new FITKInterfaceHDF5AdaptorCommand object
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
explicit FITKInterfaceHDF5AdaptorCommand() = default;
|
|
|
|
|
virtual ~FITKInterfaceHDF5AdaptorCommand() = default;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取适配器数据类型名
|
|
|
|
|
* @return 适配器数据类型名
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
QString getAdaptorClass() override;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 适配器读取
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
bool adaptR() override;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 适配器写出
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
bool adaptW() override;
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
virtual bool read(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group);
|
|
|
|
|
|
|
|
|
|
virtual bool write(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group);
|
|
|
|
|
|
|
|
|
|
virtual bool readCommand(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group);
|
|
|
|
|
|
|
|
|
|
virtual bool writeCommand(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group);
|
|
|
|
|
|
|
|
|
|
virtual bool readChildVirtualShape(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group, bool isSaveShape = false);
|
|
|
|
|
virtual bool writeChildVirtualShape(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group, bool isSaveShape = false);
|
|
|
|
|
|
|
|
|
|
virtual bool readVShape(Interface::FITKAbsGeoCommand * comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
virtual bool writeVShape(Interface::FITKAbsGeoShapeAgent* agent, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出 草绘
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeGeometrySkecth(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何点
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeBasicGeometryPoint(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write basic geometry curve
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeBasicGeometryCurve(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write basic geometry face
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeBasicGeometryFace(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief read basic geometry solid
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool readBasicGeometrySolid(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write basic geometry solid
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeBasicGeometrySolid(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write oper geometry
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeOperGeometry(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write oper geometry point
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeOperGeometryPoint(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write oper geometry curve
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeOperGeometryCurve(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write oper geometry face
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeOperGeometryFace(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write oper geometry solid
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeOperGeometrySolid(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief write shape geometry, recursion
|
|
|
|
|
* @return Status true and false
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-11
|
|
|
|
|
*/
|
|
|
|
|
virtual bool writeShapeGeometry(Interface::FITKAbsGeoCommand* comm, H5::Group & h5Group) = 0;
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|