#pragma once #include "Stdafx.h" class OCCCabin { public: TopoDS_Shape sld; //20170601 by czb,TopoDS_Solid sld; TopoDS_Solid sld2; TopoDS_Solid sld3; TopoDS_Shape frontFace;//位置面 前 TopoDS_Shape backFace;//位置面 后 x > 前 TopoDS_Shape splitFace; gp_Pnt cutPoint; bool isDone; TopoDS_Shape result; public: OCCCabin(void); //OCCCabin(TopoDS_Solid sld, TopoDS_Shape front, TopoDS_Shape back, TopoDS_Shape sliptFace, gp_Pnt cutPoint); OCCCabin(TopoDS_Shape sld, TopoDS_Shape front, TopoDS_Shape back, TopoDS_Shape sliptFace, gp_Pnt cutPoint); ~OCCCabin(void); public: bool Init(TopoDS_Shape sld, TopoDS_Shape front, TopoDS_Shape back, TopoDS_Shape sliptFace, gp_Pnt cutPoint); TopoDS_Shape SplitSolidByFront(TopoDS_Shape solid); TopoDS_Shape SplitSolidByBack(TopoDS_Shape solid); TopoDS_Shape SplitSolidByFront_bool(TopoDS_Shape solid); TopoDS_Shape SplitSolidByBack_bool(TopoDS_Shape solid); TopoDS_Shape SplitSolid(TopoDS_Shape solid, TopoDS_Shape shell, gp_Pnt cPoint); TopoDS_Shape SplitSolid_bool(TopoDS_Shape solid, TopoDS_Shape shell, gp_Pnt cPoint); void Build(); TopoDS_Shape GetResult(); void SetSecondSolid(TopoDS_Solid solid); TopoDS_Solid CreateSecondSolid(); void SetThirdSolid(TopoDS_Solid solid); };