Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKms.java @ 726:cbaa3ca86f2f
Added base class WQ for WQKms.
flys-artifacts/trunk@2216 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 23 Jun 2011 12:19:12 +0000 |
parents | 035c0095b427 |
children | c09c9e05ecfa |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKms.java Thu Jun 23 08:58:30 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKms.java Thu Jun 23 12:19:12 2011 +0000 @@ -11,17 +11,11 @@ * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ -public class WQKms extends NamedObject { - +public class WQKms +extends WQ +{ private static Logger logger = Logger.getLogger(WQKms.class); - - /** The array that contains the 'W' values.*/ - protected TDoubleArrayList w; - - /** The array that contains the 'Q' values.*/ - protected TDoubleArrayList q; - /** The array that contains the 'KMs' values.*/ protected TDoubleArrayList kms; @@ -33,9 +27,6 @@ public WQKms(String name) { super(name); - - this.w = new TDoubleArrayList(); - this.q = new TDoubleArrayList(); this.kms = new TDoubleArrayList(); } @@ -47,56 +38,23 @@ public WQKms(int capacity, String name) { super(name); - - this.w = new TDoubleArrayList(capacity); - this.q = new TDoubleArrayList(capacity); this.kms = new TDoubleArrayList(capacity); } - public static void removeNaNs(TDoubleArrayList [] arrays) { - - int dest = 0; - - int A = arrays.length; - int N = arrays[0].size(); - - OUTER: for (int i = 0; i < N; ++i) { - for (int j = 0; j < A; ++j) { - TDoubleArrayList a = arrays[j]; - double v = a.getQuick(i); - if (Double.isNaN(v)) { - continue OUTER; - } - a.setQuick(dest, v); - } - ++dest; - } - - if (dest < N) { - for (int i = 0; i < A; ++i) { - arrays[i].remove(dest, N-dest); - } - } - } - - public void removeNaNs() { - removeNaNs(new TDoubleArrayList [] { w, q, kms }); - } - - - public WQKms(double[] kms, double[] qs, double[] ws) { + public WQKms(double [] kms, double [] qs, double [] ws) { this(kms, qs, ws, ""); } - public WQKms(double[] kms, double[] qs, double[] ws, String name) { - super(name); - - this.w = new TDoubleArrayList(ws); - this.q = new TDoubleArrayList(qs); + public WQKms(double [] kms, double [] qs, double [] ws, String name) { + super(qs, ws, name); this.kms = new TDoubleArrayList(kms); } + @Override + public void removeNaNs() { + removeNaNs(new TDoubleArrayList [] { w, q, kms }); + } /** * Adds a new row to this data pool. @@ -105,19 +63,9 @@ * @param q a Q. * @param kms a Kms. */ - public void add(double w, double q, double kms) { - this.w.add(w); - this.q.add(q); - this.kms.add(kms); - } - - /** - * Returns the number of triples stored in this data pool. - * - * @return the number of triples stored in this data pool. - */ - public int size() { - return kms.size(); + public void add(double w, double q, double km) { + super.add(w, q); + kms.add(km); } /** @@ -128,6 +76,7 @@ * * @return a triple of [W, Q, Kms] in dst. */ + @Override public double[] get(int idx, double [] dst) { dst[0] = w .getQuick(idx); dst[1] = q .getQuick(idx); @@ -135,34 +84,14 @@ return dst; } - public double getKms(int idx) { return kms.getQuick(idx); } - public double getW(int idx) { - return w.getQuick(idx); - } - - public double getQ(int idx) { - return q.getQuick(idx); - } - public double[] getKms() { return kms.toNativeArray(); } - - public double[] getWs() { - return w.toNativeArray(); - } - - - public double[] getQs() { - return q.toNativeArray(); - } - - /** * Returns a string that consist of the first and last kilometer. *