OSDN Git Service

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