ingo@2311: package de.intevation.flys.artifacts.model; ingo@2311: ingo@2311: import gnu.trove.TDoubleArrayList; ingo@2311: ingo@2311: ingo@2311: /** ingo@2311: * A subclass of WQTimerange that stores besides W, Q and Timerange values ingo@2311: * another double value. ingo@2311: * ingo@2311: * @author Ingo Weinzierl ingo@2311: */ ingo@2311: public class HistoricalWQTimerange extends WQTimerange { ingo@2311: ingo@2311: protected TDoubleArrayList diffs; ingo@2311: ingo@2311: ingo@2311: public HistoricalWQTimerange(String name) { ingo@2311: super(name); ingo@2311: ingo@2311: diffs = new TDoubleArrayList(); ingo@2311: } ingo@2311: ingo@2311: ingo@2311: public void add(double w, double q, double diff, Timerange t) { ingo@2311: ws.add(w); ingo@2311: qs.add(q); ingo@2311: ts.add(t); ingo@2311: diffs.add(diff); ingo@2311: } ingo@2311: ingo@2311: ingo@2311: /** ingo@2311: * This method requires a 3dim double array for res! ingo@2311: */ ingo@2311: @Override ingo@2311: public double[] get(int idx, double[] res) { ingo@2311: res[0] = ws.getQuick(idx); ingo@2311: res[1] = qs.getQuick(idx); ingo@2311: res[2] = diffs.getQuick(idx); ingo@2311: ingo@2311: return res; ingo@2311: } ingo@2311: ingo@2311: ingo@2311: public double[] getDiffs() { ingo@2311: return diffs.toNativeArray(); ingo@2311: } ingo@2311: } ingo@2311: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :