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

457 lines
16 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 FITKOCCHDF5AdaptorBasicGeometryCurve.h
* @brief HDF5 Adaptor BasicGeometryCurve。
* @author fulipeng (flipengqd@yeah.net)
* @date 2024-09-11
*
*********************************************************************/
#ifndef __FITKOCCHDF5ADAPTORBASICGEOMETRYCURVE_H__
#define __FITKOCCHDF5ADAPTORBASICGEOMETRYCURVE_H__
#include "FITKGeoOCCIOHDF5API.h"
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
#include "FITK_Interface/FITKInterfaceIO/FITKAbstractHDF5Writer.h"
#include "FITK_Interface/FITKInterfaceGeoIOHDF5/FITKAbstractHDF5Adaptor.h"
ForwardDeclarNS(Core, FITKAbstractDataObject);
ForwardDeclarNS(Interface, FITKAbsGeoCommand);
ForwardDeclarNS(H5, H5File);
ForwardDeclarNS(H5, Group);
ForwardDeclarNS(H5, H5Object);
ForwardDeclarNS(H5, DataType);
namespace IO
{
/**
* @brief HDF5 Adaptor Basic Geometry Curve
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
class FITKGEOOCCIOHDF5API FITKOCCHDF5AdaptorBasicGeometryCurve : public FITKAbstractHDF5Adaptor
{
public:
/**
* @brief Construct a new FITKOCCHDF5AdaptorBasicGeometryCurve object
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
explicit FITKOCCHDF5AdaptorBasicGeometryCurve() = default;
virtual ~FITKOCCHDF5AdaptorBasicGeometryCurve() = default;
/**
* @brief 获取适配器数据类型名
* @return 适配器数据类型名
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
QString getAdaptorClass() override;
protected:
/**
* @brief 读取基础几何线基类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-12
*/
bool readBasicGeometryCurveBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何线基类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryCurveBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何圆锥基类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryCurveConicBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何圆锥基类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryCurveConicBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryLine(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryLine(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometrySegment(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometrySegment(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryWire(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryWire(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何圆锥曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryConic(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何圆锥曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryConic(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 圆
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryCircle(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 圆
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryCircle(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 圆弧
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryCircleArc(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 圆弧
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryCircleArc(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 三点圆
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryThreePointsCircle(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 三点圆
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryThreePointsCircle(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 椭圆
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryEllipse(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 椭圆
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryEllipse(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 椭圆弧
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryEllipseArc(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 椭圆弧
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryEllipseArc(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 三点椭圆
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryThreePointsEllipse(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 三点椭圆
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryThreePointsEllipse(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 双曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryHyperbola(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 双曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryHyperbola(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 三点双曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryThreePointsHyperbola(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 三点双曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryThreePointsHyperbola(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 双曲线弧
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryHyperbolaArc(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 双曲线弧
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryHyperbolaArc(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 抛物线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryParabola(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 抛物线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryParabola(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 三点双曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryThreePointsParabola(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 三点双曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryThreePointsParabola(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 抛物线弧
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryParabolaArc(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 抛物线弧
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryParabolaArc(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 贝塞尔曲线(控制点)
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryBeizeByControlPoints(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 贝塞尔曲线(控制点)
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryBeizeByControlPoints(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取基础几何 B样条(通过线上的点)
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readBasicGeometryBsplineByThroughPoints(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出基础几何 B样条(通过线上的点)
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeBasicGeometryBsplineByThroughPoints(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
};
}
#endif