package com.bitwaffle.spaceguts.graphics.model; import java.util.HashMap; /** * This would contain all the materials loaded in from a .mtl file. * The {@link ModelLoader} creates a MaterialList for every .obj file. * @author TranquilMarmot * @see ModelLoader * @see Material * @see ModelBuilder * */ public class MaterialList { /** the actual list of materials*/ private HashMap<String, Material> list; /** * Constructor */ public MaterialList(){ list = new HashMap<String, Material>(); } /** * Add a new material to the list * @param name Name of the material * @param mat The material itself */ public void addMaterial(String name, Material mat){ /* * HashMap oh HashMap * Give you key and element * Store them good for me */ list.put(name, mat); } /** * Get a material by name * @param name Name of material * @return The material matching the given name */ public Material getMaterial(String name){ // HashMap makes this easy! return list.get(name); } /** * Returns a string with every material in the list */ public String toString(){ String ret = "Material list:\n"; for(String s : list.keySet()){ Material mat = list.get(s); ret += "Material: " + s + "\n"; ret += "Shininess: " + mat.getShininess() + "\n"; ret += "Ka: " + mat.getKa().x + " " + mat.getKa().y + " " + mat.getKa().z + "\n"; ret += "Kd: " + mat.getKd().x + " " + mat.getKd().y + " " + mat.getKd().z + "\n"; ret += "Ks: " + mat.getKs().x + " " + mat.getKs().y + " " + mat.getKs().z + "\n"; ret += "\n"; } return ret; } }