Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthCalculationResult.java @ 8854:7bbfb24e6eec
SINFO - first prototype of BArt Fließtiefen
author | gernotbelger |
---|---|
date | Thu, 18 Jan 2018 18:34:41 +0100 |
parents | |
children | 9f7a285b0ee3 |
line wrap: on
line source
/* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde * Software engineering by * Björnsen Beratende Ingenieure GmbH * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt * * 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.sinfo.flowdepth; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import gnu.trove.TDoubleArrayList; /** * Contains the results of a {@link FlowDepthCalculation}. * * @author Gernot Belger */ class FlowDepthCalculationResult implements Serializable { private static final long serialVersionUID = 1L; private final Collection<FlowDepthRow> rows = new ArrayList<>(); private final String wstLabel; private final String soundingLabel; public FlowDepthCalculationResult(final String wstLabel, final String soundingLabel) { this.wstLabel = wstLabel; this.soundingLabel = soundingLabel; } public void addRow(double station, double flowDepth, double flowDepthWithTkh, double tkh, double waterlevel, double discharge, String waterlevelLabel, String gauge, double meanBedHeight, String sondageLabel, String location) { rows.add(new FlowDepthRow(station, flowDepth, flowDepthWithTkh, tkh, waterlevel, discharge, waterlevelLabel, gauge, meanBedHeight, sondageLabel, location)); } public String getWstLabel() { return this.wstLabel; } public String getSoundingLabel() { return this.soundingLabel; } public Collection<FlowDepthRow> getRows() { return Collections.unmodifiableCollection( rows ); } public double[][] getFlowDepthPoints() { TDoubleArrayList xPoints = new TDoubleArrayList(rows.size()); TDoubleArrayList yPoints = new TDoubleArrayList(rows.size()); for (FlowDepthRow row : rows) { xPoints.add(row.getStation()); yPoints.add(row.getFlowDepth()); } return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() }; } }