37 lines
665 B
C++
37 lines
665 B
C++
#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;
|
|
|
|
};
|
|
|
|
|