36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
#ifndef slic3r_FillEnsuring_hpp_
|
|
#define slic3r_FillEnsuring_hpp_
|
|
|
|
#include "FillBase.hpp"
|
|
#include "FillRectilinear.hpp"
|
|
|
|
namespace Slic3r {
|
|
|
|
ThickPolylines make_fill_polylines(
|
|
const Fill *fill, const Surface *surface, const FillParams ¶ms, bool stop_vibrations, bool fill_gaps, bool connect_extrusions);
|
|
|
|
class FillEnsuring : public Fill
|
|
{
|
|
public:
|
|
Fill *clone() const override { return new FillEnsuring(*this); }
|
|
~FillEnsuring() override = default;
|
|
Polylines fill_surface(const Surface *surface, const FillParams ¶ms) override { return {}; };
|
|
ThickPolylines fill_surface_arachne(const Surface *surface, const FillParams ¶ms) override
|
|
{
|
|
return make_fill_polylines(this, surface, params, true, true, true);
|
|
};
|
|
|
|
protected:
|
|
void fill_surface_single_arachne(const Surface &surface, const FillParams ¶ms, ThickPolylines &thick_polylines_out);
|
|
|
|
bool no_sort() const override { return true; }
|
|
|
|
// PrintRegionConfig is used for computing overlap between boundary contour and inner Rectilinear infill.
|
|
const PrintRegionConfig *print_region_config = nullptr;
|
|
|
|
friend class Layer;
|
|
};
|
|
|
|
} // namespace Slic3r
|
|
|
|
#endif // slic3r_FillEnsuring_hpp_
|