mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-07-31 15:01:59 +08:00
Implement clone() for Fill classes
This commit is contained in:
parent
52fbe10f3d
commit
27d41f89b8
@ -57,6 +57,7 @@ src/libslic3r/IO.hpp
|
||||
src/libslic3r/Layer.cpp
|
||||
src/libslic3r/Layer.hpp
|
||||
src/libslic3r/LayerRegion.cpp
|
||||
src/libslic3r/LayerRegionFill.cpp
|
||||
src/libslic3r/libslic3r.h
|
||||
src/libslic3r/Line.cpp
|
||||
src/libslic3r/Line.hpp
|
||||
|
@ -62,7 +62,8 @@ public:
|
||||
static Fill* new_from_type(const InfillPattern type);
|
||||
static Fill* new_from_type(const std::string &type);
|
||||
static coord_t adjust_solid_spacing(const coord_t width, const coord_t distance);
|
||||
|
||||
virtual Fill* clone() const = 0;
|
||||
|
||||
// Implementations can override the following virtual methods:
|
||||
// Use bridge flow for the fill?
|
||||
virtual bool use_bridge_flow() const { return false; }
|
||||
@ -86,6 +87,7 @@ protected:
|
||||
dont_adjust(false),
|
||||
complete(false)
|
||||
{};
|
||||
virtual ~Fill();
|
||||
|
||||
// The expolygon may be modified by the method to avoid a copy.
|
||||
virtual void _fill_surface_single(
|
||||
|
@ -12,6 +12,7 @@ namespace Slic3r {
|
||||
class Fill3DHoneycomb : public Fill
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new Fill3DHoneycomb(*this); };
|
||||
virtual ~Fill3DHoneycomb() {}
|
||||
|
||||
// require bridge flow since most of this pattern hangs in air
|
||||
|
@ -11,6 +11,7 @@ public:
|
||||
virtual ~FillConcentric() {}
|
||||
|
||||
protected:
|
||||
virtual Fill* clone() const { return new FillConcentric(*this); };
|
||||
virtual void _fill_surface_single(
|
||||
unsigned int thickness_layers,
|
||||
const std::pair<float, Point> &direction,
|
||||
|
@ -15,6 +15,7 @@ public:
|
||||
virtual ~FillHoneycomb() {}
|
||||
|
||||
protected:
|
||||
virtual Fill* clone() const { return new FillHoneycomb(*this); };
|
||||
virtual void _fill_surface_single(
|
||||
unsigned int thickness_layers,
|
||||
const std::pair<float, Point> &direction,
|
||||
|
@ -33,6 +33,7 @@ protected:
|
||||
class FillArchimedeanChords : public FillPlanePath
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillArchimedeanChords(*this); };
|
||||
virtual ~FillArchimedeanChords() {}
|
||||
|
||||
protected:
|
||||
@ -43,6 +44,7 @@ protected:
|
||||
class FillHilbertCurve : public FillPlanePath
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillHilbertCurve(*this); };
|
||||
virtual ~FillHilbertCurve() {}
|
||||
|
||||
protected:
|
||||
@ -53,6 +55,7 @@ protected:
|
||||
class FillOctagramSpiral : public FillPlanePath
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillOctagramSpiral(*this); };
|
||||
virtual ~FillOctagramSpiral() {}
|
||||
|
||||
protected:
|
||||
|
@ -10,6 +10,7 @@ namespace Slic3r {
|
||||
class FillRectilinear : public Fill
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillRectilinear(*this); };
|
||||
virtual ~FillRectilinear() {}
|
||||
|
||||
protected:
|
||||
|
@ -12,6 +12,7 @@ class Surface;
|
||||
class FillRectilinear2 : public Fill
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillRectilinear2(*this); };
|
||||
virtual ~FillRectilinear2() {}
|
||||
virtual Polylines fill_surface(const Surface &surface);
|
||||
|
||||
@ -22,6 +23,7 @@ protected:
|
||||
class FillGrid2 : public FillRectilinear2
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillGrid2(*this); };
|
||||
virtual ~FillGrid2() {}
|
||||
virtual Polylines fill_surface(const Surface &surface);
|
||||
|
||||
@ -33,6 +35,7 @@ protected:
|
||||
class FillTriangles : public FillRectilinear2
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillTriangles(*this); };
|
||||
virtual ~FillTriangles() {}
|
||||
virtual Polylines fill_surface(const Surface &surface);
|
||||
|
||||
@ -44,6 +47,7 @@ protected:
|
||||
class FillStars : public FillRectilinear2
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillStars(*this); };
|
||||
virtual ~FillStars() {}
|
||||
virtual Polylines fill_surface(const Surface &surface);
|
||||
|
||||
@ -55,6 +59,7 @@ protected:
|
||||
class FillCubic : public FillRectilinear2
|
||||
{
|
||||
public:
|
||||
virtual Fill* clone() const { return new FillCubic(*this); };
|
||||
virtual ~FillCubic() {}
|
||||
virtual Polylines fill_surface(const Surface &surface);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user