Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/Range.java @ 6380:dc23ffb9d82c
Range: Add start and end setters, doc, clone function.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 21 Jun 2013 11:34:22 +0200 |
parents | 2ad7f3ada1dc |
children | 1e97d2e95410 |
comparison
equal
deleted
inserted
replaced
6379:9d5f09698d81 | 6380:dc23ffb9d82c |
---|---|
29 public Range(double start, double end) { | 29 public Range(double start, double end) { |
30 this.start = start; | 30 this.start = start; |
31 this.end = end; | 31 this.end = end; |
32 } | 32 } |
33 | 33 |
34 public void setStart(double start) { | |
35 this.start = start; | |
36 } | |
37 | |
34 public double getStart() { | 38 public double getStart() { |
35 return start; | 39 return start; |
40 } | |
41 | |
42 | |
43 public void setEnd(double end) { | |
44 this.end = end; | |
36 } | 45 } |
37 | 46 |
38 public double getEnd() { | 47 public double getEnd() { |
39 return end; | 48 return end; |
40 } | 49 } |
68 /** True if start>x<end (+ some epsilon) . */ | 77 /** True if start>x<end (+ some epsilon) . */ |
69 public boolean inside(double x) { | 78 public boolean inside(double x) { |
70 return x > start-EPSILON && x < end+EPSILON; | 79 return x > start-EPSILON && x < end+EPSILON; |
71 } | 80 } |
72 | 81 |
82 public boolean contains(double x) { | |
83 return inside(x); | |
84 } | |
85 | |
86 | |
87 /** Hash Code. */ | |
73 @Override | 88 @Override |
74 public int hashCode() { | 89 public int hashCode() { |
75 return new Double(this.start).hashCode() ^ | 90 return new Double(this.start).hashCode() ^ |
76 new Double(this.end).hashCode(); | 91 new Double(this.end).hashCode(); |
77 } | 92 } |
78 | 93 |
94 | |
95 /** | |
96 * Compares start and end values with some epsilon. | |
97 */ | |
79 @Override | 98 @Override |
80 public boolean equals(Object otherRange) { | 99 public boolean equals(Object otherRange) { |
81 if (otherRange instanceof Range) { | 100 if (otherRange instanceof Range) { |
82 Range oRange = (Range) otherRange; | 101 Range oRange = (Range) otherRange; |
83 return | 102 return |
84 Math.abs(oRange.start - this.start) <= EPSILON | 103 Math.abs(oRange.start - this.start) <= EPSILON |
85 && Math.abs(oRange.end - this.end) <= EPSILON; | 104 && Math.abs(oRange.end - this.end) <= EPSILON; |
86 } | 105 } |
87 return false; | 106 return false; |
88 } | 107 } |
108 | |
109 /** Returns clone with same start and end values. */ | |
110 @Override | |
111 public Object clone() { | |
112 return new Range(this.start, this.end); | |
113 } | |
89 } | 114 } |
90 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 115 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |