OSDN Git Service

1.105.3-SNAPSHOT版開発開始
[mikutoga/TogaGem.git] / src / main / java / jp / sourceforge / mikutoga / pmd / ShadeInfo.java
1 /*\r
2  * shading information\r
3  *\r
4  * License : The MIT License\r
5  * Copyright(c) 2010 MikuToga Partners\r
6  */\r
7 \r
8 package jp.sourceforge.mikutoga.pmd;\r
9 \r
10 /**\r
11  * シェーディング情報。\r
12  */\r
13 public class ShadeInfo {\r
14 \r
15     private ToonMap toonMap = new ToonMap();\r
16     private int toonIdx;\r
17 \r
18     private String textureFileName = null;\r
19     private String spheremapFileName = null;\r
20 \r
21     /**\r
22      * コンストラクタ。\r
23      */\r
24     public ShadeInfo(){\r
25         super();\r
26         return;\r
27     }\r
28 \r
29     /**\r
30      * トゥーンマップを設定する。\r
31      * @param map トゥーンマップ\r
32      */\r
33     public void setToonMap(ToonMap map){\r
34         this.toonMap = map;\r
35         return;\r
36     }\r
37 \r
38     /**\r
39      * トゥーンマップを返す。\r
40      * @return トゥーンマップ\r
41      */\r
42     public ToonMap getToonMap(){\r
43         return this.toonMap;\r
44     }\r
45 \r
46     /**\r
47      * トゥーンインデックスを設定する。\r
48      * @param idx トゥーンインデックス\r
49      */\r
50     public void setToonIndex(int idx){\r
51         this.toonIdx = idx;\r
52         return;\r
53     }\r
54 \r
55     /**\r
56      * トゥーンインデックス値を返す。\r
57      * @return トゥーンインデックス値\r
58      */\r
59     public int getToonIndex(){\r
60         return this.toonIdx;\r
61     }\r
62 \r
63     /**\r
64      * トゥーンインデックス値が有効か判定する。\r
65      * 現時点では0から9までの値を有効とする。\r
66      * @return 有効ならtrue\r
67      */\r
68     public boolean isValidToonIndex(){\r
69         if(0 <= this.toonIdx && this.toonIdx <= 9) return true;\r
70         return false;\r
71     }\r
72 \r
73     /**\r
74      * トゥーンファイル名を返す。\r
75      * @return トゥーンファイル名\r
76      * @throws IllegalStateException トゥーンマップが設定されていない。\r
77      */\r
78     public String getToonFileName() throws IllegalStateException{\r
79         if(this.toonMap == null) throw new IllegalStateException();\r
80         String result = this.toonMap.getIndexedToon(this.toonIdx);\r
81         return result;\r
82     }\r
83 \r
84     /**\r
85      * テクスチャファイル名を設定する。\r
86      * @param fileName テクスチャファイル名\r
87      */\r
88     public void setTextureFileName(String fileName){\r
89         this.textureFileName = fileName;\r
90         return;\r
91     }\r
92 \r
93     /**\r
94      * テクスチャファイル名を返す。\r
95      * @return テクスチャファイル名\r
96      */\r
97     public String getTextureFileName(){\r
98         return this.textureFileName;\r
99     }\r
100 \r
101     /**\r
102      * スフィアマップファイル名を設定する。\r
103      * @param fileName スフィアマップファイル名\r
104      */\r
105     public void setSpheremapFileName(String fileName){\r
106         this.spheremapFileName = fileName;\r
107         return;\r
108     }\r
109 \r
110     /**\r
111      * スフィアマップファイル名を返す。\r
112      * @return スフィアマップファイル名\r
113      */\r
114     public String getSpheremapFileName(){\r
115         return this.spheremapFileName;\r
116     }\r
117 \r
118     /**\r
119      * {@inheritDoc}\r
120      * @return {@inheritDoc}\r
121      */\r
122     @Override\r
123     public String toString(){\r
124         StringBuilder result = new StringBuilder();\r
125 \r
126         result.append("toon(")\r
127               .append(this.toonIdx)\r
128               .append(")=")\r
129               .append(getToonFileName())\r
130               .append(' ');\r
131         result.append("texture=")\r
132               .append(this.textureFileName)\r
133               .append(' ');\r
134         result.append("sphere=")\r
135               .append(this.spheremapFileName);\r
136 \r
137         return result.toString();\r
138     }\r
139 \r
140 }\r