#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& faceIn, vector& faceOut, vector& faceOn); void Perform(); TopoDS_Shape GetResult(); public: TopoDS_Solid solid1; TopoDS_Solid solid2; BoolType type; TopoDS_Shape result; bool isInit; bool isDone; };