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.
This commit is contained in:
4
extern/carve/carve-capi.cc
vendored
4
extern/carve/carve-capi.cc
vendored
@@ -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);
|
||||
|
Reference in New Issue
Block a user