OSDN Git Service

f08d0b760c2b3e915b0c0e4974d379e9ce585dcd
[mikumikustudio/MikuMikuStudio.git] / src / projectkyoto / mmd / file / XColorRGB.java
1 /*
2  * Copyright (c) 2011 Kazuhiko Kobayashi
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of 'MMDLoaderJME' nor the names of its contributors
17  *   may be used to endorse or promote products derived from this software
18  *   without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 package projectkyoto.mmd.file;
34
35 import java.io.IOException;
36
37 /*
38  * To change this template, choose Tools | Templates
39  * and open the template in the editor.
40  */
41
42 /**
43  *
44  * @author Kazuhiko Kobayashi
45  */
46 public class XColorRGB {
47     private float red;
48     private float green;
49     private float blue;
50
51     public XColorRGB() {
52     }
53
54     public XColorRGB(float red, float green, float blue) {
55         this.red = red;
56         this.green = green;
57         this.blue = blue;
58     }
59     public float getBlue() {
60         return blue;
61     }
62
63     public void setBlue(float blue) {
64         this.blue = blue;
65     }
66
67     public float getGreen() {
68         return green;
69     }
70
71     public void setGreen(float green) {
72         this.green = green;
73     }
74
75     public float getRed() {
76         return red;
77     }
78
79     public void setRed(float red) {
80         this.red = red;
81     }
82     public XColorRGB(DataInputStreamLittleEndian is) throws IOException{
83         red = is.readFloat();
84         green = is.readFloat();
85         blue = is.readFloat();
86     }
87     @Override
88     public String toString() {
89         return "{red = "+red
90                 +" green = "+green
91                 +" blue = "+green
92                 +"}";
93     }
94
95     @Override
96     public boolean equals(Object obj) {
97         if (obj == null) {
98             return false;
99         }
100         if (getClass() != obj.getClass()) {
101             return false;
102         }
103         final XColorRGB other = (XColorRGB) obj;
104         if (Float.floatToIntBits(this.red) != Float.floatToIntBits(other.red)) {
105             return false;
106         }
107         if (Float.floatToIntBits(this.green) != Float.floatToIntBits(other.green)) {
108             return false;
109         }
110         if (Float.floatToIntBits(this.blue) != Float.floatToIntBits(other.blue)) {
111             return false;
112         }
113         return true;
114     }
115
116     @Override
117     public int hashCode() {
118         int hash = 5;
119         hash = 41 * hash + Float.floatToIntBits(this.red);
120         hash = 41 * hash + Float.floatToIntBits(this.green);
121         hash = 41 * hash + Float.floatToIntBits(this.blue);
122         return hash;
123     }
124 }