Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/extern
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-02-18 09:51:36 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-02-18 09:53:04 +0400
commit97b90d89f4744f40241daf19952493bb3d267cca (patch)
treea58ae6396a0a402d90b43fba2d8015d06747ec4b /extern
parent6dafb89436c0b9bc35895262dda059c2729610c1 (diff)
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.
Diffstat (limited to 'extern')
-rw-r--r--extern/carve/carve-capi.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/extern/carve/carve-capi.cc b/extern/carve/carve-capi.cc
index aaf5761516c..ed46d196d72 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);