Mercurial > dive4elements > river
diff flys-backend/src/main/java/de/intevation/flys/model/Range.java @ 5777:e95427ed80e5
Merged
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Sun, 21 Apr 2013 10:46:59 +0200 |
parents | 80b9218ac007 |
children |
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/model/Range.java Sun Apr 21 10:46:06 2013 +0200 +++ b/flys-backend/src/main/java/de/intevation/flys/model/Range.java Sun Apr 21 10:46:59 2013 +0200 @@ -19,6 +19,7 @@ public class Range implements Serializable { + public static final double EPSILON = 1e-5; private Integer id; private BigDecimal a; private BigDecimal b; @@ -73,6 +74,22 @@ this.b = b; } + public boolean containsTolerant(double x) { + return containsTolerant(x, EPSILON); + } + + public boolean containsTolerant(double x, double tolerance) { + BigDecimal b = this.b != null ? this.b : a; + double av = a.doubleValue(); + double bv = b.doubleValue(); + if (av > bv) { + double t = av; + av = bv; + bv = t; + } + return x+tolerance >= av && x-tolerance <= bv; + } + public boolean contains(double x) { BigDecimal b = this.b != null ? this.b : a; double av = a.doubleValue();