diff options
Diffstat (limited to 'src/libslic3r/SLA/SupportTree.cpp')
-rw-r--r-- | src/libslic3r/SLA/SupportTree.cpp | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/src/libslic3r/SLA/SupportTree.cpp b/src/libslic3r/SLA/SupportTree.cpp index 528778b68..1bb4cfab7 100644 --- a/src/libslic3r/SLA/SupportTree.cpp +++ b/src/libslic3r/SLA/SupportTree.cpp @@ -5,9 +5,9 @@ #include <numeric> #include <libslic3r/SLA/SupportTree.hpp> -#include <libslic3r/SLA/Common.hpp> #include <libslic3r/SLA/SpatIndex.hpp> #include <libslic3r/SLA/SupportTreeBuilder.hpp> +#include <libslic3r/SLA/SupportTreeBuildsteps.hpp> #include <libslic3r/MTUtils.hpp> #include <libslic3r/ClipperUtils.hpp> @@ -28,20 +28,6 @@ namespace Slic3r { namespace sla { -// Compile time configuration value definitions: - -// The max Z angle for a normal at which it will get completely ignored. -const double SupportConfig::normal_cutoff_angle = 150.0 * M_PI / 180.0; - -// The shortest distance of any support structure from the model surface -const double SupportConfig::safety_distance_mm = 0.5; - -const double SupportConfig::max_solo_pillar_height_mm = 15.0; -const double SupportConfig::max_dual_pillar_height_mm = 35.0; -const double SupportConfig::optimizer_rel_score_diff = 1e-6; -const unsigned SupportConfig::optimizer_max_iterations = 1000; -const unsigned SupportConfig::pillar_cascade_neighbors = 3; - void SupportTree::retrieve_full_mesh(TriangleMesh &outmesh) const { outmesh.merge(retrieve_mesh(MeshType::Support)); outmesh.merge(retrieve_mesh(MeshType::Pad)); @@ -103,9 +89,11 @@ SupportTree::UPtr SupportTree::create(const SupportableMesh &sm, builder->m_ctl = ctl; if (sm.cfg.enabled) { - builder->build(sm); + // Execute takes care about the ground_level + SupportTreeBuildsteps::execute(*builder, sm); builder->merge_and_cleanup(); // clean metadata, leave only the meshes. } else { + // If a pad gets added later, it will be in the right Z level builder->ground_level = sm.emesh.ground_level(); } |