Represents the metadata of a node in the tree. More...
#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Support/TreeSupport.hpp>
Public Member Functions | |
| SupportNode () | |
| SupportNode (const Point position, const int distance_to_top, const int obj_layer_nr, const int support_roof_layers_below, const bool to_buildplate, SupportNode *parent, coordf_t print_z_, coordf_t height_, coordf_t dist_mm_to_top_=0, coordf_t radius_=0) | |
| bool | operator== (const SupportNode &other) const |
Public Attributes | |
| int | distance_to_top |
| The number of layers to go to the top of this branch. Negative value means it's a virtual node between support and overhang, which doesn't need to be extruded. | |
| coordf_t | dist_mm_to_top = 0 |
| Point | position |
| The position of this node on the layer. | |
| Point | movement |
| double | radius = 0.0 |
| double | max_move_dist = 0.0 |
| TreeNodeType | type = eCircle |
| bool | is_corner = false |
| bool | is_processed = false |
| bool | is_sharp_tail = false |
| bool | valid = true |
| ExPolygon | overhang |
| Point | skin_direction |
| The direction of the skin lines above the tip of the branch. | |
| int | support_roof_layers_below |
| The number of support roof layers below this one. | |
| int | obj_layer_nr |
| bool | to_buildplate |
| Whether to try to go towards the build plate. | |
| SupportNode * | parent |
| The originating node for this one, one layer higher. | |
| std::vector< SupportNode * > | parents |
| SupportNode * | child = nullptr |
| std::list< SupportNode * > | merged_neighbours |
| All neighbours (on the same layer) that where merged into this node. | |
| coordf_t | print_z |
| coordf_t | height |
Static Public Attributes | |
| static constexpr SupportNode * | NO_PARENT = nullptr |
| static double | diameter_angle_scale_factor |
Represents the metadata of a node in the tree.
|
inline |
References distance_to_top, height, obj_layer_nr, parent, position, print_z, support_roof_layers_below, and to_buildplate.
Referenced by SupportNode(), and operator==().
|
inline |
References SupportNode(), diameter_angle_scale_factor, dist_mm_to_top, distance_to_top, height, is_sharp_tail, obj_layer_nr, overhang, parent, parents, position, print_z, radius, skin_direction, support_roof_layers_below, to_buildplate, and type.
|
inline |
| SupportNode* Slic3r::SupportNode::child = nullptr |
Referenced by Slic3r::TreeSupport::smooth_nodes().
|
static |
Referenced by SupportNode(), and Slic3r::TreeSupport::drop_nodes().
| coordf_t Slic3r::SupportNode::dist_mm_to_top = 0 |
Referenced by SupportNode(), and Slic3r::TreeSupport::get_radius().
| int Slic3r::SupportNode::distance_to_top |
The number of layers to go to the top of this branch. Negative value means it's a virtual node between support and overhang, which doesn't need to be extruded.
Referenced by SupportNode(), SupportNode(), Slic3r::TreeSupport::insert_dropped_node(), and Slic3r::TreeSupport::plan_layer_heights().
| coordf_t Slic3r::SupportNode::height |
Referenced by SupportNode(), SupportNode(), and Slic3r::TreeSupport::plan_layer_heights().
| bool Slic3r::SupportNode::is_corner = false |
| bool Slic3r::SupportNode::is_processed = false |
Referenced by Slic3r::TreeSupport::smooth_nodes().
| bool Slic3r::SupportNode::is_sharp_tail = false |
Referenced by SupportNode().
|
mutable |
| std::list<SupportNode*> Slic3r::SupportNode::merged_neighbours |
All neighbours (on the same layer) that where merged into this node.
In order to prune branches that can't have any support (because they can't be on the model and the path to the buildplate isn't clear), the entire branch needs to be known.
| Point Slic3r::SupportNode::movement |
Referenced by Slic3r::TreeSupportData::create_node().
|
staticconstexpr |
| int Slic3r::SupportNode::obj_layer_nr |
Referenced by SupportNode(), and SupportNode().
| ExPolygon Slic3r::SupportNode::overhang |
Referenced by SupportNode().
| SupportNode* Slic3r::SupportNode::parent |
The originating node for this one, one layer higher.
In order to prune branches that can't have any support (because they can't be on the model and the path to the buildplate isn't clear), the entire branch needs to be known.
Referenced by SupportNode(), SupportNode(), and Slic3r::TreeSupport::smooth_nodes().
| std::vector<SupportNode*> Slic3r::SupportNode::parents |
Referenced by SupportNode().
| Point Slic3r::SupportNode::position |
The position of this node on the layer.
Referenced by SupportNode(), SupportNode(), Slic3r::TreeSupportData::create_node(), operator==(), and Slic3r::TreeSupport::smooth_nodes().
| coordf_t Slic3r::SupportNode::print_z |
Referenced by SupportNode(), SupportNode(), and Slic3r::TreeSupport::plan_layer_heights().
|
mutable |
Referenced by SupportNode(), Slic3r::TreeSupport::get_radius(), and Slic3r::TreeSupport::smooth_nodes().
| Point Slic3r::SupportNode::skin_direction |
The direction of the skin lines above the tip of the branch.
This determines in which direction we should reduce the width of the branch.
Referenced by SupportNode().
| int Slic3r::SupportNode::support_roof_layers_below |
The number of support roof layers below this one.
When a contact point is created, it is determined whether the mesh needs to be supported with support roof or not, since that is a per-mesh setting. This is stored in this variable in order to track how far we need to extend that support roof downwards.
Referenced by SupportNode(), SupportNode(), and Slic3r::TreeSupport::insert_dropped_node().
| bool Slic3r::SupportNode::to_buildplate |
Whether to try to go towards the build plate.
If the node is inside the collision areas, it has no choice but to go towards the model. If it is not inside the collision areas, it must go towards the build plate to prevent a scar on the surface.
Referenced by SupportNode(), and SupportNode().
| TreeNodeType Slic3r::SupportNode::type = eCircle |
Referenced by SupportNode().
| bool Slic3r::SupportNode::valid = true |