![]() |
Prusa Slicer 2.6.0
|
Inheritance diagram for Slic3r::sla::BranchingTreeBuilder:
Collaboration diagram for Slic3r::sla::BranchingTreeBuilder:Public Member Functions | |
| BranchingTreeBuilder (SupportTreeBuilder &builder, const SupportableMesh &sm, const branchingtree::PointCloud &cloud) | |
| bool | add_bridge (const branchingtree::Node &from, const branchingtree::Node &to) override |
| bool | add_merger (const branchingtree::Node &node, const branchingtree::Node &closest, const branchingtree::Node &merge_node) override |
| bool | add_ground_bridge (const branchingtree::Node &from, const branchingtree::Node &) override |
| bool | add_mesh_bridge (const branchingtree::Node &from, const branchingtree::Node &to) override |
| std::optional< Vec3f > | suggest_avoidance (const branchingtree::Node &from, float max_bridge_len) const override |
| void | report_unroutable (const branchingtree::Node &j) override |
| const std::vector< size_t > & | unroutable_pinheads () const |
| bool | is_valid () const override |
| const std::vector< branchingtree::Node > & | pillars () const |
| const GroundConnection * | ground_conn (size_t pillar) const |
Private Member Functions | |
| double | get_radius (const branchingtree::Node &j) const |
| void | build_subtree (size_t root) |
| void | discard_subtree (size_t root) |
| void | discard_subtree_rescure (size_t root) |
Private Attributes | |
| SupportTreeBuilder & | m_builder |
| const SupportableMesh & | m_sm |
| const branchingtree::PointCloud & | m_cloud |
| std::vector< branchingtree::Node > | m_pillars |
| std::map< int, GroundConnection > | m_gnd_connections |
| execution::SpinningMutex< ExecutionTBB > | m_gnd_connections_mtx |
| std::vector< size_t > | m_unroutable_pinheads |
Static Private Attributes | |
| static constexpr double | WIDENING_SCALE = 0.05 |
|
inline |
|
overridevirtual |
Implements Slic3r::branchingtree::Builder.
References Slic3r::sla::beam_ex_policy, Slic3r::sla::beam_mesh_hit(), Slic3r::sla::SupportableMesh::cfg, Slic3r::sla::SupportableMesh::emesh, get_radius(), m_sm, Slic3r::branchingtree::Node::pos, and Slic3r::sla::SupportTreeConfig::safety_distance_mm.
Here is the call graph for this function:
|
overridevirtual |
Implements Slic3r::branchingtree::Builder.
References Slic3r::sla::beam_ex_policy, build_subtree(), Slic3r::sla::deepsearch_ground_connection(), get_radius(), Slic3r::branchingtree::Node::id, m_gnd_connections, m_pillars, m_sm, and Slic3r::branchingtree::Node::pos.
Referenced by discard_subtree_rescure(), and report_unroutable().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements Slic3r::branchingtree::Builder.
References Slic3r::sla::beam_ex_policy, Slic3r::sla::beam_mesh_hit(), Slic3r::sla::SupportableMesh::cfg, Slic3r::sla::SupportableMesh::emesh, get_radius(), m_sm, Slic3r::branchingtree::Node::pos, and Slic3r::sla::SupportTreeConfig::safety_distance_mm.
Here is the call graph for this function:
|
overridevirtual |
Implements Slic3r::branchingtree::Builder.
References Slic3r::sla::SupportTreeBuilder::add_anchor(), Slic3r::sla::SupportTreeBuilder::add_diffbridge(), Slic3r::sla::beam_ex_policy, Slic3r::sla::beam_mesh_hit(), build_subtree(), Slic3r::sla::calculate_anchor_placement(), Slic3r::sla::SupportableMesh::cfg, Slic3r::sla::distance(), Slic3r::sla::SupportableMesh::emesh, get_radius(), Slic3r::sla::SupportTreeConfig::ground_facing_only, Slic3r::branchingtree::Node::id, m_builder, m_sm, Slic3r::sla::SupportTreeConfig::max_weight_on_model_support, Slic3r::branchingtree::Node::pos, Slic3r::sla::Junction::pos, Slic3r::sla::Junction::r, and Slic3r::branchingtree::Node::weight.
Here is the call graph for this function:
|
inlineprivate |
References Slic3r::sla::SupportTreeBuilder::add_diffbridge(), Slic3r::sla::SupportTreeBuilder::add_junction(), Slic3r::branchingtree::PointCloud::get(), get_radius(), Slic3r::branchingtree::Node::id, if(), Slic3r::branchingtree::Node::left, m_builder, m_cloud, Slic3r::branchingtree::Node::pos, and Slic3r::branchingtree::Node::right.
Referenced by add_ground_bridge(), and add_mesh_bridge().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References Slic3r::branchingtree::PointCloud::get_leaf_id(), Slic3r::branchingtree::Node::id, Slic3r::branchingtree::Node::left, m_cloud, m_unroutable_pinheads, and Slic3r::branchingtree::Node::right.
Here is the call graph for this function:
|
inlineprivate |
References add_ground_bridge(), Slic3r::branchingtree::PointCloud::get(), Slic3r::branchingtree::PointCloud::get_leaf_id(), Slic3r::sla::ground_level(), Slic3r::branchingtree::Node::id, Slic3r::branchingtree::Node::ID_NONE, Slic3r::branchingtree::Node::left, m_cloud, m_sm, m_unroutable_pinheads, Slic3r::branchingtree::Node::pos, Slic3r::branchingtree::Node::right, and Slic3r::branchingtree::Node::weight.
Referenced by report_unroutable().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References Slic3r::sla::SupportableMesh::cfg, m_sm, Slic3r::sla::SupportTreeConfig::pillar_widening_factor, Slic3r::branchingtree::Node::Rmin, Slic3r::branchingtree::Node::weight, and WIDENING_SCALE.
Referenced by add_bridge(), add_ground_bridge(), add_merger(), add_mesh_bridge(), and build_subtree().
Here is the caller graph for this function:
|
inline |
References m_gnd_connections, and m_pillars.
Referenced by Slic3r::sla::build_pillars().
Here is the caller graph for this function:
|
inlineoverridevirtual |
Reimplemented from Slic3r::branchingtree::Builder.
References Slic3r::sla::SupportTreeBuilder::ctl(), m_builder, and Slic3r::sla::JobController::stopcondition.
Here is the call graph for this function:
|
inline |
References m_pillars.
Referenced by Slic3r::sla::build_pillars().
Here is the caller graph for this function:
|
inlineoverridevirtual |
Implements Slic3r::branchingtree::Builder.
References add_ground_bridge(), discard_subtree_rescure(), Slic3r::sla::ground_level(), Slic3r::branchingtree::Node::id, m_sm, Slic3r::branchingtree::Node::pos, and Slic3r::branchingtree::Node::weight.
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from Slic3r::branchingtree::Builder.
References Slic3r::sla::beam_ex_policy, Slic3r::sla::deepsearch_ground_connection(), Slic3r::sla::DOWN, Slic3r::sla::get_avoidance(), Slic3r::sla::ground_level(), Slic3r::branchingtree::Node::id, Slic3r::branchingtree::Node::pos, and Slic3r::branchingtree::Node::weight.
Here is the call graph for this function:
|
inline |
References m_unroutable_pinheads.
|
private |
Referenced by add_mesh_bridge(), build_subtree(), and is_valid().
|
private |
Referenced by build_subtree(), discard_subtree(), and discard_subtree_rescure().
|
mutableprivate |
Referenced by add_ground_bridge(), and ground_conn().
|
mutableprivate |
|
private |
Referenced by add_ground_bridge(), ground_conn(), and pillars().
|
private |
Referenced by add_bridge(), add_ground_bridge(), add_merger(), add_mesh_bridge(), discard_subtree_rescure(), get_radius(), and report_unroutable().
|
private |
Referenced by discard_subtree(), discard_subtree_rescure(), and unroutable_pinheads().
|
staticconstexprprivate |
Referenced by get_radius().