+ patch: improve face union (tanderson69)
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5424 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
This commit is contained in:
@@ -436,19 +436,11 @@ FaceTypedCylinder& ModelRefine::getCylinderObject()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
FaceUniter::FaceUniter(const TopoDS_Shell &shellIn)
|
||||
FaceUniter::FaceUniter(const TopoDS_Shell &shellIn) : modifiedSignal(false)
|
||||
{
|
||||
workShell = shellIn;
|
||||
}
|
||||
|
||||
FaceUniter::FaceUniter(const TopoDS_Solid &solidIn)
|
||||
{
|
||||
//get first shell
|
||||
TopExp_Explorer it;
|
||||
it.Init(solidIn, TopAbs_SHELL);
|
||||
workShell = TopoDS::Shell(it.Current());
|
||||
}
|
||||
|
||||
bool FaceUniter::process()
|
||||
{
|
||||
if (workShell.IsNull())
|
||||
@@ -495,6 +487,7 @@ bool FaceUniter::process()
|
||||
}
|
||||
if (facesToSew.size() > 0)
|
||||
{
|
||||
modifiedSignal = true;
|
||||
workShell = ModelRefine::removeFaces(workShell, facesToRemove);
|
||||
TopExp_Explorer xp;
|
||||
bool emptyShell = true;
|
||||
@@ -537,11 +530,3 @@ bool FaceUniter::process()
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool FaceUniter::getSolid(TopoDS_Solid &outSolid) const
|
||||
{
|
||||
BRepBuilderAPI_MakeSolid solidMaker;
|
||||
solidMaker.Add(workShell);
|
||||
outSolid = solidMaker.Solid();
|
||||
return solidMaker.IsDone() ? true : false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user