teichmann@5841: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5841: * Software engineering by Intevation GmbH teichmann@5841: * teichmann@5991: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5841: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5991: * documentation coming with Dive4Elements River for details. teichmann@5841: */ teichmann@5841: teichmann@5826: package org.dive4elements.river.etl.aft; sascha@4091: sascha@4091: import java.util.Comparator; sascha@4091: sascha@4091: public class WQ sascha@4091: { sascha@4091: public static final double EPSILON = 1e-4; sascha@4091: sascha@4096: public static final Comparator EPS_CMP = new Comparator() { sascha@4091: @Override sascha@4091: public int compare(WQ a, WQ b) { sascha@4096: int cmp = compareEpsilon(a.q, b.q); sascha@4091: if (cmp != 0) return cmp; sascha@4096: return compareEpsilon(a.w, b.w); sascha@4091: } sascha@4091: }; sascha@4091: sascha@4091: protected int id; sascha@4091: sascha@4091: protected double w; sascha@4091: protected double q; sascha@4091: sascha@4091: public WQ() { sascha@4091: } sascha@4091: sascha@4091: public WQ(double w, double q) { sascha@4091: this.w = w; sascha@4091: this.q = q; sascha@4091: } sascha@4091: sascha@4091: public WQ(int id, double w, double q) { sascha@4091: this.id = id; sascha@4091: this.w = w; sascha@4091: this.q = q; sascha@4091: } sascha@4091: sascha@4091: public static final int compareEpsilon(double a, double b) { sascha@4091: double diff = a - b; sascha@4091: if (diff < -EPSILON) return -1; sascha@4091: return diff > EPSILON ? +1 : 0; sascha@4091: } sascha@4091: sascha@4091: public int getId() { sascha@4091: return id; sascha@4091: } sascha@4091: sascha@4091: public void setId(int id) { sascha@4091: this.id = id; sascha@4091: } sascha@4091: sascha@4091: public double getW() { sascha@4091: return w; sascha@4091: } sascha@4091: sascha@4091: public void setW(double w) { sascha@4091: this.w = w; sascha@4091: } sascha@4091: sascha@4091: public double getQ() { sascha@4091: return q; sascha@4091: } sascha@4091: sascha@4091: public void setQ(double q) { sascha@4091: this.q = q; sascha@4091: } sascha@4091: } sascha@4091: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :