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();

http://dive4elements.wald.intevation.org