annotate artifacts/src/main/java/org/dive4elements/river/exports/StyledSeriesBuilder.java @ 6140:60b94dec104b

Add handling of bound artifacts. When an artifact is bound to an out its facets will only be shown in that Out. They will be removed in the blackboard pass and marked as incompatible by the AttributeWriter
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 31 May 2013 15:29:30 +0200
parents af13ceeba52a
children 128686fa5add
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4438
diff changeset
9 package org.dive4elements.river.exports;
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11 import org.apache.log4j.Logger;
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13 import org.jfree.data.xy.XYSeries;
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4438
diff changeset
15 import org.dive4elements.river.artifacts.model.WKms;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4438
diff changeset
16 import org.dive4elements.river.artifacts.model.WQKms;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4438
diff changeset
17 import org.dive4elements.river.artifacts.model.WWQQ;
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
18
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
19 /**
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
20 * Helper to create and modify StyledXYSeries.
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
21 */
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
22 public class StyledSeriesBuilder {
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
23
2601
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
24 /**
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
25 * JFreeChart and the area calculation will fail if we use Double.INFINITY
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
26 * or Double.MAX_VALUE (probably because these are really used in
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
27 * calculations). We define and use a more handy value instead.
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
28 */
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
29 final static double BIG_DOUBLE_VALUE = 1234567d;
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
30
2571
63f44b8b41a3 Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2156
diff changeset
31 private static final Logger logger = Logger.getLogger
63f44b8b41a3 Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2156
diff changeset
32 (StyledSeriesBuilder.class);
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
35 /**
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
36 * Trivial, hidden constructor.
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
37 */
1886
6f047a407f84 Removed dead ';' from empty bodies.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1812
diff changeset
38 private StyledSeriesBuilder() {
6f047a407f84 Removed dead ';' from empty bodies.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1812
diff changeset
39 }
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
40
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
41
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 /**
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 * Add points to series.
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44 *
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
45 * @param series Series to add points to.
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 * @param points Points to add to series, points[0] to 1st dim, points[1]
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
47 * to 2nd dim.
2686
6fda6ec9e426 Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2601
diff changeset
48 * @param skipNANs if true, skip NAN values in points parameter.
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
49 */
2686
6fda6ec9e426 Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2601
diff changeset
50 public static void addPoints(XYSeries series, double[][] points, boolean skipNANs) {
1983
ddb7b7da6199 Fix/survive certain minor malconditions.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1975
diff changeset
51 if (points == null || points.length <= 1) {
1975
b30e1710df1d Server-side of interactive cross-section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1942
diff changeset
52 return;
b30e1710df1d Server-side of interactive cross-section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1942
diff changeset
53 }
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
54 double [] xPoints = points[0];
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
55 double [] yPoints = points[1];
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
56 for (int i = 0; i < xPoints.length; i++) {
2686
6fda6ec9e426 Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2601
diff changeset
57 if (skipNANs &&
6fda6ec9e426 Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2601
diff changeset
58 (Double.isNaN(xPoints[i]) || Double.isNaN(yPoints[i]))) {
2571
63f44b8b41a3 Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2156
diff changeset
59 logger.warn ("Skipping NaN in StyledSeriesBuilder.");
63f44b8b41a3 Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2156
diff changeset
60 continue;
63f44b8b41a3 Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2156
diff changeset
61 }
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
62 series.add(xPoints[i], yPoints[i], false);
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
63 }
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64 }
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
65
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
66
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67 /**
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68 * Add points to series (km to 1st dim, w to 2nd dim).
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
69 *
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70 * @param series Series to add points to.
3269
b2ea89a665bc Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3176
diff changeset
71 * @param wkms WKms to add to series.
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72 */
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
73 public static void addPoints(XYSeries series, WKms wkms) {
2156
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
74 if (wkms == null) {
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
75 return;
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
76 }
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
77
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
78 int size = wkms.size();
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
79
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
80 for (int i = 0; i < size; i++) {
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
81 series.add(wkms.getKm(i), wkms.getW(i), false);
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
82 }
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
83 }
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
84
3395
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
85
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
86 /**
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
87 * Add points to dataset with an offset (shift all points by given amount).
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
88 * @param series series to add data to.
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
89 * @param wkms WKms of which the Ws will be shifted.
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
90 * @param off the offset.
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
91 */
3394
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
92 public static void addUpperBand(XYSeries series, WKms wkms, double off) {
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
93 if (wkms == null) {
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
94 return;
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
95 }
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
96
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
97 int size = wkms.size();
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
98
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
99 for (int i = 0; i < size; i++) {
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
100 series.add(wkms.getKm(i), wkms.getW(i)+off, false);
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
101 }
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
102 }
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
103
3395
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
104
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
105 /**
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
106 * Add points to dataset with an offset (shift all points 'down' by given
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
107 * amount).
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
108 * @param series series to add data to.
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
109 * @param wkms WKms of which the Ws will be shifted.
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
110 * @param off the offset.
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
111 */
3394
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
112 public static void addLowerBand(XYSeries series, WKms wkms, double off) {
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
113 addUpperBand(series, wkms, -off);
f091f2f55f88 Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3284
diff changeset
114 }
1812
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
115
3395
2a8919e0ed28 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3394
diff changeset
116
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
117 /**
1942
be1270c10d9a Fix documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1886
diff changeset
118 * Add points to series (km to 1st dim, q to 2nd dim).
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
119 *
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
120 * @param series Series to add points to.
3269
b2ea89a665bc Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3176
diff changeset
121 * @param wqkms WQKms to add to series.
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
122 */
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
123 public static void addPointsKmQ(XYSeries series, WQKms wqkms) {
2156
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
124 if (wqkms == null) {
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
125 return;
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
126 }
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
127
2156
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
128 int size = wqkms.size();
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
129
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
130 for (int i = 0; i < size; i++) {
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
131 series.add(wqkms.getKm(i), wqkms.getQ(i), false);
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
132 }
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
133 }
1812
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
134
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
135
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
136 /**
3176
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
137 * Add points to series (km to 1st dim, q to 2nd dim), adding points
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
138 * to achieve a step-like curve.
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
139 *
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
140 * @param series Series to add points to.
3269
b2ea89a665bc Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3176
diff changeset
141 * @param wqkms WQKms to add to series.
3176
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
142 */
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
143 public static void addStepPointsKmQ(XYSeries series, WQKms wqkms) {
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
144 if (wqkms == null) {
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
145 return;
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
146 }
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
147
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
148 int size = wqkms.size();
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
149
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
150 for (int i = 0; i < size; i++) {
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
151 if (i==0) {
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
152 series.add(wqkms.getKm(i), wqkms.getQ(i), false);
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
153 }
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
154 else {
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
155 //Add two points.
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
156 double halveX = (wqkms.getKm(i-1) + wqkms.getKm(i)) / 2d;
4438
919d4939ebe6 Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4365
diff changeset
157 series.add(halveX, wqkms.getQ(i-1), false);
919d4939ebe6 Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4365
diff changeset
158 series.add(halveX, wqkms.getQ(i), false);
3176
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
159 }
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
160 if (i == size-1) {
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
161 series.add(wqkms.getKm(i), wqkms.getQ(i), false);
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
162 }
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
163 }
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
164 }
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
165
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
166
cbaa49896eca Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3076
diff changeset
167 /**
1812
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
168 * Add points to series (q to 1st dim, w to 2nd dim).
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
169 *
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
170 * @param series Series to add points to.
3284
d9af29a4bb85 Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3269
diff changeset
171 * @param wqkms WQKms to add to series.
1812
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
172 */
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
173 public static void addPointsQW(XYSeries series, WQKms wqkms) {
2156
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
174 if (wqkms == null) {
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
175 return;
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
176 }
4e0878695c5f Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1983
diff changeset
177
1812
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
178 int size = wqkms.size();
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
179
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
180 for (int i = 0; i < size; i++) {
4438
919d4939ebe6 Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4365
diff changeset
181 series.add(wqkms.getQ(i), wqkms.getW(i), false);
1812
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
182 }
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
183 }
2601
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
184
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
185
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
186 /**
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
187 * Add points to series (q to 1st dim, w to 2nd dim).
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
188 *
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
189 * @param series Series to add points to.
4365
7e3dc021452a StyledSeriesBuilder: Corrected doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4364
diff changeset
190 * @param qs the Qs to add, assumed same length than ws.
7e3dc021452a StyledSeriesBuilder: Corrected doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4364
diff changeset
191 * @param ws the Ws to add, assumed same length than qs.
4364
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
192 */
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
193 public static void addPointsQW(XYSeries series, double[] qs, double ws[]) {
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
194 if (ws == null || qs == null) {
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
195 return;
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
196 }
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
197
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
198 int size = qs.length;
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
199
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
200 for (int i = 0; i < size; i++) {
4438
919d4939ebe6 Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4365
diff changeset
201 series.add(qs[i], ws[i], false);
4364
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
202 }
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
203 }
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
204
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
205
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
206 /**
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
207 * Add points to series (q to 1st dim, w to 2nd dim).
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
208 *
e62f70c2213d StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3395
diff changeset
209 * @param series Series to add points to.
3284
d9af29a4bb85 Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3269
diff changeset
210 * @param wwqq WWQQ to add to series.
2601
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
211 */
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
212 public static void addPoints(XYSeries series, WWQQ wwqq) {
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
213 if (wwqq == null) {
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
214 return;
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
215 }
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
216
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
217 int size = wwqq.size();
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
218
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
219 for (int i = 0; i < size; i++) {
4438
919d4939ebe6 Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4365
diff changeset
220 series.add(wwqq.getW1(i), wwqq.getW2(i), false);
2601
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
221 }
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
222 }
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
223
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
224
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
225 /**
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
226 * Create a Series such that an infinitely big area can be filled
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
227 * between the newly created and the given series.
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
228 */
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
229 public static XYSeries createGroundAtInfinity(XYSeries series) {
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
230 XYSeries ground = new XYSeries(series.getKey() + /** TODO rand + */ "INF");
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
231 ground.add(series.getMinX(), -BIG_DOUBLE_VALUE);
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
232 ground.add(series.getMaxX(), -BIG_DOUBLE_VALUE);
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
233 return ground;
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
234 }
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
235
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
236
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
237 /**
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
238 * Create a Series such that an infinitely big area can be filled
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
239 * between the newly created and the given series.
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
240 */
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
241 public static XYSeries createCeilingAtInfinity(XYSeries series) {
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
242 XYSeries ground = new XYSeries(series.getKey() + /** TODO rand + */ "INF");
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
243 ground.add(series.getMinX(), BIG_DOUBLE_VALUE);
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
244 ground.add(series.getMaxX(), BIG_DOUBLE_VALUE);
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
245 return ground;
9e8459c2e7d4 Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2571
diff changeset
246 }
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
247 }
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
248 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org