COMPASSi/trunk/code/inc/OCC/OCCLib/SolidBool.h

37 lines
665 B
C
Raw Normal View History

2025-06-25 15:06:42 +08:00
#pragma once
#include "BaseAlgo.h"
enum BoolType
{
BOOL_CUT1 = 0,
BOOL_CUT2,
BOOL_COMMON,
BOOL_FUSE
};
class SolidBool :
public BaseAlgo
{
public:
SolidBool(void);
~SolidBool(void);
SolidBool(TopoDS_Solid solid1, TopoDS_Solid solid2, BoolType type);
public:
void Init(TopoDS_Solid solid1, TopoDS_Solid solid2, BoolType type);
TopoDS_Shape SplitShell(TopoDS_Shape& solid1,TopoDS_Shape& solid2, vector<TopoDS_Face>& faceIn, vector<TopoDS_Face>& faceOut, vector<TopoDS_Face>& faceOn);
void Perform();
TopoDS_Shape GetResult();
public:
TopoDS_Solid solid1;
TopoDS_Solid solid2;
BoolType type;
TopoDS_Shape result;
bool isInit;
bool isDone;
};