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.
      *

http://dive4elements.wald.intevation.org