|
|
|
|
/*****************************************************************//**
|
|
|
|
|
*
|
|
|
|
|
* @file FITKOCCHDF5AdaptorOperGeometrySolid.h
|
|
|
|
|
* @brief HDF5 Adaptor OperGeometrySolid。
|
|
|
|
|
* @author fulipeng (flipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-09
|
|
|
|
|
*
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
#ifndef __FITKOCCHDF5ADAPTOROPERGEOMETRYSOLID_H__
|
|
|
|
|
#define __FITKOCCHDF5ADAPTOROPERGEOMETRYSOLID_H__
|
|
|
|
|
|
|
|
|
|
#include "FITKGeoOCCIOHDF5API.h"
|
|
|
|
|
#include "FITKOCCHDF5AdaptorBasicGeometrySolid.h"
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
|
|
|
|
|
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
|
|
|
|
|
|
|
|
|
|
ForwardDeclarNS(Core, FITKAbstractDataObject);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoModelOperImprintSolid);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoModelChamferSolid);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoModelFilletSolid);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoModelDefeatureSolid);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoModelRemoveChamferSolid);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoModelRemoveFilletSolid);
|
|
|
|
|
ForwardDeclarNS(Interface, FITKAbsGeoModelFillHoleSolid);
|
|
|
|
|
ForwardDeclarNS(H5, H5File);
|
|
|
|
|
ForwardDeclarNS(H5, Group);
|
|
|
|
|
ForwardDeclarNS(H5, H5Object);
|
|
|
|
|
ForwardDeclarNS(H5, DataType);
|
|
|
|
|
|
|
|
|
|
namespace IO
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @brief HDF5 Adaptor Oper Geometry Solid
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
class FITKGEOOCCIOHDF5API FITKOCCHDF5AdaptorOperGeometrySolid : public FITKOCCHDF5AdaptorBasicGeometrySolid
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief Construct a new FITKOCCHDF5AdaptorOperGeometrySolid object
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-09
|
|
|
|
|
*/
|
|
|
|
|
explicit FITKOCCHDF5AdaptorOperGeometrySolid() = default;
|
|
|
|
|
virtual ~FITKOCCHDF5AdaptorOperGeometrySolid() = 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 readOperGeometrySolid(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolid(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 倒角抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidChamfer(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 倒角抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidChamfer(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 倒圆抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidFillet(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 倒圆抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidFillet(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 删除倒角抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidRemoveChamfer(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 删除倒角抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidRemoveChamfer(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 删除倒圆抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidRemoveFillet(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 删除倒圆抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidRemoveFillet(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 特征移除抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidDefeature(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 特征移除抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidDefeature(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 填补孔洞抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidFillHole(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 填补孔洞抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidFillHole(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 基类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 基类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidBase(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 封闭曲面形成的体
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidClosedSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 封闭曲面形成的体
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidClosedSurface(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 拉伸实体抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidExtrude(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 拉伸实体抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidExtrude(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 旋转实体抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidRevol(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 旋转实体抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidRevol(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 扫略体抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidSweep(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 扫略体抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidSweep(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取基础几何体 多截面扫略抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool readOperGeometrySolidMultiSection(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写出基础几何体 多截面扫略抽象类
|
|
|
|
|
* @param comm 几何命令
|
|
|
|
|
* @param h5Group 数据块
|
|
|
|
|
* @return 状态 true成功, false失败
|
|
|
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
bool writeOperGeometrySolidMultiSection(Interface::FITKAbsGeoCommand* comm, H5::Group& h5Group);
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelBox, FITKOCCHDF5AdaptorOperGeometrySolid, 1)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelSphere, FITKOCCHDF5AdaptorOperGeometrySolid, 2)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelCylinder, FITKOCCHDF5AdaptorOperGeometrySolid, 3)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelChamferSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 4)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelFilletSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 5)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelDefeatureSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 6)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelRemoveChamferSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 7)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelRemoveFilletSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 8)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelFillHoleSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 9)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelClosedSurfaceSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 10)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelExtrudeSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 11)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelRevolSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 12)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelSweepSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 13)
|
|
|
|
|
Register2FITKIOAdaptorFactory(HDF5, Interface::FITKAbsGeoModelMultiSectionSolid, FITKOCCHDF5AdaptorOperGeometrySolid, 14)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|