mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-30 22:32:07 +00:00
Improvements in Inner Outer Inner wall ordering logic (#6138)
* Improvements in Inner Outer Inner wall ordering logic * Updated to BFS algorithm, made ordering more robust and corrected edge cases * Doc updates * Refinements in perimeter sorting * Removal of touch threshold and code debugging to improve sequencing * Code cleanup * Code refinements on perimeter distance thresholds * Extend perimeter re-ordering to more than inset index 2, to reduce travel moves when printing neighbouring features * Refinements to IOI perimeter re-ordering algorithm to improve travel scenarios where multiple external perimeters are contained in the same island. * Documentation updates * Removed unnecessary code * Removed bespoke to_points function and replaced with ExtrusionLine member already present. Removed squaredDistance and replaced with Eigen library call. * Refactor code to move distancing functions to the multipoint class. Renamed for more clarity on their purpose.
This commit is contained in:
committed by
GitHub
parent
7082e945b1
commit
9a260010fc
@@ -245,6 +245,15 @@ static inline Polygon to_polygon(const ExtrusionLine &line)
|
||||
return out;
|
||||
}
|
||||
|
||||
static Points to_points(const ExtrusionLine &extrusion_line)
|
||||
{
|
||||
Points points;
|
||||
points.reserve(extrusion_line.junctions.size());
|
||||
for (const ExtrusionJunction &junction : extrusion_line.junctions)
|
||||
points.emplace_back(junction.p);
|
||||
return points;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static BoundingBox get_extents(const ExtrusionLine &extrusion_line)
|
||||
{
|
||||
@@ -272,15 +281,6 @@ static BoundingBox get_extents(const std::vector<const ExtrusionLine *> &extrusi
|
||||
return bbox;
|
||||
}
|
||||
|
||||
static Points to_points(const ExtrusionLine &extrusion_line)
|
||||
{
|
||||
Points points;
|
||||
points.reserve(extrusion_line.junctions.size());
|
||||
for (const ExtrusionJunction &junction : extrusion_line.junctions)
|
||||
points.emplace_back(junction.p);
|
||||
return points;
|
||||
}
|
||||
|
||||
static std::vector<Points> to_points(const std::vector<const ExtrusionLine *> &extrusion_lines)
|
||||
{
|
||||
std::vector<Points> points;
|
||||
|
||||
Reference in New Issue
Block a user