X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=micropeak%2FMicroDataPoint.java;h=420792911ac7eab2e21cba765841f8a306b6528a;hp=c58708e6aa73676332a44a9565811811d96dd247;hb=30e6e087b639c6d7ec75f21ba8c6fcf6ad50fffe;hpb=2c423d9287c6b9ea7233f5e3430682cb1c865da1 diff --git a/micropeak/MicroDataPoint.java b/micropeak/MicroDataPoint.java index c58708e6..42079291 100644 --- a/micropeak/MicroDataPoint.java +++ b/micropeak/MicroDataPoint.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,19 +18,58 @@ package org.altusmetrum.micropeak; -public class MicroDataPoint { - public double time; - public double pressure; - public double height; - public double speed; - public double accel; +import org.altusmetrum.altosuilib_11.*; - public MicroDataPoint (double pressure, double height, double speed, double accel, double time) { +public class MicroDataPoint implements AltosUIDataPoint { + public double time; + public double pressure; + public double height; + public double speed; + public double accel; + public MicroStats stats; + + public static final int data_height = 0; + public static final int data_speed = 1; + public static final int data_accel = 2; + public static final int data_state = 3; + + public double x() { + return time; + } + + public double y(int index) { + switch (index) { + case data_height: + return height; + case data_speed: + return speed; + case data_accel: + return accel; + default: + return 0; + } + } + + public int id(int index) { + if (index == data_state) { + return stats.state(time); + } + return 0; + } + + public String id_name(int index) { + if (index == data_state) + return stats.state_name(time); + return ""; + } + + public MicroDataPoint (double pressure, double height, double speed, double accel, double time, MicroStats stats) { this.pressure = pressure; this.height = height; this.speed = speed; this.accel = accel; this.time = time; + this.stats = stats; } public MicroDataPoint(MicroData data, int i) { @@ -37,6 +77,7 @@ public class MicroDataPoint { data.height(i), data.speed(i), data.acceleration(i), - data.time(i)); + data.time(i), + data.stats); } } \ No newline at end of file