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

36 lines
1.2 KiB
C
Raw Permalink Normal View History

2025-06-25 15:06:42 +08:00
#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);
};