sascha@2256: package de.intevation.flys.artifacts.model; sascha@2256: sascha@2256: import de.intevation.flys.artifacts.math.Function; sascha@2256: import de.intevation.flys.artifacts.math.Identity; sascha@2256: import de.intevation.flys.artifacts.math.LinearFilterFunction; sascha@2256: sascha@2256: public class WWAxisTypes sascha@2256: { sascha@2256: protected boolean inCm1; sascha@2256: protected boolean inCm2; sascha@2256: sascha@2256: public WWAxisTypes() { sascha@2256: inCm1 = inCm2 = true; sascha@2256: } sascha@2256: sascha@2256: public WWAxisTypes(WW ww) { sascha@2256: this(); sascha@2256: classify(ww); sascha@2256: } sascha@2256: sascha@2256: public void classify(WW ww) { sascha@2256: if (!ww.startAtGauge()) inCm1 = false; sascha@2256: if (!ww.endAtGauge()) inCm2 = false; sascha@2256: } sascha@2256: sascha@2256: public boolean getInCm1() { sascha@2256: return inCm1; sascha@2256: } sascha@2256: sascha@2256: public void setInCm1(boolean inCm1) { sascha@2256: this.inCm1 = inCm1; sascha@2256: } sascha@2256: sascha@2256: public boolean getInCm2() { sascha@2256: return inCm2; sascha@2256: } sascha@2256: sascha@2256: public void setInCm2(boolean inCm2) { sascha@2256: this.inCm2 = inCm2; sascha@2256: } sascha@2256: sascha@2256: public WW.ApplyFunctionIterator transform(WW ww) { sascha@2256: Function function1 = inCm1 sascha@2256: ? new LinearFilterFunction(100d, -ww.getStartDatum()) sascha@2256: : Identity.IDENTITY; sascha@2256: sascha@2256: Function function2 = inCm2 sascha@2256: ? new LinearFilterFunction(100d, -ww.getEndDatum()) sascha@2256: : Identity.IDENTITY; sascha@2256: sascha@2256: return new WW.ApplyFunctionIterator(ww, function1, function2); sascha@2256: } sascha@2256: } sascha@2256: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :