diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WW.java @ 2197:5781847433d8

"Bezugslinienverfahren": Implemented the on-the-flys shift to (0, 0). flys-artifacts/trunk@3813 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 27 Jan 2012 17:59:24 +0000
parents ec2574eb2d32
children 672a41efe222
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WW.java	Fri Jan 27 17:45:26 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WW.java	Fri Jan 27 17:59:24 2012 +0000
@@ -29,6 +29,12 @@
         this.ws2 = new TDoubleArrayList(ws2);
     }
 
+    public WW(String name, TDoubleArrayList ws, TDoubleArrayList ws2) {
+        this.name = name;
+        this.ws  = ws;
+        this.ws2 = ws2;
+    }
+
     public void add(double w1, double w2) {
         ws .add(w1);
         ws2.add(w2);
@@ -58,5 +64,23 @@
     public void removeNaNs() {
         removeNaNs(new TDoubleArrayList [] { ws, ws2 });
     }
+
+    public WW createNormalized() {
+
+        double minW1 = ws. min();
+        double minW2 = ws2.min(); 
+
+        int N = size();
+
+        TDoubleArrayList ws1c = new TDoubleArrayList(N);
+        TDoubleArrayList ws2c = new TDoubleArrayList(N);
+
+        for (int i = 0; i < N; ++i) {
+            ws1c.add(ws. getQuick(i) - minW1);
+            ws2c.add(ws2.getQuick(i) - minW2);
+        }
+
+        return new WW(getName(), ws1c, ws2c);
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org