Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java @ 3650:cbe2febe30cc
Merged revisions 5391-5392 via svnmerge from
file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk
........
r5391 | felix | 2012-09-07 15:49:14 +0200 (Fr, 07 Sep 2012) | 1 line
Cosmetics, docs.
........
r5392 | felix | 2012-09-07 15:50:07 +0200 (Fr, 07 Sep 2012) | 1 line
Added acidentally omitted ChangeLog entry for last commit.
........
flys-artifacts/tags/2.9@5393 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 07 Sep 2012 14:01:50 +0000 |
parents | 388cd6fc451b |
children |
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.AddScaleFunction; 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 getInCm(int index) { switch (index) { case 0: return inCm1; case 1: return inCm2; default: return 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); } private static final double zero(Double d) { return d == null ? 0 : d; } public WW.ApplyFunctionIterator transform(WW ww, boolean normalized) { Function function1; Function function2; if (!normalized) { function1 = inCm1 ? new AddScaleFunction(-ww.getStartDatum(), 100d) : Identity.IDENTITY; function2 = inCm2 ? new AddScaleFunction(-ww.getEndDatum(), 100d) : Identity.IDENTITY; } else { double minW1 = ww.minWs(); double minW2 = ww.minWs2(); double scale1 = inCm1 ? 100d : 1d; double scale2 = inCm2 ? 100d : 1d; function1 = new AddScaleFunction(-minW1, scale1); function2 = new AddScaleFunction(-minW2, scale2); } return new WW.ApplyFunctionIterator(ww, function1, function2); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :