X-Git-Url: http://git.osdn.net/view?p=mikutoga%2FPmd2XML.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fjp%2Fsfjp%2Fmikutoga%2Fpmd%2Fmodel%2FMaterial.java;h=e17a6bcd05344773aba2e305862a2a2f127dce34;hp=613132724a306fa7c8c052b2a7dda8cc15a4daa8;hb=9b83b2ab88046245489726207bf9fe2dd5db4453;hpb=b12782f3ce4b78faa618062b553cca3db556b406 diff --git a/src/main/java/jp/sfjp/mikutoga/pmd/model/Material.java b/src/main/java/jp/sfjp/mikutoga/pmd/model/Material.java index 6131327..e17a6bc 100644 --- a/src/main/java/jp/sfjp/mikutoga/pmd/model/Material.java +++ b/src/main/java/jp/sfjp/mikutoga/pmd/model/Material.java @@ -19,6 +19,13 @@ import jp.sfjp.mikutoga.corelib.I18nText; */ public class Material implements Iterable { + // 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; @@ -34,6 +41,7 @@ public class Material implements Iterable { private final List surfaceList = new ArrayList(); + /** * コンストラクタ。 */ @@ -42,6 +50,7 @@ public class Material implements Iterable { return; } + /** * 色を不透明化する。 * @param color 色 @@ -52,14 +61,18 @@ public class Material implements Iterable { 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のみでのサポート? @@ -200,33 +213,34 @@ public class Material implements Iterable { @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=")