Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_opengl_3

This commit is contained in:
enricoturri1966 2022-04-20 08:07:21 +02:00
commit 8d8fa46f3f
6 changed files with 38 additions and 15 deletions

View File

@ -581,11 +581,6 @@ static void process_arrangeable(const ArrangePolygon &arrpoly,
const Vec2crd &offs = arrpoly.translation; const Vec2crd &offs = arrpoly.translation;
double rotation = arrpoly.rotation; double rotation = arrpoly.rotation;
// This fixes:
// https://github.com/prusa3d/PrusaSlicer/issues/2209
if (p.points.size() < 3)
return;
outp.emplace_back(std::move(p)); outp.emplace_back(std::move(p));
outp.back().rotation(rotation); outp.back().rotation(rotation);
outp.back().translation({offs.x(), offs.y()}); outp.back().translation({offs.x(), offs.y()});

View File

@ -503,13 +503,11 @@ static void write_thumbnail(Zipper &zipper, const ThumbnailData &data)
} }
} }
void SL1Archive::export_print(const std::string fname, void SL1Archive::export_print(Zipper &zipper,
const SLAPrint &print, const SLAPrint &print,
const ThumbnailsList &thumbnails, const ThumbnailsList &thumbnails,
const std::string &prjname) const std::string &prjname)
{ {
Zipper zipper{fname};
std::string project = std::string project =
prjname.empty() ? prjname.empty() ?
boost::filesystem::path(zipper.get_filename()).stem().string() : boost::filesystem::path(zipper.get_filename()).stem().string() :
@ -549,4 +547,14 @@ void SL1Archive::export_print(const std::string fname,
} }
} }
void SL1Archive::export_print(const std::string fname,
const SLAPrint &print,
const ThumbnailsList &thumbnails,
const std::string &prjname)
{
Zipper zipper{fname, Zipper::FAST_COMPRESSION};
export_print(zipper, print, thumbnails, prjname);
}
} // namespace Slic3r } // namespace Slic3r

View File

@ -22,6 +22,11 @@ protected:
SLAPrinterConfig & cfg() { return m_cfg; } SLAPrinterConfig & cfg() { return m_cfg; }
const SLAPrinterConfig & cfg() const { return m_cfg; } const SLAPrinterConfig & cfg() const { return m_cfg; }
void export_print(Zipper &,
const SLAPrint &print,
const ThumbnailsList &thumbnails,
const std::string &projectname);
public: public:
SL1Archive() = default; SL1Archive() = default;

View File

@ -224,4 +224,14 @@ sla::RasterEncoder SL1_SVGArchive::get_encoder() const
return nullptr; return nullptr;
} }
void SL1_SVGArchive::export_print(const std::string fname,
const SLAPrint &print,
const ThumbnailsList &thumbnails,
const std::string &projectname)
{
Zipper zipper{fname, Zipper::TIGHT_COMPRESSION};
SL1Archive::export_print(zipper, print, thumbnails, projectname);
}
} // namespace Slic3r } // namespace Slic3r

View File

@ -14,6 +14,11 @@ protected:
public: public:
void export_print(const std::string fname,
const SLAPrint &print,
const ThumbnailsList &thumbnails,
const std::string &projectname = "") override;
using SL1Archive::SL1Archive; using SL1Archive::SL1Archive;
}; };

View File

@ -818,7 +818,7 @@ private:
} }
// Providing a new mesh, therefore this volume will get a new unique ID assigned. // Providing a new mesh, therefore this volume will get a new unique ID assigned.
ModelVolume(ModelObject *object, const ModelVolume &other, TriangleMesh &&mesh) : ModelVolume(ModelObject *object, const ModelVolume &other, TriangleMesh &&mesh) :
name(other.name), source(other.source), m_mesh(new TriangleMesh(std::move(mesh))), config(other.config), m_type(other.m_type), object(object), m_transformation(other.m_transformation) name(other.name), source(other.source), config(other.config), object(object), m_mesh(new TriangleMesh(std::move(mesh))), m_type(other.m_type), m_transformation(other.m_transformation)
{ {
assert(this->id().valid()); assert(this->id().valid());
assert(this->config.id().valid()); assert(this->config.id().valid());
@ -833,7 +833,7 @@ private:
assert(this->config.id() == other.config.id()); assert(this->config.id() == other.config.id());
this->set_material_id(other.material_id()); this->set_material_id(other.material_id());
this->config.set_new_unique_id(); this->config.set_new_unique_id();
if (mesh.facets_count() > 1) if (m_mesh->facets_count() > 1)
calculate_convex_hull(); calculate_convex_hull();
assert(this->config.id().valid()); assert(this->config.id().valid());
assert(this->config.id() != other.config.id()); assert(this->config.id() != other.config.id());