mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-25 15:44:12 -06:00
The BoundingBox::defined flag was not set in constructor, if initialized from min/max corners.
This commit is contained in:
parent
6217622865
commit
a10e9c6573
1 changed files with 7 additions and 4 deletions
|
@ -21,7 +21,8 @@ class BoundingBoxBase
|
||||||
bool defined;
|
bool defined;
|
||||||
|
|
||||||
BoundingBoxBase() : defined(false) {};
|
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<PointClass> &points);
|
BoundingBoxBase(const std::vector<PointClass> &points);
|
||||||
void merge(const PointClass &point);
|
void merge(const PointClass &point);
|
||||||
void merge(const std::vector<PointClass> &points);
|
void merge(const std::vector<PointClass> &points);
|
||||||
|
@ -41,7 +42,9 @@ class BoundingBox3Base : public BoundingBoxBase<PointClass>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BoundingBox3Base() : BoundingBoxBase<PointClass>() {};
|
BoundingBox3Base() : BoundingBoxBase<PointClass>() {};
|
||||||
BoundingBox3Base(const PointClass &pmin, const PointClass &pmax) : BoundingBoxBase<PointClass>(pmin, pmax) {}
|
BoundingBox3Base(const PointClass &pmin, const PointClass &pmax) :
|
||||||
|
BoundingBoxBase<PointClass>(pmin, pmax)
|
||||||
|
{ if (pmin.z >= pmax.z) defined = false; }
|
||||||
BoundingBox3Base(const std::vector<PointClass> &points);
|
BoundingBox3Base(const std::vector<PointClass> &points);
|
||||||
void merge(const PointClass &point);
|
void merge(const PointClass &point);
|
||||||
void merge(const std::vector<PointClass> &points);
|
void merge(const std::vector<PointClass> &points);
|
||||||
|
@ -102,13 +105,13 @@ inline bool operator!=(const BoundingBoxBase<VT> &bb1, const BoundingBoxBase<VT>
|
||||||
template<typename VT>
|
template<typename VT>
|
||||||
inline bool empty(const BoundingBoxBase<VT> &bb)
|
inline bool empty(const BoundingBoxBase<VT> &bb)
|
||||||
{
|
{
|
||||||
return ! bb.defined || bb.min.x > bb.max.x || bb.min.y > bb.max.y;
|
return ! bb.defined || bb.min.x >= bb.max.x || bb.min.y >= bb.max.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename VT>
|
template<typename VT>
|
||||||
inline bool empty(const BoundingBox3Base<VT> &bb)
|
inline bool empty(const BoundingBox3Base<VT> &bb)
|
||||||
{
|
{
|
||||||
return ! bb.defined || bb.min.x > bb.max.x || bb.min.y > bb.max.y || bb.min.z > bb.max.z;
|
return ! bb.defined || bb.min.x >= bb.max.x || bb.min.y >= bb.max.y || bb.min.z >= bb.max.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Slic3r
|
} // namespace Slic3r
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue