view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedParametersResult.java @ 5645:696d710470f5

flys/issue1077: Show loads as step line, therefore transform data in SedimentLoadFacet to stretch as in the measurement stations bounds. Deal with this new kind of data in the Generator.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 10 Apr 2013 09:35:07 +0200
parents a5f65e8983be
children
line wrap: on
line source
package de.intevation.flys.artifacts.model.minfo;

import gnu.trove.TDoubleArrayList;

import java.io.Serializable;


public class BedParametersResult
implements Serializable
{
    protected TDoubleArrayList porosityCap;
    protected TDoubleArrayList porositySub;
    protected TDoubleArrayList loadDensityCap;
    protected TDoubleArrayList loadDensitySub;
    protected TDoubleArrayList kms;

    public BedParametersResult() {

    }

    public BedParametersResult(
        TDoubleArrayList kms,
        TDoubleArrayList porosityCap,
        TDoubleArrayList porositySub,
        TDoubleArrayList densityCap,
        TDoubleArrayList densitySub
    ) {
        this.kms = kms;
        this.porosityCap = porosityCap;
        this.porositySub = porositySub;
        this.loadDensityCap = densityCap;
        this.loadDensitySub = densitySub;
    }

    public double getPorosityCap(int ndx) {
        return porosityCap.get(ndx);
    }

    public double getPorositySub(int ndx) {
        return porositySub.get(ndx);
    }

    public double getLoadDensityCap(int ndx) {
        return loadDensityCap.get(ndx);
    }

    public double getLoadDensitySub(int ndx) {
        return loadDensitySub.get(ndx);
    }

    public double getPorosityCap(double km) {
        if (kms.indexOf(km) >= 0) {
            return porosityCap.get(kms.indexOf(km));
        }
        return Double.NaN;
    }

    public double getPorositySub(double km) {
        if (kms.indexOf(km) >= 0) {
            return porositySub.get(kms.indexOf(km));
        }
        return Double.NaN;
    }

    public double getLoadDensityCap(double km) {
        if (kms.indexOf(km) >= 0) {
            return loadDensityCap.get(kms.indexOf(km));
        }
        return Double.NaN;
    }

    public double getLoadDensitySub(double km) {
        if (kms.indexOf(km) >= 0) {
            return loadDensitySub.get(kms.indexOf(km));
        }
        return Double.NaN;
    }

    public double[][] getPorosityCapData() {
        return new double[][] {
            kms.toNativeArray(),
            porosityCap.toNativeArray()
        };
    }

    public double[][] getPorositySubData() {
        return new double[][] {
            kms.toNativeArray(),
            porositySub.toNativeArray()
        };
    }

    public double[][] getDensityCapData() {
        return new double[][] {
            kms.toNativeArray(),
            loadDensityCap.toNativeArray()
        };
    }

    public double[][] getDensitySubData() {
        return new double[][] {
            kms.toNativeArray(),
            loadDensitySub.toNativeArray()
        };
    }
}

http://dive4elements.wald.intevation.org