Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQDay.java @ 2089:0da8874bd378
Added initial state to map artifact to be able to advance and step back.
The map artifact overrides describe() to have the complete UI information in the
describe response document.
flys-artifacts/trunk@3613 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 06 Jan 2012 12:02:10 +0000 |
parents | e9475d2ef343 |
children | 5ff481ab24a1 |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import gnu.trove.TIntArrayList; /** * This class represents a pool of data triples that consists of 'W', 'Q' and * 'Day' data. * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class WQDay extends WQ { protected TIntArrayList days; public WQDay() { super(""); days = new TIntArrayList(); } public WQDay(int capacity) { days = new TIntArrayList(capacity); } public WQDay(int [] days, double [] ws, double [] qs) { super(qs, ws, ""); this.days = new TIntArrayList(days); } public void add(int day, double w, double q) { super.add(w, q); days.add(day); } public boolean isIncreasing() { int lo = getDay(0); int hi = getDay(size()-1); return lo < hi; } public int getDay(int idx) { return days.getQuick(idx); } @Override public void removeNaNs() { int dest = 0; int N = w.size(); for (int i = 0; i < N; ++i) { double wi = w.getQuick(i); double qi = q.getQuick(i); if (Double.isNaN(wi) || Double.isNaN(qi)) { continue; } days.setQuick(dest, days.getQuick(i)); w.setQuick(dest, wi); q.setQuick(dest, qi); ++dest; } if (dest < N) { days.remove(dest, N-dest); w .remove(dest, N-dest); q .remove(dest, N-dest); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :