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.
This commit is contained in:
bubnikv 2016-09-30 15:23:18 +02:00
parent b5e24d3527
commit 3a81e6bee4
12 changed files with 265 additions and 10 deletions

View file

@ -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;
}