OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::LineNode Struct Reference
Collaboration diagram for Slic3r::LineNode:

Classes

struct  State

Public Member Functions

 LineNode (const Line &line)
bool is_initial_line_touching_long_lines () const
bool is_touching_long_lines_in_previous_layer () const
bool has_next_layer_neighbours () const

Public Attributes

Line line
std::vector< LineNode * > next_section_overlapping_lines
std::vector< LineNode * > prev_section_overlapping_lines
bool is_removed = false
State state

Detailed Description

Constructor & Destructor Documentation

◆ LineNode()

Slic3r::LineNode::LineNode ( const Line & line)
inlineexplicit
452: line(line) {}
Line line
Definition Fill.cpp:454

References line.

Referenced by has_next_layer_neighbours(), is_initial_line_touching_long_lines(), and is_touching_long_lines_in_previous_layer().

Here is the caller graph for this function:

Member Function Documentation

◆ has_next_layer_neighbours()

bool Slic3r::LineNode::has_next_layer_neighbours ( ) const
inline
491 {
493 return false;
494
495 for (LineNode *line_node : next_section_overlapping_lines) {
496 if (!line_node->is_removed)
497 return true;
498 }
499
500 return false;
501 }
LineNode(const Line &line)
Definition Fill.cpp:452
std::vector< LineNode * > next_section_overlapping_lines
Definition Fill.cpp:456

References LineNode(), and next_section_overlapping_lines.

Referenced by Slic3r::can_line_note_be_removed().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_initial_line_touching_long_lines()

bool Slic3r::LineNode::is_initial_line_touching_long_lines ( ) const
inline
464 {
466 return false;
467
468 for (LineNode *line_node : prev_section_overlapping_lines) {
469 if (line_node->state.initial_touches_long_lines)
470 return true;
471 }
472
473 return false;
474 }
std::vector< LineNode * > prev_section_overlapping_lines
Definition Fill.cpp:457

References LineNode(), and prev_section_overlapping_lines.

Referenced by Slic3r::can_line_note_be_removed().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_touching_long_lines_in_previous_layer()

bool Slic3r::LineNode::is_touching_long_lines_in_previous_layer ( ) const
inline
477 {
479 return false;
480
481 const auto MAX_LINE_LENGTH_TO_FILTER = _MAX_LINE_LENGTH_TO_FILTER();
482 for (LineNode *line_node : prev_section_overlapping_lines) {
483 if (!line_node->is_removed && line_node->line.length() >= MAX_LINE_LENGTH_TO_FILTER)
484 return true;
485 }
486
487 return false;
488 }
static coord_t _MAX_LINE_LENGTH_TO_FILTER()
Definition Fill.cpp:424

References LineNode(), Slic3r::_MAX_LINE_LENGTH_TO_FILTER(), and prev_section_overlapping_lines.

Here is the call graph for this function:

Member Data Documentation

◆ is_removed

bool Slic3r::LineNode::is_removed = false

◆ line

◆ next_section_overlapping_lines

std::vector<LineNode*> Slic3r::LineNode::next_section_overlapping_lines

◆ prev_section_overlapping_lines

std::vector<LineNode*> Slic3r::LineNode::prev_section_overlapping_lines

◆ state


The documentation for this struct was generated from the following file:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Fill/Fill.cpp