fix(build): remove ImageMap-specific Point3/Polyline3 types incompatible with v2.4.2

ExtrusionEntityCollection.hpp had first_point3()/last_point3() overrides
that reference Point3 and methods not present in the v2.4.2 ExtrusionEntity
base class. Print.hpp used Polyline3() wrappers where plain Polyline is
the correct type. Both are leftovers from the ImageMap fork's 3D geometry
extension that did not merge cleanly.
This commit is contained in:
thysson2701
2026-07-21 14:48:30 +02:00
parent 1f5a76df74
commit 4622a0d882
2 changed files with 4 additions and 6 deletions

View File

@@ -158,9 +158,7 @@ public:
{ return this->no_sort ? *this : chained_path_from(this->entities, start_near, role); }
void reverse() override;
Point first_point() const override { return this->entities.front()->first_point(); }
const Point3& first_point3() const override { return this->entities.front()->first_point3(); }
Point last_point() const override { return this->entities.back()->last_point(); }
const Point3& last_point3() const override { return this->entities.back()->last_point3(); }
// Produce a list of 2D polygons covered by the extruded paths, offsetted by the extrusion width.
// Increase the offset by scaled_epsilon to achieve an overlap, so a union will produce no gaps.

View File

@@ -651,14 +651,14 @@ struct FakeWipeTower
std::vector<ExtrusionPaths> paths;
for (float h = 0.f; h < height; h += layer_height) {
ExtrusionPath path(ExtrusionRole::erWipeTower, 0.0, 0.0, layer_height);
path.polyline = Polyline3(Polyline{{minCorner, {maxCorner.x(), minCorner.y()}, maxCorner, {minCorner.x(), maxCorner.y()}, minCorner}});
path.polyline = Polyline{{minCorner, {maxCorner.x(), minCorner.y()}, maxCorner, {minCorner.x(), maxCorner.y()}, minCorner}};
paths.push_back({path});
if (h == 0.f) { // add brim
ExtrusionPath fakeBrim(ExtrusionRole::erBrim, 0.0, 0.0, layer_height);
Point wtbminCorner = {minCorner - Point{bd, bd}};
Point wtbmaxCorner = {maxCorner + Point{bd, bd}};
fakeBrim.polyline = Polyline3(Polyline{{wtbminCorner, {wtbmaxCorner.x(), wtbminCorner.y()}, wtbmaxCorner, {wtbminCorner.x(), wtbmaxCorner.y()}, wtbminCorner}});
fakeBrim.polyline = Polyline{{wtbminCorner, {wtbmaxCorner.x(), wtbminCorner.y()}, wtbmaxCorner, {wtbminCorner.x(), wtbmaxCorner.y()}, wtbminCorner}};
paths.back().push_back(fakeBrim);
}
}
@@ -695,13 +695,13 @@ struct FakeWipeTower
ExtrusionPath path(ExtrusionRole::erWipeTower, 0.0, 0.0, lh);
path.polyline = Polyline3(Polyline{{ minCorner, {maxCorner.x(), minCorner.y()}, maxCorner, {minCorner.x(), maxCorner.y()}, minCorner }});
path.polyline = Polyline{{ minCorner, {maxCorner.x(), minCorner.y()}, maxCorner, {minCorner.x(), maxCorner.y()}, minCorner }};
paths.push_back({ path });
// We added the border, now add several parallel lines so we can detect an object that is fully inside the tower.
// For now, simply use fixed spacing of 3mm.
for (coord_t y=minCorner.y()+scale_(3.); y<maxCorner.y(); y+=scale_(3.)) {
path.polyline = Polyline3(Polyline{{ {minCorner.x(), y}, {maxCorner.x(), y} }});
path.polyline = Polyline{{ {minCorner.x(), y}, {maxCorner.x(), y} }};
paths.back().emplace_back(path);
}