[Bf-blender-cvs] [97b90d8] master: Fix T38637: Boolean produces faces with holes which isn't supported by BMesh

Sergey Sharybin noreply at git.blender.org
Tue Feb 18 06:53:34 CET 2014


Commit: 97b90d89f4744f40241daf19952493bb3d267cca
Author: Sergey Sharybin
Date:   Tue Feb 18 11:51:36 2014 +0600
https://developer.blender.org/rB97b90d89f4744f40241daf19952493bb3d267cca

Fix T38637: Boolean produces faces with holes which isn't supported by BMesh

Simple fix -- use CarveHoleResolver hook for CSG which will split faces
containing holes.

===================================================================

M	extern/carve/carve-capi.cc

===================================================================

diff --git a/extern/carve/carve-capi.cc b/extern/carve/carve-capi.cc
index aaf5761..ed46d19 100644
--- a/extern/carve/carve-capi.cc
+++ b/extern/carve/carve-capi.cc
@@ -29,6 +29,7 @@
 
 #include <carve/interpolator.hpp>
 #include <carve/rescale.hpp>
+#include <carve/csg_triangulator.hpp>
 
 using carve::mesh::MeshSet;
 
@@ -348,6 +349,9 @@ bool carve_performBooleanOperation(CarveMeshDescr *left_mesh,
 
 		carve::csg::CSG csg;
 
+		csg.hooks.registerHook(new carve::csg::CarveHoleResolver,
+		                       carve::csg::CSG::Hooks::PROCESS_OUTPUT_FACE_BIT);
+
 		output_descr->orig_vert_mapping.installHooks(csg);
 		output_descr->orig_face_edge_mapping.installHooks(csg);
 		output_descr->orig_face_mapping.installHooks(csg);




More information about the Bf-blender-cvs mailing list