Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java @ 1676:6e840e213fdf
Backjump correction: Finally looks fine.
flys-artifacts/trunk@2893 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 05 Oct 2011 10:36:40 +0000 |
parents | b5209452f6bb |
children | 2898b1ff6013 |
comparison
equal
deleted
inserted
replaced
1675:19d0eb41e923 | 1676:6e840e213fdf |
---|---|
131 startHeight = ws[0]; | 131 startHeight = ws[0]; |
132 } | 132 } |
133 | 133 |
134 double between = above + quarterDistance; | 134 double between = above + quarterDistance; |
135 | 135 |
136 double betweenHeight = ws[i] + 0.25*(startHeight - ws[i]); | 136 double aboveHeight = ws[i] + 0.25*(startHeight - ws[i]); |
137 | 137 |
138 double [] x = { start, between, km[i] }; | 138 double [] x = { start, above, between }; |
139 double [] y = { startHeight, betweenHeight, ws[i] }; | 139 double [] y = { startHeight, aboveHeight, ws[i] }; |
140 | 140 |
141 if (log.isDebugEnabled()) { | 141 if (log.isDebugEnabled()) { |
142 for (int j = 0; j < x.length; ++j) { | 142 for (int j = 0; j < x.length; ++j) { |
143 log.debug(" " + x[j] + " -> " + y[j]); | 143 log.debug(" " + x[j] + " -> " + y[j]); |
144 } | 144 } |
166 for (int j = 0; j < x.length; ++j) { | 166 for (int j = 0; j < x.length; ++j) { |
167 log.debug(x[j] + " " + y[j] + " " + spline.value(x[j])); | 167 log.debug(x[j] + " " + y[j] + " " + spline.value(x[j])); |
168 } | 168 } |
169 } | 169 } |
170 | 170 |
171 for (int j = i-1; j > 0 && ws[j] < startHeight; --j) { | 171 int j = i-1; |
172 | |
173 for (; j >= 0 && km[j] >= between; --j) { | |
174 ws[j] = ws[i]; | |
175 } | |
176 | |
177 for (; j >= 0 && ws[j] < startHeight; --j) { | |
172 ws[j] = spline.value(km[j]); | 178 ws[j] = spline.value(km[j]); |
173 } | 179 } |
174 } | 180 } |
175 catch (ArgumentOutsideDomainException aode) { | 181 catch (ArgumentOutsideDomainException aode) { |
176 // TODO: I18N | 182 // TODO: I18N |