Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'xs/src/libslic3r/ExtrusionEntity.hpp')
-rw-r--r--xs/src/libslic3r/ExtrusionEntity.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/xs/src/libslic3r/ExtrusionEntity.hpp b/xs/src/libslic3r/ExtrusionEntity.hpp
index bcb50155a..0cbabd1b8 100644
--- a/xs/src/libslic3r/ExtrusionEntity.hpp
+++ b/xs/src/libslic3r/ExtrusionEntity.hpp
@@ -52,6 +52,7 @@ class ExtrusionEntity
virtual Point last_point() const = 0;
virtual Polygons grow() const = 0;
virtual double min_mm3_per_mm() const = 0;
+ virtual Polyline as_polyline() const = 0;
};
typedef std::vector<ExtrusionEntity*> ExtrusionEntitiesPtr;
@@ -83,6 +84,9 @@ class ExtrusionPath : public ExtrusionEntity
double min_mm3_per_mm() const {
return this->mm3_per_mm;
};
+ Polyline as_polyline() const {
+ return this->polyline;
+ };
private:
void _inflate_collection(const Polylines &polylines, ExtrusionEntityCollection* collection) const;
@@ -97,6 +101,8 @@ class ExtrusionLoop : public ExtrusionEntity
ExtrusionLoopRole role;
ExtrusionLoop(ExtrusionLoopRole role = elrDefault) : role(role) {};
+ ExtrusionLoop(const ExtrusionPaths &paths, ExtrusionLoopRole role = elrDefault)
+ : paths(paths), role(role) {};
bool is_loop() const {
return true;
};
@@ -120,6 +126,9 @@ class ExtrusionLoop : public ExtrusionEntity
bool is_solid_infill() const;
Polygons grow() const;
double min_mm3_per_mm() const;
+ Polyline as_polyline() const {
+ return this->polygon()->split_at_first_point();
+ };
};
}