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