1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.imaging.color;
18
19
20
21
22
23
24
25
26
27
28
29 public final class ColorXyz {
30
31
32
33
34
35
36
37
38
39
40 public static final ColorXyz BLACK = new ColorXyz(0, 0, 0);
41
42
43
44
45
46
47
48
49
50
51 public static final ColorXyz WHITE = new ColorXyz(95.05, 100, 108.9);
52
53
54
55
56
57
58
59
60
61
62 public static final ColorXyz RED = new ColorXyz(41.24, 21.26, 1.93);
63
64
65
66
67
68
69
70
71
72
73 public static final ColorXyz GREEN = new ColorXyz(35.76, 71.52, 11.92);
74
75
76
77
78
79
80
81
82
83
84 public static final ColorXyz BLUE = new ColorXyz(18.05, 7.22, 95.05);
85
86 public final double x;
87 public final double y;
88 public final double z;
89
90 public ColorXyz(final double x, final double y, final double z) {
91 this.x = x;
92 this.y = y;
93 this.z = z;
94 }
95
96 @Override
97 public boolean equals(final Object o) {
98 if (this == o) {
99 return true;
100 }
101 if (o == null || getClass() != o.getClass()) {
102 return false;
103 }
104
105 final ColorXyz colorXyz = (ColorXyz) o;
106 if (Double.compare(colorXyz.x, x) != 0) {
107 return false;
108 }
109 if (Double.compare(colorXyz.y, y) != 0) {
110 return false;
111 }
112 if (Double.compare(colorXyz.z, z) != 0) {
113 return false;
114 }
115
116 return true;
117 }
118
119 @Override
120 public int hashCode() {
121 int result;
122 long temp;
123 temp = Double.doubleToLongBits(x);
124 result = (int) (temp ^ temp >>> 32);
125 temp = Double.doubleToLongBits(y);
126 result = 31 * result + (int) (temp ^ temp >>> 32);
127 temp = Double.doubleToLongBits(z);
128 return 31 * result + (int) (temp ^ temp >>> 32);
129 }
130
131 @Override
132 public String toString() {
133 return "{X: " + x + ", Y: " + y + ", Z: " + z + "}";
134 }
135 }