/*A punctured cube building with optional base.*/ SIZE = 1.0; N = 27;//a multiple of 3 BASE = true;//true for base, false for no base //textures win = new UniformTexture(); win.diffuseColor.setRGB(0.4,0.4,0.4); win.specularity = 0.4f; win.shininess = 1.0f; light = new UniformTexture(); light.diffuseColor.setRGB(0.85,0.85,0.85); dark = new UniformTexture(); dark.diffuseColor.setRGB(0.7,0.7,0.7); nn = N/3; W = 0.33; void unit(Vec3 base) { int i; double x; box = new Cube((nn+W*0.8)*SIZE,nn*SIZE,(nn+W*0.8)*SIZE); box.setTexture(win, win.getDefaultMapping(box)); p = new Vec3(0,nn*SIZE/2,0); script.addObject(box, new CoordinateSystem(p.plus(base), 0,0,0)); box = new Cube(W*SIZE,nn*SIZE,W*SIZE); box.setTexture(light, light.getDefaultMapping(box)); for (i=0;i