Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java @ 9426:b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
author | gernotbelger |
---|---|
date | Fri, 17 Aug 2018 15:31:16 +0200 |
parents | 55e3b1a8aa06 |
children | bd5f5d2220fa |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java Fri Aug 17 15:31:02 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java Fri Aug 17 15:31:16 2018 +0200 @@ -33,8 +33,11 @@ class SalixLineCalculationResult extends AbstractCalculationExportableResult { private static final long serialVersionUID = 1L; + private static final String JASPER_FILE = "/jasper/templates/uinfo.salixline.jrxml"; + private static final double STATION_TOLERANCE = 0.1d; + private final String[] scenarioLabels; private final String partialRangeString; @@ -176,4 +179,36 @@ return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() }; } + + public final double getSalixValue(final double currentKm, final double nextKm, final double prevKm) { + + final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE); + if (row == null) + return Double.NaN; + + // FIXME: hier wird die geodätische Höhe der SalixLinie benötigt; ggf schon in die Ergebnistzeilen einbauen + return 84.0; + // return row.getDoubleValue(UInfoResultType.salixline); + } + + public final double getSalixScenarioValue(final double currentKm, final double nextKm, final double prevKm, final int scenarioIndex) { + final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE); + if (row == null) + return Double.NaN; + + final List<SalixScenario> scenarios = (List<SalixScenario>) row.getValue(UInfoResultType.customMultiRowColSalixScenarios); + final SalixScenario salixScenario = scenarios.get(scenarioIndex); + if (salixScenario == null) + return Double.NaN; + + // FIXME: hier wird die geodätische Höhe der SalixLinie benötigt; ggf schon als weiteres Feld an SalixScenario dranbauen + return 85; + // return salixScenario.getSalixValue(); + } + + public final double getWaterlevelValue(final double currentKm, final double nextKm, final double prevKm, final String waterlevelName) { + final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE); + // TODO implement + return Double.NaN; + } } \ No newline at end of file