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/FITKOCCHDF5AdaptorBasicGeom...

256 lines
9.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 FITKOCCHDF5AdaptorBasicGeometryPoint.h
* @brief HDF5 Adaptor BasicGeometryPoint。
* @author fulipeng (flipengqd@yeah.net)
* @date 2024-09-09
*
*********************************************************************/
#ifndef __FITKOCCHDF5ADAPTORBASICGEOMETRYPOINT_H__
#define __FITKOCCHDF5ADAPTORBASICGEOMETRYPOINT_H__
#include "FITKGeoOCCIOHDF5API.h"
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
#include "FITK_Interface/FITKInterfaceIO/FITKAbstractHDF5Writer.h"
#include "FITK_Interface/FITKInterfaceGeoIOHDF5/FITKAbstractHDF5Adaptor.h"
ForwardDeclarNS(Core, FITKAbstractDataObject);
ForwardDeclarNS(Interface, FITKAbsGeoModelPoint);
ForwardDeclarNS(H5, H5File);
ForwardDeclarNS(H5, Group);
ForwardDeclarNS(H5, H5Object);
ForwardDeclarNS(H5, DataType);
namespace IO
{
/**
* @brief HDF5 Adaptor Basic Geometry Point
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
class FITKGEOOCCIOHDF5API FITKOCCHDF5AdaptorBasicGeometryPoint : public FITKAbstractHDF5Adaptor
{
public:
/**
* @brief Construct a new FITKOCCHDF5AdaptorBasicGeometryPoint object
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-09
*/
explicit FITKOCCHDF5AdaptorBasicGeometryPoint() = default;
virtual ~FITKOCCHDF5AdaptorBasicGeometryPoint() = default;
/**
* @brief 获取适配器数据类型名
* @return 适配器数据类型名
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
QString getAdaptorClass() override;
/**
* @brief 适配器读取
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool adaptR() override;
/**
* @brief 适配器写出
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool adaptW() override;
protected:
/**
* @brief 读取基础几何点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometry(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometry(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何点 基类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometryPointBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点 基类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometryPointBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何点 曲线的端点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometryCurveEnd(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点 曲线的端点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometryCurveEnd(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何点 距离曲线的端点指定距离
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometryCurveEndDistance(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点 距离曲线的端点指定距离
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometryCurveEndDistance(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何点 指定曲线比例创建点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometryCurveRadio(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点 指定曲线比例创建点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometryCurveRadio(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何点 点在线上的投影
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometryProjectionOnCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点 点在线上的投影
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometryProjectionOnCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何点 两条线的交点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometryTwoCurveIntersection(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点 两条线的交点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometryTwoCurveIntersection(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何点 点在面上的投影
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometryPointProjectionOnSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点 点在面上的投影
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometryPointProjectionOnSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何点 线和面的交点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readBasicGeometryCurveIntersectionSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何点 线和面的交点
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeBasicGeometryCurveIntersectionSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
};
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelPoint, FITKOCCHDF5AdaptorBasicGeometryPoint, 1)
}
#endif