Mercurial > dive4elements > river
view 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 source
package de.intevation.flys.artifacts.model; import gnu.trove.TDoubleArrayList; public class WW extends W { protected TDoubleArrayList ws2; public WW() { } public WW(String name) { super(name); } public WW(int capacity) { this(capacity, ""); } public WW(int capacity, String name) { super(capacity, name); ws2 = new TDoubleArrayList(capacity); } public WW(String name, double [] ws, double [] ws2) { this.name = name; this.ws = new TDoubleArrayList(ws); 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); } public double getW2(int idx) { return ws2.getQuick(idx); } public double [] getWs2() { return ws2.toNativeArray(); } @Override public double [] get(int idx) { return get(idx, new double[2]); } @Override public double [] get(int idx, double [] dst) { dst[0] = ws .getQuick(idx); dst[1] = ws2.getQuick(idx); return dst; } @Override 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 :