Fixed a crash when slicing leads to no print.
Fixed a bug in TriangleMesh::bounding_box().
This commit is contained in:
parent
b08d6f1969
commit
98408bbed0
@ -1,5 +1,6 @@
|
||||
#include "BoundingBox.hpp"
|
||||
#include <algorithm>
|
||||
#include <assert.h>
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
@ -125,6 +126,7 @@ template void BoundingBoxBase<Pointf>::merge(const Pointfs &points);
|
||||
template <class PointClass> void
|
||||
BoundingBoxBase<PointClass>::merge(const BoundingBoxBase<PointClass> &bb)
|
||||
{
|
||||
assert(bb.defined || bb.min.x >= bb.max.x || bb.min.y >= bb.max.y);
|
||||
if (bb.defined) {
|
||||
if (this->defined) {
|
||||
this->min.x = std::min(bb.min.x, this->min.x);
|
||||
@ -162,6 +164,7 @@ template void BoundingBox3Base<Pointf3>::merge(const Pointf3s &points);
|
||||
template <class PointClass> void
|
||||
BoundingBox3Base<PointClass>::merge(const BoundingBox3Base<PointClass> &bb)
|
||||
{
|
||||
assert(bb.defined || bb.min.x >= bb.max.x || bb.min.y >= bb.max.y || bb.min.z >= bb.max.z);
|
||||
if (bb.defined) {
|
||||
if (this->defined) {
|
||||
this->min.z = std::min(bb.min.z, this->min.z);
|
||||
|
@ -710,7 +710,6 @@ bool GCode::_do_export(Print &print, FILE *file)
|
||||
// Just wait for a bit to let the user check, that the priming succeeded.
|
||||
fprintf(file, "M117 Verify extruder priming\nM0 S10\nM117 Printing\n");
|
||||
}
|
||||
write(file, this->unretract());
|
||||
} else
|
||||
write(file, WipeTowerIntegration::prime_single_color_print(print, initial_extruder_id, *this));
|
||||
}
|
||||
|
@ -1253,7 +1253,8 @@ void PrintObject::_slice()
|
||||
goto end;
|
||||
delete layer;
|
||||
this->layers.pop_back();
|
||||
this->layers.back()->upper_layer = nullptr;
|
||||
if (! this->layers.empty())
|
||||
this->layers.back()->upper_layer = nullptr;
|
||||
}
|
||||
end:
|
||||
;
|
||||
|
@ -574,6 +574,7 @@ BoundingBoxf3
|
||||
TriangleMesh::bounding_box() const
|
||||
{
|
||||
BoundingBoxf3 bb;
|
||||
bb.defined = true;
|
||||
bb.min.x = this->stl.stats.min.x;
|
||||
bb.min.y = this->stl.stats.min.y;
|
||||
bb.min.z = this->stl.stats.min.z;
|
||||
|
Loading…
Reference in New Issue
Block a user