Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Range.java @ 4655:cd44d28d0fbc
Move the access to artifact data to the Access object
Use BedHeightAccess class to receive the data from the artifact. This abstracts
the data access from the actual artifact.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Tue, 11 Dec 2012 09:44:04 +0100 |
parents | 048b3c3acd01 |
children | f7208c190e4a |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import java.io.Serializable; /** A range from ... to .*/ public class Range implements Serializable { public static final double EPSILON = 1e-5; protected double start; protected double end; public Range() { } public Range(Range other) { start = other.start; end = other.end; } public Range(double start, double end) { this.start = start; this.end = end; } public double getStart() { return start; } public double getEnd() { return end; } public boolean disjoint(double ostart, double oend) { return start > oend || ostart > end; } public boolean disjoint(Range other) { return start > other.end || other.start > end; } public boolean intersects(Range other) { return !disjoint(other); } public void extend(Range other) { if (other.start < start) start = other.start; if (other.end > end ) end = other.end; } public boolean clip(Range other) { if (disjoint(other)) return false; if (other.start > start) start = other.start; if (other.end < end ) end = other.end; return true; } /** True if start>x<end (+ some epsilon) . */ public boolean inside(double x) { return x > start-EPSILON && x < end+EPSILON; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :