view artifacts/src/main/java/org/dive4elements/river/artifacts/model/QKmsImpl.java @ 5863:4897a58c8746

River artifacts: Added new copyright headers.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:40:59 +0200
parents 5aa05a7a34b7
children af13ceeba52a
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3) 
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details. 
 */

package org.dive4elements.river.artifacts.model;

import gnu.trove.TDoubleArrayList;

import org.dive4elements.river.utils.DoubleUtil;

public class QKmsImpl
extends      NamedObjectImpl
implements   QKms
{
    protected TDoubleArrayList kms;
    protected TDoubleArrayList qs;

    public QKmsImpl() {
        super("");
        kms = new TDoubleArrayList();
        qs  = new TDoubleArrayList();
    }

    public QKmsImpl(String name) {
        super(name);
        kms = new TDoubleArrayList();
        qs  = new TDoubleArrayList();
    }


    public QKmsImpl(int capacity) {
        super("");
        kms = new TDoubleArrayList(capacity);
        qs  = new TDoubleArrayList(capacity);
    }


    public QKmsImpl(TDoubleArrayList kms, TDoubleArrayList qs) {
        this(kms, qs, "");
    }

    public QKmsImpl(
        TDoubleArrayList kms,
        TDoubleArrayList qs,
        String           name
    ) {
        super(name);
        this.kms = kms;
        this.qs  = qs;
    }

    public void add(double km, double q) {
        kms.add(km);
        qs .add(q);
    }

    @Override
    public double getQ(int index) {
        return qs.getQuick(index);
    }


    @Override
    public double getKm(int index) {
        return kms.getQuick(index);
    }

    @Override
    public int size() {
        return kms.size();
    }

    @Override
    public TDoubleArrayList allKms() {
        return kms;
    }

    @Override
    public TDoubleArrayList allQs() {
        return qs;
    }

    public void removeNaNs() {
        DoubleUtil.removeNaNs(new TDoubleArrayList [] { kms, qs });
    }
}

http://dive4elements.wald.intevation.org