From 4a836ba4bdfb7382d680d3623d7546b31db1dd2b Mon Sep 17 00:00:00 2001 From: Thomas Fischer <thomas.fischer@ufz.de> Date: Tue, 16 Jun 2015 12:43:01 +0200 Subject: [PATCH] [GL] OctTree: Fix issues with eps exactly zero. --- GeoLib/OctTree-impl.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/GeoLib/OctTree-impl.h b/GeoLib/OctTree-impl.h index 695e86c4611..11343a4f680 100644 --- a/GeoLib/OctTree-impl.h +++ b/GeoLib/OctTree-impl.h @@ -40,6 +40,15 @@ OctTree<POINT, MAX_POINTS> OctTree<POINT, MAX_POINTS>::createOctTree(T ll, T ur, ur[1] += (dz-dy)/2.0; } } + if (eps == 0.0) + eps = std::numeric_limits<double>::epsilon(); + for (std::size_t k(0); k<3; ++k) { + if (ur[k] - ll[k] > 0.0) { + ur[k] += (ur[k] - ll[k]) * 1e-6; + } else { + ur[k] += eps; + } + } return OctTree<POINT, MAX_POINTS>(ll, ur, eps); } -- GitLab