Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/sq/StaticSQRelationFacet.java @ 5501:9a14eac637ec
New Artifact and static state for sq relation.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 28 Mar 2013 15:17:02 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
5500:700ac898ab0b | 5501:9a14eac637ec |
---|---|
1 package de.intevation.flys.artifacts.states.sq; | |
2 | |
3 import de.intevation.artifactdatabase.state.DefaultFacet; | |
4 import de.intevation.artifactdatabase.state.Facet; | |
5 import de.intevation.artifacts.Artifact; | |
6 import de.intevation.artifacts.CallContext; | |
7 import de.intevation.flys.artifacts.math.fitting.Function; | |
8 import de.intevation.flys.artifacts.math.fitting.FunctionFactory; | |
9 import de.intevation.flys.artifacts.model.sq.SQFunction; | |
10 import de.intevation.flys.artifacts.model.sq.StaticSQRelation; | |
11 | |
12 | |
13 public class StaticSQRelationFacet | |
14 extends DefaultFacet | |
15 implements Facet | |
16 { | |
17 public static final String FUNCTION = "sq-pow"; | |
18 | |
19 private StaticSQRelation relation; | |
20 | |
21 | |
22 public StaticSQRelationFacet( | |
23 int ndx, | |
24 String name, | |
25 String description, | |
26 StaticSQRelation relation) { | |
27 super(ndx, name, description); | |
28 this.relation = relation; | |
29 } | |
30 | |
31 @Override | |
32 public Object getData(Artifact artifact, CallContext context) { | |
33 double qmax = relation.getQmax(); | |
34 double[] coeffs = new double[] {relation.getA(), relation.getB()}; | |
35 Function func = FunctionFactory.getInstance().getFunction(FUNCTION); | |
36 de.intevation.flys.artifacts.math.Function function = | |
37 func.instantiate(coeffs); | |
38 SQFunction sqf = new SQFunction(function, 0, qmax); | |
39 return sqf; | |
40 } | |
41 | |
42 @Override | |
43 public Facet deepCopy() { | |
44 StaticSQRelationFacet copy = | |
45 new StaticSQRelationFacet(index, name, description, relation); | |
46 copy.set(this); | |
47 return copy; | |
48 } | |
49 } |