comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/WWQQ.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WWQQ.java@bd047b71ab37
children 4897a58c8746
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.artifacts.model;
2
3 import org.dive4elements.river.artifacts.math.Identity;
4
5 import org.dive4elements.river.utils.DoubleUtil;
6
7 import gnu.trove.TDoubleArrayList;
8
9 public class WWQQ
10 extends WW
11 {
12 public static class ApplyFunctionIterator
13 extends WW.ApplyFunctionIterator
14 {
15 public ApplyFunctionIterator(WWQQ ww) {
16 super(ww, Identity.IDENTITY, Identity.IDENTITY);
17 }
18
19 @Override
20 public void get(int idx, double [] wwqqPair) {
21 WWQQ wwqq = (WWQQ)ww;
22 wwqqPair[0] = function1.value(wwqq.getW(idx));
23 wwqqPair[1] = function2.value(wwqq.getW2(idx));
24 wwqqPair[2] = wwqq.getQ1(idx);
25 wwqqPair[3] = wwqq.getQ2(idx);
26 }
27 } // class ApplyFunctionIterator
28
29 protected TDoubleArrayList qs1;
30 protected TDoubleArrayList qs2;
31
32 public WWQQ() {
33 this("");
34 }
35
36 public WWQQ(String name) {
37 super(name);
38 }
39
40 public WWQQ(int capacity) {
41 this(capacity, "");
42 }
43
44 public WWQQ(int capacity, String name) {
45 super(capacity, name);
46 }
47
48 public WWQQ(
49 String name,
50 double startKm,
51 Double startDatum,
52 double [] ws1,
53 double [] qs1,
54 double endKm,
55 Double endDatum,
56 double [] ws2,
57 double [] qs2
58 ) {
59 super(name, startKm, startDatum, ws1, endKm, endDatum, ws2);
60 this.qs1 = new TDoubleArrayList(qs1);
61 this.qs2 = new TDoubleArrayList(qs2);
62 }
63
64 public double getQ1(int idx) {
65 return qs1.getQuick(idx);
66 }
67
68 public double getQ2(int idx) {
69 return qs2.getQuick(idx);
70 }
71
72 public double [] getQs1() {
73 return qs1.toNativeArray();
74 }
75
76 public double [] getQs2() {
77 return qs2.toNativeArray();
78 }
79
80 @Override
81 public double [] get(int idx) {
82 return get(idx, new double[4]);
83 }
84
85 @Override
86 public double [] get(int idx, double [] dst) {
87 dst[0] = ws .getQuick(idx);
88 dst[1] = ws2.getQuick(idx);
89 dst[2] = qs1.getQuick(idx);
90 dst[3] = qs2.getQuick(idx);
91 return dst;
92 }
93
94 @Override
95 public void removeNaNs() {
96 DoubleUtil.removeNaNs(new TDoubleArrayList [] { ws, ws2, qs1, qs2 });
97 }
98 }
99 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org