public class Material { double[] ambient = new double[3]; double[] diffuse = new double[3]; double[] specular = new double[3]; double specularPower; final int R = 0; final int G = 1; final int B = 2; public Material() { } public Material copy() { Material temp = new Material(ambient[R], ambient[G], ambient[B], diffuse[R], diffuse[G], diffuse[B], specular[R], specular[G], specular[B], specularPower); return temp; } public Material(double ar, double ag, double ab, double dr, double dg, double db, double sr, double sg, double sb, double power) { ambient[R] = ar; ambient[G] = ag; ambient[B] = ab; diffuse[R] = dr; diffuse[G] = dg; diffuse[B] = db; specular[R] = sr; specular[G] = sg; specular[B] = sb; specularPower = power; } public void print() { System.out.println("material"); System.out.println("ambient: {" + ambient[R] + ", " + ambient[G] + ", " + ambient[B] + "}"); System.out.println("diffuse: {" + diffuse[R] + ", " + diffuse[G] + ", " + diffuse[B] + "}"); System.out.println("specular: {" + specular[R] + ", " + specular[G] + ", " + specular[B] + "} with power = " + specularPower); } public void setSpecularColor (double[] s) { specular[R] = s[R]; specular[G] = s[G]; specular[B] = s[B]; } public void setAmbientColor (double[] c) { ambient[R] = c[R]; ambient[G] = c[G]; ambient[B] = c[B]; } public void setDiffuseColor (double[] d) { diffuse[R] = d[R]; diffuse[G] = d[G]; diffuse[B] = d[B]; } public double[] getAmbientColor() { double ambientColor[] = {ambient[R], ambient[G], ambient[B]}; return ambientColor; } public double[] getDiffuseColor() { double diffuseColor[] = {diffuse[R], diffuse[G], diffuse[B]}; return diffuseColor; } public double[] getSpecularColor() { double specularColor[] = {specular[R], specular[G], specular[B]}; return specularColor; } }