*/
public class Material implements Iterable<Surface> {
+ // sRGBカラー情報配列インデックス
+ private static final int IDX_RED = 0;
+ private static final int IDX_GREEN = 1;
+ private static final int IDX_BLUE = 2;
+ private static final int IDX_ALPHA = 3;
+
+
private final I18nText materialName = new I18nText();
private Color diffuseColor;
private final List<Surface> surfaceList = new ArrayList<Surface>();
+
/**
* コンストラクタ。
*/
return;
}
+
/**
* 色を不透明化する。
* @param color 色
return color;
}
- float[] rgba = new float[4];
- color.getRGBColorComponents(rgba);
+ float[] rgba = null;
+ rgba = color.getRGBColorComponents(rgba);
- Color result = new Color(rgba[0], rgba[1], rgba[2], 1.0f);
+ Color result = new Color(rgba[IDX_RED],
+ rgba[IDX_GREEN],
+ rgba[IDX_BLUE],
+ 1.0f );
return result;
}
+
/**
* マテリアル名を返す。
* PMDEditorのみでのサポート?
@Override
public String toString(){
StringBuilder result = new StringBuilder();
+ final String delim = ", ";
result.append("Material ");
- float[] rgba = new float[4];
+ float[] rgba = null;
- this.diffuseColor.getRGBComponents(rgba);
+ rgba = this.diffuseColor.getRGBComponents(rgba);
result.append("diffuse=[")
- .append(rgba[0]).append(", ")
- .append(rgba[1]).append(", ")
- .append(rgba[2]).append(", ")
- .append(rgba[3]).append(']')
+ .append(rgba[IDX_RED]).append(delim)
+ .append(rgba[IDX_GREEN]).append(delim)
+ .append(rgba[IDX_BLUE]).append(delim)
+ .append(rgba[IDX_ALPHA]).append(']')
.append(' ');
this.specularColor.getRGBComponents(rgba);
result.append("specular=[")
- .append(rgba[0]).append(", ")
- .append(rgba[1]).append(", ")
- .append(rgba[2]).append(", ")
- .append(rgba[3]).append(']')
+ .append(rgba[IDX_RED]).append(delim)
+ .append(rgba[IDX_GREEN]).append(delim)
+ .append(rgba[IDX_BLUE]).append(delim)
+ .append(rgba[IDX_ALPHA]).append(']')
.append(' ');
this.ambientColor.getRGBComponents(rgba);
result.append("ambient=[")
- .append(rgba[0]).append(", ")
- .append(rgba[1]).append(", ")
- .append(rgba[2]).append(", ")
- .append(rgba[3]).append(']')
+ .append(rgba[IDX_RED]).append(delim)
+ .append(rgba[IDX_GREEN]).append(delim)
+ .append(rgba[IDX_BLUE]).append(delim)
+ .append(rgba[IDX_ALPHA]).append(']')
.append(' ');
result.append("shininess=")