Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/StyledSeriesBuilder.java @ 9347:08f46ccd37ba
salix.regional refactoring
author | gernotbelger |
---|---|
date | Tue, 31 Jul 2018 16:04:01 +0200 |
parents | 3ac9cb0029b2 |
children | 3f0803009a8f |
comparison
equal
deleted
inserted
replaced
9346:d89976700474 | 9347:08f46ccd37ba |
---|---|
61 if (points == null || points.length <= 1) { | 61 if (points == null || points.length <= 1) { |
62 return; | 62 return; |
63 } | 63 } |
64 double [] xPoints = points[0]; | 64 double [] xPoints = points[0]; |
65 double [] yPoints = points[1]; | 65 double [] yPoints = points[1]; |
66 | |
67 Integer lastNonNaNIndex = null; | |
68 | |
66 for (int i = 0; i < xPoints.length; i++) { | 69 for (int i = 0; i < xPoints.length; i++) { |
67 if (skipNANs && | 70 if (skipNANs && |
68 (Double.isNaN(xPoints[i]) || Double.isNaN(yPoints[i]))) { | 71 (Double.isNaN(xPoints[i]) || Double.isNaN(yPoints[i]))) { |
69 continue; | 72 continue; |
70 } | 73 } |
74 | |
71 // Create gap if distance between points > distance. | 75 // Create gap if distance between points > distance. |
72 if (i > 0 && Math.abs(xPoints[i-1] - xPoints[i]) > distance && | 76 if (i > 0 && lastNonNaNIndex != null) |
73 !Double.isNaN(yPoints[i-1]) && !Double.isNaN(yPoints[i])) { | 77 { |
74 series.add((xPoints[i-1] + xPoints[i])/2, Double.NaN, false); | 78 double distanceToLastNonNan = Math.abs(xPoints[lastNonNaNIndex] - xPoints[i] ); |
79 if (distanceToLastNonNan > distance && !Double.isNaN(yPoints[lastNonNaNIndex]) && !Double.isNaN(yPoints[i])) | |
80 series.add((xPoints[i-1] + xPoints[i])/2, Double.NaN, false); | |
75 } | 81 } |
76 series.add(xPoints[i], yPoints[i], false); | 82 series.add(xPoints[i], yPoints[i], false); |
83 | |
84 if (skipNANs && !Double.isNaN(xPoints[i]) && !Double.isNaN(yPoints[i])) | |
85 lastNonNaNIndex = i; | |
77 } | 86 } |
78 } | 87 } |
79 | 88 |
80 /** | 89 /** |
81 * Add points to series. | 90 * Add points to series. |