From d7c52433001d7c1de185f7c11410013c9862be5c Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Thu, 9 Jun 2022 16:14:50 +0200 Subject: [PATCH] Further increase widening scale --- src/libslic3r/SLA/BranchingTreeSLA.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/libslic3r/SLA/BranchingTreeSLA.cpp b/src/libslic3r/SLA/BranchingTreeSLA.cpp index 50c5ad015e..f90ba58fb0 100644 --- a/src/libslic3r/SLA/BranchingTreeSLA.cpp +++ b/src/libslic3r/SLA/BranchingTreeSLA.cpp @@ -20,7 +20,7 @@ class BranchingTreeBuilder: public branchingtree::Builder { // Scaling of the input value 'widening_factor:<0, 1>' to produce resonable // widening behaviour - static constexpr double WIDENING_SCALE = 0.08; + static constexpr double WIDENING_SCALE = 0.02; double get_radius(const branchingtree::Node &j) { @@ -128,8 +128,8 @@ bool BranchingTreeBuilder::add_bridge(const branchingtree::Node &from, } bool BranchingTreeBuilder::add_merger(const branchingtree::Node &node, - const branchingtree::Node &closest, - const branchingtree::Node &merge_node) + const branchingtree::Node &closest, + const branchingtree::Node &merge_node) { Vec3d from1d = node.pos.cast(), from2d = closest.pos.cast(), @@ -152,7 +152,7 @@ bool BranchingTreeBuilder::add_merger(const branchingtree::Node &node, } bool BranchingTreeBuilder::add_ground_bridge(const branchingtree::Node &from, - const branchingtree::Node &to) + const branchingtree::Node &to) { bool ret = search_ground_route(ex_tbb, m_builder, m_sm, sla::Junction{from.pos.cast(), @@ -232,7 +232,18 @@ void create_branching_tree(SupportTreeBuilder &builder, const SupportableMesh &s .max_slope(sm.cfg.bridge_slope) .max_branch_length(sm.cfg.max_bridge_length_mm); - branchingtree::PointCloud nodes{its, std::move(leafs), props}; + auto meshpts = sm.cfg.ground_facing_only ? + std::vector{} : + branchingtree::sample_mesh(its, + props.sampling_radius()); + + auto bedpts = branchingtree::sample_bed(props.bed_shape(), + props.ground_level(), + props.sampling_radius()); + + branchingtree::PointCloud nodes{std::move(meshpts), std::move(bedpts), + std::move(leafs), props}; + BranchingTreeBuilder vbuilder{builder, sm, nodes}; branchingtree::build_tree(nodes, vbuilder);