◆ AllIntersectionsVisitor() [1/2]
| Slic3r::AllIntersectionsVisitor::AllIntersectionsVisitor |
( |
const EdgeGrid::Grid & | grid, |
|
|
std::vector< Intersection > & | intersections ) |
|
inline |
77 {
79 }
std::unordered_set< std::pair< size_t, size_t >, boost::hash< std::pair< size_t, size_t > > > intersection_set
Definition AvoidCrossingPerimeters.cpp:110
std::vector< Intersection > & intersections
Definition AvoidCrossingPerimeters.cpp:108
const EdgeGrid::Grid & grid
Definition AvoidCrossingPerimeters.cpp:107
References grid, intersection_set, and intersections.
◆ AllIntersectionsVisitor() [2/2]
| Slic3r::AllIntersectionsVisitor::AllIntersectionsVisitor |
( |
const EdgeGrid::Grid & | grid, |
|
|
std::vector< Intersection > & | intersections, |
|
|
const Line & | travel_line ) |
|
inline |
◆ operator()()
| bool Slic3r::AllIntersectionsVisitor::operator() |
( |
coord_t | iy, |
|
|
coord_t | ix ) |
|
inline |
92 {
93
94 auto cell_data_range =
grid.cell_data_range(iy, ix);
95 for (auto it_contour_and_segment = cell_data_range.first; it_contour_and_segment != cell_data_range.second; ++it_contour_and_segment) {
96 Point intersection_point;
97 if (
travel_line.intersection(
grid.line(*it_contour_and_segment), &intersection_point) &&
99 intersections.push_back({ it_contour_and_segment->first, it_contour_and_segment->second, intersection_point });
101 }
102 }
103
104 return true;
105 }
Kernel::Point_3 Point
Definition MeshRepair.cpp:81
References grid, intersection_set, intersections, and travel_line.
◆ reset()
| void Slic3r::AllIntersectionsVisitor::reset |
( |
| ) |
|
|
inline |
◆ grid
◆ intersection_set
| std::unordered_set<std::pair<size_t, size_t>, boost::hash<std::pair<size_t, size_t> > > Slic3r::AllIntersectionsVisitor::intersection_set |
◆ intersections
| std::vector<Intersection>& Slic3r::AllIntersectionsVisitor::intersections |
◆ travel_line
| Line Slic3r::AllIntersectionsVisitor::travel_line |
The documentation for this struct was generated from the following file: