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/FITKGeoCompOCC/FITKOCCOperBool.h

42 lines
922 B
C++

#ifndef _FITKOCCOper_BOOL_H___
#define _FITKOCCOper_BOOL_H___
#include "FITKAbstractOCCModel.h"
#include "FITK_Interface/FITKInterfaceGeometry/FITKAbsGeoOperBool.h"
class TopoDS_Shape;
namespace OCC
{
class FITKGeoCompOCCAPI FITKOCCOperBool :public Interface::FITKAbsGeoOperBool,
public OCCShapeAgent
{
public:
explicit FITKOCCOperBool();
virtual ~FITKOCCOperBool() = default;
/**
* @brief 更新模型
* @return true 更新成功
* @return false 更新失败
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-06-05
*/
virtual bool update() override;
private:
void cut(const TopoDS_Shape* shape1, const TopoDS_Shape* shape2);
void common(const TopoDS_Shape* shape1, const TopoDS_Shape* shape2);
void add(const TopoDS_Shape* shape1, const TopoDS_Shape* shape2);
};
}
#endif