From 12961d52126675c0bcb07f67ba706eb0052584da Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 4 Nov 2016 16:49:08 +0100 Subject: [PATCH] Fix of https://github.com/prusa3d/Slic3r/issues/13 The BoundingBox::defined flag was not set in constructor, if initialized from min/max corners. Conflicts: xs/src/libslic3r/BoundingBox.hpp --- xs/src/libslic3r/BoundingBox.hpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/xs/src/libslic3r/BoundingBox.hpp b/xs/src/libslic3r/BoundingBox.hpp index 71d0fa0b6..e77e7bdc9 100644 --- a/xs/src/libslic3r/BoundingBox.hpp +++ b/xs/src/libslic3r/BoundingBox.hpp @@ -21,7 +21,8 @@ class BoundingBoxBase bool defined; BoundingBoxBase() : defined(false) {}; - BoundingBoxBase(const PointClass &pmin, const PointClass &pmax) : min(pmin), max(pmax) {} + BoundingBoxBase(const PointClass &pmin, const PointClass &pmax) : + min(pmin), max(pmax), defined(pmin.x < pmax.x && pmin.y < pmax.y) {} BoundingBoxBase(const std::vector &points); void merge(const PointClass &point); void merge(const std::vector &points); @@ -39,7 +40,9 @@ class BoundingBox3Base : public BoundingBoxBase { public: BoundingBox3Base() : BoundingBoxBase() {}; - BoundingBox3Base(const PointClass &pmin, const PointClass &pmax) : BoundingBoxBase(pmin, pmax) {} + BoundingBox3Base(const PointClass &pmin, const PointClass &pmax) : + BoundingBoxBase(pmin, pmax) + { if (pmin.z >= pmax.z) defined = false; } BoundingBox3Base(const std::vector &points); void merge(const PointClass &point); void merge(const std::vector &points); @@ -100,6 +103,4 @@ inline bool operator!=(const BoundingBoxBase &bb1, const BoundingBoxBase return !(bb1 == bb2); } -} - #endif