diff options
author | bubnikv <bubnikv@gmail.com> | 2016-09-30 16:23:18 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2016-09-30 16:23:18 +0300 |
commit | 3a81e6bee420196698e3f1409a8a7318dd35965b (patch) | |
tree | 70574b85f26c77406691b1ed188049fd201911ee /xs/src/libslic3r/BoundingBox.cpp | |
parent | b5e24d3527db0bc9153365b0709787e145aeb982 (diff) |
Bugfix of bottom bridges. If close regions shall be closed by bridges,
these regions are grown to anchor the bridge lines to the bottom surface.
The grown regions may overlap. In that case the regions are now merged
before the bridging direction is calculated for the merged region.
Diffstat (limited to 'xs/src/libslic3r/BoundingBox.cpp')
-rw-r--r-- | xs/src/libslic3r/BoundingBox.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/xs/src/libslic3r/BoundingBox.cpp b/xs/src/libslic3r/BoundingBox.cpp index c16d92f4e..2b3f00df1 100644 --- a/xs/src/libslic3r/BoundingBox.cpp +++ b/xs/src/libslic3r/BoundingBox.cpp @@ -259,4 +259,21 @@ BoundingBox3Base<PointClass>::center() const } template Pointf3 BoundingBox3Base<Pointf3>::center() const; +template <class PointClass> bool +BoundingBoxBase<PointClass>::contains(const PointClass &point) const +{ + return point.x >= this->min.x && point.x <= this->max.x + && point.y >= this->min.y && point.y <= this->max.y; +} +template bool BoundingBoxBase<Point>::contains(const Point &point) const; +template bool BoundingBoxBase<Pointf>::contains(const Pointf &point) const; + +template <class PointClass> bool +BoundingBoxBase<PointClass>::overlap(const BoundingBoxBase<PointClass> &other) const +{ + return this->contains(other.min) || other.contains(this->min); +} +template bool BoundingBoxBase<Point>::overlap(const BoundingBoxBase<Point> &point) const; +template bool BoundingBoxBase<Pointf>::overlap(const BoundingBoxBase<Pointf> &point) const; + } |