mirror of
https://git.mirrors.martin98.com/https://github.com/SoftFever/OrcaSlicer.git
synced 2025-08-18 01:35:54 +08:00
FIX: add protection to fix crash when mesh boolean
when the split has no effect we should return directly Change-Id: I81510c3edea96e101abfedf77023264e06d7d35c
This commit is contained in:
parent
4d2c5ddcde
commit
2dde3708d1
@ -670,6 +670,12 @@ void do_boolean(McutMesh &srcMesh, const McutMesh &cutMesh, const std::string &b
|
|||||||
indexed_triangle_set all_its;
|
indexed_triangle_set all_its;
|
||||||
TriangleMesh tri_src = mcut_to_triangle_mesh(srcMesh);
|
TriangleMesh tri_src = mcut_to_triangle_mesh(srcMesh);
|
||||||
std::vector<indexed_triangle_set> src_parts = its_split(tri_src.its);
|
std::vector<indexed_triangle_set> src_parts = its_split(tri_src.its);
|
||||||
|
if (src_parts.size() == 1)
|
||||||
|
{
|
||||||
|
//can not split, return error directly
|
||||||
|
BOOST_LOG_TRIVIAL(error) << boost::format("bool operation %1% failed, also can not split")%boolean_opts;
|
||||||
|
return;
|
||||||
|
}
|
||||||
for (size_t i = 0; i < src_parts.size(); i++)
|
for (size_t i = 0; i < src_parts.size(); i++)
|
||||||
{
|
{
|
||||||
auto part = triangle_mesh_to_mcut(src_parts[i]);
|
auto part = triangle_mesh_to_mcut(src_parts[i]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user