|
|
/*****************************************************************//**
|
|
|
* @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<int> 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
|