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

225 lines
8.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 FITKOCCHDF5AdaptorOperGeometry.h
* @brief HDF5 Adaptor OperGeometry。
* @author fulipeng (flipengqd@yeah.net)
* @date 2024-09-11
*
*********************************************************************/
#ifndef __FITKOCCHDF5ADAPTOROPERGEOMETRY_H__
#define __FITKOCCHDF5ADAPTOROPERGEOMETRY_H__
#include "FITKGeoOCCIOHDF5API.h"
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
#include "FITK_Interface/FITKInterfaceGeoIOHDF5/FITKAbstractHDF5Adaptor.h"
ForwardDeclarNS(Core, FITKAbstractDataObject);
ForwardDeclarNS(Interface, FITKAbsGeoCommand);
ForwardDeclarNS(Interface, FITKAbsGeoDelete);
ForwardDeclarNS(Interface, FITKAbsGeoOperBool);
ForwardDeclarNS(Interface, FITKAbsGeoModelOperImprintSolid);
ForwardDeclarNS(Interface, FITKAbsGeoModelImport);
ForwardDeclarNS(Interface, FITKAbsGeoModelExport);
ForwardDeclarNS(Interface, FITKAbsGeoModelOperCompound);
ForwardDeclarNS(H5, H5File);
ForwardDeclarNS(H5, Group);
ForwardDeclarNS(H5, H5Object);
ForwardDeclarNS(H5, DataType);
namespace IO
{
/**
* @brief HDF5 Adaptor Basic Geometry Solid
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
class FITKGEOOCCIOHDF5API FITKOCCHDF5AdaptorOperGeometry : public FITKAbstractHDF5Adaptor
{
public:
/**
* @brief Construct a new FITKOCCHDF5AdaptorOperGeometry object
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
explicit FITKOCCHDF5AdaptorOperGeometry() = default;
virtual ~FITKOCCHDF5AdaptorOperGeometry() = 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 readOperGeometry(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometry(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 删除
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryDelete(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 删除
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryDelete(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 布尔
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool readOperGeometryBool(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 布尔
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-11
*/
bool writeOperGeometryBool(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 抽象压印体操作类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-13
*/
bool readOperGeometryOperImprintSolid(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 抽象压印体操作类
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-13
*/
bool writeOperGeometryOperImprintSolid(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 导入
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-13
*/
bool readOperGeometryOperImport(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 导入
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-13
*/
bool writeOperGeometryOperImport(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 导出
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-13
*/
bool readOperGeometryOperExport(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 导出
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-13
*/
bool writeOperGeometryOperExport(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 读取操作几何 复合体操作抽象类 添加或删除
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-13
*/
bool readOperGeometryOperCompoundBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
/**
* @brief 写出操作几何 复合体操作抽象类 添加或删除
* @param comm 几何命令
* @param h5Group 数据块
* @return 状态 true成功 false失败
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-09-13
*/
bool writeOperGeometryOperCompoundBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
};
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoDelete, FITKOCCHDF5AdaptorOperGeometry, 1)
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoOperBool, FITKOCCHDF5AdaptorOperGeometry, 2)
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelOperImprintSolid, FITKOCCHDF5AdaptorOperGeometry, 3)
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelImport, FITKOCCHDF5AdaptorOperGeometry, 4)
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelExport, FITKOCCHDF5AdaptorOperGeometry, 5)
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelOperCompound, FITKOCCHDF5AdaptorOperGeometry, 6)
}
#endif