Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java @ 2326:c321b39b39ab
'Bezugslinienverfahren': Generate valid i18n names for datasets.
flys-artifacts/trunk@4010 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 09 Feb 2012 17:28:31 +0000 |
parents | 08811a335baf |
children | b56e8613ce0d |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import de.intevation.flys.artifacts.math.Function; import de.intevation.flys.artifacts.math.Identity; import de.intevation.flys.artifacts.math.LinearFunction; public class WWAxisTypes { protected boolean inCm1; protected boolean inCm2; public WWAxisTypes() { inCm1 = inCm2 = true; } public WWAxisTypes(WW ww) { this(); classify(ww); } public void classify(WW ww) { if (!ww.startAtGauge()) inCm1 = false; if (!ww.endAtGauge()) inCm2 = false; } public boolean getInCm1() { return inCm1; } public void setInCm1(boolean inCm1) { this.inCm1 = inCm1; } public boolean getInCm2() { return inCm2; } public void setInCm2(boolean inCm2) { this.inCm2 = inCm2; } public WW.ApplyFunctionIterator transform(WW ww) { return transform(ww, false); } public WW.ApplyFunctionIterator transform(WW ww, boolean normalized) { Function function1; Function function2; if (!normalized) { function1 = inCm1 ? new LinearFunction(100d, -ww.getStartDatum()) : Identity.IDENTITY; function2 = inCm2 ? new LinearFunction(100d, -ww.getEndDatum()) : Identity.IDENTITY; } else { double minW1 = ww.minWs(); double minW2 = ww.minWs2(); double scale1 = inCm1 ? 100d : 1d; double scale2 = inCm2 ? 100d : 1d; function1 = new LinearFunction(scale1, -minW1); function2 = new LinearFunction(scale1, -minW2); } return new WW.ApplyFunctionIterator(ww, function1, function2); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :