Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/sq/StaticSQRelationFacet.java @ 5798:febeb4bb10a5
StaticWQKmsArtifact: implement WaterLineArtifact .
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 24 Apr 2013 08:21:52 +0200 |
parents | 9a14eac637ec |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.states.sq; import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.flys.artifacts.math.fitting.Function; import de.intevation.flys.artifacts.math.fitting.FunctionFactory; import de.intevation.flys.artifacts.model.sq.SQFunction; import de.intevation.flys.artifacts.model.sq.StaticSQRelation; public class StaticSQRelationFacet extends DefaultFacet implements Facet { public static final String FUNCTION = "sq-pow"; private StaticSQRelation relation; public StaticSQRelationFacet( int ndx, String name, String description, StaticSQRelation relation) { super(ndx, name, description); this.relation = relation; } @Override public Object getData(Artifact artifact, CallContext context) { double qmax = relation.getQmax(); double[] coeffs = new double[] {relation.getA(), relation.getB()}; Function func = FunctionFactory.getInstance().getFunction(FUNCTION); de.intevation.flys.artifacts.math.Function function = func.instantiate(coeffs); SQFunction sqf = new SQFunction(function, 0, qmax); return sqf; } @Override public Facet deepCopy() { StaticSQRelationFacet copy = new StaticSQRelationFacet(index, name, description, relation); copy.set(this); return copy; } }