annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Sieve.java @ 3992:a9c93b7c9da1

Simpify the S(Q) fraction sieving stuff.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 30 Sep 2012 21:15:23 +0200
parents 3c61d9e64ca0
children ab3a4ad82ae1
rev   line source
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.model.sq;
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 public class Sieve
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4 {
3992
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
5 public static final double EPSILON = 1e-6;
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6
3992
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
7 protected double diameter;
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
8 protected double load;
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9
3992
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
10 /**
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
11 * Constructs a new instance.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
12 */
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 public Sieve() {
3992
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
14 this(Double.NaN, Double.NaN);
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15 }
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16
3992
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
17 public Sieve(double diameter, double load) {
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
18 this.diameter = diameter;
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
19 this.load = load;
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 }
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
3992
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
22 /**
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
23 * Gets the diameter for this instance.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
24 *
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
25 * @return The diameter.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
26 */
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
27 public double getDiameter() {
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
28 return this.diameter;
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 }
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30
3992
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
31 /**
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
32 * Sets the diameter for this instance.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
33 *
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
34 * @param diameter The diameter.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
35 */
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
36 public void setDiameter(double diameter) {
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
37 this.diameter = diameter;
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 }
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39
3992
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
40 /**
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
41 * Gets the load for this instance.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
42 *
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
43 * @return The load.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
44 */
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
45 public double getLoad() {
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
46 return this.load;
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
47 }
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
48
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
49 /**
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
50 * Sets the load for this instance.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
51 *
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
52 * @param load The load.
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
53 */
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
54 public void setLoad(double load) {
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
55 this.load = load;
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
56 }
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
57
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
58 public boolean matchesDiameter(double diameter) {
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
59 return Math.abs(diameter - this.diameter) < EPSILON;
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
60 }
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
61
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
62 public boolean hasDiameter() {
a9c93b7c9da1 Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3281
diff changeset
63 return !Double.isNaN(diameter);
3281
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 }
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 }
3c61d9e64ca0 SQ: Added sieve
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org