view flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java @ 1823:7a11b37d8594

Added a copy of JFreeChart's XYDifferenceRenderer flys-artifacts/trunk@3152 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 03 Nov 2011 10:32:17 +0000
parents 17648043429f
children 6f047a407f84
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 :

http://dive4elements.wald.intevation.org