diff --git a/src/libslic3r/ExtrusionEntity.hpp b/src/libslic3r/ExtrusionEntity.hpp index 98f0ebae1..7ca93baa6 100644 --- a/src/libslic3r/ExtrusionEntity.hpp +++ b/src/libslic3r/ExtrusionEntity.hpp @@ -511,12 +511,12 @@ inline void extrusion_entities_append_loops(ExtrusionEntitiesPtr &dst, Polygons class ExtrusionPrinter : public ExtrusionVisitorConst { std::stringstream ss; public: - virtual void use(const ExtrusionPath &path); - virtual void use(const ExtrusionPath3D &path3D); - virtual void use(const ExtrusionMultiPath &multipath); - virtual void use(const ExtrusionMultiPath3D &multipath); - virtual void use(const ExtrusionLoop &loop); - virtual void use(const ExtrusionEntityCollection &collection); + virtual void use(const ExtrusionPath &path) override; + virtual void use(const ExtrusionPath3D &path3D) override; + virtual void use(const ExtrusionMultiPath &multipath) override; + virtual void use(const ExtrusionMultiPath3D &multipath) override; + virtual void use(const ExtrusionLoop &loop) override; + virtual void use(const ExtrusionEntityCollection &collection) override; std::string str() { return ss.str(); } std::string print(const ExtrusionEntity &entity) && { entity.visit(*this); diff --git a/src/libslic3r/SupportMaterial.cpp b/src/libslic3r/SupportMaterial.cpp index cef90f25b..386a0a3b0 100644 --- a/src/libslic3r/SupportMaterial.cpp +++ b/src/libslic3r/SupportMaterial.cpp @@ -2674,15 +2674,15 @@ static std::string dbg_index_to_color(int idx) } #endif /* SLIC3R_DEBUG */ -class GetFirstPath : public ExtrusionVisitor { +class GetFirstPath : public ExtrusionVisitorConst { public: const ExtrusionPath *extrusion_path_template = nullptr; - virtual void use(const ExtrusionPath &path) { extrusion_path_template = &path; } - virtual void use(const ExtrusionPath3D &path3D) { extrusion_path_template = &path3D; } - virtual void use(const ExtrusionMultiPath &multipath) { if (!multipath.paths.empty()) extrusion_path_template = &multipath.paths.front(); } - virtual void use(const ExtrusionMultiPath3D &multipath) { if (!multipath.paths.empty()) extrusion_path_template = &multipath.paths.front(); } - virtual void use(const ExtrusionLoop &loop) { if (!loop.paths.empty()) extrusion_path_template = &loop.paths.front(); } - virtual void use(const ExtrusionEntityCollection &collection) { + virtual void use(const ExtrusionPath &path) override { extrusion_path_template = &path; } + virtual void use(const ExtrusionPath3D &path3D) override { extrusion_path_template = &path3D; } + virtual void use(const ExtrusionMultiPath &multipath) override { if (!multipath.paths.empty()) extrusion_path_template = &multipath.paths.front(); } + virtual void use(const ExtrusionMultiPath3D &multipath) override { if (!multipath.paths.empty()) extrusion_path_template = &multipath.paths.front(); } + virtual void use(const ExtrusionLoop &loop) override { if (!loop.paths.empty()) extrusion_path_template = &loop.paths.front(); } + virtual void use(const ExtrusionEntityCollection &collection) override { auto it = collection.entities.begin(); while (extrusion_path_template == nullptr && it != collection.entities.end()) { (*it)->visit(*this);