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:
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user