X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fdata%2FAltitudeRange.java;fp=tim%2Fprune%2Fdata%2FAltitudeRange.java;h=5b606f4574eac372d9fdd6850ff0a3d248307513;hb=312fec956e43f5d0a38617da5d0add9c62563e2c;hp=0000000000000000000000000000000000000000;hpb=db1c1602b89209f4c92e8bd12ad38cd243fb27c7;p=GpsPrune.git diff --git a/tim/prune/data/AltitudeRange.java b/tim/prune/data/AltitudeRange.java new file mode 100644 index 0000000..5b606f4 --- /dev/null +++ b/tim/prune/data/AltitudeRange.java @@ -0,0 +1,65 @@ +package tim.prune.data; + +/** + * Represents a range of altitudes, taking units into account. + * Values assumed to be >= 0. + */ +public class AltitudeRange +{ + private IntegerRange _range = new IntegerRange(); + private int _format = Altitude.FORMAT_NONE; + + + /** + * Add a value to the range + * @param inValue value to add, only positive values considered + */ + public void addValue(Altitude inAltitude) + { + if (inAltitude != null) + { + int altValue = inAltitude.getValue(_format); + _range.addValue(altValue); + if (_format == Altitude.FORMAT_NONE) + { + _format = inAltitude.getFormat(); + } + } + } + + + /** + * @return true if positive data values were found + */ + public boolean hasData() + { + return (_range.hasData()); + } + + + /** + * @return minimum value, or -1 if none found + */ + public int getMinimum() + { + return _range.getMinimum(); + } + + + /** + * @return maximum value, or -1 if none found + */ + public int getMaximum() + { + return _range.getMaximum(); + } + + + /** + * @return the altitude format used + */ + public int getFormat() + { + return _format; + } +}