diff options
| author | Keith Packard <keithp@keithp.com> | 2013-01-02 11:22:11 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2013-01-02 11:22:11 -0800 | 
| commit | 93d640de65a1ecedfef89c96521c21632f96f372 (patch) | |
| tree | 053f993e7c3099cac31d5bb2ed1e69133204101f /micropeak/MicroData.java | |
| parent | 0933f2ed5791cfdc28242cd60be3942556f4ed20 (diff) | |
micropoint: Add MicroDataPoint
This holds height/speed/accel data all in one place
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'micropeak/MicroData.java')
| -rw-r--r-- | micropeak/MicroData.java | 77 | 
1 files changed, 11 insertions, 66 deletions
| diff --git a/micropeak/MicroData.java b/micropeak/MicroData.java index 8ccd5fd8..2afd3cd7 100644 --- a/micropeak/MicroData.java +++ b/micropeak/MicroData.java @@ -22,7 +22,7 @@ import java.io.*;  import java.util.*;  import org.altusmetrum.AltosLib.*; -abstract class MicroIterator implements Iterator<Double> { +class MicroIterator implements Iterator<MicroDataPoint> {  	int		i;  	MicroData	data; @@ -30,6 +30,10 @@ abstract class MicroIterator implements Iterator<Double> {  		return i < data.pressures.length;  	} +	public MicroDataPoint next() { +		return new MicroDataPoint(data, i++); +	} +  	public MicroIterator (MicroData data) {  		this.data = data;  		i = 0; @@ -39,66 +43,15 @@ abstract class MicroIterator implements Iterator<Double> {  	}  } -class MicroHeightIterator extends MicroIterator { -	public Double next() { -		return data.height(i++); -	} - -	public MicroHeightIterator(MicroData data) { -		super(data); -	} -} - -class MicroHeightIterable implements Iterable<Double> { -	MicroData	data; - -	public Iterator<Double> iterator() { -		return new MicroHeightIterator(data); -	} - -	public MicroHeightIterable(MicroData data) { -		this.data = data; -	} -} - -class MicroSpeedIterator extends MicroIterator { -	public Double next() { -		return data.speed(i++); -	} -	public MicroSpeedIterator(MicroData data) { -		super(data); -	} -} - -class MicroSpeedIterable implements Iterable<Double> { -	MicroData	data; - -	public Iterator<Double> iterator() { -		return new MicroSpeedIterator(data); -	} - -	public MicroSpeedIterable(MicroData data) { -		this.data = data; -	} -} +class MicroIterable implements Iterable<MicroDataPoint> { -class MicroAccelIterator extends MicroIterator { -	public Double next() { -		return data.acceleration(i++); -	} -	public MicroAccelIterator(MicroData data) { -		super(data); -	} -} - -class MicroAccelIterable implements Iterable<Double> {  	MicroData	data; -	public Iterator<Double> iterator() { -		return new MicroAccelIterator(data); +	public Iterator<MicroDataPoint> iterator() { +		return new MicroIterator(data);  	} -	public MicroAccelIterable(MicroData data) { +	public MicroIterable(MicroData data) {  		this.data = data;  	}  } @@ -225,16 +178,8 @@ public class MicroData {  		return AltosConvert.pressure_to_altitude(pressures[i]);  	} -	public Iterable<Double> heights() { -		return new MicroHeightIterable(this); -	} - -	public Iterable<Double> speeds() { -		return new MicroSpeedIterable(this); -	} - -	public Iterable<Double> accels() { -		return new MicroAccelIterable(this); +	public Iterable<MicroDataPoint> points() { +		return new MicroIterable(this);  	}  	int fact(int n) { | 
