/*****************************************************************//** * @file FITKOCCModelOperSolid.h * @brief OCC体特征操作数据类。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-26 *********************************************************************/ #ifndef FITKOCCMODELOPERSOLID_H #define FITKOCCMODELOPERSOLID_H #include "FITKAbstractOCCModel.h" #include "FITK_Interface/FITKInterfaceGeometry/FITKAbsGeoModelOperSolid.h" class TopoDS_Shape; namespace OCC { /** * @brief OCC倒角类。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-20 */ class FITKGeoCompOCCAPI FITKOCCModelChamferSolid : public Interface::FITKAbsGeoModelChamferSolid, public OCCShapeAgent { public: /** * @brief 构造函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-20 */ FITKOCCModelChamferSolid(); /** * @brief 析构函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-20 */ ~FITKOCCModelChamferSolid() = default; /** * @brief 更新数据。[重写] * @return 是否成功 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-20 */ bool update() override; }; /** * @brief OCC倒圆类。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-20 */ class FITKGeoCompOCCAPI FITKOCCModelFilletSolid : public Interface::FITKAbsGeoModelFilletSolid, public OCCShapeAgent { public: /** * @brief 构造函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-20 */ FITKOCCModelFilletSolid(); /** * @brief 析构函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-20 */ ~FITKOCCModelFilletSolid() = default; /** * @brief 更新数据。[重写] * @return 是否成功 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-20 */ bool update() override; }; /** * @brief OCC移除特征工具类。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ class FITKOCCDefeatureTool { public: /** * @brief 构造函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ FITKOCCDefeatureTool() {} /** * @brief 析构函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ ~FITKOCCDefeatureTool() {} /** * @brief 去除特征工具方法。[静态] * @param cmdId:模型数据ID * @param faceIds:被操作的面数据虚拓扑ID列表 * @param outputShape:输出形状[引用] * @return 是否执行成功 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ static bool Defeature(int cmdId, QList faceIds, TopoDS_Shape & outputShape); }; /** * @brief OCC移除特征类。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-29 */ class FITKGeoCompOCCAPI FITKOCCModelDefeatureSolid : public Interface::FITKAbsGeoModelDefeatureSolid, public OCCShapeAgent { public: /** * @brief 构造函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-29 */ FITKOCCModelDefeatureSolid(); /** * @brief 析构函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-29 */ ~FITKOCCModelDefeatureSolid() = default; /** * @brief 更新数据。[重写] * @return 是否成功 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-29 */ bool update() override; }; /** * @brief OCC移除倒角类。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ class FITKGeoCompOCCAPI FITKOCCModelRemoveChamferSolid : public Interface::FITKAbsGeoModelRemoveChamferSolid, public OCCShapeAgent { public: /** * @brief 构造函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ FITKOCCModelRemoveChamferSolid(); /** * @brief 析构函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ ~FITKOCCModelRemoveChamferSolid() = default; /** * @brief 更新数据。[重写] * @return 是否成功 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ bool update() override; }; /** * @brief OCC移除倒圆类。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ class FITKGeoCompOCCAPI FITKOCCModelRemoveFilletSolid : public Interface::FITKAbsGeoModelRemoveFilletSolid, public OCCShapeAgent { public: /** * @brief 构造函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ FITKOCCModelRemoveFilletSolid(); /** * @brief 析构函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ ~FITKOCCModelRemoveFilletSolid() = default; /** * @brief 更新数据。[重写] * @return 是否成功 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-27 */ bool update() override; }; /** * @brief OCC填补孔洞类。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-26 */ class FITKGeoCompOCCAPI FITKOCCModelFillHoleSolid : public Interface::FITKAbsGeoModelFillHoleSolid, public OCCShapeAgent { public: /** * @brief 构造函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-26 */ FITKOCCModelFillHoleSolid(); /** * @brief 析构函数。 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-26 */ ~FITKOCCModelFillHoleSolid() = default; /** * @brief 更新数据。[重写] * @return 是否成功 * @author ChengHaotian (yeguangbaozi@foxmail.com) * @date 2024-08-26 */ bool update() override; }; } #endif // !FITKOCCMODELOPERSOLID_H