]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/data/DoubleRange.java
Version 15, March 2013
[GpsPrune.git] / tim / prune / data / DoubleRange.java
index b7d4771b5ce28c8d6a54fdffd077224a77cf16c1..4e361224f420ed32b72473edc1e5adf87d37a3f0 100644 (file)
@@ -10,6 +10,30 @@ public class DoubleRange
        private double _min = 0.0, _max = 0.0;
 
 
+       /** Empty constructor, cleared to zeroes */
+       public DoubleRange() {}
+
+       /**
+        * Constructor giving two initial values
+        * @param inValue1 first value
+        * @param inValue2 second value
+        */
+       public DoubleRange(double inValue1, double inValue2)
+       {
+               addValue(inValue1);
+               addValue(inValue2);
+       }
+
+       /**
+        * Clear for a new calculation
+        */
+       public void clear()
+       {
+               _min = _max = 0.0;
+               _empty = true;
+       }
+
+
        /**
         * Add a value to the range
         * @param inValue value to add
@@ -47,4 +71,30 @@ public class DoubleRange
        {
                return _max;
        }
+
+       /**
+        * @return range, as maximum - minimum
+        */
+       public double getRange()
+       {
+               return _max - _min;
+       }
+
+       /**
+        * @return mid value, halfway between min and max
+        */
+       public double getMidValue()
+       {
+               return (_max + _min) / 2.0;
+       }
+
+       /**
+        * Copy this range into a new object, which can then be modified without changing this one
+        * @return deep copy of this object
+        */
+       public DoubleRange copy()
+       {
+               if (_empty) return new DoubleRange();
+               return new DoubleRange(_min, _max);
+       }
 }