gernotbelger@8915: /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@8915: * Software engineering by gernotbelger@8915: * Björnsen Beratende Ingenieure GmbH gernotbelger@8915: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@8915: * gernotbelger@8915: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8915: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8915: * documentation coming with Dive4Elements River for details. gernotbelger@8915: */ gernotbelger@8915: gernotbelger@8915: package org.dive4elements.river.artifacts.sinfo.tkhstate; gernotbelger@8915: gernotbelger@8915: import org.apache.commons.lang.math.DoubleRange; gernotbelger@8915: import org.dive4elements.river.artifacts.access.RangeAccess; gernotbelger@8915: import org.dive4elements.river.artifacts.sinfo.SINFOArtifact; gernotbelger@8915: import org.dive4elements.river.artifacts.sinfo.SinfoCalcMode; gernotbelger@8915: gernotbelger@8915: /** gernotbelger@8915: * Access to the flow depth calculation type specific SInfo artifact data. gernotbelger@8915: * REMARK: this class is NOT intended to be hold in the results (or anywhere else), in order to avoid a permanent gernotbelger@8915: * reference to the artifact instance. gernotbelger@8915: * Hence we do NOT cache any data. gernotbelger@8915: * gernotbelger@8915: * @author Gernot Belger gernotbelger@8915: */ gernotbelger@8915: final class TkhAccess extends RangeAccess { gernotbelger@8915: public TkhAccess(final SINFOArtifact artifact) { gernotbelger@8915: super(artifact); gernotbelger@8915: gernotbelger@8915: /* assert calculation mode */ gernotbelger@8915: final SinfoCalcMode calculationMode = artifact.getCalculationMode(); gernotbelger@8915: assert (calculationMode == SinfoCalcMode.sinfo_calc_transport_bodies_heights); gernotbelger@8915: } gernotbelger@8915: gernotbelger@8915: public DoubleRange getRange() { gernotbelger@8915: final double from = getFrom(); gernotbelger@8915: final double to = getTo(); gernotbelger@8915: return new DoubleRange(from, to); gernotbelger@8915: } gernotbelger@8915: }