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

Public Member Functions

void consume_prev ()
void consume_next ()
void trim_prev (const double new_len)
void trim_next (const double new_len)
bool could_take_prev () const throw ()
bool could_take_next () const throw ()
bool could_connect_prev () const throw ()
bool could_connect_next () const throw ()

Public Attributes

size_t contour_idx
size_t point_idx
double param
ContourIntersectionPoint * prev_on_contour { nullptr }
ContourIntersectionPoint * next_on_contour { nullptr }
double contour_not_taken_length_prev { std::numeric_limits<double>::max() }
double contour_not_taken_length_next { std::numeric_limits<double>::max() }
bool consumed { false }
bool prev_trimmed { false }
bool next_trimmed { false }

Detailed Description

Member Function Documentation

◆ consume_next()

void Slic3r::ContourIntersectionPoint::consume_next ( )
inline
456{ this->contour_not_taken_length_next = 0.; this->next_trimmed = true; this->consumed = true; }
bool consumed
Definition FillBase.cpp:450
double contour_not_taken_length_next
Definition FillBase.cpp:447
bool next_trimmed
Definition FillBase.cpp:453

Referenced by Slic3r::take(), and Slic3r::take_limited().

Here is the caller graph for this function:

◆ consume_prev()

void Slic3r::ContourIntersectionPoint::consume_prev ( )
inline
455{ this->contour_not_taken_length_prev = 0.; this->prev_trimmed = true; this->consumed = true; }
double contour_not_taken_length_prev
Definition FillBase.cpp:445
bool prev_trimmed
Definition FillBase.cpp:452

Referenced by Slic3r::take(), and Slic3r::take_limited().

Here is the caller graph for this function:

◆ could_connect_next()

bool Slic3r::ContourIntersectionPoint::could_connect_next ( ) const
throw ( )
inline
481 { return ! this->consumed && this->next_on_contour != this && ! this->next_on_contour->consumed && ! this->next_trimmed && ! this->next_on_contour->prev_trimmed; }
ContourIntersectionPoint * next_on_contour
Definition FillBase.cpp:443

References consumed, and prev_trimmed.

Referenced by Slic3r::Fill::connect_base_support(), and Slic3r::Fill::connect_infill().

Here is the caller graph for this function:

◆ could_connect_prev()

bool Slic3r::ContourIntersectionPoint::could_connect_prev ( ) const
throw ( )
inline
478 { return ! this->consumed && this->prev_on_contour != this && ! this->prev_on_contour->consumed && ! this->prev_trimmed && ! this->prev_on_contour->next_trimmed; }
ContourIntersectionPoint * prev_on_contour
Definition FillBase.cpp:442

References consumed, and next_trimmed.

◆ could_take_next()

bool Slic3r::ContourIntersectionPoint::could_take_next ( ) const
throw ( )
inline
474{ return ! this->consumed && this->contour_not_taken_length_next > SCALED_EPSILON; }
#define SCALED_EPSILON
Definition libslic3r.h:109

References SCALED_EPSILON.

Referenced by Slic3r::Fill::connect_base_support(), Slic3r::BoundaryInfillGraph::dir_next(), Slic3r::mark_boundary_segments_overlapping_infill(), and Slic3r::take_limited().

Here is the caller graph for this function:

◆ could_take_prev()

bool Slic3r::ContourIntersectionPoint::could_take_prev ( ) const
throw ( )
inline
472{ return ! this->consumed && this->contour_not_taken_length_prev > SCALED_EPSILON; }

References SCALED_EPSILON.

Referenced by Slic3r::Fill::connect_base_support(), Slic3r::BoundaryInfillGraph::dir_prev(), Slic3r::mark_boundary_segments_overlapping_infill(), and Slic3r::take_limited().

Here is the caller graph for this function:

◆ trim_next()

void Slic3r::ContourIntersectionPoint::trim_next ( const double new_len)
inline
464 {
465 if (new_len < this->contour_not_taken_length_next) {
466 this->contour_not_taken_length_next = new_len;
467 this->next_trimmed = true;
468 }
469 }

References contour_not_taken_length_next.

Referenced by Slic3r::base_support_extend_infill_lines(), Slic3r::Fill::connect_base_support(), Slic3r::mark_boundary_segments_overlapping_infill(), and Slic3r::mark_boundary_segments_touching_infill().

Here is the caller graph for this function:

◆ trim_prev()

void Slic3r::ContourIntersectionPoint::trim_prev ( const double new_len)
inline
458 {
459 if (new_len < this->contour_not_taken_length_prev) {
460 this->contour_not_taken_length_prev = new_len;
461 this->prev_trimmed = true;
462 }
463 }

References contour_not_taken_length_prev.

Referenced by Slic3r::base_support_extend_infill_lines(), Slic3r::Fill::connect_base_support(), Slic3r::mark_boundary_segments_overlapping_infill(), and Slic3r::mark_boundary_segments_touching_infill().

Here is the caller graph for this function:

Member Data Documentation

◆ consumed

bool Slic3r::ContourIntersectionPoint::consumed { false }

◆ contour_idx

◆ contour_not_taken_length_next

double Slic3r::ContourIntersectionPoint::contour_not_taken_length_next { std::numeric_limits<double>::max() }

◆ contour_not_taken_length_prev

double Slic3r::ContourIntersectionPoint::contour_not_taken_length_prev { std::numeric_limits<double>::max() }

◆ next_on_contour

◆ next_trimmed

◆ param

◆ point_idx

◆ prev_on_contour

◆ prev_trimmed


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