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.

http://dive4elements.wald.intevation.org