diff options
Diffstat (limited to 'altoslib/AltosFlightSeries.java')
-rw-r--r-- | altoslib/AltosFlightSeries.java | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index 7bedf389..6f4f7bb1 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -18,7 +18,7 @@ import java.util.*; public class AltosFlightSeries extends AltosDataListener { - public ArrayList<AltosTimeSeries> series; + public ArrayList<AltosTimeSeries> series = new ArrayList<AltosTimeSeries>(); public int[] indices() { int[] indices = new int[series.size()]; @@ -206,8 +206,9 @@ public class AltosFlightSeries extends AltosDataListener { altitude_series.add(time(), altitude); } - private void compute_height(double ground_altitude) { - if (height_series == null) { + private void compute_height() { + double ground_altitude = cal_data.ground_altitude; + if (height_series == null && ground_altitude != AltosLib.MISSING) { height_series = add_series(height_name, AltosConvert.height); for (AltosTimeValue alt : altitude_series) height_series.add(alt.time, alt.value - ground_altitude); @@ -563,25 +564,18 @@ public class AltosFlightSeries extends AltosDataListener { public void set_companion(AltosCompanion companion) { } - public void fill_in() { + public void finish() { compute_speed(); compute_accel(); - if (cal_data.ground_altitude != AltosLib.MISSING) - compute_height(cal_data.ground_altitude); - } - - public void init() { - time = AltosLib.MISSING; - series = new ArrayList<AltosTimeSeries>(); + compute_height(); } public AltosTimeSeries[] series() { - fill_in(); + finish(); return series.toArray(new AltosTimeSeries[0]); } public AltosFlightSeries(AltosCalData cal_data) { super(cal_data); - init(); } } |