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

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/libslic3r/ExtrusionEntity.cpp')
-rw-r--r--src/libslic3r/ExtrusionEntity.cpp43
1 files changed, 40 insertions, 3 deletions
diff --git a/src/libslic3r/ExtrusionEntity.cpp b/src/libslic3r/ExtrusionEntity.cpp
index c0d08c84b..390d107f2 100644
--- a/src/libslic3r/ExtrusionEntity.cpp
+++ b/src/libslic3r/ExtrusionEntity.cpp
@@ -14,12 +14,12 @@ namespace Slic3r {
void ExtrusionPath::intersect_expolygons(const ExPolygonCollection &collection, ExtrusionEntityCollection* retval) const
{
- this->_inflate_collection(intersection_pl(this->polyline, (Polygons)collection), retval);
+ this->_inflate_collection(intersection_pl((Polylines)polyline, to_polygons(collection.expolygons)), retval);
}
void ExtrusionPath::subtract_expolygons(const ExPolygonCollection &collection, ExtrusionEntityCollection* retval) const
{
- this->_inflate_collection(diff_pl(this->polyline, (Polygons)collection), retval);
+ this->_inflate_collection(diff_pl((Polylines)this->polyline, to_polygons(collection.expolygons)), retval);
}
void ExtrusionPath::clip_end(double distance)
@@ -306,13 +306,14 @@ double ExtrusionLoop::min_mm3_per_mm() const
std::string ExtrusionEntity::role_to_string(ExtrusionRole role)
{
switch (role) {
- case erNone : return L("None");
+ case erNone : return L("Unknown");
case erPerimeter : return L("Perimeter");
case erExternalPerimeter : return L("External perimeter");
case erOverhangPerimeter : return L("Overhang perimeter");
case erInternalInfill : return L("Internal infill");
case erSolidInfill : return L("Solid infill");
case erTopSolidInfill : return L("Top solid infill");
+ case erIroning : return L("Ironing");
case erBridgeInfill : return L("Bridge infill");
case erGapFill : return L("Gap fill");
case erSkirt : return L("Skirt");
@@ -326,4 +327,40 @@ std::string ExtrusionEntity::role_to_string(ExtrusionRole role)
return "";
}
+ExtrusionRole ExtrusionEntity::string_to_role(const std::string_view role)
+{
+ if (role == L("Perimeter"))
+ return erPerimeter;
+ else if (role == L("External perimeter"))
+ return erExternalPerimeter;
+ else if (role == L("Overhang perimeter"))
+ return erOverhangPerimeter;
+ else if (role == L("Internal infill"))
+ return erInternalInfill;
+ else if (role == L("Solid infill"))
+ return erSolidInfill;
+ else if (role == L("Top solid infill"))
+ return erTopSolidInfill;
+ else if (role == L("Ironing"))
+ return erIroning;
+ else if (role == L("Bridge infill"))
+ return erBridgeInfill;
+ else if (role == L("Gap fill"))
+ return erGapFill;
+ else if (role == L("Skirt"))
+ return erSkirt;
+ else if (role == L("Support material"))
+ return erSupportMaterial;
+ else if (role == L("Support material interface"))
+ return erSupportMaterialInterface;
+ else if (role == L("Wipe tower"))
+ return erWipeTower;
+ else if (role == L("Custom"))
+ return erCustom;
+ else if (role == L("Mixed"))
+ return erMixed;
+ else
+ return erNone;
+}
+
}