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

301 lines
11 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 FITKOCCHDF5AdaptorOperGeometryCurve.h
* @brief HDF5 Adaptor OperGeometryCurve。
* @author fulipeng (flipengqd@yeah.net)
* @date 2024-09-11
*
*********************************************************************/
#ifndef __FITKOCCHDF5ADAPTOROPERGEOMETRYCURVE_H__
#define __FITKOCCHDF5ADAPTOROPERGEOMETRYCURVE_H__
#include "FITKGeoOCCIOHDF5API.h"
#include "FITKOCCHDF5AdaptorBasicGeometryCurve.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, FITKAbsGeoCommand);
ForwardDeclarNS(Interface, FITKAbsGeoModelCurve);
ForwardDeclarNS(Interface, FITKAbsGeoModelOperLine);
ForwardDeclarNS(H5, H5File);
ForwardDeclarNS(H5, Group);
ForwardDeclarNS(H5, H5Object);
ForwardDeclarNS(H5, DataType);
namespace IO
{
/**
* @brief HDF5 Adaptor Oper Geometry Curve
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
class FITKGEOOCCIOHDF5API FITKOCCHDF5AdaptorOperGeometryCurve : public FITKOCCHDF5AdaptorBasicGeometryCurve
{
public:
/**
* @brief Construct a new FITKOCCHDF5AdaptorOperGeometryCurve object
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
explicit FITKOCCHDF5AdaptorOperGeometryCurve() = default;
virtual ~FITKOCCHDF5AdaptorOperGeometryCurve() = 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:
/**
* @brief 读取操作几何曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 裁剪曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryTrimmedCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 裁剪曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryTrimmedCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 偏移曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool readOperGeometryOffsetCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 偏移曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-10
*/
bool writeOperGeometryOffsetCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 线在面上的投影
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryCurveProjectionOnSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 线在面上的投影
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryCurveProjectionOnSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 面和面的交线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometrySurfaceIntersectionSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 面和面的交线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometrySurfaceIntersectionSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 桥接曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryBridgeCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 桥接曲线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryBridgeCurve(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 面的边线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometrySurfaceEdge(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 面的边线
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometrySurfaceEdge(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 基类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryOperLineBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 基类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryOperLineBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 合并线数据结构
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryMergeOperLine(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 合并线数据结构
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryMergeOperLine(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 线中点分割操作数据结构
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryMiddleOperLine(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 线中点分割操作数据结构
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryMiddleOperLine(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 合并线数据结构
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryAngleOperLine(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 合并线数据结构
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryAngleOperLine(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
};
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelCurve, FITKOCCHDF5AdaptorOperGeometryCurve, 1)
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelOperLine, FITKOCCHDF5AdaptorOperGeometryCurve, 2)
}
#endif