OSDN Git Service

モデルデータ不備の異常系を別パッケージに
[mikutoga/TogaGem.git] / src / main / java / jp / sourceforge / mikutoga / vmd / model / LuminousColor.java
1 /*
2  * luminous color
3  *
4  * License : The MIT License
5  * Copyright(c) 2011 MikuToga Partners
6  */
7
8 package jp.sourceforge.mikutoga.vmd.model;
9
10 /**
11  * 光源の色設定。
12  * <p>色情報はRGB色空間で記述される。
13  * <p>MMDのUI上の各色成分指定0~255定義域に便宜上256を追加したものが、
14  * 0.0以上1.0以下にマップされる。
15  * <ul>
16  * <li>0は正しく0.0にマップされる。
17  * <li>128は正しく0.5にマップされる。
18  * <li>255は1.0より少しだけ小さい数(≒0.99609375)にマップされる。
19  * </ul>
20  */
21 public class LuminousColor {
22
23     /** デフォルトの成分値。 */
24     public static final float DEF_BRIGHT = 0.602f; // ≒ (154.0 / 256.0)
25
26
27     private float colR = DEF_BRIGHT;
28     private float colG = DEF_BRIGHT;
29     private float colB = DEF_BRIGHT;
30
31
32     /**
33      * コンストラクタ。
34      * <p>MMDデフォルトの光源色(154,154,154)が設定される。
35      */
36     public LuminousColor(){
37         super();
38         return;
39     }
40
41
42     /**
43      * 光源の赤成分を設定する。
44      * @param colR 赤成分
45      */
46     public void setColR(float colR) {
47         this.colR = colR;
48         return;
49     }
50
51     /**
52      * 光源の緑成分を設定する。
53      * @param colG 緑成分
54      */
55     public void setColG(float colG) {
56         this.colG = colG;
57         return;
58     }
59
60     /**
61      * 光源の青成分を設定する。
62      * @param colB 青成分
63      */
64     public void setColB(float colB) {
65         this.colB = colB;
66         return;
67     }
68
69     /**
70      * 光源の赤成分を返す。
71      * @return 赤成分
72      */
73     public float getColR(){
74         return this.colR;
75     }
76
77     /**
78      * 光源の緑成分を返す。
79      * @return 緑成分
80      */
81     public float getColG(){
82         return this.colG;
83     }
84
85     /**
86      * 光源の青成分を返す。
87      * @return 青成分
88      */
89     public float getColB(){
90         return this.colB;
91     }
92
93     /**
94      * {@inheritDoc}
95      * @return {@inheritDoc}
96      */
97     @Override
98     public String toString(){
99         StringBuilder result = new StringBuilder();
100
101         result.append("r=").append(this.colR);
102         result.append(" g=").append(this.colG);
103         result.append(" b=").append(this.colB);
104
105         return result.toString();
106     }
107
108 }