Manifold mesh may contain self-intersections, so we want to always allow fixing the mesh.

This is a fix of a regression wrt. https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.4.0-alpha2
This commit is contained in:
Vojtech Bubnik 2021-10-04 10:39:53 +02:00
parent 9c177cf167
commit e533d237f9
3 changed files with 17 additions and 7 deletions

View file

@ -4536,6 +4536,11 @@ bool Plater::priv::can_fix_through_netfabb() const
std::vector<int> obj_idxs, vol_idxs;
sidebar->obj_list()->get_selection_indexes(obj_idxs, vol_idxs);
#if FIX_THROUGH_NETFABB_ALWAYS
// Fixing always.
return ! obj_idxs.empty() || ! vol_idxs.empty();
#else // FIX_THROUGH_NETFABB_ALWAYS
// Fixing only if the model is not manifold.
if (vol_idxs.empty()) {
for (auto obj_idx : obj_idxs)
if (model.objects[obj_idx]->get_mesh_errors_count() > 0)
@ -4547,11 +4552,10 @@ bool Plater::priv::can_fix_through_netfabb() const
for (auto vol_idx : vol_idxs)
if (model.objects[obj_idx]->get_mesh_errors_count(vol_idx) > 0)
return true;
return false;
#endif // FIX_THROUGH_NETFABB_ALWAYS
}
bool Plater::priv::can_simplify() const
{
// is object for simplification selected