From 92a740a112bcc64b26e10f11b453d0597ddd3555 Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 9 Aug 2023 16:58:45 +0800 Subject: [PATCH] FIX: disordered support interfaces in tree support Can't delete nodes with no children, otherwise the parent-child relations may be corrupted. Jira: STUDIO-3737, MAK-1557 Change-Id: I1de39e182bac4a55a8739c00e59fdf7b9b5e4dfb (cherry picked from commit 8ad53b9fc16362e5bac1f649b53f4f0eba1edc1d) --- src/libslic3r/TreeSupport.cpp | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/libslic3r/TreeSupport.cpp b/src/libslic3r/TreeSupport.cpp index 8a8abbba6b..8068ca2c30 100644 --- a/src/libslic3r/TreeSupport.cpp +++ b/src/libslic3r/TreeSupport.cpp @@ -3058,21 +3058,7 @@ void TreeSupport::drop_nodes(std::vector>& contact_nodes) } } } - #if 1 - // delete nodes with no children (means either it's a single layer nodes, or the branch has been deleted but not completely) - for (size_t layer_nr = contact_nodes.size() - 1; layer_nr > 0; layer_nr--){ - auto layer_contact_nodes = contact_nodes[layer_nr]; - for (Node *p_node : layer_contact_nodes) { - if (p_node->child==nullptr) { - std::vector::iterator to_erase = std::find(contact_nodes[layer_nr].begin(), contact_nodes[layer_nr].end(), p_node); - if (to_erase != contact_nodes[layer_nr].end()) { - to_free_node_set.insert(*to_erase); - contact_nodes[layer_nr].erase(to_erase); - } - } - } - } - #endif + BOOST_LOG_TRIVIAL(debug) << "after m_avoidance_cache.size()=" << m_ts_data->m_avoidance_cache.size(); for (Node *node : to_free_node_set)