Prusa Slicer 2.6.0
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
 
ContourIntersectionPointprev_on_contour { nullptr }
 
ContourIntersectionPointnext_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
198{ this->contour_not_taken_length_next = 0.; this->next_trimmed = true; this->consumed = true; }
bool consumed
Definition FillBase.cpp:192
double contour_not_taken_length_next
Definition FillBase.cpp:189
bool next_trimmed
Definition FillBase.cpp:195

References consumed, contour_not_taken_length_next, and next_trimmed.

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

+ Here is the caller graph for this function:

◆ consume_prev()

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

References consumed, contour_not_taken_length_prev, and prev_trimmed.

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
223 { 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:185

References consumed, next_on_contour, next_trimmed, and prev_trimmed.

◆ could_connect_prev()

bool Slic3r::ContourIntersectionPoint::could_connect_prev ( ) const
throw (
)
inline
220 { 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:184

References consumed, next_trimmed, prev_on_contour, and prev_trimmed.

◆ could_take_next()

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

References consumed, contour_not_taken_length_next, and SCALED_EPSILON.

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

+ Here is the caller graph for this function:

◆ could_take_prev()

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

References consumed, contour_not_taken_length_prev, and SCALED_EPSILON.

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

+ Here is the caller graph for this function:

◆ trim_next()

void Slic3r::ContourIntersectionPoint::trim_next ( const double  new_len)
inline
206 {
207 if (new_len < this->contour_not_taken_length_next) {
208 this->contour_not_taken_length_next = new_len;
209 this->next_trimmed = true;
210 }
211 }

References contour_not_taken_length_next, and next_trimmed.

Referenced by Slic3r::Fill::connect_base_support(), 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
200 {
201 if (new_len < this->contour_not_taken_length_prev) {
202 this->contour_not_taken_length_prev = new_len;
203 this->prev_trimmed = true;
204 }
205 }

References contour_not_taken_length_prev, and prev_trimmed.

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

+ Here is the caller graph for this function:

Member Data Documentation

◆ consumed

◆ 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

size_t Slic3r::ContourIntersectionPoint::point_idx

◆ prev_on_contour

◆ prev_trimmed


The documentation for this struct was generated from the following file: