Fix arachne wall ordering (#7959)

* Revert "SPE-1950: Optimization of computation complexity of perimeter ordering for Arachne generator."

This reverts commit 47ec9b9b06.

* Revert "SPE-1963: Improve ordering of perimeters with Arachne perimeter generator"

This reverts commit babb84c70a.
This commit is contained in:
Noisyfox
2025-01-22 09:58:34 +08:00
committed by GitHub
parent a3de7cf0bd
commit 2253ab304a
8 changed files with 756 additions and 901 deletions
+3 -20
View File
@@ -264,10 +264,9 @@ bool ExtrusionLine::is_contour() const
return poly.is_clockwise();
}
double ExtrusionLine::area() const {
if (!this->is_closed)
return 0.;
double ExtrusionLine::area() const
{
assert(this->is_closed);
double a = 0.;
if (this->junctions.size() >= 3) {
Vec2d p1 = this->junctions.back().p.cast<double>();
@@ -277,25 +276,9 @@ double ExtrusionLine::area() const {
p1 = p2;
}
}
return 0.5 * a;
}
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;
}
BoundingBox get_extents(const ExtrusionLine &extrusion_line) {
BoundingBox bbox;
for (const ExtrusionJunction &junction : extrusion_line.junctions)
bbox.merge(junction.p);
return bbox;
}
} // namespace Slic3r::Arachne
namespace Slic3r {