From 2c0ceb673130f4392a8bd7557dbbc7075fa073c0 Mon Sep 17 00:00:00 2001 From: Zachary Pavlov Date: Tue, 10 Jul 2007 20:17:59 +0000 Subject: [PATCH] proper bounds --- panda/src/collide/collisionFloorMesh.cxx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/panda/src/collide/collisionFloorMesh.cxx b/panda/src/collide/collisionFloorMesh.cxx index 2b2e6c46a7..cbfceb5519 100755 --- a/panda/src/collide/collisionFloorMesh.cxx +++ b/panda/src/collide/collisionFloorMesh.cxx @@ -102,7 +102,29 @@ output(ostream &out) const { //////////////////////////////////////////////////////////////////// PT(BoundingVolume) CollisionFloorMesh:: compute_internal_bounds() const { - return new BoundingBox(LPoint3f(0,0,0), LPoint3f(1,1,1)); + if (_vertices.empty()) { + return new BoundingBox; + } + + + pvector::const_iterator pi = _vertices.begin(); + LPoint3f p = (*pi); + + LPoint3f x = p; + LPoint3f n = p; + + for (++pi; pi != _vertices.end(); ++pi) { + p = *pi; + + n.set(min(n[0], p[0]), + min(n[1], p[1]), + min(n[2], p[2])); + x.set(max(x[0], p[0]), + max(x[1], p[1]), + max(x[2], p[2])); + } + + return new BoundingBox(n, x); } ////////////////////////////////////////////////////////////////////