Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java @ 1906:0de18085948a
Respect position for computed discharge curve when interpolating WQs for e.g. for fixations.
flys-artifacts/trunk@3266 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 16 Nov 2011 10:25:16 +0000 |
parents | 6f047a407f84 |
children | 8afd6a9bb244 |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import org.apache.log4j.Logger; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.states.DefaultState.ComputeType; /** * Facet with the curve of a subtraction of two waterlevel-lines. */ public class DifferenceCurveFacet extends WaterlevelFacet { private static Logger logger = Logger.getLogger(DifferenceCurveFacet.class); public DifferenceCurveFacet() { } public DifferenceCurveFacet( int index, String name, String description, ComputeType type, String stateID, String hash ) { super(index, name, description, type, stateID, hash); } /** * Get difference curve data. * @return a WKms at given index. */ @Override public Object getData(Artifact artifact, CallContext context) { WINFOArtifact winfo = (WINFOArtifact)artifact; CalculationResult res = (CalculationResult) winfo.compute(context, hash, stateID, type, false); WKms [] wkms = (WKms [])res.getData(); WKms result = wkms[index]; logger.debug("Got difference curve data (" + result.getName() + ") at index: " + index); return result; } /** Copy deeply. */ @Override public Facet deepCopy() { WaterlevelFacet copy = new DifferenceCurveFacet(); copy.set(this); copy.type = type; copy.stateID = stateID; copy.hash = hash; return copy; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :