From bdd02ac3a81025f0dcdeb765ac9b3471aecb5b16 Mon Sep 17 00:00:00 2001 From: whitequark Date: Thu, 18 Feb 2016 09:53:31 +0000 Subject: [PATCH] Fix usage of uninitialized BBox. --- src/dsc.h | 3 +-- src/solvespace.cpp | 2 +- src/util.cpp | 17 +++++++++-------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/dsc.h b/src/dsc.h index aaf176c..32c76c8 100644 --- a/src/dsc.h +++ b/src/dsc.h @@ -498,8 +498,7 @@ public: Vector minp; Vector maxp; - BBox(); - BBox(const Vector &p0, const Vector &p1); + static BBox From(const Vector &p0, const Vector &p1); Vector GetOrigin(); Vector GetExtents(); diff --git a/src/solvespace.cpp b/src/solvespace.cpp index 4161d53..9fe023a 100644 --- a/src/solvespace.cpp +++ b/src/solvespace.cpp @@ -819,7 +819,7 @@ void Sketch::Clear(void) { } BBox Sketch::CalculateEntityBBox(bool includingInvisible) { - BBox box; + BBox box = {}; bool first = true; for(int i = 0; i < entity.n; i++) { Entity *e = (Entity *)&entity.elem[i]; diff --git a/src/util.cpp b/src/util.cpp index 828d717..6280e08 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1015,15 +1015,16 @@ bool Point2d::Equals(Point2d v, double tol) const { return (this->Minus(v)).MagSquared() < tol*tol; } -BBox::BBox() { } -BBox::BBox(const Vector &p0, const Vector &p1) { - minp.x = min(p0.x, p1.x); - minp.y = min(p0.y, p1.y); - minp.z = min(p0.z, p1.z); +BBox BBox::From(const Vector &p0, const Vector &p1) { + BBox bbox; + bbox.minp.x = min(p0.x, p1.x); + bbox.minp.y = min(p0.y, p1.y); + bbox.minp.z = min(p0.z, p1.z); - maxp.x = max(p0.x, p1.x); - maxp.y = max(p0.y, p1.y); - maxp.z = max(p0.z, p1.z); + bbox.maxp.x = max(p0.x, p1.x); + bbox.maxp.y = max(p0.y, p1.y); + bbox.maxp.z = max(p0.z, p1.z); + return bbox; } Vector BBox::GetOrigin() { return minp.Plus(maxp.Minus(minp)).ScaledBy(0.5); }