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.
42 lines
922 B
C++
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
|