From 00030a71c0c7b42ab6fc70d7095f0500002468d4 Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 30 Dec 2011 10:59:54 +0000 Subject: [PATCH] + updated refinement algorithm (tanderson69) git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5362 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d --- src/Mod/Part/App/modelRefine.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Mod/Part/App/modelRefine.cpp b/src/Mod/Part/App/modelRefine.cpp index 9f65ffc884..72b6c6486b 100644 --- a/src/Mod/Part/App/modelRefine.cpp +++ b/src/Mod/Part/App/modelRefine.cpp @@ -45,6 +45,8 @@ #include #include #include +#include +#include #include #include #include @@ -523,6 +525,14 @@ bool FaceUniter::process() } BRepLib_FuseEdges edgeFuse(workShell, Standard_True); + TopTools_DataMapOfShapeShape affectedFaces; + edgeFuse.Faces(affectedFaces); + TopTools_DataMapIteratorOfDataMapOfShapeShape mapIt; + for (mapIt.Initialize(affectedFaces); mapIt.More(); mapIt.Next()) + { + ShapeFix_Face faceFixer(TopoDS::Face(mapIt.Value())); + faceFixer.Perform(); + } workShell = TopoDS::Shell(edgeFuse.Shape()); } return true;