teichmann@5863: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5863: * Software engineering by Intevation GmbH teichmann@5863: * teichmann@5994: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5863: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5994: * documentation coming with Dive4Elements River for details. teichmann@5863: */ teichmann@5863: teichmann@5831: package org.dive4elements.river.artifacts.model.minfo; raimund@3886: raimund@3897: import gnu.trove.TDoubleArrayList; raimund@3897: raimund@3886: felix@7391: public class BedHeightSingleData felix@7391: extends BedHeightData raimund@3886: { raimund@3886: protected int year; raimund@3897: protected TDoubleArrayList data_gap; rrenkert@7828: protected TDoubleArrayList soundingWidth; rrenkert@7829: protected TDoubleArrayList width; raimund@3886: felix@7391: public BedHeightSingleData() { raimund@3886: super(); raimund@3886: this.year = -1; raimund@3897: data_gap = new TDoubleArrayList(); rrenkert@7828: soundingWidth = new TDoubleArrayList(); rrenkert@7829: width = new TDoubleArrayList(); raimund@3886: } raimund@3886: felix@7391: public BedHeightSingleData(String name) { raimund@3886: super(name); raimund@3886: this.year = -1; raimund@3897: data_gap = new TDoubleArrayList(); rrenkert@7828: soundingWidth = new TDoubleArrayList(); rrenkert@7829: width = new TDoubleArrayList(); raimund@3886: } raimund@3886: raimund@3886: public void add( raimund@3886: double value, raimund@3886: double station, raimund@3886: double gap, rrenkert@7829: double sounding, raimund@3886: double width, raimund@3886: int year raimund@3886: ) { raimund@3897: super.add(value, station); raimund@3886: this.year = year; raimund@3897: this.data_gap.add(gap); rrenkert@7829: this.soundingWidth.add(sounding); rrenkert@7829: this.width.add(width); raimund@3886: } raimund@3886: raimund@3886: public int getYear() { raimund@3886: return this.year; raimund@3886: } raimund@3897: rrenkert@7828: public double getSoundingWidth(int idx) { rrenkert@7828: return this.soundingWidth.getQuick(idx); raimund@3897: } raimund@3897: raimund@3897: public double getDataGap(int idx) { teichmann@6149: return this.data_gap.getQuick(idx); raimund@3897: } raimund@3897: rrenkert@7828: public double getSoundingWidth(double station) { teichmann@6149: int index = this.station.indexOf(station); rrenkert@7828: return index >= 0 ? soundingWidth.getQuick(index): Double.NaN; raimund@3897: } raimund@3897: raimund@3897: public double getDataGap(double station) { teichmann@6149: int index = this.station.indexOf(station); teichmann@6149: return index >= 0 ? data_gap.getQuick(index) : Double.NaN; raimund@3897: } bjoern@4533: rrenkert@7828: public double[] getSoundingWidths() { rrenkert@7828: return this.soundingWidth.toNativeArray(); bjoern@4533: } rrenkert@7829: rrenkert@7829: public double getWidth(int ndx) { rrenkert@7829: return width.getQuick(ndx); rrenkert@7829: } rrenkert@7829: rrenkert@7829: public double getWidth(double station) { rrenkert@7829: int ndx = this.station.indexOf(station); rrenkert@7899: if (ndx < 0) { rrenkert@7899: return Double.NaN; rrenkert@7899: } rrenkert@7829: return width.get(ndx); rrenkert@7829: } raimund@3886: }